pollo/src/server/api/routers/session.ts
2023-07-03 15:37:14 -06:00

35 lines
877 B
TypeScript

import { z } from "zod";
import { createTRPCRouter, protectedProcedure } from "~/server/api/trpc";
import { env } from "~/env.mjs";
import { invalidateCache } from "~/server/redis";
export const sessionRouter = createTRPCRouter({
deleteAllByUserId: protectedProcedure
.input(
z.object({
userId: z.string(),
})
)
.mutation(async ({ ctx, input }) => {
const sessions = await ctx.prisma.session.deleteMany({
where: {
userId: input.userId,
},
});
if (!!sessions) {
await invalidateCache(`kv_userlist_admin`);
}
return !!sessions;
}),
deleteAll: protectedProcedure.mutation(async ({ ctx, input }) => {
const sessions = await ctx.prisma.session.deleteMany();
if (!!sessions) {
await invalidateCache(`kv_userlist_admin`);
}
return !!sessions;
}),
});