|
|
@@ -106,6 +106,27 @@ class PageTagRelation {
|
|
|
});
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * find all page relate tag
|
|
|
+ *
|
|
|
+ * @static
|
|
|
+ * @param {tag} tag
|
|
|
+ * @returns {ObjectId}
|
|
|
+ * @memberof PageTagRelation
|
|
|
+ */
|
|
|
+ static findAllPageIdForTag(tag) {
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
+ this.find({
|
|
|
+ relatedTag: tag._id
|
|
|
+ }, function(err, relations) {
|
|
|
+ if (err) {
|
|
|
+ reject(err);
|
|
|
+ }
|
|
|
+ resolve(relations.map(rel => rel.relatedPage));
|
|
|
+ });
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
// /**
|
|
|
// * find all user and group relation of UserGroups
|
|
|
// *
|
|
|
@@ -300,11 +321,14 @@ class PageTagRelation {
|
|
|
* @returns {Promise<any>}
|
|
|
* @memberof PageTagRelation
|
|
|
*/
|
|
|
- static removeByTagId(tagId) {
|
|
|
- return this.remove({relatedTag: tagId}, function(err, removedData) {
|
|
|
- if (err) {
|
|
|
- throw new Error('PageTagRelation data is not exists. tag_id:', tagId);
|
|
|
- }
|
|
|
+ static removeByEachId(pageId, tagId) {
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
+ this.remove({relatedPage: pageId, relatedTag: tagId}, function(err, removedData) {
|
|
|
+ if (err) {
|
|
|
+ reject(err);
|
|
|
+ }
|
|
|
+ resolve();
|
|
|
+ });
|
|
|
});
|
|
|
}
|
|
|
|