Преглед изворни кода

Change create new bookmark folder condition

https://youtrack.weseek.co.jp/issue/GW-7833
- Change condition on create bookmarkFolder
- Rename custom error to InvalidParentBookmarkFolderError
Mudana-Grune пре 3 година
родитељ
комит
1d2bbdaad0

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

@@ -8,7 +8,7 @@ import {
 import loggerFactory from '../../utils/logger';
 import { getOrCreateModel } from '../util/mongoose-utils';
 
-import { ErrorInvalidParentBookmarkFolder } from './errors';
+import { InvalidParentBookmarkFolderError } from './errors';
 
 const logger = loggerFactory('growi:models:bookmark-folder');
 
@@ -52,8 +52,8 @@ bookmarkFolderSchema.statics.createByParameters = async function(params: IBookma
     const isParentFolderIdValid = isValidObjectId(parent);
     const parentFolder = await this.findById(parent);
 
-    if (!isParentFolderIdValid || parentFolder == null) {
-      throw new ErrorInvalidParentBookmarkFolder("Parent folder id is invalid or parent folder doesn't exists");
+    if (parentFolder != null && !isParentFolderIdValid) {
+      throw new InvalidParentBookmarkFolderError("Parent folder id is invalid or parent folder doesn't exists");
     }
     bookmarkFolder = await this.create({ name, owner, parent:  parentFolder?._id }) as unknown as BookmarkFolderDocument;
   }

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

@@ -18,4 +18,4 @@ export class PathAlreadyExistsError extends ExtensibleCustomError {
 export class NullUsernameToBeRegisteredError extends ExtensibleCustomError {}
 
 // Invalid Parent bookmark folder error
-export class ErrorInvalidParentBookmarkFolder extends ExtensibleCustomError {}
+export class InvalidParentBookmarkFolderError extends ExtensibleCustomError {}

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

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