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,
);

View file

@ -28,37 +28,23 @@ export async function getWebsites(
criteria: WebsiteFindManyArgs,
filters: WebsiteSearchFilter,
): Promise<FilterResult<Website[]>> {
const { userId, teamId, query } = filters;
const { query } = filters;
const mode = prisma.getQueryMode();
const where: Prisma.WebsiteWhereInput = {
...criteria.where,
AND: [
{
OR: [
{
...(userId && { userId }),
...(teamId && { teamId }),
},
],
},
{
OR: query
? [
{
name: { contains: query, mode },
},
{
domain: { contains: query, mode },
},
]
: [],
},
],
name: {
contains: query ? query : undefined,
mode,
},
domain: {
contains: query ? query : undefined,
mode,
},
deletedAt: null,
};
return prisma.pagedQuery('website', { where }, filters);
return prisma.pagedQuery('website', { ...criteria, where }, filters);
}
export async function getAllWebsites(userId: string) {