Yuki Takei 3 лет назад
Родитель
Сommit
8f330e7692
60 измененных файлов с 97 добавлено и 77 удалено
  1. 1 1
      packages/app/migrate-mongo-config.js
  2. 1 1
      packages/app/src/migrations/20180926134048-make-email-unique.js
  3. 1 1
      packages/app/src/migrations/20180927102719-init-serverurl.js
  4. 2 2
      packages/app/src/migrations/20181019114028-abolish-page-group-relation.js
  5. 1 1
      packages/app/src/migrations/20190618055300-abolish-crowi-classic-auth.js
  6. 1 1
      packages/app/src/migrations/20190618104011-add-config-app-installed.js
  7. 2 2
      packages/app/src/migrations/20190619055421-adjust-page-grant.js
  8. 2 2
      packages/app/src/migrations/20190624110950-fill-last-update-user.js
  9. 2 2
      packages/app/src/migrations/20190629193445-make-root-page-public.js
  10. 1 1
      packages/app/src/migrations/20191102223900-drop-configs-indices.js
  11. 1 1
      packages/app/src/migrations/20191102223901-drop-pages-indices.js
  12. 3 2
      packages/app/src/migrations/20191126173016-adjust-pages-path.js
  13. 1 1
      packages/app/src/migrations/20191127023815-drop-wrong-index-of-page-tag-relation.js
  14. 1 1
      packages/app/src/migrations/20200402160380-remove-deleteduser-from-relationgroup.js
  15. 1 1
      packages/app/src/migrations/20200420160390-remove-crowi-layout.js
  16. 1 1
      packages/app/src/migrations/20200512005851-remove-behavior-type.js
  17. 1 1
      packages/app/src/migrations/20200514001356-update-theme-color-for-dark.js
  18. 1 1
      packages/app/src/migrations/20200620203632-normalize-locale-id.js
  19. 1 1
      packages/app/src/migrations/20200827045151-remove-layout-setting.js
  20. 1 1
      packages/app/src/migrations/20200828024025-copy-aws-setting.js
  21. 1 1
      packages/app/src/migrations/20200901034313-update-mail-transmission.js
  22. 1 2
      packages/app/src/migrations/20200903080025-remove-timeline-type.js.js
  23. 1 2
      packages/app/src/migrations/20200915035234-rename-s3-config.js
  24. 2 2
      packages/app/src/migrations/20210420160380-convert-double-to-date.js
  25. 1 1
      packages/app/src/migrations/20210830074539-update-configs-for-slackbot.js
  26. 1 1
      packages/app/src/migrations/20210906194521-slack-app-integration-set-default-value.js
  27. 2 2
      packages/app/src/migrations/20210913153942-migrate-slack-app-integration-schema.js
  28. 2 2
      packages/app/src/migrations/20210921173042-add-is-trashed-field.js
  29. 1 1
      packages/app/src/migrations/20211005120030-slack-app-integration-rename-keys.js
  30. 1 1
      packages/app/src/migrations/20211005131430-config-without-proxy-command-permission-for-renaming.js
  31. 2 2
      packages/app/src/migrations/20211129125654-initialize-private-legacy-pages-named-query.js
  32. 4 3
      packages/app/src/migrations/20211227060705-revision-path-to-page-id-schema-migration.js
  33. 1 1
      packages/app/src/migrations/20220131001218-convert-redirect-to-pages-to-page-redirect-documents.js
  34. 2 3
      packages/app/src/migrations/20220311011114-convert-page-delete-config.js
  35. 1 1
      packages/app/src/migrations/20220411114257-set-sparse-option-to-slack-member-id.js
  36. 1 1
      packages/app/src/migrations/20220613064207-add-attachment-type-to-existing-attachments.js
  37. 4 2
      packages/app/src/server/console.js
  38. 1 1
      packages/app/src/server/crowi/index.js
  39. 2 1
      packages/app/src/server/models/activity.ts
  40. 2 1
      packages/app/src/server/models/config.ts
  41. 2 1
      packages/app/src/server/models/editor-settings.ts
  42. 2 1
      packages/app/src/server/models/in-app-notification-settings.ts
  43. 2 1
      packages/app/src/server/models/in-app-notification.ts
  44. 4 2
      packages/app/src/server/models/named-query.ts
  45. 2 1
      packages/app/src/server/models/page-operation.ts
  46. 2 1
      packages/app/src/server/models/page-redirect.ts
  47. 2 1
      packages/app/src/server/models/page.ts
  48. 2 1
      packages/app/src/server/models/password-reset-order.ts
  49. 3 1
      packages/app/src/server/models/subscription.ts
  50. 1 1
      packages/app/src/server/models/tag.ts
  51. 2 1
      packages/app/src/server/models/update-post.ts
  52. 2 1
      packages/app/src/server/models/user-group.ts
  53. 2 1
      packages/app/src/server/models/user-registration-order.ts
  54. 3 1
      packages/app/src/server/models/user-ui-settings.ts
  55. 1 1
      packages/app/src/server/service/comment.ts
  56. 0 0
      packages/app/src/server/util/mongoose-utils.ts
  57. 2 1
      packages/app/test/integration/global-setup.js
  58. 1 1
      packages/app/test/integration/setup.js
  59. 1 1
      packages/app/tsconfig.base.json
  60. 2 2
      packages/core/src/index.ts

