From b1396c713bd76e7e2afeb3b652e01f9a7eecf50b Mon Sep 17 00:00:00 2001 From: OxSaitama Date: Wed, 12 Jul 2023 17:37:23 +0200 Subject: [PATCH] refacto GET methods with search param for office roles --- package-lock.json | 34 +++++++++---------- src/app/api/admin/OfficeRolesController.ts | 21 +++++++++--- src/app/api/notary/OfficeRolesController.ts | 2 +- .../api/super-admin/OfficeRolesController.ts | 14 +++++++- .../OfficeRolesService/OfficeRolesService.ts | 4 +-- .../OfficeRolesService/OfficeRolesService.ts | 4 +-- .../OfficeRolesService/OfficeRolesService.ts | 4 +-- 7 files changed, 54 insertions(+), 29 deletions(-) diff --git a/package-lock.json b/package-lock.json index b7add4cc..de89f69f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,7 +17,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", @@ -1421,9 +1421,9 @@ } }, "node_modules/@types/jest": { - "version": "29.5.2", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.2.tgz", - "integrity": "sha512-mSoZVJF5YzGVCk+FsDxzDuH7s+SCkzrgKZzf0Z0T2WudhBUPoF6ktoTPC4R0ZoCPCV5xUvuU6ias5NvxcBcMMg==", + "version": "29.5.3", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.3.tgz", + "integrity": "sha512-1Nq7YrO/vJE/FYnqYyw0FS8LdrjExSgIiHyKg7xPpn+yi8Q4huZryKnkJatN1ZRH89Kw2v33/8ZMB7DuZeSLlA==", "dev": true, "dependencies": { "expect": "^29.0.0", @@ -2011,9 +2011,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001514", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001514.tgz", - "integrity": "sha512-ENcIpYBmwAAOm/V2cXgM7rZUrKKaqisZl4ZAI520FIkqGXUxJjmaIssbRW5HVVR5tyV6ygTLIm15aU8LUmQSaQ==", + "version": "1.0.30001515", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001515.tgz", + "integrity": "sha512-eEFDwUOZbE24sb+Ecsx3+OvNETqjWIdabMy52oOkIgcUtAsQifjUG9q4U9dgTHJM2mfk4uEPxc0+xuFdJ629QA==", "funding": [ { "type": "opencollective", @@ -2421,9 +2421,9 @@ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, "node_modules/electron-to-chromium": { - "version": "1.4.454", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.454.tgz", - "integrity": "sha512-pmf1rbAStw8UEQ0sr2cdJtWl48ZMuPD9Sto8HVQOq9vx9j2WgDEN6lYoaqFvqEHYOmGA9oRGn7LqWI9ta0YugQ==", + "version": "1.4.457", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.457.tgz", + "integrity": "sha512-/g3UyNDmDd6ebeWapmAoiyy+Sy2HyJ+/X8KyvNeHfKRFfHaA2W8oF5fxD5F3tjBDcjpwo0iek6YNgxNXDBoEtA==", "dev": true }, "node_modules/emittery": { @@ -3926,7 +3926,7 @@ } }, "node_modules/le-coffre-resources": { - "resolved": "git+ssh://git@github.com/smart-chain-fr/leCoffre-resources.git#10eab2b6bde5cd085509b8510808477caff37a1e", + "resolved": "git+ssh://git@github.com/smart-chain-fr/leCoffre-resources.git#7768906229ee080d84687a6bad832b8c04adb355", "license": "MIT", "dependencies": { "class-transformer": "^0.5.1", @@ -4497,9 +4497,9 @@ "dev": true }, "node_modules/nodemon/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, "bin": { "semver": "bin/semver" @@ -5105,9 +5105,9 @@ } }, "node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { "semver": "bin/semver.js" diff --git a/src/app/api/admin/OfficeRolesController.ts b/src/app/api/admin/OfficeRolesController.ts index eb267dca..bd0029bd 100644 --- a/src/app/api/admin/OfficeRolesController.ts +++ b/src/app/api/admin/OfficeRolesController.ts @@ -20,7 +20,7 @@ export default class OfficeRolesController extends ApiController { /** * @description Get all officeRoles */ - @Get("/api/v1/admin/officeRoles", [authHandler, ruleHandler]) + @Get("/api/v1/admin/office-roles", [authHandler, ruleHandler]) protected async get(req: Request, response: Response) { try { //get query @@ -28,9 +28,22 @@ export default class OfficeRolesController extends ApiController { if (req.query["q"]) { query = JSON.parse(req.query["q"] as string); } + + if(req.query["search"] && typeof req.query["search"] === "string") { + const filter = req.query["search"]; + query = { + where: { + name: { + contains: filter, + mode: "insensitive", + }, + }, + } + } + const officeId: string = req.body.user.office_Id; - const officeWhereInput: Prisma.OfficesWhereInput = { uid: officeId } ; - if(!query.where) query.where = { office: officeWhereInput}; + const officeWhereInput: Prisma.OfficesWhereInput = { uid: officeId }; + if (!query.where) query.where = { office: officeWhereInput }; query.where.office = officeWhereInput; //call service to get prisma entity @@ -132,7 +145,7 @@ export default class OfficeRolesController extends ApiController { if (req.query["q"]) { query = JSON.parse(req.query["q"] as string); } - + const officeRoleEntity = await this.officeRolesService.getByUid(uid, query); if (!officeRoleEntity) { diff --git a/src/app/api/notary/OfficeRolesController.ts b/src/app/api/notary/OfficeRolesController.ts index 4d4128f0..4794336b 100644 --- a/src/app/api/notary/OfficeRolesController.ts +++ b/src/app/api/notary/OfficeRolesController.ts @@ -19,7 +19,7 @@ export default class OfficeRolesController extends ApiController { /** * @description Get all officeRoles */ - @Get("/api/v1/notary/officeRoles", [authHandler, ruleHandler]) + @Get("/api/v1/notary/office-roles", [authHandler, ruleHandler]) protected async get(req: Request, response: Response) { try { //get query diff --git a/src/app/api/super-admin/OfficeRolesController.ts b/src/app/api/super-admin/OfficeRolesController.ts index 021f05da..80d54d7e 100644 --- a/src/app/api/super-admin/OfficeRolesController.ts +++ b/src/app/api/super-admin/OfficeRolesController.ts @@ -20,7 +20,7 @@ export default class OfficeRolesController extends ApiController { /** * @description Get all officeRoles */ - @Get("/api/v1/super-admin/officeRoles", [authHandler, ruleHandler]) + @Get("/api/v1/super-admin/office-roles", [authHandler, ruleHandler]) protected async get(req: Request, response: Response) { try { //get query @@ -28,6 +28,18 @@ export default class OfficeRolesController extends ApiController { if (req.query["q"]) { query = JSON.parse(req.query["q"] as string); } + + if(req.query["search"] && typeof req.query["search"] === "string") { + const filter = req.query["search"]; + query = { + where: { + name: { + contains: filter, + mode: "insensitive", + }, + }, + } + } const officeId: string = req.body.user.office_Id; const officeWhereInput: Prisma.OfficesWhereInput = { uid: officeId } ; if(!query.where) query.where = { office: officeWhereInput}; diff --git a/src/services/admin/OfficeRolesService/OfficeRolesService.ts b/src/services/admin/OfficeRolesService/OfficeRolesService.ts index 2fb82f48..6ddbf1e5 100644 --- a/src/services/admin/OfficeRolesService/OfficeRolesService.ts +++ b/src/services/admin/OfficeRolesService/OfficeRolesService.ts @@ -11,8 +11,8 @@ export default class OfficeRolesService extends BaseService { } /** - * @description : Get all officeRoles - * @throws {Error} If officeRoles cannot be get + * @description : Get all office roles + * @throws {Error} If office roles cannot be get */ public get(query: Prisma.OfficeRolesFindManyArgs) { return this.officeRoleRepository.findMany(query); diff --git a/src/services/notary/OfficeRolesService/OfficeRolesService.ts b/src/services/notary/OfficeRolesService/OfficeRolesService.ts index 2c8f9f9e..242f92ab 100644 --- a/src/services/notary/OfficeRolesService/OfficeRolesService.ts +++ b/src/services/notary/OfficeRolesService/OfficeRolesService.ts @@ -10,8 +10,8 @@ export default class OfficeRolesService extends BaseService { } /** - * @description : Get all officeRoles - * @throws {Error} If officeRoles cannot be get + * @description : Get all office roles + * @throws {Error} If office roles cannot be get */ public get(query: Prisma.OfficeRolesFindManyArgs) { return this.officeRoleRepository.findMany(query); diff --git a/src/services/super-admin/OfficeRolesService/OfficeRolesService.ts b/src/services/super-admin/OfficeRolesService/OfficeRolesService.ts index b352b412..1dac2ba3 100644 --- a/src/services/super-admin/OfficeRolesService/OfficeRolesService.ts +++ b/src/services/super-admin/OfficeRolesService/OfficeRolesService.ts @@ -11,8 +11,8 @@ export default class OfficeRolesService extends BaseService { } /** - * @description : Get all officeRoles - * @throws {Error} If officeRoles cannot be get + * @description : Get all office roles + * @throws {Error} If office roles cannot be get */ public get(query: Prisma.OfficeRolesFindManyArgs) { return this.officeRoleRepository.findMany(query);