|
@@ -43,7 +43,7 @@ class PageTagRelation {
|
|
|
* remove all invalid relations that has reference to unlinked document
|
|
* remove all invalid relations that has reference to unlinked document
|
|
|
*/
|
|
*/
|
|
|
static removeAllInvalidRelations() {
|
|
static removeAllInvalidRelations() {
|
|
|
- return this.findAllRelation()
|
|
|
|
|
|
|
+ return this.find()
|
|
|
.then(relations => {
|
|
.then(relations => {
|
|
|
// filter invalid documents
|
|
// filter invalid documents
|
|
|
return relations.filter(relation => {
|
|
return relations.filter(relation => {
|
|
@@ -60,38 +60,20 @@ class PageTagRelation {
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- /**
|
|
|
|
|
- * find all page and tag relation
|
|
|
|
|
- *
|
|
|
|
|
- * @static
|
|
|
|
|
- * @returns {Promise<PageTagRelation[]>}
|
|
|
|
|
- * @memberof PageTagRelation
|
|
|
|
|
- */
|
|
|
|
|
- static findAllRelation() {
|
|
|
|
|
- return this
|
|
|
|
|
- .find()
|
|
|
|
|
- .populate('relatedPage')
|
|
|
|
|
- .populate('relatedTag')
|
|
|
|
|
- .exec();
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
/**
|
|
/**
|
|
|
* find all tag related to the page
|
|
* find all tag related to the page
|
|
|
*
|
|
*
|
|
|
* @static
|
|
* @static
|
|
|
- * @param {page} page
|
|
|
|
|
|
|
+ * @param {ObjectId} pageId
|
|
|
* @returns {Promise<ObjectId[]>}
|
|
* @returns {Promise<ObjectId[]>}
|
|
|
* @memberof PageTagRelation
|
|
* @memberof PageTagRelation
|
|
|
*/
|
|
*/
|
|
|
- static findAllTagIdForPage(page) {
|
|
|
|
|
- return new Promise((resolve, reject) => {
|
|
|
|
|
- this.find({relatedPage: page._id}, function(err, relations) {
|
|
|
|
|
- if (err) {
|
|
|
|
|
- reject(err);
|
|
|
|
|
- }
|
|
|
|
|
- resolve(relations.map(rel => rel.relatedTag));
|
|
|
|
|
- });
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ static findAllTagIdForPage(pageId) {
|
|
|
|
|
+ return this
|
|
|
|
|
+ .find({
|
|
|
|
|
+ relatedPage: pageId
|
|
|
|
|
+ })
|
|
|
|
|
+ .select('-_id relatedTag');
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|