From 35880519dad68bb95e722c43df9d40b19cac2ef3 Mon Sep 17 00:00:00 2001 From: Thanu Poptiphueng Date: Sun, 21 Apr 2024 02:05:41 +0700 Subject: [PATCH] added getting user and self --- src/userRoute.ts | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/userRoute.ts b/src/userRoute.ts index 0d86cd3..b3e1eee 100644 --- a/src/userRoute.ts +++ b/src/userRoute.ts @@ -47,6 +47,12 @@ export const userRoute = router({ updateUser: protectedProcedure .input(userUpdateSchema) .mutation(async ({ input, ctx }) => await updateUser(ctx.user.id, input)), + getUser: publicProcedure + .input(z.object({ userId: z.number() })) + .mutation(async ({ input }) => await getUser(input.userId, false)), + getSelf: protectedProcedure.mutation( + async ({ ctx }) => await getUser(ctx.user.id, true) + ), login: publicProcedure .input(z.object({ cid: z.string(), phone: z.string() })) .mutation(async ({ input }) => await login(input.cid, input.phone)), @@ -129,6 +135,24 @@ async function getAllUser( })); } +async function getUser(userId: number, showPhone: boolean) { + let user = await db.query.user.findFirst({ + where: (user, { eq }) => eq(user.id, userId), + with: { + group: true, + opinions: true, + zone: true, + }, + }); + if (user === undefined) { + throw new TRPCError({ + message: "User not found", + code: "BAD_REQUEST", + }); + } + return { ...user, phone: showPhone ? user.phone : hidePhone(user.phone) }; +} + async function createUser( newUser: UserInsertSchema, opinions: OpinionInsertSchema