From d47b3759579c095b96e42fffb8de6e5f59a85647 Mon Sep 17 00:00:00 2001 From: OxSaitama Date: Tue, 11 Jul 2023 10:42:55 +0200 Subject: [PATCH 1/8] fix folder query controller --- src/app/api/customer/FilesController.ts | 2 +- .../super-admin/OfficeFoldersController.ts | 12 +++------- .../repositories/DocumentsRepository.ts | 3 ++- .../DocumentsService/DocumentsService.ts | 24 ------------------- src/test/config/MockedData.ts | 2 +- 5 files changed, 7 insertions(+), 36 deletions(-) diff --git a/src/app/api/customer/FilesController.ts b/src/app/api/customer/FilesController.ts index 9993e8c7..61cbddb3 100644 --- a/src/app/api/customer/FilesController.ts +++ b/src/app/api/customer/FilesController.ts @@ -7,7 +7,7 @@ import { Files, Prisma } from "@prisma/client"; import { File } from "le-coffre-resources/dist/Customer"; import { Document } from "le-coffre-resources/dist/Customer"; import { validateOrReject } from "class-validator"; -import DocumentsService from "@Services/super-admin/DocumentsService/DocumentsService"; +import DocumentsService from "@Services/customer/DocumentsService/DocumentsService"; import authHandler from "@App/middlewares/AuthHandler"; import fileHandler from "@App/middlewares/CustomerHandler/FileHandler"; diff --git a/src/app/api/super-admin/OfficeFoldersController.ts b/src/app/api/super-admin/OfficeFoldersController.ts index 9013a741..73b74ceb 100644 --- a/src/app/api/super-admin/OfficeFoldersController.ts +++ b/src/app/api/super-admin/OfficeFoldersController.ts @@ -129,18 +129,12 @@ export default class OfficeFoldersController extends ApiController { return; } - let officeFolderEntity: OfficeFolders | null; - //get query - if (req.query["q"]) { - let query = {}; + let query = {}; if (req.query["q"]) { query = JSON.parse(req.query["q"] as string); } - officeFolderEntity = await this.officeFoldersService.getByUid(uid, query); - } else { - //call service to get prisma entity - officeFolderEntity = await this.officeFoldersService.getByUid(uid); - } + + const officeFolderEntity = await this.officeFoldersService.getByUid(uid, query); if (!officeFolderEntity) { this.httpNotFoundRequest(response, "folder not found"); diff --git a/src/common/repositories/DocumentsRepository.ts b/src/common/repositories/DocumentsRepository.ts index 98b66e1b..c5110e6d 100644 --- a/src/common/repositories/DocumentsRepository.ts +++ b/src/common/repositories/DocumentsRepository.ts @@ -3,6 +3,7 @@ import BaseRepository from "@Repositories/BaseRepository"; import { Service } from "typedi"; import { Documents, EDocumentStatus, Prisma } from "@prisma/client"; import { Document } from "le-coffre-resources/dist/SuperAdmin"; +import { Document as DocumentCustomer } from "le-coffre-resources/dist/Customer"; @Service() export default class DocumentsRepository extends BaseRepository { @@ -94,7 +95,7 @@ export default class DocumentsRepository extends BaseRepository { /** * @description : Update data of a document */ - public async update(uid: string, document: Partial, refusedReason?: string): Promise { + public async update(uid: string, document: Partial, refusedReason?: string): Promise { return this.model.update({ where: { uid: uid, diff --git a/src/services/customer/DocumentsService/DocumentsService.ts b/src/services/customer/DocumentsService/DocumentsService.ts index a3cc2e16..26c45c6a 100644 --- a/src/services/customer/DocumentsService/DocumentsService.ts +++ b/src/services/customer/DocumentsService/DocumentsService.ts @@ -18,22 +18,6 @@ export default class DocumentsService extends BaseService { return this.documentsRepository.findMany(query); } - /** - * @description : Create a new document - * @throws {Error} If document cannot be created - */ - public async create(document: Document): Promise { - return this.documentsRepository.create(document); - } - - /** - * @description : Create new documents - * @throws {Error} If documents or one of them cannot be created - */ - public async createMany(documents: Document[]): Promise { - return this.documentsRepository.createMany(documents); - } - /** * @description : Modify a document * @throws {Error} If document cannot be modified @@ -42,14 +26,6 @@ export default class DocumentsService extends BaseService { return this.documentsRepository.update(uid, document); } - /** - * @description : Delete a document - * @throws {Error} If document cannot be deleted - */ - public async delete(uid: string): Promise { - return this.documentsRepository.delete(uid); - } - /** * @description : Get a document by uid * @throws {Error} If document cannot be get by uid diff --git a/src/test/config/MockedData.ts b/src/test/config/MockedData.ts index 89292170..8496964a 100644 --- a/src/test/config/MockedData.ts +++ b/src/test/config/MockedData.ts @@ -1,4 +1,4 @@ -import { EOfficeStatus } from "le-coffre-resources/dist/Customer/Office"; +import { EOfficeStatus } from "le-coffre-resources/dist/Notary/Office"; import User, { Address, Contact, Office, DeedType, DocumentType, Customer, OfficeFolder, Deed } from "le-coffre-resources/dist/SuperAdmin"; export const userAddress: Address = { From 6168683cfe2648b341b16730b999a85e9f75007a Mon Sep 17 00:00:00 2001 From: OxSaitama Date: Tue, 11 Jul 2023 11:05:01 +0200 Subject: [PATCH 2/8] fix deed middleware --- .../OfficeMembershipHandlers/FolderHandler.ts | 10 +++++----- src/services/super-admin/DeedsService/DeedsService.ts | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/app/middlewares/OfficeMembershipHandlers/FolderHandler.ts b/src/app/middlewares/OfficeMembershipHandlers/FolderHandler.ts index 2c5a0dfe..d7330a96 100644 --- a/src/app/middlewares/OfficeMembershipHandlers/FolderHandler.ts +++ b/src/app/middlewares/OfficeMembershipHandlers/FolderHandler.ts @@ -2,7 +2,7 @@ import HttpCodes from "@Common/system/controller-pattern/HttpCodes"; import { NextFunction, Request, Response } from "express"; import Container from "typedi"; import OfficeFoldersService from "@Services/super-admin/OfficeFoldersService/OfficeFoldersService"; -import DeedTypesService from "@Services/super-admin/DeedTypesService/DeedTypesService"; +import DeedsService from "@Services/super-admin/DeedsService/DeedsService"; export default async function folderHandler(req: Request, response: Response, next: NextFunction) { const officeId = req.body.user.office_Id; @@ -17,13 +17,13 @@ export default async function folderHandler(req: Request, response: Response, ne } if (deed) { - const deedTypeService = Container.get(DeedTypesService); - const deedTypeWithOffice = await deedTypeService.getByUidWithOffice(deed.deedType.uid!); - if (!deedTypeWithOffice) { + const deedService = Container.get(DeedsService); + const deedWithOffice = await deedService.getByUidWithOffice(deed.uid!); + if (!deedWithOffice) { response.sendStatus(HttpCodes.NOT_FOUND); return; } - if (deedTypeWithOffice.office.uid != officeId) { + if (deedWithOffice.deed_type.office.uid != officeId) { response.sendStatus(HttpCodes.UNAUTHORIZED); return; } diff --git a/src/services/super-admin/DeedsService/DeedsService.ts b/src/services/super-admin/DeedsService/DeedsService.ts index cc7acfe4..82e01e05 100644 --- a/src/services/super-admin/DeedsService/DeedsService.ts +++ b/src/services/super-admin/DeedsService/DeedsService.ts @@ -42,7 +42,7 @@ export default class DeedsService extends BaseService { return this.deedRepository.findOneByUid(uid, query); } - public async getOneByUidWithOffice(uid: string) { + public async getByUidWithOffice(uid: string) { return this.deedRepository.findOneByUidWithOffice(uid); } } From 34e248a247d163583eb614de6647d92ff15a6a26 Mon Sep 17 00:00:00 2001 From: OxSaitama Date: Tue, 11 Jul 2023 11:08:51 +0200 Subject: [PATCH 3/8] fix deed middleware officeMembership --- src/app/middlewares/OfficeMembershipHandlers/DeedHandler.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/middlewares/OfficeMembershipHandlers/DeedHandler.ts b/src/app/middlewares/OfficeMembershipHandlers/DeedHandler.ts index a9f227ea..f931c3cb 100644 --- a/src/app/middlewares/OfficeMembershipHandlers/DeedHandler.ts +++ b/src/app/middlewares/OfficeMembershipHandlers/DeedHandler.ts @@ -12,7 +12,7 @@ export default async function deedHandler(req: Request, response: Response, next if (uid) { const deedService = Container.get(DeedsService); - const deed = await deedService.getOneByUidWithOffice(uid); + const deed = await deedService.getByUidWithOffice(uid); if (!deed) { response.sendStatus(HttpCodes.NOT_FOUND); From ecd9d80d58da9a436652bee82cd5df76d516966b Mon Sep 17 00:00:00 2001 From: OxSaitama Date: Tue, 11 Jul 2023 11:31:42 +0200 Subject: [PATCH 4/8] refacto rules for seeder and jwt for test purposes --- src/common/databases/seeders/seeder.ts | 14 +++++++------- src/services/common/AuthService/AuthService.ts | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/common/databases/seeders/seeder.ts b/src/common/databases/seeders/seeder.ts index 25fb518c..c4ff80e3 100644 --- a/src/common/databases/seeders/seeder.ts +++ b/src/common/databases/seeders/seeder.ts @@ -554,7 +554,7 @@ export default async function main() { updated_at: new Date(), }, { - name: "GET documentTypes", + name: "GET document-types", created_at: new Date(), updated_at: new Date(), }, @@ -614,7 +614,7 @@ export default async function main() { updated_at: new Date(), }, { - name: "PUT documentTypes", + name: "PUT document-types", created_at: new Date(), updated_at: new Date(), }, @@ -674,7 +674,7 @@ export default async function main() { updated_at: new Date(), }, { - name: "POST documentTypes", + name: "POST document-types", created_at: new Date(), updated_at: new Date(), }, @@ -724,7 +724,7 @@ export default async function main() { updated_at: new Date(), }, { - name: "POST deedtypes", + name: "POST deed-types", created_at: new Date(), updated_at: new Date(), }, @@ -734,7 +734,7 @@ export default async function main() { updated_at: new Date(), }, { - name: "POST documentTypes", + name: "POST document-types", created_at: new Date(), updated_at: new Date(), }, @@ -784,7 +784,7 @@ export default async function main() { updated_at: new Date(), }, { - name: "DELETE deedtypes", + name: "DELETE deed-types", created_at: new Date(), updated_at: new Date(), }, @@ -794,7 +794,7 @@ export default async function main() { updated_at: new Date(), }, { - name: "DELETE documentTypes", + name: "DELETE document-types", created_at: new Date(), updated_at: new Date(), }, diff --git a/src/services/common/AuthService/AuthService.ts b/src/services/common/AuthService/AuthService.ts index 278255fe..b0628cf0 100644 --- a/src/services/common/AuthService/AuthService.ts +++ b/src/services/common/AuthService/AuthService.ts @@ -82,7 +82,7 @@ export default class AuthService extends BaseService { } public generateAccessToken(user: any): string { - return jwt.sign({ ...user }, this.variables.ACCESS_TOKEN_SECRET, { expiresIn: "15m" }); + return jwt.sign({ ...user }, this.variables.ACCESS_TOKEN_SECRET, { expiresIn: "1h" }); } public generateRefreshToken(user: any): string { From ae4812c0dc34cd9133db4ecc6e86fbed077fc34c Mon Sep 17 00:00:00 2001 From: OxSaitama Date: Tue, 11 Jul 2023 14:21:16 +0200 Subject: [PATCH 5/8] add error messages for middlewares --- src/app/middlewares/AuthHandler.ts | 4 ++-- .../middlewares/CustomerHandler/DocumentHandler.ts | 4 ++-- src/app/middlewares/CustomerHandler/FileHandler.ts | 8 ++++---- .../OfficeMembershipHandlers/DeedHandler.ts | 8 ++++---- .../OfficeMembershipHandlers/DeedTypeHandler.ts | 10 +++++----- .../OfficeMembershipHandlers/DocumentHandler.ts | 8 ++++---- .../OfficeMembershipHandlers/DocumentTypeHandler.ts | 6 +++--- .../OfficeMembershipHandlers/FileHandler.ts | 8 ++++---- .../OfficeMembershipHandlers/FolderHandler.ts | 11 ++++++----- .../OfficeMembershipHandlers/OfficeRoleHandler.ts | 6 +++--- .../OfficeMembershipHandlers/UserHandler.ts | 6 +++--- src/app/middlewares/RulesHandler.ts | 4 ++-- 12 files changed, 42 insertions(+), 41 deletions(-) diff --git a/src/app/middlewares/AuthHandler.ts b/src/app/middlewares/AuthHandler.ts index 6d7116bc..4166834e 100644 --- a/src/app/middlewares/AuthHandler.ts +++ b/src/app/middlewares/AuthHandler.ts @@ -8,14 +8,14 @@ export default function authHandler(req: Request, response: Response, next: Next const token = authHeader && authHeader.split(" ")[1]; if (!token) { - response.sendStatus(HttpCodes.UNAUTHORIZED); + response.status(HttpCodes.UNAUTHORIZED).send("Missing token in authorization header"); return; } const authService = Container.get(AuthService); authService.verifyAccessToken(token, (err, userPayload) => { if (err) { - response.sendStatus(HttpCodes.UNAUTHORIZED); + response.status(HttpCodes.UNAUTHORIZED).send("Error while verifying token"); return; } req.body.user = userPayload; diff --git a/src/app/middlewares/CustomerHandler/DocumentHandler.ts b/src/app/middlewares/CustomerHandler/DocumentHandler.ts index 0f82fd35..8963aab8 100644 --- a/src/app/middlewares/CustomerHandler/DocumentHandler.ts +++ b/src/app/middlewares/CustomerHandler/DocumentHandler.ts @@ -8,7 +8,7 @@ export default async function documentHandler(req: Request, response: Response, const uid = req.path && req.path.split("/")[5]; if(!uid) { - response.sendStatus(HttpCodes.BAD_REQUEST); + response.status(HttpCodes.BAD_REQUEST).send("Missing document uid"); return; } @@ -16,7 +16,7 @@ export default async function documentHandler(req: Request, response: Response, const document = await documentService.getByUid(uid); if(document?.depositor_uid != customerId) { - response.sendStatus(HttpCodes.UNAUTHORIZED); + response.status(HttpCodes.UNAUTHORIZED).send("Not authorized with this depositor"); return; } diff --git a/src/app/middlewares/CustomerHandler/FileHandler.ts b/src/app/middlewares/CustomerHandler/FileHandler.ts index aa245d70..3f86ccb9 100644 --- a/src/app/middlewares/CustomerHandler/FileHandler.ts +++ b/src/app/middlewares/CustomerHandler/FileHandler.ts @@ -13,11 +13,11 @@ export default async function fileHandler(req: Request, response: Response, next const fileService = Container.get(FilesService); const file = await fileService.getByUidWithDocument(uid); if (!file) { - response.sendStatus(HttpCodes.BAD_REQUEST); + response.status(HttpCodes.NOT_FOUND).send("File not found"); return; } if (file.document.depositor_uid != customerId) { - response.sendStatus(HttpCodes.UNAUTHORIZED); + response.status(HttpCodes.UNAUTHORIZED).send("Not authorized with this depositor"); return; } } @@ -26,11 +26,11 @@ export default async function fileHandler(req: Request, response: Response, next const documentService = Container.get(DocumentsService); const documentFound = await documentService.getByUid(document.uid!); if(!documentFound) { - response.sendStatus(HttpCodes.BAD_REQUEST); + response.status(HttpCodes.NOT_FOUND).send("Document not found"); return; } if (documentFound.depositor_uid != customerId) { - response.sendStatus(HttpCodes.UNAUTHORIZED); + response.status(HttpCodes.UNAUTHORIZED).send("Not authorized with this depositor"); return; } } diff --git a/src/app/middlewares/OfficeMembershipHandlers/DeedHandler.ts b/src/app/middlewares/OfficeMembershipHandlers/DeedHandler.ts index f931c3cb..a32c02d9 100644 --- a/src/app/middlewares/OfficeMembershipHandlers/DeedHandler.ts +++ b/src/app/middlewares/OfficeMembershipHandlers/DeedHandler.ts @@ -15,12 +15,12 @@ export default async function deedHandler(req: Request, response: Response, next const deed = await deedService.getByUidWithOffice(uid); if (!deed) { - response.sendStatus(HttpCodes.NOT_FOUND); + response.status(HttpCodes.NOT_FOUND).send("Deed not found"); return; } if (deed.deed_type.office.uid != officeId) { - response.sendStatus(HttpCodes.UNAUTHORIZED); + response.status(HttpCodes.UNAUTHORIZED).send("Not authorized with this office"); return; } } @@ -30,11 +30,11 @@ export default async function deedHandler(req: Request, response: Response, next documentTypes.forEach(async (documentType) => { const deedTypeWithOffice = await documentTypeService.getByUidWithOffice(documentType.uid!); if (!deedTypeWithOffice) { - response.sendStatus(HttpCodes.NOT_FOUND); + response.status(HttpCodes.NOT_FOUND).send("Deed type not found"); return; } if (deedTypeWithOffice.office?.uid != officeId) { - response.sendStatus(HttpCodes.UNAUTHORIZED); + response.status(HttpCodes.UNAUTHORIZED).send("Not authorized with this office"); return; } }); diff --git a/src/app/middlewares/OfficeMembershipHandlers/DeedTypeHandler.ts b/src/app/middlewares/OfficeMembershipHandlers/DeedTypeHandler.ts index e1513793..e00f8344 100644 --- a/src/app/middlewares/OfficeMembershipHandlers/DeedTypeHandler.ts +++ b/src/app/middlewares/OfficeMembershipHandlers/DeedTypeHandler.ts @@ -12,7 +12,7 @@ export default async function deedTypeHandler(req: Request, response: Response, const office = req.body.office; if (office && office.uid != officeId) { - response.sendStatus(HttpCodes.UNAUTHORIZED); + response.status(HttpCodes.UNAUTHORIZED).send("Not authorized with this office"); return; } @@ -21,12 +21,12 @@ export default async function deedTypeHandler(req: Request, response: Response, const deedType = await deedTypeService.getByUidWithOffice(uid!); if (!deedType) { - response.sendStatus(HttpCodes.NOT_FOUND); + response.status(HttpCodes.NOT_FOUND).send("Deed type not found"); return; } if (deedType.office.uid != officeId) { - response.sendStatus(HttpCodes.UNAUTHORIZED); + response.status(HttpCodes.UNAUTHORIZED).send("Not authorized with this office"); return; } } @@ -36,11 +36,11 @@ export default async function deedTypeHandler(req: Request, response: Response, documentTypes.forEach(async (documentType) => { const documentTypeWithOffice = await documentTypeService.getByUidWithOffice(documentType.uid!); if (!documentTypeWithOffice) { - response.sendStatus(HttpCodes.NOT_FOUND); + response.status(HttpCodes.NOT_FOUND).send("Document type not found"); return; } if (documentTypeWithOffice.office?.uid != officeId) { - response.sendStatus(HttpCodes.UNAUTHORIZED); + response.status(HttpCodes.UNAUTHORIZED).send("Not authorized with this office"); return; } }); diff --git a/src/app/middlewares/OfficeMembershipHandlers/DocumentHandler.ts b/src/app/middlewares/OfficeMembershipHandlers/DocumentHandler.ts index 163bf374..790b844e 100644 --- a/src/app/middlewares/OfficeMembershipHandlers/DocumentHandler.ts +++ b/src/app/middlewares/OfficeMembershipHandlers/DocumentHandler.ts @@ -17,11 +17,11 @@ export default async function documentHandler(req: Request, response: Response, const officeFolderService = Container.get(OfficeFoldersService); const officeFolderWithOffice = await officeFolderService.getByUidWithOffice(folder.uid!); if (!officeFolderWithOffice) { - response.sendStatus(HttpCodes.NOT_FOUND); + response.status(HttpCodes.NOT_FOUND).send("Folder not found"); return; } if (officeFolderWithOffice.office?.uid != officeId) { - response.sendStatus(HttpCodes.UNAUTHORIZED); + response.status(HttpCodes.UNAUTHORIZED).send("Not authorized with this office"); return; } } @@ -30,11 +30,11 @@ export default async function documentHandler(req: Request, response: Response, const documentTypeService = Container.get(DocumentTypesService); const documentTypeWithOffice = await documentTypeService.getByUidWithOffice(documentType.uid!); if (!documentTypeWithOffice) { - response.sendStatus(HttpCodes.NOT_FOUND); + response.status(HttpCodes.NOT_FOUND).send("Document type not found"); return; } if (documentTypeWithOffice.office?.uid != officeId) { - response.sendStatus(HttpCodes.UNAUTHORIZED); + response.status(HttpCodes.UNAUTHORIZED).send("Not authorized with this office"); return; } } diff --git a/src/app/middlewares/OfficeMembershipHandlers/DocumentTypeHandler.ts b/src/app/middlewares/OfficeMembershipHandlers/DocumentTypeHandler.ts index 991ea796..908df26e 100644 --- a/src/app/middlewares/OfficeMembershipHandlers/DocumentTypeHandler.ts +++ b/src/app/middlewares/OfficeMembershipHandlers/DocumentTypeHandler.ts @@ -9,7 +9,7 @@ export default async function documentTypeHandler(req: Request, response: Respon const office = req.body.office; if (office && office.uid != officeId) { - response.sendStatus(HttpCodes.UNAUTHORIZED); + response.status(HttpCodes.UNAUTHORIZED).send("Not authorized with this office"); return; } @@ -18,12 +18,12 @@ export default async function documentTypeHandler(req: Request, response: Respon const documentType = await documentTypeService.getByUidWithOffice(uid!); if (!documentType) { - response.sendStatus(HttpCodes.NOT_FOUND); + response.status(HttpCodes.NOT_FOUND).send("Document type not found"); return; } if (documentType.office.uid != officeId) { - response.sendStatus(HttpCodes.UNAUTHORIZED); + response.status(HttpCodes.UNAUTHORIZED).send("Not authorized with this office"); return; } } diff --git a/src/app/middlewares/OfficeMembershipHandlers/FileHandler.ts b/src/app/middlewares/OfficeMembershipHandlers/FileHandler.ts index 387c50bf..27ce2cd3 100644 --- a/src/app/middlewares/OfficeMembershipHandlers/FileHandler.ts +++ b/src/app/middlewares/OfficeMembershipHandlers/FileHandler.ts @@ -13,11 +13,11 @@ export default async function fileHandler(req: Request, response: Response, next const documentService = Container.get(DocumentsService); const documentWithOffice = await documentService.getByUidWithOffice(document.uid!); if (!documentWithOffice) { - response.sendStatus(HttpCodes.NOT_FOUND); + response.status(HttpCodes.NOT_FOUND).send("Document not found"); return; } if (documentWithOffice.folder.office?.uid != officeId) { - response.sendStatus(HttpCodes.UNAUTHORIZED); + response.status(HttpCodes.UNAUTHORIZED).send("Not authorized with this office"); return; } } @@ -29,11 +29,11 @@ export default async function fileHandler(req: Request, response: Response, next const file = await fileService.getByUidWithOffice(uid!); if (!file) { - response.sendStatus(HttpCodes.NOT_FOUND); + response.status(HttpCodes.NOT_FOUND).send("File not found"); return; } if (file.document.folder.office.uid != officeId) { - response.sendStatus(HttpCodes.UNAUTHORIZED); + response.status(HttpCodes.UNAUTHORIZED).send("Not authorized with this office"); return; } } diff --git a/src/app/middlewares/OfficeMembershipHandlers/FolderHandler.ts b/src/app/middlewares/OfficeMembershipHandlers/FolderHandler.ts index d7330a96..2450eea7 100644 --- a/src/app/middlewares/OfficeMembershipHandlers/FolderHandler.ts +++ b/src/app/middlewares/OfficeMembershipHandlers/FolderHandler.ts @@ -12,7 +12,8 @@ export default async function folderHandler(req: Request, response: Response, ne const deed = req.body.deed; if (office && office.uid != officeId) { - response.sendStatus(HttpCodes.UNAUTHORIZED); + console.log("wrong office"); + response.status(HttpCodes.UNAUTHORIZED).send("Not authorized with this office"); return; } @@ -24,7 +25,7 @@ export default async function folderHandler(req: Request, response: Response, ne return; } if (deedWithOffice.deed_type.office.uid != officeId) { - response.sendStatus(HttpCodes.UNAUTHORIZED); + response.status(HttpCodes.UNAUTHORIZED).send("Not authorized with this deed type"); return; } } @@ -36,7 +37,7 @@ export default async function folderHandler(req: Request, response: Response, ne where: { folder_number: officeFolderNumber, office: { uid: officeId } }, }); if (officeFoldersWithSameNumber.length) { - response.sendStatus(HttpCodes.BAD_REQUEST); + response.status(HttpCodes.BAD_REQUEST).send("Office number already used"); return; } } @@ -45,12 +46,12 @@ export default async function folderHandler(req: Request, response: Response, ne const officeFolder = await officeFolderService.getByUidWithOffice(uid!); if (!officeFolder) { - response.sendStatus(HttpCodes.NOT_FOUND); + response.status(HttpCodes.NOT_FOUND).send("Office folder not found"); return; } if (officeFolder.office.uid != officeId) { - response.sendStatus(HttpCodes.UNAUTHORIZED); + response.status(HttpCodes.UNAUTHORIZED).send("Not authorized with this office"); return; } } diff --git a/src/app/middlewares/OfficeMembershipHandlers/OfficeRoleHandler.ts b/src/app/middlewares/OfficeMembershipHandlers/OfficeRoleHandler.ts index 961c11f7..b1a33629 100644 --- a/src/app/middlewares/OfficeMembershipHandlers/OfficeRoleHandler.ts +++ b/src/app/middlewares/OfficeMembershipHandlers/OfficeRoleHandler.ts @@ -9,7 +9,7 @@ export default async function officeRoleHandler(req: Request, response: Response const office = req.body.office; if (office && office.uid != officeId) { - response.sendStatus(HttpCodes.UNAUTHORIZED); + response.status(HttpCodes.UNAUTHORIZED).send("Not authorized with this office"); return; } @@ -18,12 +18,12 @@ export default async function officeRoleHandler(req: Request, response: Response const officeRole = await officeRoleService.getByUidWithOffice(uid!); if (!officeRole) { - response.sendStatus(HttpCodes.NOT_FOUND); + response.status(HttpCodes.NOT_FOUND).send("Office role not found"); return; } if (officeRole.office.uid != officeId) { - response.sendStatus(HttpCodes.UNAUTHORIZED); + response.status(HttpCodes.UNAUTHORIZED).send("Not authorized with this office"); return; } } diff --git a/src/app/middlewares/OfficeMembershipHandlers/UserHandler.ts b/src/app/middlewares/OfficeMembershipHandlers/UserHandler.ts index 21b6c8eb..d66c88bf 100644 --- a/src/app/middlewares/OfficeMembershipHandlers/UserHandler.ts +++ b/src/app/middlewares/OfficeMembershipHandlers/UserHandler.ts @@ -9,7 +9,7 @@ export default async function userHandler(req: Request, response: Response, next const office = req.body.office_membership; if (office && office.uid != officeId) { - response.sendStatus(HttpCodes.UNAUTHORIZED); + response.status(HttpCodes.UNAUTHORIZED).send("Not authorized with this office"); return; } @@ -18,12 +18,12 @@ export default async function userHandler(req: Request, response: Response, next const user = await userService.getByUidWithOffice(uid!); if (!user) { - response.sendStatus(HttpCodes.NOT_FOUND); + response.status(HttpCodes.NOT_FOUND).send("User not found"); return; } if (user.office_membership.uid != officeId) { - response.sendStatus(HttpCodes.UNAUTHORIZED); + response.status(HttpCodes.UNAUTHORIZED).send("Not authorized with this office"); return; } } diff --git a/src/app/middlewares/RulesHandler.ts b/src/app/middlewares/RulesHandler.ts index 36e36099..08aff7e1 100644 --- a/src/app/middlewares/RulesHandler.ts +++ b/src/app/middlewares/RulesHandler.ts @@ -8,12 +8,12 @@ export default async function ruleHandler(req: Request, response: Response, next const role = req.body.user.role; if (namespace != "notary" && role != namespace) { - response.sendStatus(HttpCodes.UNAUTHORIZED); + response.status(HttpCodes.UNAUTHORIZED).send("Not authorized with this role"); return; } if (!rules.includes(req.method + " " + service)) { - response.sendStatus(HttpCodes.UNAUTHORIZED); + response.status(HttpCodes.UNAUTHORIZED).send("Not authorized with those rules"); return; } From 7022e41fcb4417ec6b51f1a640a390dd4a1e0391 Mon Sep 17 00:00:00 2001 From: OxSaitama Date: Tue, 11 Jul 2023 14:41:23 +0200 Subject: [PATCH 6/8] refacto error messages --- .../OfficeMembershipHandlers/DeedHandler.ts | 4 ++-- .../DeedTypeHandler.ts | 6 +++--- .../DocumentHandler.ts | 4 ++-- .../DocumentTypeHandler.ts | 4 ++-- .../OfficeMembershipHandlers/FileHandler.ts | 4 ++-- .../OfficeMembershipHandlers/FolderHandler.ts | 19 ++++++++++--------- .../OfficeRoleHandler.ts | 4 ++-- .../OfficeMembershipHandlers/UserHandler.ts | 4 ++-- src/app/middlewares/RulesHandler.ts | 4 ++-- 9 files changed, 27 insertions(+), 26 deletions(-) diff --git a/src/app/middlewares/OfficeMembershipHandlers/DeedHandler.ts b/src/app/middlewares/OfficeMembershipHandlers/DeedHandler.ts index a32c02d9..7ca6d7fc 100644 --- a/src/app/middlewares/OfficeMembershipHandlers/DeedHandler.ts +++ b/src/app/middlewares/OfficeMembershipHandlers/DeedHandler.ts @@ -20,7 +20,7 @@ export default async function deedHandler(req: Request, response: Response, next } if (deed.deed_type.office.uid != officeId) { - response.status(HttpCodes.UNAUTHORIZED).send("Not authorized with this office"); + response.status(HttpCodes.UNAUTHORIZED).send("Unauthorized with this office"); return; } } @@ -34,7 +34,7 @@ export default async function deedHandler(req: Request, response: Response, next return; } if (deedTypeWithOffice.office?.uid != officeId) { - response.status(HttpCodes.UNAUTHORIZED).send("Not authorized with this office"); + response.status(HttpCodes.UNAUTHORIZED).send("Unauthorized with this office"); return; } }); diff --git a/src/app/middlewares/OfficeMembershipHandlers/DeedTypeHandler.ts b/src/app/middlewares/OfficeMembershipHandlers/DeedTypeHandler.ts index e00f8344..2836b3d5 100644 --- a/src/app/middlewares/OfficeMembershipHandlers/DeedTypeHandler.ts +++ b/src/app/middlewares/OfficeMembershipHandlers/DeedTypeHandler.ts @@ -12,7 +12,7 @@ export default async function deedTypeHandler(req: Request, response: Response, const office = req.body.office; if (office && office.uid != officeId) { - response.status(HttpCodes.UNAUTHORIZED).send("Not authorized with this office"); + response.status(HttpCodes.UNAUTHORIZED).send("Unauthorized with this office"); return; } @@ -26,7 +26,7 @@ export default async function deedTypeHandler(req: Request, response: Response, } if (deedType.office.uid != officeId) { - response.status(HttpCodes.UNAUTHORIZED).send("Not authorized with this office"); + response.status(HttpCodes.UNAUTHORIZED).send("Unauthorized with this office"); return; } } @@ -40,7 +40,7 @@ export default async function deedTypeHandler(req: Request, response: Response, return; } if (documentTypeWithOffice.office?.uid != officeId) { - response.status(HttpCodes.UNAUTHORIZED).send("Not authorized with this office"); + response.status(HttpCodes.UNAUTHORIZED).send("Unauthorized with this office"); return; } }); diff --git a/src/app/middlewares/OfficeMembershipHandlers/DocumentHandler.ts b/src/app/middlewares/OfficeMembershipHandlers/DocumentHandler.ts index 790b844e..62470f16 100644 --- a/src/app/middlewares/OfficeMembershipHandlers/DocumentHandler.ts +++ b/src/app/middlewares/OfficeMembershipHandlers/DocumentHandler.ts @@ -21,7 +21,7 @@ export default async function documentHandler(req: Request, response: Response, return; } if (officeFolderWithOffice.office?.uid != officeId) { - response.status(HttpCodes.UNAUTHORIZED).send("Not authorized with this office"); + response.status(HttpCodes.UNAUTHORIZED).send("Unauthorized with this office"); return; } } @@ -34,7 +34,7 @@ export default async function documentHandler(req: Request, response: Response, return; } if (documentTypeWithOffice.office?.uid != officeId) { - response.status(HttpCodes.UNAUTHORIZED).send("Not authorized with this office"); + response.status(HttpCodes.UNAUTHORIZED).send("Unauthorized with this office"); return; } } diff --git a/src/app/middlewares/OfficeMembershipHandlers/DocumentTypeHandler.ts b/src/app/middlewares/OfficeMembershipHandlers/DocumentTypeHandler.ts index 908df26e..250487cd 100644 --- a/src/app/middlewares/OfficeMembershipHandlers/DocumentTypeHandler.ts +++ b/src/app/middlewares/OfficeMembershipHandlers/DocumentTypeHandler.ts @@ -9,7 +9,7 @@ export default async function documentTypeHandler(req: Request, response: Respon const office = req.body.office; if (office && office.uid != officeId) { - response.status(HttpCodes.UNAUTHORIZED).send("Not authorized with this office"); + response.status(HttpCodes.UNAUTHORIZED).send("Unauthorized with this office"); return; } @@ -23,7 +23,7 @@ export default async function documentTypeHandler(req: Request, response: Respon } if (documentType.office.uid != officeId) { - response.status(HttpCodes.UNAUTHORIZED).send("Not authorized with this office"); + response.status(HttpCodes.UNAUTHORIZED).send("Unauthorized with this office"); return; } } diff --git a/src/app/middlewares/OfficeMembershipHandlers/FileHandler.ts b/src/app/middlewares/OfficeMembershipHandlers/FileHandler.ts index 27ce2cd3..d91ad586 100644 --- a/src/app/middlewares/OfficeMembershipHandlers/FileHandler.ts +++ b/src/app/middlewares/OfficeMembershipHandlers/FileHandler.ts @@ -17,7 +17,7 @@ export default async function fileHandler(req: Request, response: Response, next return; } if (documentWithOffice.folder.office?.uid != officeId) { - response.status(HttpCodes.UNAUTHORIZED).send("Not authorized with this office"); + response.status(HttpCodes.UNAUTHORIZED).send("Unauthorized with this office"); return; } } @@ -33,7 +33,7 @@ export default async function fileHandler(req: Request, response: Response, next return; } if (file.document.folder.office.uid != officeId) { - response.status(HttpCodes.UNAUTHORIZED).send("Not authorized with this office"); + response.status(HttpCodes.UNAUTHORIZED).send("Unauthorized with this office"); return; } } diff --git a/src/app/middlewares/OfficeMembershipHandlers/FolderHandler.ts b/src/app/middlewares/OfficeMembershipHandlers/FolderHandler.ts index 2450eea7..e63d8782 100644 --- a/src/app/middlewares/OfficeMembershipHandlers/FolderHandler.ts +++ b/src/app/middlewares/OfficeMembershipHandlers/FolderHandler.ts @@ -2,7 +2,7 @@ import HttpCodes from "@Common/system/controller-pattern/HttpCodes"; import { NextFunction, Request, Response } from "express"; import Container from "typedi"; import OfficeFoldersService from "@Services/super-admin/OfficeFoldersService/OfficeFoldersService"; -import DeedsService from "@Services/super-admin/DeedsService/DeedsService"; +import DeedTypesService from "@Services/super-admin/DeedTypesService/DeedTypesService"; export default async function folderHandler(req: Request, response: Response, next: NextFunction) { const officeId = req.body.user.office_Id; @@ -13,19 +13,20 @@ export default async function folderHandler(req: Request, response: Response, ne if (office && office.uid != officeId) { console.log("wrong office"); - response.status(HttpCodes.UNAUTHORIZED).send("Not authorized with this office"); + response.status(HttpCodes.UNAUTHORIZED).send("Unauthorized with this office"); return; } if (deed) { - const deedService = Container.get(DeedsService); - const deedWithOffice = await deedService.getByUidWithOffice(deed.uid!); - if (!deedWithOffice) { - response.sendStatus(HttpCodes.NOT_FOUND); + const deedTypeService = Container.get(DeedTypesService); + console.log("deed : ",deed); + const deedTypeWithOffice = await deedTypeService.getByUidWithOffice(deed.deed_type.uid!); + if (!deedTypeWithOffice) { + response.status(HttpCodes.NOT_FOUND).send("Deed type not found"); return; } - if (deedWithOffice.deed_type.office.uid != officeId) { - response.status(HttpCodes.UNAUTHORIZED).send("Not authorized with this deed type"); + if (deedTypeWithOffice.office.uid != officeId) { + response.status(HttpCodes.UNAUTHORIZED).send("Unauthorized with this deed type"); return; } } @@ -51,7 +52,7 @@ export default async function folderHandler(req: Request, response: Response, ne } if (officeFolder.office.uid != officeId) { - response.status(HttpCodes.UNAUTHORIZED).send("Not authorized with this office"); + response.status(HttpCodes.UNAUTHORIZED).send("Unauthorized with this office"); return; } } diff --git a/src/app/middlewares/OfficeMembershipHandlers/OfficeRoleHandler.ts b/src/app/middlewares/OfficeMembershipHandlers/OfficeRoleHandler.ts index b1a33629..51716731 100644 --- a/src/app/middlewares/OfficeMembershipHandlers/OfficeRoleHandler.ts +++ b/src/app/middlewares/OfficeMembershipHandlers/OfficeRoleHandler.ts @@ -9,7 +9,7 @@ export default async function officeRoleHandler(req: Request, response: Response const office = req.body.office; if (office && office.uid != officeId) { - response.status(HttpCodes.UNAUTHORIZED).send("Not authorized with this office"); + response.status(HttpCodes.UNAUTHORIZED).send("Unauthorized with this office"); return; } @@ -23,7 +23,7 @@ export default async function officeRoleHandler(req: Request, response: Response } if (officeRole.office.uid != officeId) { - response.status(HttpCodes.UNAUTHORIZED).send("Not authorized with this office"); + response.status(HttpCodes.UNAUTHORIZED).send("Unauthorized with this office"); return; } } diff --git a/src/app/middlewares/OfficeMembershipHandlers/UserHandler.ts b/src/app/middlewares/OfficeMembershipHandlers/UserHandler.ts index d66c88bf..a0a82207 100644 --- a/src/app/middlewares/OfficeMembershipHandlers/UserHandler.ts +++ b/src/app/middlewares/OfficeMembershipHandlers/UserHandler.ts @@ -9,7 +9,7 @@ export default async function userHandler(req: Request, response: Response, next const office = req.body.office_membership; if (office && office.uid != officeId) { - response.status(HttpCodes.UNAUTHORIZED).send("Not authorized with this office"); + response.status(HttpCodes.UNAUTHORIZED).send("Unauthorized with this office"); return; } @@ -23,7 +23,7 @@ export default async function userHandler(req: Request, response: Response, next } if (user.office_membership.uid != officeId) { - response.status(HttpCodes.UNAUTHORIZED).send("Not authorized with this office"); + response.status(HttpCodes.UNAUTHORIZED).send("Unauthorized with this office"); return; } } diff --git a/src/app/middlewares/RulesHandler.ts b/src/app/middlewares/RulesHandler.ts index 08aff7e1..89df35a9 100644 --- a/src/app/middlewares/RulesHandler.ts +++ b/src/app/middlewares/RulesHandler.ts @@ -8,12 +8,12 @@ export default async function ruleHandler(req: Request, response: Response, next const role = req.body.user.role; if (namespace != "notary" && role != namespace) { - response.status(HttpCodes.UNAUTHORIZED).send("Not authorized with this role"); + response.status(HttpCodes.UNAUTHORIZED).send("Unauthorized with this role"); return; } if (!rules.includes(req.method + " " + service)) { - response.status(HttpCodes.UNAUTHORIZED).send("Not authorized with those rules"); + response.status(HttpCodes.UNAUTHORIZED).send("Unauthorized with those rules"); return; } From 2cbdc1db02925f2d063bdb9aaff82bec0b7e65f1 Mon Sep 17 00:00:00 2001 From: OxSaitama Date: Tue, 11 Jul 2023 18:05:29 +0200 Subject: [PATCH 7/8] refacto query for GET methods --- src/app/api/admin/DeedTypesController.ts | 5 +++-- src/app/api/admin/DeedsController.ts | 5 +++-- src/app/api/admin/DocumentTypesController.ts | 5 +++-- src/app/api/admin/DocumentsController.ts | 5 +++-- src/app/api/admin/FilesController.ts | 5 +++-- src/app/api/admin/OfficeFoldersController.ts | 6 ++++-- src/app/api/admin/OfficeRolesController.ts | 5 +++-- src/app/api/admin/UsersController.ts | 5 +++-- src/app/api/notary/DeedTypesController.ts | 5 +++-- src/app/api/notary/DeedsController.ts | 5 +++-- src/app/api/notary/DocumentTypesController.ts | 5 +++-- src/app/api/notary/DocumentsController.ts | 5 +++-- src/app/api/notary/FilesController.ts | 5 +++-- src/app/api/notary/OfficeFoldersController.ts | 5 +++-- src/app/api/notary/OfficeRolesController.ts | 5 +++-- src/app/api/notary/UsersController.ts | 5 +++-- src/app/api/super-admin/CustomersController.ts | 4 ++-- src/app/api/super-admin/DeedTypesController.ts | 7 ++++--- src/app/api/super-admin/DeedsController.ts | 7 ++++--- .../api/super-admin/DocumentTypesController.ts | 7 ++++--- src/app/api/super-admin/DocumentsController.ts | 7 ++++--- src/app/api/super-admin/FilesController.ts | 8 +++++--- .../api/super-admin/OfficeFoldersController.ts | 15 ++++++--------- src/app/api/super-admin/OfficeRolesController.ts | 7 ++++--- src/app/api/super-admin/OfficesController.ts | 4 ++-- src/app/api/super-admin/RolesController.ts | 4 ++-- src/app/api/super-admin/RulesController.ts | 4 ++-- src/app/api/super-admin/UsersController.ts | 4 ++-- .../OfficeMembershipHandlers/FolderHandler.ts | 2 +- 29 files changed, 91 insertions(+), 70 deletions(-) diff --git a/src/app/api/admin/DeedTypesController.ts b/src/app/api/admin/DeedTypesController.ts index efa9d463..742d55b4 100644 --- a/src/app/api/admin/DeedTypesController.ts +++ b/src/app/api/admin/DeedTypesController.ts @@ -30,8 +30,9 @@ export default class DeedTypesController extends ApiController { query = JSON.parse(req.query["q"] as string); } const officeId: string = req.body.user.office_Id; - const officeWhereInput: Prisma.DeedTypesWhereInput = { office: { uid: officeId } }; - query.where = officeWhereInput; + const officeWhereInput: Prisma.OfficesWhereInput = { uid: officeId } ; + if(!query.where) query.where = { office: officeWhereInput}; + query.where.office = officeWhereInput; //call service to get prisma entity const deedTypeEntities: DeedTypes[] = await this.deedTypesService.get(query); diff --git a/src/app/api/admin/DeedsController.ts b/src/app/api/admin/DeedsController.ts index 10da15b8..200c230f 100644 --- a/src/app/api/admin/DeedsController.ts +++ b/src/app/api/admin/DeedsController.ts @@ -30,8 +30,9 @@ export default class DeedsController extends ApiController { query = JSON.parse(req.query["q"] as string); } const officeId: string = req.body.user.office_Id; - const officeWhereInput: Prisma.DeedsWhereInput = { deed_type: { office: { uid: officeId } } }; - query.where = officeWhereInput; + const officeWhereInput: Prisma.OfficesWhereInput = { uid: officeId } ; + if(!query.where) query.where = { deed_type : {office: officeWhereInput}}; + query.where.deed_type!.office = officeWhereInput; //call service to get prisma entity const deedEntities: Deeds[] = await this.deedsService.get(query); diff --git a/src/app/api/admin/DocumentTypesController.ts b/src/app/api/admin/DocumentTypesController.ts index 9d170efe..caf2ad33 100644 --- a/src/app/api/admin/DocumentTypesController.ts +++ b/src/app/api/admin/DocumentTypesController.ts @@ -30,8 +30,9 @@ export default class DocumentTypesController extends ApiController { query = JSON.parse(req.query["q"] as string); } const officeId: string = req.body.user.office_Id; - const officeWhereInput: Prisma.DocumentTypesWhereInput = { office: { uid: officeId } }; - query.where = officeWhereInput; + const officeWhereInput: Prisma.OfficesWhereInput = { uid: officeId } ; + if(!query.where) query.where = { office: officeWhereInput}; + query.where.office = officeWhereInput; //call service to get prisma entity const documentTypeEntities: DocumentTypes[] = await this.documentTypesService.get(query); diff --git a/src/app/api/admin/DocumentsController.ts b/src/app/api/admin/DocumentsController.ts index 61c45686..4befe3f4 100644 --- a/src/app/api/admin/DocumentsController.ts +++ b/src/app/api/admin/DocumentsController.ts @@ -30,8 +30,9 @@ export default class DocumentsController extends ApiController { query = JSON.parse(req.query["q"] as string); } const officeId: string = req.body.user.office_Id; - const officeWhereInput: Prisma.DocumentsWhereInput = { document_type: { office: { uid: officeId } } }; - query.where = officeWhereInput; + const officeWhereInput: Prisma.OfficesWhereInput = { uid: officeId } ; + if(!query.where) query.where = { document_type : {office: officeWhereInput}}; + query.where.document_type!.office = officeWhereInput; //call service to get prisma entity const documentEntities = await this.documentsService.get(query); diff --git a/src/app/api/admin/FilesController.ts b/src/app/api/admin/FilesController.ts index c7dab853..27e881b2 100644 --- a/src/app/api/admin/FilesController.ts +++ b/src/app/api/admin/FilesController.ts @@ -29,8 +29,9 @@ export default class FilesController extends ApiController { query = JSON.parse(req.query["q"] as string); } const officeId: string = req.body.user.office_Id; - const officeWhereInput: Prisma.FilesWhereInput = { document: { folder: { office: { uid: officeId } } } }; - query.where = officeWhereInput; + const officeWhereInput: Prisma.OfficesWhereInput = { uid: officeId } ; + if(!query.where) query.where = { document: { folder: {office: officeWhereInput}}}; + query.where.document!.folder!.office = officeWhereInput; //call service to get prisma entity const fileEntities = await this.filesService.get(query); diff --git a/src/app/api/admin/OfficeFoldersController.ts b/src/app/api/admin/OfficeFoldersController.ts index 61130e69..0311e1fd 100644 --- a/src/app/api/admin/OfficeFoldersController.ts +++ b/src/app/api/admin/OfficeFoldersController.ts @@ -29,8 +29,10 @@ export default class OfficeFoldersController extends ApiController { query = JSON.parse(req.query["q"] as string); } const officeId: string = req.body.user.office_Id; - const officeWhereInput: Prisma.OfficeFoldersWhereInput = { office: { uid: officeId } }; - query.where = officeWhereInput; + const officeWhereInput: Prisma.OfficesWhereInput = { uid: officeId } ; + if(!query.where) query.where = { office: officeWhereInput}; + query.where.office = officeWhereInput; + //call service to get prisma entity const officeFolderEntities: OfficeFolders[] = await this.officeFoldersService.get(query); diff --git a/src/app/api/admin/OfficeRolesController.ts b/src/app/api/admin/OfficeRolesController.ts index a8811e26..eb267dca 100644 --- a/src/app/api/admin/OfficeRolesController.ts +++ b/src/app/api/admin/OfficeRolesController.ts @@ -29,8 +29,9 @@ export default class OfficeRolesController extends ApiController { query = JSON.parse(req.query["q"] as string); } const officeId: string = req.body.user.office_Id; - const officeWhereInput: Prisma.OfficeRolesWhereInput = { office: { uid: officeId } }; - query.where = officeWhereInput; + const officeWhereInput: Prisma.OfficesWhereInput = { uid: officeId } ; + if(!query.where) query.where = { office: officeWhereInput}; + query.where.office = officeWhereInput; //call service to get prisma entity const officeRolesEntities = await this.officeRolesService.get(query); diff --git a/src/app/api/admin/UsersController.ts b/src/app/api/admin/UsersController.ts index 282820d8..707a8ccf 100644 --- a/src/app/api/admin/UsersController.ts +++ b/src/app/api/admin/UsersController.ts @@ -28,8 +28,9 @@ export default class UsersController extends ApiController { query = JSON.parse(req.query["q"] as string); } const officeId: string = req.body.user.office_Id; - const officeWhereInput: Prisma.UsersWhereInput = { office_membership: { uid: officeId } }; - query.where = officeWhereInput; + const officeWhereInput: Prisma.OfficesWhereInput = { uid: officeId } ; + if(!query.where) query.where = { office_membership: officeWhereInput}; + query.where.office_membership = officeWhereInput; //call service to get prisma entity const usersEntities = await this.usersService.get(query); diff --git a/src/app/api/notary/DeedTypesController.ts b/src/app/api/notary/DeedTypesController.ts index 549fb6c8..8c87de2a 100644 --- a/src/app/api/notary/DeedTypesController.ts +++ b/src/app/api/notary/DeedTypesController.ts @@ -30,8 +30,9 @@ export default class DeedTypesController extends ApiController { query = JSON.parse(req.query["q"] as string); } const officeId: string = req.body.user.office_Id; - const officeWhereInput: Prisma.DeedTypesWhereInput = { office: { uid: officeId } }; - query.where = officeWhereInput; + const officeWhereInput: Prisma.OfficesWhereInput = { uid: officeId } ; + if(!query.where) query.where = { office: officeWhereInput}; + query.where.office = officeWhereInput; //call service to get prisma entity const deedTypeEntities: DeedTypes[] = await this.deedTypesService.get(query); diff --git a/src/app/api/notary/DeedsController.ts b/src/app/api/notary/DeedsController.ts index 45e08915..746c476e 100644 --- a/src/app/api/notary/DeedsController.ts +++ b/src/app/api/notary/DeedsController.ts @@ -30,8 +30,9 @@ export default class DeedsController extends ApiController { query = JSON.parse(req.query["q"] as string); } const officeId: string = req.body.user.office_Id; - const officeWhereInput: Prisma.DeedsWhereInput = { deed_type: { office: { uid: officeId } } }; - query.where = officeWhereInput; + const officeWhereInput: Prisma.OfficesWhereInput = { uid: officeId } ; + if(!query.where) query.where = { deed_type : {office: officeWhereInput}}; + query.where.deed_type!.office = officeWhereInput; //call service to get prisma entity const deedEntities: Deeds[] = await this.deedsService.get(query); diff --git a/src/app/api/notary/DocumentTypesController.ts b/src/app/api/notary/DocumentTypesController.ts index 6bdbe117..7f55f97c 100644 --- a/src/app/api/notary/DocumentTypesController.ts +++ b/src/app/api/notary/DocumentTypesController.ts @@ -30,8 +30,9 @@ export default class DocumentTypesController extends ApiController { query = JSON.parse(req.query["q"] as string); } const officeId: string = req.body.user.office_Id; - const officeWhereInput: Prisma.DocumentTypesWhereInput = { office: { uid: officeId } }; - query.where = officeWhereInput; + const officeWhereInput: Prisma.OfficesWhereInput = { uid: officeId } ; + if(!query.where) query.where = { office: officeWhereInput}; + query.where.office = officeWhereInput; //call service to get prisma entity const documentTypeEntities: DocumentTypes[] = await this.documentTypesService.get(query); diff --git a/src/app/api/notary/DocumentsController.ts b/src/app/api/notary/DocumentsController.ts index 41e53c10..35147482 100644 --- a/src/app/api/notary/DocumentsController.ts +++ b/src/app/api/notary/DocumentsController.ts @@ -30,8 +30,9 @@ export default class DocumentsController extends ApiController { query = JSON.parse(req.query["q"] as string); } const officeId: string = req.body.user.office_Id; - const officeWhereInput: Prisma.DocumentsWhereInput = { document_type: { office: { uid: officeId } } }; - query.where = officeWhereInput; + const officeWhereInput: Prisma.OfficesWhereInput = { uid: officeId } ; + if(!query.where) query.where = { document_type : {office: officeWhereInput}}; + query.where.document_type!.office = officeWhereInput; //call service to get prisma entity const documentEntities = await this.documentsService.get(query); diff --git a/src/app/api/notary/FilesController.ts b/src/app/api/notary/FilesController.ts index fcd15ccd..009de81c 100644 --- a/src/app/api/notary/FilesController.ts +++ b/src/app/api/notary/FilesController.ts @@ -29,8 +29,9 @@ export default class FilesController extends ApiController { query = JSON.parse(req.query["q"] as string); } const officeId: string = req.body.user.office_Id; - const officeWhereInput: Prisma.FilesWhereInput = { document: { folder: { office: { uid: officeId } } } }; - query.where = officeWhereInput; + const officeWhereInput: Prisma.OfficesWhereInput = { uid: officeId } ; + if(!query.where) query.where = { document: { folder: {office: officeWhereInput}}}; + query.where.document!.folder!.office = officeWhereInput; //call service to get prisma entity const fileEntities = await this.filesService.get(query); diff --git a/src/app/api/notary/OfficeFoldersController.ts b/src/app/api/notary/OfficeFoldersController.ts index 255540d7..6ab29975 100644 --- a/src/app/api/notary/OfficeFoldersController.ts +++ b/src/app/api/notary/OfficeFoldersController.ts @@ -29,8 +29,9 @@ export default class OfficeFoldersController extends ApiController { query = JSON.parse(req.query["q"] as string); } const officeId: string = req.body.user.office_Id; - const officeWhereInput: Prisma.OfficeFoldersWhereInput = { office: { uid: officeId } }; - query.where = officeWhereInput; + const officeWhereInput: Prisma.OfficesWhereInput = { uid: officeId } ; + if(!query.where) query.where = { office: officeWhereInput}; + query.where.office = officeWhereInput; //call service to get prisma entity const officeFolderEntities: OfficeFolders[] = await this.officeFoldersService.get(query); diff --git a/src/app/api/notary/OfficeRolesController.ts b/src/app/api/notary/OfficeRolesController.ts index 99c02cec..4d4128f0 100644 --- a/src/app/api/notary/OfficeRolesController.ts +++ b/src/app/api/notary/OfficeRolesController.ts @@ -28,8 +28,9 @@ export default class OfficeRolesController extends ApiController { query = JSON.parse(req.query["q"] as string); } const officeId: string = req.body.user.office_Id; - const officeWhereInput: Prisma.OfficeRolesWhereInput = { office: { uid: officeId } }; - query.where = officeWhereInput; + const officeWhereInput: Prisma.OfficesWhereInput = { uid: officeId } ; + if(!query.where) query.where = { office: officeWhereInput}; + query.where.office = officeWhereInput; //call service to get prisma entity const officeRolesEntities = await this.officeRolesService.get(query); diff --git a/src/app/api/notary/UsersController.ts b/src/app/api/notary/UsersController.ts index a3d74952..46683666 100644 --- a/src/app/api/notary/UsersController.ts +++ b/src/app/api/notary/UsersController.ts @@ -28,8 +28,9 @@ export default class UsersController extends ApiController { query = JSON.parse(req.query["q"] as string); } const officeId: string = req.body.user.office_Id; - const officeWhereInput: Prisma.UsersWhereInput = { office_membership: { uid: officeId } }; - query.where = officeWhereInput; + const officeWhereInput: Prisma.OfficesWhereInput = { uid: officeId } ; + if(!query.where) query.where = { office_membership: officeWhereInput}; + query.where.office_membership = officeWhereInput; //call service to get prisma entity const usersEntities = await this.usersService.get(query); diff --git a/src/app/api/super-admin/CustomersController.ts b/src/app/api/super-admin/CustomersController.ts index 271988ea..56c718b0 100644 --- a/src/app/api/super-admin/CustomersController.ts +++ b/src/app/api/super-admin/CustomersController.ts @@ -22,7 +22,7 @@ export default class CustomersController extends ApiController { protected async get(req: Request, response: Response) { try { //get query - let query = {}; + let query; if (req.query["q"]) { query = JSON.parse(req.query["q"] as string); } @@ -120,7 +120,7 @@ export default class CustomersController extends ApiController { return; } - let query = {}; + let query; if (req.query["q"]) { query = JSON.parse(req.query["q"] as string); } diff --git a/src/app/api/super-admin/DeedTypesController.ts b/src/app/api/super-admin/DeedTypesController.ts index 7eee309f..e2c8acba 100644 --- a/src/app/api/super-admin/DeedTypesController.ts +++ b/src/app/api/super-admin/DeedTypesController.ts @@ -30,8 +30,9 @@ export default class DeedTypesController extends ApiController { query = JSON.parse(req.query["q"] as string); } const officeId: string = req.body.user.office_Id; - const officeWhereInput: Prisma.DeedTypesWhereInput = { office: { uid: officeId } }; - query.where = officeWhereInput; + const officeWhereInput: Prisma.OfficesWhereInput = { uid: officeId } ; + if(!query.where) query.where = { office: officeWhereInput}; + query.where.office = officeWhereInput; //call service to get prisma entity const deedTypeEntities: DeedTypes[] = await this.deedTypesService.get(query); @@ -131,7 +132,7 @@ export default class DeedTypesController extends ApiController { return; } - let query = {}; + let query; if (req.query["q"]) { query = JSON.parse(req.query["q"] as string); } diff --git a/src/app/api/super-admin/DeedsController.ts b/src/app/api/super-admin/DeedsController.ts index d563acea..06e20d9d 100644 --- a/src/app/api/super-admin/DeedsController.ts +++ b/src/app/api/super-admin/DeedsController.ts @@ -30,8 +30,9 @@ export default class DeedsController extends ApiController { query = JSON.parse(req.query["q"] as string); } const officeId: string = req.body.user.office_Id; - const officeWhereInput: Prisma.DeedsWhereInput = { deed_type: { office: { uid: officeId } } }; - query.where = officeWhereInput; + const officeWhereInput: Prisma.OfficesWhereInput = { uid: officeId } ; + if(!query.where) query.where = { deed_type : {office: officeWhereInput}}; + query.where.deed_type!.office = officeWhereInput; //call service to get prisma entity const deedEntities: Deeds[] = await this.deedsService.get(query); @@ -60,7 +61,7 @@ export default class DeedsController extends ApiController { return; } - let query = {}; + let query; if (req.query["q"]) { query = JSON.parse(req.query["q"] as string); } diff --git a/src/app/api/super-admin/DocumentTypesController.ts b/src/app/api/super-admin/DocumentTypesController.ts index 353d6041..baceb4db 100644 --- a/src/app/api/super-admin/DocumentTypesController.ts +++ b/src/app/api/super-admin/DocumentTypesController.ts @@ -30,8 +30,9 @@ export default class DocumentTypesController extends ApiController { query = JSON.parse(req.query["q"] as string); } const officeId: string = req.body.user.office_Id; - const officeWhereInput: Prisma.DocumentTypesWhereInput = { office: { uid: officeId } }; - query.where = officeWhereInput; + const officeWhereInput: Prisma.OfficesWhereInput = { uid: officeId } ; + if(!query.where) query.where = { office: officeWhereInput}; + query.where.office = officeWhereInput; //call service to get prisma entity const documentTypeEntities: DocumentTypes[] = await this.documentTypesService.get(query); @@ -125,7 +126,7 @@ export default class DocumentTypesController extends ApiController { return; } - let query = {}; + let query; if (req.query["q"]) { query = JSON.parse(req.query["q"] as string); } diff --git a/src/app/api/super-admin/DocumentsController.ts b/src/app/api/super-admin/DocumentsController.ts index 317500b2..7ccdb18c 100644 --- a/src/app/api/super-admin/DocumentsController.ts +++ b/src/app/api/super-admin/DocumentsController.ts @@ -30,8 +30,9 @@ export default class DocumentsController extends ApiController { query = JSON.parse(req.query["q"] as string); } const officeId: string = req.body.user.office_Id; - const officeWhereInput: Prisma.DocumentsWhereInput = { document_type: { office: { uid: officeId } } }; - query.where = officeWhereInput; + const officeWhereInput: Prisma.OfficesWhereInput = { uid: officeId } ; + if(!query.where) query.where = { document_type : {office: officeWhereInput}}; + query.where.document_type!.office = officeWhereInput; //call service to get prisma entity const documentEntities = await this.documentsService.get(query); @@ -160,7 +161,7 @@ export default class DocumentsController extends ApiController { return; } - let query = {}; + let query; if (req.query["q"]) { query = JSON.parse(req.query["q"] as string); } diff --git a/src/app/api/super-admin/FilesController.ts b/src/app/api/super-admin/FilesController.ts index ed2572b2..cf085d5f 100644 --- a/src/app/api/super-admin/FilesController.ts +++ b/src/app/api/super-admin/FilesController.ts @@ -29,8 +29,10 @@ export default class FilesController extends ApiController { query = JSON.parse(req.query["q"] as string); } const officeId: string = req.body.user.office_Id; - const officeWhereInput: Prisma.FilesWhereInput = { document: { folder: { office: { uid: officeId } } } }; - query.where = officeWhereInput; + const officeWhereInput: Prisma.OfficesWhereInput = { uid: officeId } ; + if(!query.where) query.where = { document: { folder: {office: officeWhereInput}}}; + query.where.document!.folder!.office = officeWhereInput; + //call service to get prisma entity const fileEntities = await this.filesService.get(query); @@ -123,7 +125,7 @@ export default class FilesController extends ApiController { return; } - let query = {}; + let query; if (req.query["q"]) { query = JSON.parse(req.query["q"] as string); } diff --git a/src/app/api/super-admin/OfficeFoldersController.ts b/src/app/api/super-admin/OfficeFoldersController.ts index 73b74ceb..9e8278fd 100644 --- a/src/app/api/super-admin/OfficeFoldersController.ts +++ b/src/app/api/super-admin/OfficeFoldersController.ts @@ -29,8 +29,10 @@ export default class OfficeFoldersController extends ApiController { query = JSON.parse(req.query["q"] as string); } const officeId: string = req.body.user.office_Id; - const officeWhereInput: Prisma.OfficeFoldersWhereInput = { office: { uid: officeId } }; - query.where = officeWhereInput; + const officeWhereInput: Prisma.OfficesWhereInput = { uid: officeId } ; + if(!query.where) query.where = { office: officeWhereInput}; + query.where.office = officeWhereInput; + //call service to get prisma entity const officeFolderEntities: OfficeFolders[] = await this.officeFoldersService.get(query); @@ -82,12 +84,7 @@ export default class OfficeFoldersController extends ApiController { return; } - let query = {}; - if (req.query["q"]) { - query = JSON.parse(req.query["q"] as string); - } - - const officeFolderFound = await this.officeFoldersService.getByUid(uid, query); + const officeFolderFound = await this.officeFoldersService.getByUid(uid); if (!officeFolderFound) { this.httpNotFoundRequest(response, "office folder not found"); @@ -129,7 +126,7 @@ export default class OfficeFoldersController extends ApiController { return; } - let query = {}; + let query; if (req.query["q"]) { query = JSON.parse(req.query["q"] as string); } diff --git a/src/app/api/super-admin/OfficeRolesController.ts b/src/app/api/super-admin/OfficeRolesController.ts index e1e8cf58..021f05da 100644 --- a/src/app/api/super-admin/OfficeRolesController.ts +++ b/src/app/api/super-admin/OfficeRolesController.ts @@ -29,8 +29,9 @@ export default class OfficeRolesController extends ApiController { query = JSON.parse(req.query["q"] as string); } const officeId: string = req.body.user.office_Id; - const officeWhereInput: Prisma.OfficeRolesWhereInput = { office: { uid: officeId } }; - query.where = officeWhereInput; + const officeWhereInput: Prisma.OfficesWhereInput = { uid: officeId } ; + if(!query.where) query.where = { office: officeWhereInput}; + query.where.office = officeWhereInput; //call service to get prisma entity const officeRolesEntities = await this.officeRolesService.get(query); @@ -127,7 +128,7 @@ export default class OfficeRolesController extends ApiController { return; } - let query = {}; + let query; if (req.query["q"]) { query = JSON.parse(req.query["q"] as string); } diff --git a/src/app/api/super-admin/OfficesController.ts b/src/app/api/super-admin/OfficesController.ts index 4803204c..d2c034b8 100644 --- a/src/app/api/super-admin/OfficesController.ts +++ b/src/app/api/super-admin/OfficesController.ts @@ -22,7 +22,7 @@ export default class OfficesController extends ApiController { protected async get(req: Request, response: Response) { try { //get query - let query = {}; + let query; if (req.query["q"]) { query = JSON.parse(req.query["q"] as string); } @@ -107,7 +107,7 @@ export default class OfficesController extends ApiController { return; } - let query = {}; + let query; if (req.query["q"]) { query = JSON.parse(req.query["q"] as string); } diff --git a/src/app/api/super-admin/RolesController.ts b/src/app/api/super-admin/RolesController.ts index f5f1924d..ba0683ab 100644 --- a/src/app/api/super-admin/RolesController.ts +++ b/src/app/api/super-admin/RolesController.ts @@ -22,7 +22,7 @@ export default class RolesController extends ApiController { protected async get(req: Request, response: Response) { try { //get query - let query = {}; + let query; if (req.query["q"]) { query = JSON.parse(req.query["q"] as string); } @@ -122,7 +122,7 @@ export default class RolesController extends ApiController { return; } - let query = {}; + let query; if (req.query["q"]) { query = JSON.parse(req.query["q"] as string); } diff --git a/src/app/api/super-admin/RulesController.ts b/src/app/api/super-admin/RulesController.ts index 09b0995d..c0bc87c1 100644 --- a/src/app/api/super-admin/RulesController.ts +++ b/src/app/api/super-admin/RulesController.ts @@ -22,7 +22,7 @@ export default class RulesController extends ApiController { protected async get(req: Request, response: Response) { try { //get query - let query = {}; + let query; if (req.query["q"]) { query = JSON.parse(req.query["q"] as string); } @@ -121,7 +121,7 @@ export default class RulesController extends ApiController { this.httpBadRequest(response, "No uid provided"); return; } - let query = {}; + let query; if (req.query["q"]) { query = JSON.parse(req.query["q"] as string); } diff --git a/src/app/api/super-admin/UsersController.ts b/src/app/api/super-admin/UsersController.ts index b4b84a47..629add48 100644 --- a/src/app/api/super-admin/UsersController.ts +++ b/src/app/api/super-admin/UsersController.ts @@ -22,7 +22,7 @@ export default class UsersController extends ApiController { protected async get(req: Request, response: Response) { try { //get query - let query = {}; + let query; if (req.query["q"]) { query = JSON.parse(req.query["q"] as string); } @@ -121,7 +121,7 @@ export default class UsersController extends ApiController { this.httpBadRequest(response, "No uid provided"); return; } - let query = {}; + let query; if (req.query["q"]) { query = JSON.parse(req.query["q"] as string); } diff --git a/src/app/middlewares/OfficeMembershipHandlers/FolderHandler.ts b/src/app/middlewares/OfficeMembershipHandlers/FolderHandler.ts index e63d8782..6c1ef63c 100644 --- a/src/app/middlewares/OfficeMembershipHandlers/FolderHandler.ts +++ b/src/app/middlewares/OfficeMembershipHandlers/FolderHandler.ts @@ -33,7 +33,7 @@ export default async function folderHandler(req: Request, response: Response, ne const officeFolderService = Container.get(OfficeFoldersService); - if (officeFolderNumber) { + if (officeFolderNumber && req.method == "POST") { const officeFoldersWithSameNumber = await officeFolderService.get({ where: { folder_number: officeFolderNumber, office: { uid: officeId } }, }); From d6c87b390b25d1f1d6f12ce7f749f952071e0503 Mon Sep 17 00:00:00 2001 From: OxSaitama Date: Tue, 11 Jul 2023 18:08:30 +0200 Subject: [PATCH 8/8] update resources version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 69b3c587..8ed48ae5 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "cors": "^2.8.5", "express": "^4.18.2", "jsonwebtoken": "^9.0.0", - "le-coffre-resources": "git@github.com:smart-chain-fr/leCoffre-resources.git#v2.55", + "le-coffre-resources": "git@github.com:smart-chain-fr/leCoffre-resources.git#v2.56", "module-alias": "^2.2.2", "multer": "^1.4.5-lts.1", "next": "^13.1.5",