+ 1 - 1
packages/app/migrate-mongo-config.js

@@ -13,7 +13,7 @@ if (migrationsDir == null) {
   throw new Error('An env var MIGRATIONS_DIR must be set.');
 }
 
-const { initMongooseGlobalSettings, getMongoUri, mongoOptions } = require('@growi/core');
+const { initMongooseGlobalSettings, getMongoUri, mongoOptions } = require('~/server/util/mongoose-utils');
 
 initMongooseGlobalSettings();
 

+ 1 - 1
packages/app/src/migrations/20180926134048-make-email-unique.js

@@ -1,6 +1,6 @@
 import mongoose from 'mongoose';
 
-import { getModelSafely, getMongoUri, mongoOptions } from '@growi/core';
+import { getModelSafely, getMongoUri, mongoOptions } from '~/server/util/mongoose-utils';
 import loggerFactory from '~/utils/logger';
 
 const logger = loggerFactory('growi:migrate:make-email-unique');

+ 1 - 1
packages/app/src/migrations/20180927102719-init-serverurl.js

@@ -1,8 +1,8 @@
-import { getMongoUri, mongoOptions } from '@growi/core';
 import mongoose from 'mongoose';
 
 // eslint-disable-next-line import/no-named-as-default
 import Config from '~/server/models/config';
+import { getMongoUri, mongoOptions } from '~/server/util/mongoose-utils';
 import loggerFactory from '~/utils/logger';
 
 const logger = loggerFactory('growi:migrate:init-serverurl');

+ 2 - 2
packages/app/src/migrations/20181019114028-abolish-page-group-relation.js

@@ -1,8 +1,8 @@
 import mongoose from 'mongoose';
 
-import { getModelSafely, getMongoUri, mongoOptions } from '@growi/core';
-import loggerFactory from '~/utils/logger';
 import getPageModel from '~/server/models/page';
+import { getModelSafely, getMongoUri, mongoOptions } from '~/server/util/mongoose-utils';
+import loggerFactory from '~/utils/logger';
 
 const logger = loggerFactory('growi:migrate:abolish-page-group-relation');
 

+ 1 - 1
packages/app/src/migrations/20190618055300-abolish-crowi-classic-auth.js

@@ -1,8 +1,8 @@
-import { getMongoUri, mongoOptions } from '@growi/core';
 import mongoose from 'mongoose';
 
 // eslint-disable-next-line import/no-named-as-default
 import Config from '~/server/models/config';
+import { getMongoUri, mongoOptions } from '~/server/util/mongoose-utils';
 import loggerFactory from '~/utils/logger';
 
 const logger = loggerFactory('growi:migrate:abolish-crowi-classic-auth');

+ 1 - 1
packages/app/src/migrations/20190618104011-add-config-app-installed.js

@@ -1,8 +1,8 @@
-import { getModelSafely, getMongoUri, mongoOptions } from '@growi/core';
 import mongoose from 'mongoose';
 
 // eslint-disable-next-line import/no-named-as-default
 import Config from '~/server/models/config';
+import { getModelSafely, getMongoUri, mongoOptions } from '~/server/util/mongoose-utils';
 import loggerFactory from '~/utils/logger';
 
 const logger = loggerFactory('growi:migrate:add-config-app-installed');

+ 2 - 2
packages/app/src/migrations/20190619055421-adjust-page-grant.js

@@ -1,8 +1,8 @@
 import mongoose from 'mongoose';
 
-import { getMongoUri, mongoOptions } from '@growi/core';
-import loggerFactory from '~/utils/logger';
 import getPageModel from '~/server/models/page';
+import { getMongoUri, mongoOptions } from '~/server/util/mongoose-utils';
+import loggerFactory from '~/utils/logger';
 
 const logger = loggerFactory('growi:migrate:adjust-page-grant');
 

+ 2 - 2
packages/app/src/migrations/20190624110950-fill-last-update-user.js

@@ -1,8 +1,8 @@
 import mongoose from 'mongoose';
 
-import { getMongoUri, mongoOptions } from '@growi/core';
-import loggerFactory from '~/utils/logger';
 import getPageModel from '~/server/models/page';
+import { getMongoUri, mongoOptions } from '~/server/util/mongoose-utils';
+import loggerFactory from '~/utils/logger';
 
 const logger = loggerFactory('growi:migrate:abolish-page-group-relation');
 

