From 93c6c4202a1fca6d69863c93245c179bdbe5f2b5 Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Fri, 2 Dec 2022 12:36:18 +0800 Subject: [PATCH] Max number of group per user is 3 --- packages/api/src/services/create_group.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/packages/api/src/services/create_group.ts b/packages/api/src/services/create_group.ts index d49b9901a..62557049b 100644 --- a/packages/api/src/services/create_group.ts +++ b/packages/api/src/services/create_group.ts @@ -17,6 +17,15 @@ export const createGroup = async (input: { }): Promise<[Group, Invite]> => { const [group, invite] = await AppDataSource.transaction<[Group, Invite]>( async (t) => { + // Max number of groups a user can create + const maxGroups = 3 + const groupCount = await getRepository(Group).countBy({ + createdBy: { id: input.admin.id }, + }) + if (groupCount >= maxGroups) { + throw new Error('Max groups reached') + } + const group = await t.getRepository(Group).save({ name: input.name, createdBy: input.admin,