Parcourir la source

Move and rename custom error InvalidParentBookmarkFolder

https://youtrack.weseek.co.jp/issue/GW-7833
- Move and renanme InvalidParentBookmarkFolder to models/errors
- Update implementation of ErrorInvalidParentBookmarkFolder
Mudana-Grune il y a 3 ans
Parent
commit
a09ffd1580

+ 3 - 4
packages/app/src/server/models/bookmark-folder.ts

@@ -1,6 +1,5 @@
 import { Ref, IUser } from '@growi/core';
 import { Ref, IUser } from '@growi/core';
 import { isValidObjectId } from '@growi/core/src/utils/objectid-utils';
 import { isValidObjectId } from '@growi/core/src/utils/objectid-utils';
-import ExtensibleCustomError from 'extensible-custom-error';
 import {
 import {
   Types, Document, Model, Schema,
   Types, Document, Model, Schema,
 } from 'mongoose';
 } from 'mongoose';
@@ -9,9 +8,9 @@ import {
 import loggerFactory from '../../utils/logger';
 import loggerFactory from '../../utils/logger';
 import { getOrCreateModel } from '../util/mongoose-utils';
 import { getOrCreateModel } from '../util/mongoose-utils';
 
 
-const logger = loggerFactory('growi:models:bookmark-folder');
+import { ErrorInvalidParentBookmarkFolder } from './errors';
 
 
-export class InvalidParentBookmarkFolder extends ExtensibleCustomError {}
+const logger = loggerFactory('growi:models:bookmark-folder');
 
 
 
 
 export type IBookmarkFolderDocument = {
 export type IBookmarkFolderDocument = {
@@ -54,7 +53,7 @@ bookmarkFolderSchema.statics.createByParameters = async function(params: IBookma
     const parentFolder = await this.findById(parent);
     const parentFolder = await this.findById(parent);
 
 
     if (!isParentFolderIdValid || parentFolder == null) {
     if (!isParentFolderIdValid || parentFolder == null) {
-      throw new InvalidParentBookmarkFolder("Parent folder id is invalid or parent folder doesn't exists");
+      throw new ErrorInvalidParentBookmarkFolder("Parent folder id is invalid or parent folder doesn't exists");
     }
     }
     bookmarkFolder = await this.create({ name, owner, parent:  parentFolder?._id }) as unknown as BookmarkFolderDocument;
     bookmarkFolder = await this.create({ name, owner, parent:  parentFolder?._id }) as unknown as BookmarkFolderDocument;
   }
   }

+ 3 - 0
packages/app/src/server/models/errors.ts

@@ -16,3 +16,6 @@ export class PathAlreadyExistsError extends ExtensibleCustomError {
 * User Authentication
 * User Authentication
 */
 */
 export class NullUsernameToBeRegisteredError extends ExtensibleCustomError {}
 export class NullUsernameToBeRegisteredError extends ExtensibleCustomError {}
+
+// Invalid Parent bookmark folder error
+export class ErrorInvalidParentBookmarkFolder extends ExtensibleCustomError {}

+ 3 - 2
packages/app/src/server/routes/apiv3/bookmark-folder.ts

@@ -2,9 +2,10 @@ import { ErrorV3 } from '@growi/core';
 import { body } from 'express-validator';
 import { body } from 'express-validator';
 
 
 import { apiV3FormValidator } from '~/server/middlewares/apiv3-form-validator';
 import { apiV3FormValidator } from '~/server/middlewares/apiv3-form-validator';
+import { ErrorInvalidParentBookmarkFolder } from '~/server/models/errors';
 import loggerFactory from '~/utils/logger';
 import loggerFactory from '~/utils/logger';
 
 
-import BookmarkFolder, { InvalidParentBookmarkFolder } from '../../models/bookmark-folder';
+import BookmarkFolder from '../../models/bookmark-folder';
 
 
 const logger = loggerFactory('growi:routes:apiv3:bookmark-folder');
 const logger = loggerFactory('growi:routes:apiv3:bookmark-folder');
 
 
@@ -37,7 +38,7 @@ module.exports = (crowi) => {
       return res.apiv3({ bookmarkFolder });
       return res.apiv3({ bookmarkFolder });
     }
     }
     catch (err) {
     catch (err) {
-      if (err instanceof InvalidParentBookmarkFolder) {
+      if (err instanceof ErrorInvalidParentBookmarkFolder) {
         return res.apiv3Err(new ErrorV3(err.message, 'failed_to_create_bookmark_folder'));
         return res.apiv3Err(new ErrorV3(err.message, 'failed_to_create_bookmark_folder'));
       }
       }
       return res.apiv3Err(err, 500);
       return res.apiv3Err(err, 500);