79 lines
2.1 KiB
TypeScript
79 lines
2.1 KiB
TypeScript
import { db } from "@server/db";
|
|
import {
|
|
emailVerificationCodes,
|
|
newtSessions,
|
|
passwordResetTokens,
|
|
resourceAccessToken,
|
|
resourceOtp,
|
|
resourceSessions,
|
|
sessions,
|
|
userInvites
|
|
} from "@server/db/schema";
|
|
import logger from "@server/logger";
|
|
import { lt } from "drizzle-orm";
|
|
|
|
export async function clearStaleData() {
|
|
try {
|
|
await db
|
|
.delete(sessions)
|
|
.where(lt(sessions.expiresAt, new Date().getTime()));
|
|
} catch (e) {
|
|
logger.error("Error clearing expired sessions:", e);
|
|
}
|
|
|
|
try {
|
|
await db
|
|
.delete(newtSessions)
|
|
.where(lt(newtSessions.expiresAt, new Date().getTime()));
|
|
} catch (e) {
|
|
logger.error("Error clearing expired newtSessions:", e);
|
|
}
|
|
|
|
try {
|
|
await db
|
|
.delete(emailVerificationCodes)
|
|
.where(lt(emailVerificationCodes.expiresAt, new Date().getTime()));
|
|
} catch (e) {
|
|
logger.error("Error clearing expired emailVerificationCodes:", e);
|
|
}
|
|
|
|
try {
|
|
await db
|
|
.delete(passwordResetTokens)
|
|
.where(lt(passwordResetTokens.expiresAt, new Date().getTime()));
|
|
} catch (e) {
|
|
logger.error("Error clearing expired passwordResetTokens:", e);
|
|
}
|
|
|
|
try {
|
|
await db
|
|
.delete(userInvites)
|
|
.where(lt(userInvites.expiresAt, new Date().getTime()));
|
|
} catch (e) {
|
|
logger.error("Error clearing expired userInvites:", e);
|
|
}
|
|
|
|
try {
|
|
await db
|
|
.delete(resourceAccessToken)
|
|
.where(lt(resourceAccessToken.expiresAt, new Date().getTime()));
|
|
} catch (e) {
|
|
logger.error("Error clearing expired resourceAccessToken:", e);
|
|
}
|
|
|
|
try {
|
|
await db
|
|
.delete(resourceSessions)
|
|
.where(lt(resourceSessions.expiresAt, new Date().getTime()));
|
|
} catch (e) {
|
|
logger.error("Error clearing expired resourceSessions:", e);
|
|
}
|
|
|
|
try {
|
|
await db
|
|
.delete(resourceOtp)
|
|
.where(lt(resourceOtp.expiresAt, new Date().getTime()));
|
|
} catch (e) {
|
|
logger.error("Error clearing expired resourceOtp:", e);
|
|
}
|
|
}
|