Files
stats/packages/trpc/src/routers/user.ts
2024-06-16 19:32:53 +02:00

36 lines
851 B
TypeScript

import { clerkClient } from '@clerk/fastify';
import { z } from 'zod';
import { db } from '@openpanel/db';
import { createTRPCRouter, protectedProcedure } from '../trpc';
export const userRouter = createTRPCRouter({
update: protectedProcedure
.input(
z.object({
firstName: z.string(),
lastName: z.string(),
})
)
.mutation(async ({ input, ctx }) => {
const [updatedUser] = await Promise.all([
db.user.update({
where: {
id: ctx.session.userId,
},
data: {
firstName: input.firstName,
lastName: input.lastName,
},
}),
clerkClient.users.updateUser(ctx.session.userId, {
firstName: input.firstName,
lastName: input.lastName,
}),
]);
return updatedUser;
}),
});