diff --git a/models/mongodb/models/series.model.js b/models/mongodb/models/series.model.js index 7d13a295..80d91580 100644 --- a/models/mongodb/models/series.model.js +++ b/models/mongodb/models/series.model.js @@ -13,6 +13,17 @@ let dicomSeriesSchemaOptions = _.merge( DicomSchemaOptionsFactory.get("series", SeriesDocDicomJsonHandler), { methods: { + incrementDeleteStatus: async function () { + await mongoose.model("dicom").updateMany({ + seriesUID: this.seriesUID + }, { + $inc: { + deleteStatus: 1 + } + }); + this.deleteStatus += 1; + await this.save(); + }, deleteDicomInstances: async function () { let seriesPath = this.seriesPath; logger.warn("Permanently delete series folder: " + seriesPath); diff --git a/models/mongodb/models/study.model.js b/models/mongodb/models/study.model.js index 9d804de6..13a28c33 100644 --- a/models/mongodb/models/study.model.js +++ b/models/mongodb/models/study.model.js @@ -13,6 +13,26 @@ let dicomStudySchemaOptions = _.merge( DicomSchemaOptionsFactory.get("study", StudyDocDicomJsonHandler), { methods: { + incrementDeleteStatus: async function() { + await Promise.all([ + mongoose.model("dicomSeries").updateMany({ + studyUID: this.studyUID + }, { + $inc : { + deleteStatus: 1 + } + }), + mongoose.model("dicom").updateMany({ + studyUID: this.studyUID + }, { + $inc: { + deleteStatus: 1 + } + }) + ]); + this.deleteStatus += 1; + await this.save(); + }, deleteDicomInstances: async function () { let studyPath = this.studyPath;