Teams context settings.

This commit is contained in:
Mike Cao 2024-02-02 17:49:17 -08:00
parent 4429198397
commit 8f853ddb97
77 changed files with 317 additions and 272 deletions

View file

@ -1,7 +1,8 @@
import { TeamUser } from '@prisma/client';
import { Prisma, TeamUser } from '@prisma/client';
import { uuid } from 'lib/crypto';
import prisma from 'lib/prisma';
import { FilterResult, TeamUserSearchFilter } from 'lib/types';
import TeamUserFindManyArgs = Prisma.TeamUserFindManyArgs;
export async function getTeamUser(teamId: string, userId: string): Promise<TeamUser> {
return prisma.client.teamUser.findFirst({
@ -13,23 +14,29 @@ export async function getTeamUser(teamId: string, userId: string): Promise<TeamU
}
export async function getTeamUsers(
teamId: string,
criteria: TeamUserFindManyArgs,
filters?: TeamUserSearchFilter,
): Promise<FilterResult<TeamUser[]>> {
const { query } = filters;
const mode = prisma.getQueryMode();
const where: Prisma.TeamUserWhereInput = {
...criteria.where,
user: {
username: query
? {
contains: query,
mode,
}
: undefined,
},
};
return prisma.pagedQuery(
'teamUser',
{
where: {
teamId,
},
include: {
user: {
select: {
id: true,
username: true,
},
},
},
...criteria,
where,
},
filters,
);