Add deletion for registration tokens

This commit is contained in:
Manuel
2023-07-29 21:21:21 +02:00
parent 2db3d1405b
commit cb0b8869e2
4 changed files with 84 additions and 18 deletions

View File

@@ -1,8 +1,8 @@
import { randomBytes } from 'crypto';
import dayjs from 'dayjs';
import { z } from 'zod';
import { createTRPCRouter, publicProcedure } from '../trpc';
import { randomBytes } from 'crypto';
export const inviteRouter = createTRPCRouter({
getAllInvites: publicProcedure
@@ -34,19 +34,30 @@ export const inviteRouter = createTRPCRouter({
nextCursor,
};
}),
createRegistrationToken: publicProcedure.input(
z.object({
expiration: z
.date()
.min(dayjs().add(5, 'minutes').toDate())
.max(dayjs().add(6, 'months').toDate()),
})
).mutation(async ({ ctx, input }) => {
await ctx.prisma.registrationToken.create({
data: {
expires: input.expiration,
token: randomBytes(20).toString('hex'),
}
});
}),
createRegistrationToken: publicProcedure
.input(
z.object({
expiration: z
.date()
.min(dayjs().add(5, 'minutes').toDate())
.max(dayjs().add(6, 'months').toDate()),
})
)
.mutation(async ({ ctx, input }) => {
await ctx.prisma.registrationToken.create({
data: {
expires: input.expiration,
token: randomBytes(20).toString('hex'),
},
});
}),
deleteRegistrationToken: publicProcedure
.input(z.object({ tokenId: z.string() }))
.mutation(async ({ ctx, input }) => {
await ctx.prisma.registrationToken.delete({
where: {
id: input.tokenId,
},
});
}),
});