Validation error folder number already taken
This commit is contained in:
parent
68cba7f401
commit
8441c06e9b
@ -47,7 +47,14 @@ export default class OfficeFoldersController extends ApiController {
|
|||||||
//init OfficeFolder resource with request body values
|
//init OfficeFolder resource with request body values
|
||||||
const officeFolderRessource = OfficeFolder.hydrate<OfficeFolder>(req.body);
|
const officeFolderRessource = OfficeFolder.hydrate<OfficeFolder>(req.body);
|
||||||
await officeFolderRessource.validateOrReject?.({ groups: ["createFolder"] , forbidUnknownValues: false });
|
await officeFolderRessource.validateOrReject?.({ groups: ["createFolder"] , forbidUnknownValues: false });
|
||||||
//validate folder
|
|
||||||
|
const officeFolderNumberExist = await this.officeFoldersService.get({where: {folder_number: officeFolderRessource.folder_number}});
|
||||||
|
|
||||||
|
if (officeFolderNumberExist) {
|
||||||
|
this.httpValidationError(response, "Folder number already taken");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
//call service to get prisma entity
|
//call service to get prisma entity
|
||||||
const officeFolderEntity = await this.officeFoldersService.create(officeFolderRessource);
|
const officeFolderEntity = await this.officeFoldersService.create(officeFolderRessource);
|
||||||
//Hydrate ressource with prisma entity
|
//Hydrate ressource with prisma entity
|
||||||
|
@ -20,6 +20,10 @@ export default abstract class BaseController {
|
|||||||
return this.httpResponse(response, HttpCodes.BAD_REQUEST, responseData);
|
return this.httpResponse(response, HttpCodes.BAD_REQUEST, responseData);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected httpValidationError(response: Response, responseData: IResponseData = "Http Validation Error") {
|
||||||
|
return this.httpResponse(response, HttpCodes.VALIDATION_ERROR, responseData);
|
||||||
|
}
|
||||||
|
|
||||||
protected httpNotFoundRequest(response: Response, responseData: IResponseData = "Not Found") {
|
protected httpNotFoundRequest(response: Response, responseData: IResponseData = "Not Found") {
|
||||||
return this.httpResponse(response, HttpCodes.NOT_FOUND, responseData);
|
return this.httpResponse(response, HttpCodes.NOT_FOUND, responseData);
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,7 @@ enum HttpCodes {
|
|||||||
SUCCESS = 200,
|
SUCCESS = 200,
|
||||||
CREATED = 201,
|
CREATED = 201,
|
||||||
BAD_REQUEST = 400,
|
BAD_REQUEST = 400,
|
||||||
|
VALIDATION_ERROR = 422,
|
||||||
INTERNAL_ERROR = 500,
|
INTERNAL_ERROR = 500,
|
||||||
UNKNOWN_ERROR = 520,
|
UNKNOWN_ERROR = 520,
|
||||||
NOT_IMPLEMENTED = 501,
|
NOT_IMPLEMENTED = 501,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user