+ 2 - 2
packages/app/src/migrations/20190629193445-make-root-page-public.js

@@ -1,8 +1,8 @@
 import mongoose from 'mongoose';
 
-import { getMongoUri, mongoOptions } from '@growi/core';
-import loggerFactory from '~/utils/logger';
 import getPageModel from '~/server/models/page';
+import { getMongoUri, mongoOptions } from '~/server/util/mongoose-utils';
+import loggerFactory from '~/utils/logger';
 
 const logger = loggerFactory('growi:migrate:make-root-page-public');
 

+ 1 - 1
packages/app/src/migrations/20191102223900-drop-configs-indices.js

@@ -1,6 +1,6 @@
 import mongoose from 'mongoose';
 
-import { getMongoUri, mongoOptions } from '@growi/core';
+import { getMongoUri, mongoOptions } from '~/server/util/mongoose-utils';
 import loggerFactory from '~/utils/logger';
 
 const logger = loggerFactory('growi:migrate:drop-configs-indices');

+ 1 - 1
packages/app/src/migrations/20191102223901-drop-pages-indices.js

@@ -1,6 +1,6 @@
 import mongoose from 'mongoose';
 
-import { getMongoUri, mongoOptions } from '@growi/core';
+import { getMongoUri, mongoOptions } from '~/server/util/mongoose-utils';
 import loggerFactory from '~/utils/logger';
 
 const logger = loggerFactory('growi:migrate:drop-pages-indices');

+ 3 - 2
packages/app/src/migrations/20191126173016-adjust-pages-path.js

@@ -1,7 +1,8 @@
+import { pathUtils } from '@growi/core';
 import mongoose from 'mongoose';
-import { pathUtils, getMongoUri, mongoOptions } from '@growi/core';
-import getPageModel from '~/server/models/page';
 
+import getPageModel from '~/server/models/page';
+import { getMongoUri, mongoOptions } from '~/server/util/mongoose-utils';
 import loggerFactory from '~/utils/logger';
 
 const logger = loggerFactory('growi:migrate:adjust-pages-path');

+ 1 - 1
packages/app/src/migrations/20191127023815-drop-wrong-index-of-page-tag-relation.js

@@ -1,6 +1,6 @@
 import mongoose from 'mongoose';
 
-import { getMongoUri, mongoOptions } from '@growi/core';
+import { getMongoUri, mongoOptions } from '~/server/util/mongoose-utils';
 import loggerFactory from '~/utils/logger';
 
 const logger = loggerFactory('growi:migrate:drop-wrong-index-of-page-tag-relation');

+ 1 - 1
packages/app/src/migrations/20200402160380-remove-deleteduser-from-relationgroup.js

@@ -1,6 +1,6 @@
 import mongoose from 'mongoose';
 
-import { getModelSafely, getMongoUri, mongoOptions } from '@growi/core';
+import { getModelSafely, getMongoUri, mongoOptions } from '~/server/util/mongoose-utils';
 import loggerFactory from '~/utils/logger';
 
 const logger = loggerFactory('growi:migrate:remove-deleteduser-from-relationgroup');

+ 1 - 1
packages/app/src/migrations/20200420160390-remove-crowi-layout.js

@@ -1,8 +1,8 @@
-import { getMongoUri, mongoOptions } from '@growi/core';
 import mongoose from 'mongoose';
 
 // eslint-disable-next-line import/no-named-as-default
 import Config from '~/server/models/config';
+import { getMongoUri, mongoOptions } from '~/server/util/mongoose-utils';
 import loggerFactory from '~/utils/logger';
 
 const logger = loggerFactory('growi:migrate:remove-crowi-lauout');

+ 1 - 1
packages/app/src/migrations/20200512005851-remove-behavior-type.js

@@ -1,8 +1,8 @@
-import { getMongoUri, mongoOptions } from '@growi/core';
 import mongoose from 'mongoose';
 
 // eslint-disable-next-line import/no-named-as-default
 import Config from '~/server/models/config';
+import { getMongoUri, mongoOptions } from '~/server/util/mongoose-utils';
 import loggerFactory from '~/utils/logger';
 
 const logger = loggerFactory('growi:migrate:remove-behavior-type');

+ 1 - 1
packages/app/src/migrations/20200514001356-update-theme-color-for-dark.js

@@ -1,8 +1,8 @@
-import { getMongoUri, mongoOptions } from '@growi/core';
 import mongoose from 'mongoose';
 
 // eslint-disable-next-line import/no-named-as-default
 import Config from '~/server/models/config';
+import { getMongoUri, mongoOptions } from '~/server/util/mongoose-utils';
 import loggerFactory from '~/utils/logger';
 
 const logger = loggerFactory('growi:migrate:update-theme-color-for-dark');

+ 1 - 1
packages/app/src/migrations/20200620203632-normalize-locale-id.js

