From acd248cca2907c6ba64486369d47628d3d772476 Mon Sep 17 00:00:00 2001 From: Thomas Camlong Date: Wed, 20 May 2026 09:42:42 +0200 Subject: [PATCH] feat(api): add onboarding tour status tRPC endpoints Expose getTourStatus, completeTour, and resetTours for persisting per-user management and board tour completion. --- packages/api/src/router/user.ts | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/packages/api/src/router/user.ts b/packages/api/src/router/user.ts index d29801842..114aa9a7d 100644 --- a/packages/api/src/router/user.ts +++ b/packages/api/src/router/user.ts @@ -612,15 +612,12 @@ export const userRouter = createTRPCRouter({ completeTour: protectedProcedure .input(z.object({ tour: z.enum(["manage", "board"]) })) .mutation(async ({ input, ctx }) => { - const columnMap: Record> = { + const columnByTour = { manage: { completedManageTour: true }, board: { completedBoardTour: true }, - }; + } as const; - await ctx.db - .update(users) - .set(columnMap[input.tour]!) - .where(eq(users.id, ctx.session.user.id)); + await ctx.db.update(users).set(columnByTour[input.tour]).where(eq(users.id, ctx.session.user.id)); }), resetTours: protectedProcedure.mutation(async ({ ctx }) => { await ctx.db