Added: delete sub level tree
This commit is contained in:
30
src/controller/utils/sublevel.js
Normal file
30
src/controller/utils/sublevel.js
Normal file
@@ -0,0 +1,30 @@
|
||||
const SubLevel = require("../../models/Sublevel");
|
||||
const Level = require("../../models/Level");
|
||||
|
||||
// exports.moveSublevel = async (sub_level_id, under_sub_or_level_id, isMainLevel) => {
|
||||
|
||||
// };
|
||||
|
||||
exports.deleteSubLevelTreeFromRoot = async (root_sub_level_id) => {
|
||||
let sub_level_ids = [];
|
||||
let temp_sub_level_ids = [root_sub_level_id];
|
||||
|
||||
while (temp_sub_level_ids.length > 0) {
|
||||
const level_sub_level_data = await SubLevel.find({
|
||||
_id: temp_sub_level_ids,
|
||||
});
|
||||
|
||||
sub_level_ids = [...sub_level_ids, ...temp_sub_level_ids];
|
||||
temp_sub_level_ids = [];
|
||||
|
||||
level_sub_level_data.forEach((sub_level_data) => {
|
||||
sub_level_data.sub_levels.forEach((sub_level) => {
|
||||
temp_sub_level_ids.push(sub_level.sub_level_id.toString());
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
await SubLevel.deleteMany({ _id: sub_level_ids });
|
||||
console.log("Deleting sub-level tree", { sub_level_ids });
|
||||
return sub_level_ids;
|
||||
};
|
||||
@@ -67,6 +67,12 @@ const schema = new mongoose.Schema(
|
||||
}
|
||||
);
|
||||
|
||||
schema.pre("save", function (next) {
|
||||
// const sublevel = this;
|
||||
// // write validation here?
|
||||
next();
|
||||
});
|
||||
|
||||
const SubLevel = mongoose.model("SubLevel", schema);
|
||||
|
||||
module.exports = SubLevel;
|
||||
|
||||
Reference in New Issue
Block a user