@@ -1,8 +1,8 @@
-import { getModelSafely, getMongoUri, mongoOptions } from '@growi/core';
 import mongoose from 'mongoose';
 
 // eslint-disable-next-line import/no-named-as-default
 import Config from '~/server/models/config';
+import { getModelSafely, getMongoUri, mongoOptions } from '~/server/util/mongoose-utils';
 import loggerFactory from '~/utils/logger';
 
 const logger = loggerFactory('growi:migrate:normalize-locale-id');

+ 1 - 1
packages/app/src/migrations/20200827045151-remove-layout-setting.js

@@ -1,8 +1,8 @@
-import { getMongoUri, mongoOptions } from '@growi/core';
 import mongoose from 'mongoose';
 
 // eslint-disable-next-line import/no-named-as-default
 import Config from '~/server/models/config';
+import { getMongoUri, mongoOptions } from '~/server/util/mongoose-utils';
 import loggerFactory from '~/utils/logger';
 
 const logger = loggerFactory('growi:migrate:remove-layout-setting');

+ 1 - 1
packages/app/src/migrations/20200828024025-copy-aws-setting.js

@@ -1,8 +1,8 @@
-import { getMongoUri, mongoOptions } from '@growi/core';
 import mongoose from 'mongoose';
 
 // eslint-disable-next-line import/no-named-as-default
 import Config from '~/server/models/config';
+import { getMongoUri, mongoOptions } from '~/server/util/mongoose-utils';
 import loggerFactory from '~/utils/logger';
 
 const logger = loggerFactory('growi:migrate:remove-layout-setting');

+ 1 - 1
packages/app/src/migrations/20200901034313-update-mail-transmission.js

@@ -1,8 +1,8 @@
-import { getMongoUri, mongoOptions } from '@growi/core';
 import mongoose from 'mongoose';
 
 // eslint-disable-next-line import/no-named-as-default
 import Config from '~/server/models/config';
+import { getMongoUri, mongoOptions } from '~/server/util/mongoose-utils';
 import loggerFactory from '~/utils/logger';
 
 const logger = loggerFactory('growi:migrate:update-mail-transmission');

+ 1 - 2
packages/app/src/migrations/20200903080025-remove-timeline-type.js.js

@@ -1,7 +1,6 @@
-import { getMongoUri, mongoOptions } from '@growi/core';
-
 // eslint-disable-next-line import/no-named-as-default
 import Config from '~/server/models/config';
+import { getMongoUri, mongoOptions } from '~/server/util/mongoose-utils';
 import loggerFactory from '~/utils/logger';
 
 

+ 1 - 2
packages/app/src/migrations/20200915035234-rename-s3-config.js

@@ -1,7 +1,6 @@
-import { getMongoUri, mongoOptions } from '@growi/core';
-
 // eslint-disable-next-line import/no-named-as-default
 import Config from '~/server/models/config';
+import { getMongoUri, mongoOptions } from '~/server/util/mongoose-utils';
 import loggerFactory from '~/utils/logger';
 
 

+ 2 - 2
packages/app/src/migrations/20210420160380-convert-double-to-date.js

@@ -1,8 +1,8 @@
 import mongoose from 'mongoose';
 
-import { getModelSafely, getMongoUri, mongoOptions } from '@growi/core';
-import loggerFactory from '~/utils/logger';
 import getPageModel from '~/server/models/page';
+import { getModelSafely, getMongoUri, mongoOptions } from '~/server/util/mongoose-utils';
+import loggerFactory from '~/utils/logger';
 
 const logger = loggerFactory('growi:migrate:remove-crowi-lauout');
 

+ 1 - 1
packages/app/src/migrations/20210830074539-update-configs-for-slackbot.js

@@ -1,8 +1,8 @@
-import { getMongoUri, mongoOptions } from '@growi/core';
 import mongoose from 'mongoose';
 
 // eslint-disable-next-line import/no-named-as-default
 import Config from '~/server/models/config';
+import { getMongoUri, mongoOptions } from '~/server/util/mongoose-utils';
 import loggerFactory from '~/utils/logger';
 
 const logger = loggerFactory('growi:migrate:update-configs-for-slackbot');

+ 1 - 1
packages/app/src/migrations/20210906194521-slack-app-integration-set-default-value.js

@@ -1,6 +1,6 @@
 import mongoose from 'mongoose';
 
-import { getModelSafely, getMongoUri, mongoOptions } from '@growi/core';
+import { getModelSafely, getMongoUri, mongoOptions } from '~/server/util/mongoose-utils';
 import loggerFactory from '~/utils/logger';
 
 const logger = loggerFactory('growi:migrate:slack-app-integration-set-default-value');

+ 2 - 2
packages/app/src/migrations/20210913153942-migrate-slack-app-integration-schema.js

