delete expired tokens every minute
This commit is contained in:
parent
9c6654182b
commit
0c4ba1ea77
|
|
@ -53,4 +53,20 @@ const verifyToken = async (token: string): Promise<number> => {
|
|||
});
|
||||
};
|
||||
|
||||
export { hashPassword, comparePassword, genToken, verifyToken };
|
||||
const deleteToken = (token: string) => {
|
||||
return prisma.token.delete({
|
||||
where: { token },
|
||||
});
|
||||
};
|
||||
|
||||
const deleteExpiredTokens = () => {
|
||||
return prisma.token.deleteMany({
|
||||
where: {
|
||||
expiresAt: {
|
||||
lte: new Date(Date.now()),
|
||||
},
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
export { hashPassword, comparePassword, genToken, verifyToken, deleteToken, deleteExpiredTokens };
|
||||
|
|
|
|||
11
src/index.ts
11
src/index.ts
|
|
@ -2,6 +2,7 @@ import express, { urlencoded, json } from 'express';
|
|||
import cors from 'cors';
|
||||
import api from '@/api';
|
||||
import { config as envConfig } from 'dotenv';
|
||||
import { deleteExpiredTokens } from '@/controller/AuthController';
|
||||
|
||||
envConfig();
|
||||
|
||||
|
|
@ -42,3 +43,13 @@ app.use('/api', api);
|
|||
app.listen(port, () => {
|
||||
console.log(`Server listening on port ${port}`);
|
||||
});
|
||||
|
||||
setInterval(() => {
|
||||
deleteExpiredTokens()
|
||||
.then((e) => {
|
||||
console.log(`Deleted ${e.count} expired tokens`);
|
||||
})
|
||||
.catch((error) => {
|
||||
console.log(error);
|
||||
});
|
||||
}, 60 * 1000); // 60 seconds
|
||||
|
|
|
|||
Loading…
Reference in New Issue