Przeglądaj źródła

set allmodels tag

kaori 4 lat temu
rodzic
commit
b9f33ccce3

+ 13 - 12
packages/app/src/server/crowi/index.js

@@ -1,12 +1,13 @@
 /* eslint-disable @typescript-eslint/no-this-alias */
 
-import path from 'path';
 import http from 'http';
-import mongoose from 'mongoose';
+import path from 'path';
 
 import { createTerminus } from '@godaddy/terminus';
-
 import { initMongooseGlobalSettings, getMongoUri, mongoOptions } from '@growi/core';
+import mongoose from 'mongoose';
+
+
 import pkg from '^/package.json';
 
 import CdnResourcesService from '~/services/cdn-resources-service';
@@ -15,26 +16,25 @@ import Xss from '~/services/xss';
 import loggerFactory from '~/utils/logger';
 import { projectRoot } from '~/utils/project-dir-utils';
 
-import ConfigManager from '../service/config-manager';
-import AppService from '../service/app';
+import Activity from '../models/activity';
+import PageRedirect from '../models/page-redirect';
+import Tag from '../models/tag';
+import UserGroup from '../models/user-group';
 import AclService from '../service/acl';
-import SearchService from '../service/search';
+import AppService from '../service/app';
 import AttachmentService from '../service/attachment';
+import ConfigManager from '../service/config-manager';
+import { InstallerService } from '../service/installer';
 import PageService from '../service/page';
 import PageGrantService from '../service/page-grant';
 import PageOperationService from '../service/page-operation';
+import SearchService from '../service/search';
 import { SlackIntegrationService } from '../service/slack-integration';
 import { UserNotificationService } from '../service/user-notification';
-import { InstallerService } from '../service/installer';
-import Activity from '../models/activity';
-import UserGroup from '../models/user-group';
-import PageRedirect from '../models/page-redirect';
 
 const logger = loggerFactory('growi:crowi');
 const httpErrorHandler = require('../middlewares/http-error-handler');
-
 const models = require('../models');
-
 const PluginService = require('../plugins/plugin.service');
 
 const sep = path.sep;
@@ -281,6 +281,7 @@ Crowi.prototype.setupModels = async function() {
 
   // include models that independent from crowi
   allModels.Activity = Activity;
+  allModels.Tag = Tag;
   allModels.UserGroup = UserGroup;
   allModels.PageRedirect = PageRedirect;
 

+ 4 - 4
packages/app/src/server/models/tag.ts

@@ -13,7 +13,7 @@ export interface TagDocument extends Document {
 }
 
 export interface TagModel extends Model<TagDocument>{
-  getIdToNameMap(tagIds: Types.ObjectId)
+  getIdToNameMap(tagIds: Types.ObjectId[])
   findOrCreate(tagName: string)
   findOrCreateMany(tagNames: string[])
 }
@@ -29,7 +29,7 @@ tagSchema.plugin(mongoosePaginate);
 tagSchema.plugin(uniqueValidator);
 
 
-tagSchema.statics.getIdToNameMap = async function(tagIds) {
+tagSchema.statics.getIdToNameMap = async function(tagIds: Types.ObjectId[]) {
   const tags = await this.find({ _id: { $in: tagIds } });
 
   const idToNameMap = {};
@@ -40,7 +40,7 @@ tagSchema.statics.getIdToNameMap = async function(tagIds) {
   return idToNameMap;
 };
 
-tagSchema.statics.findOrCreate = async function(tagName) {
+tagSchema.statics.findOrCreate = async function(tagName: string) {
   const tag = await this.findOne({ name: tagName });
   if (!tag) {
     return this.create({ name: tagName });
@@ -48,7 +48,7 @@ tagSchema.statics.findOrCreate = async function(tagName) {
   return tag;
 };
 
-tagSchema.statics.findOrCreateMany = async function(tagNames) {
+tagSchema.statics.findOrCreateMany = async function(tagNames: string[]) {
   const existTags = await this.find({ name: { $in: tagNames } });
   const existTagNames = existTags.map((tag) => { return tag.name });