@@ -1,7 +1,7 @@
-import mongoose from 'mongoose';
 import { defaultSupportedCommandsNameForBroadcastUse, defaultSupportedCommandsNameForSingleUse } from '@growi/slack';
+import mongoose from 'mongoose';
 
-import { getModelSafely, getMongoUri, mongoOptions } from '@growi/core';
+import { getModelSafely, getMongoUri, mongoOptions } from '~/server/util/mongoose-utils';
 import loggerFactory from '~/utils/logger';
 
 

+ 2 - 2
packages/app/src/migrations/20210921173042-add-is-trashed-field.js

@@ -1,8 +1,8 @@
 import mongoose from 'mongoose';
 
-import { getModelSafely, getMongoUri, mongoOptions } from '@growi/core';
-import loggerFactory from '~/utils/logger';
 import getPageModel from '~/server/models/page';
+import { getModelSafely, getMongoUri, mongoOptions } from '~/server/util/mongoose-utils';
+import loggerFactory from '~/utils/logger';
 
 const logger = loggerFactory('growi:migrate:add-column-is-trashed');
 

+ 1 - 1
packages/app/src/migrations/20211005120030-slack-app-integration-rename-keys.js

@@ -1,6 +1,6 @@
 import mongoose from 'mongoose';
 
-import { getModelSafely, getMongoUri, mongoOptions } from '@growi/core';
+import { getModelSafely, getMongoUri, mongoOptions } from '~/server/util/mongoose-utils';
 import loggerFactory from '~/utils/logger';
 
 

+ 1 - 1
packages/app/src/migrations/20211005131430-config-without-proxy-command-permission-for-renaming.js

@@ -1,8 +1,8 @@
-import { getModelSafely, getMongoUri, mongoOptions } from '@growi/core';
 import mongoose from 'mongoose';
 
 // eslint-disable-next-line import/no-named-as-default
 import Config from '~/server/models/config';
+import { getMongoUri, mongoOptions } from '~/server/util/mongoose-utils';
 import loggerFactory from '~/utils/logger';
 
 

+ 2 - 2
packages/app/src/migrations/20211129125654-initialize-private-legacy-pages-named-query.js

@@ -1,8 +1,8 @@
 import mongoose from 'mongoose';
 
-import { getModelSafely, getMongoUri, mongoOptions } from '@growi/core';
-import NamedQuery from '~/server/models/named-query';
 import { SearchDelegatorName } from '~/interfaces/named-query';
+import NamedQuery from '~/server/models/named-query';
+import { getMongoUri, mongoOptions } from '~/server/util/mongoose-utils';
 import loggerFactory from '~/utils/logger';
 
 

+ 4 - 3
packages/app/src/migrations/20211227060705-revision-path-to-page-id-schema-migration.js

@@ -1,11 +1,12 @@
-import mongoose from 'mongoose';
 import { Writable } from 'stream';
+
+import mongoose from 'mongoose';
 import streamToPromise from 'stream-to-promise';
 
-import { getModelSafely, getMongoUri, mongoOptions } from '@growi/core';
-import loggerFactory from '~/utils/logger';
 import getPageModel from '~/server/models/page';
 import { createBatchStream } from '~/server/util/batch-stream';
+import { getModelSafely, getMongoUri, mongoOptions } from '~/server/util/mongoose-utils';
+import loggerFactory from '~/utils/logger';
 
 
 const logger = loggerFactory('growi:migrate:revision-path-to-page-id-schema-migration');

+ 1 - 1
packages/app/src/migrations/20220131001218-convert-redirect-to-pages-to-page-redirect-documents.js

@@ -1,9 +1,9 @@
-import { getModelSafely, getMongoUri, mongoOptions } from '@growi/core';
 import mongoose from 'mongoose';
 
 // eslint-disable-next-line import/no-named-as-default
 import PageRedirectModel from '~/server/models/page-redirect';
 import { createBatchStream } from '~/server/util/batch-stream';
+import { getModelSafely, getMongoUri, mongoOptions } from '~/server/util/mongoose-utils';
 import loggerFactory from '~/utils/logger';
 
 const logger = loggerFactory('growi:migrate:convert-redirect-to-pages-to-page-redirect-documents');

+ 2 - 3
packages/app/src/migrations/20220311011114-convert-page-delete-config.js

@@ -1,11 +1,10 @@
 import mongoose from 'mongoose';
-import { getModelSafely, getMongoUri, mongoOptions } from '@growi/core';
 
-import ConfigModel from '~/server/models/config';
 import {
   PageRecursiveDeleteConfigValue, PageRecursiveDeleteCompConfigValue,
 } from '~/interfaces/page-delete-config';
-
+import ConfigModel from '~/server/models/config';
+import { getModelSafely, getMongoUri, mongoOptions } from '~/server/util/mongoose-utils';
 import loggerFactory from '~/utils/logger';
 
 const logger = loggerFactory('growi:migrate:convert-page-delete-config');

