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 cors from 'cors';
|
||||||
import api from '@/api';
|
import api from '@/api';
|
||||||
import { config as envConfig } from 'dotenv';
|
import { config as envConfig } from 'dotenv';
|
||||||
|
import { deleteExpiredTokens } from '@/controller/AuthController';
|
||||||
|
|
||||||
envConfig();
|
envConfig();
|
||||||
|
|
||||||
|
|
@ -42,3 +43,13 @@ app.use('/api', api);
|
||||||
app.listen(port, () => {
|
app.listen(port, () => {
|
||||||
console.log(`Server listening on port ${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