import { UpdateProfile } from "@acme/validation/user";
import { type CallerContext } from ".";
import { createTRPCRouter, protectedProcedure } from "../common/trpc";
export const userRouter = createTRPCRouter({
// ... (Other procedures)
update: protectedProcedure
.input(UpdateProfile)
.mutation(async ({ ctx, input }) => {
const user = await ctx.prisma.user.update({
where: { id: ctx.auth.userId },
data: input,
});
return userCaller(ctx).someOtherAction();
}),
someOtherAction: protectedProcedure.mutation(async ({ ctx }) => {
const user = await ctx.prisma.user.findUnique({
where: { id: ctx.auth.userId },
});
return user;
}),
});
export const userCaller = (ctx: CallerContext) => userRouter.createCaller(ctx);
import { UpdateProfile } from "@acme/validation/user";
import { type CallerContext } from ".";
import { createTRPCRouter, protectedProcedure } from "../common/trpc";
export const userRouter = createTRPCRouter({
// ... (Other procedures)
update: protectedProcedure
.input(UpdateProfile)
.mutation(async ({ ctx, input }) => {
const user = await ctx.prisma.user.update({
where: { id: ctx.auth.userId },
data: input,
});
return userCaller(ctx).someOtherAction();
}),
someOtherAction: protectedProcedure.mutation(async ({ ctx }) => {
const user = await ctx.prisma.user.findUnique({
where: { id: ctx.auth.userId },
});
return user;
}),
});
export const userCaller = (ctx: CallerContext) => userRouter.createCaller(ctx);