61 lines
1.6 KiB
JavaScript
61 lines
1.6 KiB
JavaScript
const Folder = require("../../../models/folder");
|
|
const ObjectID = require('mongodb').ObjectID
|
|
|
|
const DbUtil = function() {
|
|
|
|
this.getFolderSearchList = async(userID, searchQuery) => {
|
|
|
|
const folderList = await Folder.find({"owner": userID, "name": searchQuery}).limit(10);
|
|
|
|
return folderList;
|
|
}
|
|
|
|
this.getFolderInfo = async(folderID, userID) => {
|
|
|
|
const folder = await Folder.findOne({"owner": userID, "_id": ObjectID(folderID)});
|
|
|
|
return folder;
|
|
}
|
|
|
|
this.getFolderListByParent = async(userID, parent, sortBy) => {
|
|
|
|
const folderList = await Folder.find({"owner": userID, "parent": parent})
|
|
.sort(sortBy);
|
|
|
|
return folderList;
|
|
}
|
|
|
|
this.getFolderListBySearch = async(userID, searchQuery, sortBy) => {
|
|
|
|
const folderList = await Folder.find({"name": searchQuery,"owner": userID})
|
|
.sort(sortBy);
|
|
|
|
return folderList;
|
|
}
|
|
|
|
this.moveFolder = async(folderID, userID, parent, parentList) => {
|
|
|
|
const folder = await Folder.findOneAndUpdate({"_id": ObjectID(folderID),
|
|
"owner": userID}, {"$set": {"parent": parent, "parentList": parentList}});
|
|
|
|
return folder;
|
|
}
|
|
|
|
this.renameFolder = async(folderID, userID, title) => {
|
|
|
|
const folder = await Folder.findOneAndUpdate({"_id": ObjectID(folderID),
|
|
"owner": userID}, {"$set": {"name": title}});
|
|
|
|
return folder;
|
|
}
|
|
|
|
this.findAllFoldersByParent = async(parentID, userID) => {
|
|
|
|
const folderList = await Folder.find({"parentList": parentID, "owner": userID});
|
|
|
|
return folderList;
|
|
|
|
}
|
|
}
|
|
|
|
module.exports = DbUtil; |