2017-12-23 09:35:00 -05:00
|
|
|
"use strict";
|
|
|
|
|
|
|
|
const sql = require('../../services/sql');
|
2017-12-23 13:16:18 -05:00
|
|
|
const log = require('../../services/log');
|
2020-05-29 21:55:08 +02:00
|
|
|
const backupService = require('../../services/backup');
|
2022-01-17 23:47:26 +01:00
|
|
|
const anonymizationService = require('../../services/anonymization');
|
2019-12-10 22:03:00 +01:00
|
|
|
const consistencyChecksService = require('../../services/consistency_checks');
|
2018-01-07 14:07:59 -05:00
|
|
|
|
2020-06-20 23:09:34 +02:00
|
|
|
async function anonymize() {
|
2022-01-17 23:47:26 +01:00
|
|
|
return await anonymizationService.createAnonymizedCopy();
|
2020-06-02 23:13:55 +02:00
|
|
|
}
|
|
|
|
|
2020-06-20 23:09:34 +02:00
|
|
|
async function backupDatabase() {
|
2020-05-29 21:55:08 +02:00
|
|
|
return {
|
2020-06-20 23:09:34 +02:00
|
|
|
backupFile: await backupService.backupNow("now")
|
2020-05-29 21:55:08 +02:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
2020-06-20 12:31:38 +02:00
|
|
|
function vacuumDatabase() {
|
|
|
|
sql.execute("VACUUM");
|
2017-12-23 09:35:00 -05:00
|
|
|
|
2017-12-23 13:16:18 -05:00
|
|
|
log.info("Database has been vacuumed.");
|
2018-03-30 17:07:41 -04:00
|
|
|
}
|
2017-12-23 13:16:18 -05:00
|
|
|
|
2020-06-20 12:31:38 +02:00
|
|
|
function findAndFixConsistencyIssues() {
|
|
|
|
consistencyChecksService.runOnDemandChecks(true);
|
2019-12-10 22:03:00 +01:00
|
|
|
}
|
|
|
|
|
2018-03-30 17:07:41 -04:00
|
|
|
module.exports = {
|
2020-05-29 21:55:08 +02:00
|
|
|
backupDatabase,
|
2019-12-10 22:03:00 +01:00
|
|
|
vacuumDatabase,
|
2020-06-02 23:13:55 +02:00
|
|
|
findAndFixConsistencyIssues,
|
|
|
|
anonymize
|
2020-05-29 21:55:08 +02:00
|
|
|
};
|