All files / apps/web/src/handlers/sessions cleanup.ts

100% Statements 4/4
100% Branches 0/0
100% Functions 1/1
100% Lines 4/4

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16    6x           2x 2x       2x    
import { unauthProcedure } from "~web/handlers/trpc";
 
export const procedure = unauthProcedure
	.meta({
		title: "Clean up sessions",
		description: "Deletes all expired sessions.",
	})
	.mutation(async ({ ctx }) => {
		const { database } = ctx;
		const result = await database
			.deleteFrom("sessions")
			.where("expirationTimestamp", "<", Temporal.Now.zonedDateTimeISO())
			.executeTakeFirstOrThrow();
		return { count: Number(result.numDeletedRows) };
	});