From 7564bf388ca7ca105773a1d2d5034f181eec31f5 Mon Sep 17 00:00:00 2001
From: azivner
Date: Thu, 26 Jul 2018 09:21:52 +0200
Subject: [PATCH] removed dangerous and unnecessary option to completely remove
soft-deleted items
---
src/routes/api/cleanup.js | 38 --------------------------------------
src/routes/routes.js | 1 -
src/views/index.ejs | 9 +--------
3 files changed, 1 insertion(+), 47 deletions(-)
diff --git a/src/routes/api/cleanup.js b/src/routes/api/cleanup.js
index d94f0c67a..5726f8b3c 100644
--- a/src/routes/api/cleanup.js
+++ b/src/routes/api/cleanup.js
@@ -1,46 +1,9 @@
"use strict";
const sql = require('../../services/sql');
-const utils = require('../../services/utils');
-const syncTable = require('../../services/sync_table');
const log = require('../../services/log');
const repository = require('../../services/repository');
-async function cleanupSoftDeletedItems() {
- const noteIdsToDelete = await sql.getColumn("SELECT noteId FROM notes WHERE isDeleted = 1");
- const noteIdsSql = noteIdsToDelete
- .map(noteId => "'" + utils.sanitizeSql(noteId) + "'")
- .join(', ');
-
- await sql.execute(`DELETE FROM event_log WHERE noteId IN (${noteIdsSql})`);
-
- await sql.execute(`DELETE FROM note_revisions WHERE noteId IN (${noteIdsSql})`);
-
- await sql.execute(`DELETE FROM note_images WHERE noteId IN (${noteIdsSql})`);
-
- await sql.execute(`DELETE FROM labels WHERE noteId IN (${noteIdsSql})`);
-
- await sql.execute("DELETE FROM branches WHERE isDeleted = 1");
-
- await sql.execute("DELETE FROM note_images WHERE isDeleted = 1");
-
- await sql.execute("DELETE FROM images WHERE isDeleted = 1");
-
- await sql.execute("DELETE FROM notes WHERE isDeleted = 1");
-
- await sql.execute("DELETE FROM recent_notes");
-
- await syncTable.cleanupSyncRowsForMissingEntities("notes", "noteId");
- await syncTable.cleanupSyncRowsForMissingEntities("branches", "branchId");
- await syncTable.cleanupSyncRowsForMissingEntities("note_revisions", "noteRevisionId");
- await syncTable.cleanupSyncRowsForMissingEntities("recent_notes", "branchId");
- await syncTable.cleanupSyncRowsForMissingEntities("images", "imageId");
- await syncTable.cleanupSyncRowsForMissingEntities("note_images", "noteImageId");
- await syncTable.cleanupSyncRowsForMissingEntities("labels", "labelId");
-
- log.info("Following notes has been completely cleaned from database: " + noteIdsSql);
-}
-
async function cleanupUnusedImages() {
const unusedImageIds = await sql.getColumn(`
SELECT images.imageId
@@ -67,7 +30,6 @@ async function vacuumDatabase() {
}
module.exports = {
- cleanupSoftDeletedItems,
cleanupUnusedImages,
vacuumDatabase
};
\ No newline at end of file
diff --git a/src/routes/routes.js b/src/routes/routes.js
index 92f7308fc..aa3663bc1 100644
--- a/src/routes/routes.js
+++ b/src/routes/routes.js
@@ -174,7 +174,6 @@ function register(app) {
apiRoute(POST, '/api/sql/execute', sqlRoute.execute);
apiRoute(POST, '/api/anonymization/anonymize', anonymizationRoute.anonymize);
- apiRoute(POST, '/api/cleanup/cleanup-soft-deleted-items', cleanupRoute.cleanupSoftDeletedItems);
apiRoute(POST, '/api/cleanup/cleanup-unused-images', cleanupRoute.cleanupUnusedImages);
apiRoute(POST, '/api/cleanup/vacuum-database', cleanupRoute.vacuumDatabase);
diff --git a/src/views/index.ejs b/src/views/index.ejs
index b8d931653..1d707d15f 100644
--- a/src/views/index.ejs
+++ b/src/views/index.ejs
@@ -461,14 +461,7 @@
This means that some images can disappear from note revisions.
-
-
-
Soft-delete cleanup
-
-
This deletes all soft deleted rows from the database. This change isn't synced and should be done manually on all instances.
- Use this only if you really know what you're doing.