feat(api): add onboarding tour status tRPC endpoints

Expose getTourStatus, completeTour, and resetTours for persisting
per-user management and board tour completion.
This commit is contained in:
Thomas Camlong committed 2026-05-20 09:42:42 +02:00
1 parent 2190436d9f
commit acd248cca2
1 file changed
+3 -6
+3 -6
View File
@@ -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<string, Record<string, boolean>> = {
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