Add versioningLimit label support

This commit is contained in:
SiriusXT 2024-09-04 09:04:40 +00:00
parent 898afb7ed7
commit 78bfc3341b
2 changed files with 8 additions and 4 deletions

View File

@ -1614,15 +1614,19 @@ class BNote extends AbstractBeccaEntity<BNote> {
revision.setContent(noteContent);
this.eraseExcessRevisions()
this.eraseExcessRevisionSnapshots()
return revision;
});
}
// Limit the number of Snapshots to revisionSnapshotNumberLimit
// Delete older Snapshots that exceed the limit
eraseExcessRevisions() {
const revisionSnapshotNumberLimit = parseInt(optionService.getOption('revisionSnapshotNumberLimit'));
eraseExcessRevisionSnapshots() {
// lable has a higher priority
let revisionSnapshotNumberLimit = parseInt(this.getLabelValue("versioningLimit") ?? "");
if (!Number.isInteger(revisionSnapshotNumberLimit)) {
revisionSnapshotNumberLimit = parseInt(optionService.getOption('revisionSnapshotNumberLimit'));
}
if (revisionSnapshotNumberLimit >= 0) {
const revisions = this.getRevisions();
if (revisions.length - revisionSnapshotNumberLimit > 0) {

View File

@ -116,7 +116,7 @@ function eraseRevision(req: Request) {
function eraseAllExcessRevisions() {
let allNoteIds = sql.getRows('SELECT noteId FROM notes') as { noteId: string }[];
allNoteIds.forEach(row => {
becca.getNote(row.noteId)?.eraseExcessRevisions()
becca.getNote(row.noteId)?.eraseExcessRevisionSnapshots()
});
}