diff --git a/package.json b/package.json index 40b5bb7f..01c62d97 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "express": "^4.18.2", "fp-ts": "^2.16.1", "jsonwebtoken": "^9.0.0", - "le-coffre-resources": "git@github.com:smart-chain-fr/leCoffre-resources.git#v2.85", + "le-coffre-resources": "git@github.com:smart-chain-fr/leCoffre-resources.git#v2.86", "module-alias": "^2.2.2", "monocle-ts": "^2.3.13", "multer": "^1.4.5-lts.1", diff --git a/src/app/api/admin/RulesController.ts b/src/app/api/admin/RulesController.ts index 55526601..ca0e9d90 100644 --- a/src/app/api/admin/RulesController.ts +++ b/src/app/api/admin/RulesController.ts @@ -27,6 +27,11 @@ export default class RulesController extends ApiController { query = JSON.parse(req.query["q"] as string); } + query.where = { + ...query.where, + namespace: "notary", + }; + //call service to get prisma entity const rulesEntities = await this.rulesService.get(query); @@ -58,6 +63,11 @@ export default class RulesController extends ApiController { query = JSON.parse(req.query["q"] as string); } + query.where = { + ...query.where, + namespace: "notary", + }; + const ruleEntity = await this.rulesService.getByUid(uid, query); if (!ruleEntity) { diff --git a/src/app/api/notary/RulesController.ts b/src/app/api/notary/RulesController.ts index 63d29165..435a27c1 100644 --- a/src/app/api/notary/RulesController.ts +++ b/src/app/api/notary/RulesController.ts @@ -26,6 +26,10 @@ export default class RulesController extends ApiController { query = JSON.parse(req.query["q"] as string); } + query.where = { + ...query.where, + namespace: "notary", + }; //call service to get prisma entity const rulesEntities = await this.rulesService.get(query); @@ -57,6 +61,11 @@ export default class RulesController extends ApiController { query = JSON.parse(req.query["q"] as string); } + query.where = { + ...query.where, + namespace: "notary", + }; + const ruleEntity = await this.rulesService.getByUid(uid, query); if (!ruleEntity) { diff --git a/src/common/databases/migrations/20230929113629_rule_namespace/migration.sql b/src/common/databases/migrations/20230929113629_rule_namespace/migration.sql new file mode 100644 index 00000000..0eeea98b --- /dev/null +++ b/src/common/databases/migrations/20230929113629_rule_namespace/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE "rules" ADD COLUMN "namespace" VARCHAR(255) NOT NULL DEFAULT 'notary'; diff --git a/src/common/databases/schema.prisma b/src/common/databases/schema.prisma index a2120220..113f741d 100644 --- a/src/common/databases/schema.prisma +++ b/src/common/databases/schema.prisma @@ -299,7 +299,7 @@ model Rules { updated_at DateTime? @updatedAt role Roles[] @relation("RolesHasRules") office_roles OfficeRoles[] @relation("OfficeRolesHasRules") - + namespace String @db.VarChar(255) @default("notary") @@map("rules") } diff --git a/src/common/databases/seeders/seeder.ts b/src/common/databases/seeders/seeder.ts index 5429ba25..06039aed 100644 --- a/src/common/databases/seeders/seeder.ts +++ b/src/common/databases/seeders/seeder.ts @@ -527,228 +527,266 @@ export default async function main() { label: "Lecture des utilisateurs", created_at: new Date(), updated_at: new Date(), + namespace: "notary", }, { name: "GET offices", label: "Lecture des offices", created_at: new Date(), updated_at: new Date(), + namespace: "notary", }, { name: "GET customers", label: "Lecture des clients", created_at: new Date(), updated_at: new Date(), + namespace: "notary", }, { name: "GET deeds", label: "Lecture des actes", created_at: new Date(), updated_at: new Date(), + namespace: "notary", }, { name: "GET deed-types", label: "Lecture des types d'actes", created_at: new Date(), updated_at: new Date(), + namespace: "notary", }, { name: "GET documents", label: "Lecture des documents", created_at: new Date(), updated_at: new Date(), + namespace: "notary", }, { name: "GET document-types", label: "Lecture des types de documents", created_at: new Date(), updated_at: new Date(), + namespace: "notary", }, { name: "GET files", label: "Lecture des fichiers", created_at: new Date(), updated_at: new Date(), + namespace: "notary", }, { name: "GET folders", label: "Lecture des dossiers", created_at: new Date(), updated_at: new Date(), + namespace: "notary", }, { name: "GET roles", label: "Lecture utilisateurs", created_at: new Date(), updated_at: new Date(), + namespace: "notary", }, { name: "GET rules", label: "Lecture des droits", created_at: new Date(), updated_at: new Date(), + namespace: "notary", }, { name: "GET office-roles", label: "Lecture des rôles d'office", created_at: new Date(), updated_at: new Date(), + namespace: "notary", }, { name: "POST deeds", label: "Création des actes", created_at: new Date(), updated_at: new Date(), + namespace: "notary", }, { name: "PUT deeds", label: "Modification des actes", created_at: new Date(), updated_at: new Date(), + namespace: "notary", }, { name: "DELETE deeds", label: "Suppression des actes", created_at: new Date(), updated_at: new Date(), + namespace: "notary", }, { name: "POST folders", label: "Création des dossiers", created_at: new Date(), updated_at: new Date(), + namespace: "notary", }, { name: "PUT folders", label: "Modification des dossiers", created_at: new Date(), updated_at: new Date(), + namespace: "notary", }, { name: "DELETE folders", label: "Suppression des dossiers", created_at: new Date(), updated_at: new Date(), + namespace: "notary", }, { name: "POST documents", label: "Création des documents", created_at: new Date(), updated_at: new Date(), + namespace: "notary", }, { name: "PUT documents", label: "Modification des documents", created_at: new Date(), updated_at: new Date(), + namespace: "notary", }, { name: "DELETE documents", label: "Suppression des documents", created_at: new Date(), updated_at: new Date(), + namespace: "notary", }, { name: "POST customers", label: "Création des clients", created_at: new Date(), updated_at: new Date(), + namespace: "notary", }, { name: "PUT customers", label: "Modification des clients", created_at: new Date(), updated_at: new Date(), + namespace: "notary", }, { name: "DELETE customers", label: "Suppression des clients", created_at: new Date(), updated_at: new Date(), + namespace: "notary", }, { name: "POST anchors", label: "Ancrer un dossier", created_at: new Date(), updated_at: new Date(), + namespace: "notary", }, { name: "GET anchors", label: "Vérifier l'ancrage un dossier", created_at: new Date(), updated_at: new Date(), + namespace: "notary", }, { name: "POST deed-types", label: "Création des types d'actes", created_at: new Date(), updated_at: new Date(), + namespace: "admin", }, { name: "PUT deed-types", label: "Modification des types d'actes", created_at: new Date(), updated_at: new Date(), + namespace: "admin", }, { name: "DELETE deed-types", label: "Suppression des types d'actes", created_at: new Date(), updated_at: new Date(), + namespace: "admin", }, { name: "POST document-types", label: "Création des types de documents", created_at: new Date(), updated_at: new Date(), + namespace: "admin", }, { name: "PUT document-types", label: "Modification des types de documents", created_at: new Date(), updated_at: new Date(), + namespace: "admin", }, { name: "DELETE document-types", label: "Suppression des types de documents", created_at: new Date(), updated_at: new Date(), + namespace: "admin", }, { name: "POST office-roles", label: "Création des rôles d'office", created_at: new Date(), updated_at: new Date(), + namespace: "admin", }, { name: "PUT office-roles", label: "Modification des rôles d'office", created_at: new Date(), updated_at: new Date(), + namespace: "admin", }, { name: "DELETE office-roles", label: "Suppression des rôles d'office", created_at: new Date(), updated_at: new Date(), + namespace: "admin", }, { name: "DELETE office-roles", label: "Suppression des rôles d'office", created_at: new Date(), updated_at: new Date(), + namespace: "super-admin", }, { name: "PUT users", label: "Modification des utilisateurs", created_at: new Date(), updated_at: new Date(), + namespace: "super-admin", }, { name: "PUT offices", label: "Modification des offices", created_at: new Date(), updated_at: new Date(), + namespace: "super-admin", }, ]; @@ -779,7 +817,7 @@ export default async function main() { label: "Utilisateur", created_at: new Date(), updated_at: new Date(), - rules: rules.slice(0,1), + rules: rules.slice(0, 1), }, ]; @@ -1317,6 +1355,7 @@ export default async function main() { data: { name: rule.name, label: rule.label, + namespace: rule.namespace, }, }); rule.uid = ruleCreated.uid; diff --git a/src/common/repositories/RulesRepository.ts b/src/common/repositories/RulesRepository.ts index 281e505b..aa44b819 100644 --- a/src/common/repositories/RulesRepository.ts +++ b/src/common/repositories/RulesRepository.ts @@ -31,7 +31,8 @@ export default class RulesRepository extends BaseRepository { const createArgs: Prisma.RulesCreateArgs = { data: { name: rule.name, - label: rule.label + label: rule.label, + namespace: rule.namespace, }, }; @@ -48,7 +49,7 @@ export default class RulesRepository extends BaseRepository { }, data: { name: rule.name, - label: rule.label + label: rule.label, }, };