Просмотр исходного кода

add a method on models/page-tag-relation.js

yusuketk 7 лет назад
Родитель
Сommit
dfbf0e2819
2 измененных файлов с 9 добавлено и 6 удалено
  1. 7 0
      src/server/models/page-tag-relation.js
  2. 2 6
      src/server/models/tag.js

+ 7 - 0
src/server/models/page-tag-relation.js

@@ -26,6 +26,13 @@ schema.plugin(mongoosePaginate);
  * @class PageTagRelation
  */
 class PageTagRelation {
+
+  static async createIfNotExist(pageId, tagId) {
+    if (!await this.findOne({relatedPage: pageId, relatedTag: tagId})) {
+      this.create({relatedPage: pageId, relatedTag: tagId});
+    }
+  }
+
 }
 
 module.exports = function() {

+ 2 - 6
src/server/models/tag.js

@@ -20,13 +20,9 @@ schema.plugin(mongoosePaginate);
 class Tag {
 
   static async findOrCreate(tagName) {
-    const tag = await this.findOne({
-      name: tagName
-    });
+    const tag = await this.findOne({name: tagName});
     if (!tag) {
-      return await this.create({
-        name: tagName
-      });
+      return await this.create({name: tagName});
     }
     return tag;
   }