+ 1 - 1
packages/app/src/migrations/20220411114257-set-sparse-option-to-slack-member-id.js

@@ -1,6 +1,6 @@
-import { getModelSafely, getMongoUri, mongoOptions } from '@growi/core';
 import mongoose from 'mongoose';
 
+import { getModelSafely, getMongoUri, mongoOptions } from '~/server/util/mongoose-utils';
 import loggerFactory from '~/utils/logger';
 
 const logger = loggerFactory('growi:migrate:set-sparse-option-to-slack-member-id');

+ 1 - 1
packages/app/src/migrations/20220613064207-add-attachment-type-to-existing-attachments.js

@@ -1,8 +1,8 @@
-import { getModelSafely, getMongoUri, mongoOptions } from '@growi/core';
 import mongoose from 'mongoose';
 
 import { AttachmentType } from '~/server/interfaces/attachment';
 import attachmentModel from '~/server/models/attachment';
+import { getModelSafely, getMongoUri, mongoOptions } from '~/server/util/mongoose-utils';
 import loggerFactory from '~/utils/logger';
 
 const logger = loggerFactory('growi:migrate:add-attachment-type-to-existing-attachments');

+ 4 - 2
packages/app/src/server/console.js

@@ -1,8 +1,10 @@
-const repl = require('repl');
 const fs = require('fs');
 const path = require('path');
+const repl = require('repl');
+
 const mongoose = require('mongoose');
-const { initMongooseGlobalSettings, getMongoUri, mongoOptions } = require('@growi/core');
+
+const { initMongooseGlobalSettings, getMongoUri, mongoOptions } = require('~/server/util/mongoose-utils');
 
 const models = require('./models');
 

+ 1 - 1
packages/app/src/server/crowi/index.js

@@ -3,7 +3,6 @@ import http from 'http';
 import path from 'path';
 
 import { createTerminus } from '@godaddy/terminus';
-import { initMongooseGlobalSettings, getMongoUri, mongoOptions } from '@growi/core';
 import mongoose from 'mongoose';
 import next from 'next';
 
@@ -29,6 +28,7 @@ import PageOperationService from '../service/page-operation';
 import SearchService from '../service/search';
 import { SlackIntegrationService } from '../service/slack-integration';
 import { UserNotificationService } from '../service/user-notification';
+import { initMongooseGlobalSettings, getMongoUri, mongoOptions } from '../util/mongoose-utils';
 
 const logger = loggerFactory('growi:crowi');
 const httpErrorHandler = require('../middlewares/http-error-handler');

+ 2 - 1
packages/app/src/server/models/activity.ts

@@ -1,4 +1,3 @@
-import { getOrCreateModel, getModelSafely } from '@growi/core';
 import {
   Types, Document, Model, Schema,
 } from 'mongoose';
@@ -11,6 +10,8 @@ import {
 } from '~/interfaces/activity';
 
 import loggerFactory from '../../utils/logger';
+import { getOrCreateModel, getModelSafely } from '../util/mongoose-utils';
+
 
 import Subscription from './subscription';
 

+ 2 - 1
packages/app/src/server/models/config.ts

@@ -1,9 +1,10 @@
-import { getOrCreateModel } from '@growi/core';
 import { Types, Schema } from 'mongoose';
 import uniqueValidator from 'mongoose-unique-validator';
 
 import { GrowiThemes } from '~/interfaces/theme';
 
