Родитель
7c4045d22e
Коммит
3f6d64f6e6
|
@ -6,6 +6,8 @@ PORT=6060
|
|||
COOKIE_SECRET=3895d33b5f9730f5eb2a2067fe0a690e298f55f5e382c032fd3656863412
|
||||
|
||||
DATABASE_URL="postgres://postgres@localhost:5432/blurts"
|
||||
# How many seconds can unverified subscribers remain in the database
|
||||
DELETE_UNVERIFIED_SUBSCRIBERS_TIMER=86400
|
||||
|
||||
SMTP_URL=""
|
||||
|
||||
|
|
|
@ -27,6 +27,7 @@ const kEnvironmentVariables = [
|
|||
"HIBP_API_ROOT",
|
||||
"HIBP_API_TOKEN",
|
||||
"DATABASE_URL",
|
||||
"DELETE_UNVERIFIED_SUBSCRIBERS_TIMER",
|
||||
];
|
||||
|
||||
const AppConstants = { };
|
||||
|
|
4
db/DB.js
4
db/DB.js
|
@ -5,6 +5,7 @@
|
|||
const uuidv4 = require("uuid/v4");
|
||||
const Knex = require("knex");
|
||||
|
||||
const AppConstants = require("../app-constants");
|
||||
const HIBP = require("../hibp");
|
||||
const getSha1 = require("../sha1-utils");
|
||||
|
||||
|
@ -119,8 +120,11 @@ const DB = {
|
|||
},
|
||||
|
||||
async deleteUnverifiedSubscribers() {
|
||||
const expiredDateTime = new Date(Date.now() - AppConstants.DELETE_UNVERIFIED_SUBSCRIBERS_TIMER * 1000);
|
||||
const expiredTimeStamp = expiredDateTime.toISOString();
|
||||
await knex("subscribers")
|
||||
.where("verified", false)
|
||||
.andWhere("created_at", "<", expiredTimeStamp)
|
||||
.del();
|
||||
},
|
||||
|
||||
|
|
|
@ -3,12 +3,7 @@
|
|||
const DB = require("../db/DB");
|
||||
|
||||
|
||||
async function deleteUnverifiedSubscribers() {
|
||||
await DB.deleteUnverifiedSubscribers();
|
||||
}
|
||||
|
||||
|
||||
(async () => {
|
||||
await deleteUnverifiedSubscribers();
|
||||
await DB.deleteUnverifiedSubscribers();
|
||||
process.exit();
|
||||
})();
|
||||
|
|
Загрузка…
Ссылка в новой задаче