enum Endpoint {
"Person" = "/users/person",
"Company" = "/core/company",
}
update: createTRPCRouter({
person: updateGeneric(ZPersonUpdate, Endpoint.Person),
company: updateGeneric(ZCompanyUpdate, Endpoint.Company),
})
function createUpdateApiProcedure<T extends z.SomeZodObject>(schema: T, path: Endpoint) {
return protectedProcedure.input(
z.object({id: z.number()}).extend(schema)
).mutation(async ({ ctx, input }) => {
//call api with payload
})
}
enum Endpoint {
"Person" = "/users/person",
"Company" = "/core/company",
}
update: createTRPCRouter({
person: updateGeneric(ZPersonUpdate, Endpoint.Person),
company: updateGeneric(ZCompanyUpdate, Endpoint.Company),
})
function createUpdateApiProcedure<T extends z.SomeZodObject>(schema: T, path: Endpoint) {
return protectedProcedure.input(
z.object({id: z.number()}).extend(schema)
).mutation(async ({ ctx, input }) => {
//call api with payload
})
}