+import { getOrCreateModel } from '../util/mongoose-utils';
+
 
 export interface Config {
   _id: Types.ObjectId;

+ 2 - 1
packages/app/src/server/models/editor-settings.ts

@@ -1,10 +1,11 @@
-import { getOrCreateModel } from '@growi/core';
 import {
   Schema, Model, Document,
 } from 'mongoose';
 
 import { IEditorSettings, ITextlintSettings } from '~/interfaces/editor-settings';
 
+import { getOrCreateModel } from '../util/mongoose-utils';
+
 
 export interface EditorSettingsDocument extends IEditorSettings, Document {
   userId: Schema.Types.ObjectId,

+ 2 - 1
packages/app/src/server/models/in-app-notification-settings.ts

@@ -1,8 +1,9 @@
-import { getOrCreateModel } from '@growi/core';
 import { Schema, Model, Document } from 'mongoose';
 
 import { IInAppNotificationSettings, subscribeRuleNames } from '~/interfaces/in-app-notification';
 
+import { getOrCreateModel } from '../util/mongoose-utils';
+
 export interface InAppNotificationSettingsDocument extends IInAppNotificationSettings, Document {}
 export type InAppNotificationSettingsModel = Model<InAppNotificationSettingsDocument>
 

+ 2 - 1
packages/app/src/server/models/in-app-notification.ts

@@ -1,4 +1,3 @@
-import { getOrCreateModel } from '@growi/core';
 import {
   Types, Document, Schema, Model,
 } from 'mongoose';
@@ -7,6 +6,8 @@ import mongoosePaginate from 'mongoose-paginate-v2';
 import { AllSupportedTargetModels, AllSupportedActions } from '~/interfaces/activity';
 import { InAppNotificationStatuses } from '~/interfaces/in-app-notification';
 
+import { getOrCreateModel } from '../util/mongoose-utils';
+
 import { ActivityDocument } from './activity';
 
 

+ 4 - 2
packages/app/src/server/models/named-query.ts

@@ -4,10 +4,12 @@ import mongoose, {
   Schema, Model, Document,
 } from 'mongoose';
 
-import { getOrCreateModel } from '@growi/core';
-import loggerFactory from '../../utils/logger';
 import { INamedQuery, SearchDelegatorName } from '~/interfaces/named-query';
 
+import loggerFactory from '../../utils/logger';
+import { getOrCreateModel } from '../util/mongoose-utils';
+
+
 const logger = loggerFactory('growi:models:named-query');
 
 export interface NamedQueryDocument extends INamedQuery, Document {}

+ 2 - 1
packages/app/src/server/models/page-operation.ts

@@ -1,4 +1,3 @@
-import { getOrCreateModel } from '@growi/core';
 import { addSeconds } from 'date-fns';
 import mongoose, {
   Schema, Model, Document, QueryOptions, FilterQuery,
@@ -8,8 +7,10 @@ import {
   IPageForResuming, IUserForResuming, IOptionsForResuming,
 } from '~/server/models/interfaces/page-operation';
 
+
 import loggerFactory from '../../utils/logger';
 import { ObjectIdLike } from '../interfaces/mongoose-utils';
+import { getOrCreateModel } from '../util/mongoose-utils';
 
 const TIME_TO_ADD_SEC = 10;
 

+ 2 - 1
packages/app/src/server/models/page-redirect.ts

@@ -3,7 +3,8 @@
 import {
   Schema, Model, Document,
 } from 'mongoose';
-import { getOrCreateModel } from '@growi/core';
+
+import { getOrCreateModel } from '../util/mongoose-utils';
 
 export interface IPageRedirect {
   fromPath: string,

+ 2 - 1
packages/app/src/server/models/page.ts

@@ -2,7 +2,7 @@
 
 import nodePath from 'path';
 
-import { getOrCreateModel, pagePathUtils, pathUtils } from '@growi/core';
+import { pagePathUtils, pathUtils } from '@growi/core';
 import escapeStringRegexp from 'escape-string-regexp';
 import mongoose, {
   Schema, Model, Document, AnyObject,
@@ -15,6 +15,7 @@ import { IUserHasId } from '~/interfaces/user';
 import { ObjectIdLike } from '~/server/interfaces/mongoose-utils';
 
 import loggerFactory from '../../utils/logger';
+import { getOrCreateModel } from '../util/mongoose-utils';
 
 import { getPageSchema, extractToAncestorsPaths, populateDataToShowRevision } from './obsolete-page';
 

+ 2 - 1
packages/app/src/server/models/password-reset-order.ts

@@ -1,12 +1,13 @@
 import crypto from 'crypto';
 
-import { getOrCreateModel } from '@growi/core';
 import { addMinutes } from 'date-fns';
 import mongoose, {
   Schema, Model, Document,
 } from 'mongoose';
 import uniqueValidator from 'mongoose-unique-validator';
 
+import { getOrCreateModel } from '../util/mongoose-utils';
+
 
 const ObjectId = mongoose.Schema.Types.ObjectId;
 

+ 3 - 1
packages/app/src/server/models/subscription.ts

@@ -1,10 +1,12 @@
-import { getOrCreateModel, SubscriptionStatusType, AllSubscriptionStatusType } from '@growi/core';
+import { SubscriptionStatusType, AllSubscriptionStatusType } from '@growi/core';
 import {
   Types, Document, Model, Schema,
 } from 'mongoose';
 
 import { AllSupportedTargetModels } from '~/interfaces/activity';
 
+import { getOrCreateModel } from '../util/mongoose-utils';
+
 
 export interface ISubscription {
   user: Types.ObjectId

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

@@ -1,9 +1,9 @@
-import { getOrCreateModel } from '@growi/core';
 import {
   Types, Model, Schema,
 } from 'mongoose';
 
 import { ObjectIdLike } from '../interfaces/mongoose-utils';
+import { getOrCreateModel } from '../util/mongoose-utils';
 
 const mongoosePaginate = require('mongoose-paginate-v2');
 const uniqueValidator = require('mongoose-unique-validator');

+ 2 - 1
packages/app/src/server/models/update-post.ts

@@ -1,10 +1,11 @@
 /* eslint-disable @typescript-eslint/no-explicit-any */
 
-import { getOrCreateModel } from '@growi/core';
 import {
   Types, Schema, Model, Document,
 } from 'mongoose';
 
+import { getOrCreateModel } from '../util/mongoose-utils';
+
 export interface IUpdatePost {
   pathPattern: string
   patternPrefix: string

+ 2 - 1
packages/app/src/server/models/user-group.ts

@@ -1,4 +1,3 @@
-import { getOrCreateModel } from '@growi/core';
 import mongoose, {
   Schema, Model, Document,
 } from 'mongoose';
@@ -6,6 +5,8 @@ import mongoosePaginate from 'mongoose-paginate-v2';
 
 import { IUserGroup } from '~/interfaces/user';
 
+import { getOrCreateModel } from '../util/mongoose-utils';
+
 
 export interface UserGroupDocument extends IUserGroup, Document {}
 

+ 2 - 1
packages/app/src/server/models/user-registration-order.ts

@@ -1,12 +1,13 @@
 import crypto from 'crypto';
 
-import { getOrCreateModel } from '@growi/core';
 import { addHours } from 'date-fns';
 import {
   Schema, Model, Document,
 } from 'mongoose';
 import uniqueValidator from 'mongoose-unique-validator';
 
+import { getOrCreateModel } from '../util/mongoose-utils';
+
 
 export interface IUserRegistrationOrder {
   token: string,

+ 3 - 1
packages/app/src/server/models/user-ui-settings.ts

@@ -1,4 +1,4 @@
-import { getOrCreateModel, Ref, IUser } from '@growi/core';
+import { Ref, IUser } from '@growi/core';
 import {
   Schema, Model, Document,
 } from 'mongoose';
@@ -7,6 +7,8 @@ import {
 import { SidebarContentsType } from '~/interfaces/ui';
 import { IUserUISettings } from '~/interfaces/user-ui-settings';
 
+import { getOrCreateModel } from '../util/mongoose-utils';
+
 
 export interface UserUISettingsDocument extends IUserUISettings, Document {
   user: Ref<IUser>,

+ 1 - 1
packages/app/src/server/service/comment.ts

@@ -1,8 +1,8 @@
-import { getModelSafely } from '@growi/core';
 import { Types } from 'mongoose';
 
 import loggerFactory from '../../utils/logger';
 import Crowi from '../crowi';
+import { getModelSafely } from '../util/mongoose-utils';
 
 // https://regex101.com/r/Ztxj2j/1
 const USERNAME_PATTERN = new RegExp(/\B@[\w@.-]+/g);

+ 0 - 0
packages/core/src/utils/mongoose-utils.ts → packages/app/src/server/util/mongoose-utils.ts


+ 2 - 1
packages/app/test/integration/global-setup.js

@@ -7,9 +7,10 @@
 
 import 'tsconfig-paths/register';
 
-import { initMongooseGlobalSettings, getMongoUri, mongoOptions } from '@growi/core';
 import mongoose from 'mongoose';
 
+import { initMongooseGlobalSettings, getMongoUri, mongoOptions } from '~/server/util/mongoose-utils';
+
 // check env
 if (process.env.NODE_ENV !== 'test') {
   throw new Error('\'process.env.NODE_ENV\' must be \'test\'');

+ 1 - 1
packages/app/test/integration/setup.js

@@ -7,7 +7,7 @@
 
 const mongoose = require('mongoose');
 
-const { initMongooseGlobalSettings, getMongoUri, mongoOptions } = require('@growi/core');
+const { initMongooseGlobalSettings, getMongoUri, mongoOptions } = require('~/server/util/mongoose-utils');
 
 mongoose.Promise = global.Promise;
 

+ 1 - 1
packages/app/tsconfig.base.json

@@ -5,6 +5,6 @@
     "jsx": "preserve",
     "incremental": true
   },
-  "include": ["next-env.d.ts", "config/**/*", "src/**/*"],
+  "include": ["next-env.d.ts", "migrate-mongo-config.js", "config/**/*", "src/**/*"],
   "exclude": ["node_modules"]
 }

+ 2 - 2
packages/core/src/index.ts

@@ -5,12 +5,13 @@ import * as _envUtils from './utils/env-utils';
 export const envUtils = _envUtils;
 export const customTagUtils = _customTagUtils;
 
-// export utils
+// export utils with namespace
 export * as templateChecker from './utils/template-checker';
 export * as pagePathUtils from './utils/page-path-utils';
 export * as pathUtils from './utils/path-utils';
 export * as pageUtils from './utils/page-utils';
 
+// export all
 export * from './interfaces/attachment';
 export * from './interfaces/common';
 export * from './interfaces/has-object-id';
@@ -26,5 +27,4 @@ export * from './models/devided-page-path';
 export * from './service/localstorage-manager';
 export * from './utils/basic-interceptor';
 export * from './utils/browser-utils';
-export * from './utils/mongoose-utils';
 export * from './utils/with-utils';