From 9f260c1442d5a59c31adad370ca2931519bfecfd Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Thu, 8 Dec 2022 18:20:58 +0800 Subject: [PATCH 1/4] Create a label for new group if not exists --- .../src/resolvers/recommendations/index.ts | 4 +++ packages/api/src/services/labels.ts | 27 +++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/packages/api/src/resolvers/recommendations/index.ts b/packages/api/src/resolvers/recommendations/index.ts index 8dd3b1d09..2f2e617b7 100644 --- a/packages/api/src/resolvers/recommendations/index.ts +++ b/packages/api/src/resolvers/recommendations/index.ts @@ -38,6 +38,7 @@ import { In } from 'typeorm' import { getPageByParam } from '../../elastic/pages' import { enqueueRecommendation } from '../../utils/createTask' import { env } from '../../env' +import { createLabel } from '../../services/labels' export const createGroupResolver = authorized< CreateGroupSuccess, @@ -71,6 +72,9 @@ export const createGroupResolver = authorized< expiresInDays: input.expiresInDays, }) + // create a new label for the group + await createLabel(userData, { name: input.name }) + const inviteUrl = getInviteUrl(invite) const user = userDataToUser(userData) diff --git a/packages/api/src/services/labels.ts b/packages/api/src/services/labels.ts index cb8432b06..6d9ed14ef 100644 --- a/packages/api/src/services/labels.ts +++ b/packages/api/src/services/labels.ts @@ -76,3 +76,30 @@ export const getLabelsByIds = async ( select: ['id', 'name', 'color', 'description', 'createdAt'], }) } + +export const createLabel = async ( + user: User, + label: { + name: string + color?: string + description?: string + } +): Promise