Merge branch 'staging' of github.com:smart-chain-fr/leCoffre-back into staging

This commit is contained in:
Yanis JEDRZEJCZAK 2024-04-22 11:21:43 +02:00
commit 06fca2ce52
3 changed files with 2260 additions and 55 deletions

View File

@ -29,7 +29,7 @@ export default class OfficeRolesController extends ApiController {
let query: Prisma.OfficeRolesFindManyArgs = {}; let query: Prisma.OfficeRolesFindManyArgs = {};
if (req.query["q"]) { if (req.query["q"]) {
query = JSON.parse(req.query["q"] as string); query = JSON.parse(req.query["q"] as string);
if(query.where?.uid) { if (query.where?.uid) {
this.httpBadRequest(response, "You can't filter by uid"); this.httpBadRequest(response, "You can't filter by uid");
return; return;
} }
@ -79,10 +79,7 @@ export default class OfficeRolesController extends ApiController {
where: { where: {
OR: [ OR: [
{ {
namespace: "notary", namespace: "global",
},
{
namespace: "collaborator",
}, },
], ],
}, },
@ -128,23 +125,28 @@ export default class OfficeRolesController extends ApiController {
} }
if (req.body.rules) { if (req.body.rules) {
console.log(req.body.rules);
const allRules = await this.rulesService.get({ const allRules = await this.rulesService.get({
where: { where: {
OR: [ namespace: "global",
{ },
namespace: "notary", });
},
{ const specificRules = await this.rulesService.get({
namespace: "collaborator", where: {
}, namespace: "collaborator",
],
}, },
}); });
req.body.rules = req.body.rules.filter((rule: any) => { req.body.rules = req.body.rules.filter((rule: any) => {
const ruleFound = allRules.find((r) => r.uid === rule.uid && (r.namespace === "notary" || r.namespace === "collaborator")); const ruleFound = specificRules.find(
(r) => r.uid === rule.uid && (r.namespace === "collaborator"),
);
return ruleFound; return ruleFound;
}); });
req.body.rules = req.body.rules.concat(allRules);
} }
//init IOfficeRole resource with request body values //init IOfficeRole resource with request body values
const officeRoleEntity = OfficeRole.hydrate<OfficeRole>(req.body); const officeRoleEntity = OfficeRole.hydrate<OfficeRole>(req.body);

View File

@ -527,28 +527,28 @@ export default async function main() {
label: "Lecture des utilisateurs", label: "Lecture des utilisateurs",
created_at: new Date(), created_at: new Date(),
updated_at: new Date(), updated_at: new Date(),
namespace: "collaborator", namespace: "global",
}, },
{ {
name: "GET offices", name: "GET offices",
label: "Afficher des offices", label: "Afficher des offices",
created_at: new Date(), created_at: new Date(),
updated_at: new Date(), updated_at: new Date(),
namespace: "collaborator", namespace: "global",
}, },
{ {
name: "GET customers", name: "GET customers",
label: "Afficher des clients", label: "Afficher des clients",
created_at: new Date(), created_at: new Date(),
updated_at: new Date(), updated_at: new Date(),
namespace: "collaborator", namespace: "global",
}, },
{ {
name: "GET deeds", name: "GET deeds",
label: "Voir des types d'acte", label: "Voir des types d'acte",
created_at: new Date(), created_at: new Date(),
updated_at: new Date(), updated_at: new Date(),
namespace: "collaborator", namespace: "global",
}, },
{ {
name: "GET deed-types", name: "GET deed-types",
@ -562,7 +562,7 @@ export default async function main() {
label: "Afficher des documents", label: "Afficher des documents",
created_at: new Date(), created_at: new Date(),
updated_at: new Date(), updated_at: new Date(),
namespace: "collaborator", namespace: "global",
}, },
{ {
name: "GET document-types", name: "GET document-types",
@ -576,112 +576,112 @@ export default async function main() {
label: "Lecture des fichiers", label: "Lecture des fichiers",
created_at: new Date(), created_at: new Date(),
updated_at: new Date(), updated_at: new Date(),
namespace: "collaborator", namespace: "global",
}, },
{ {
name: "GET folders", name: "GET folders",
label: "Afficher les dossiers", label: "Afficher les dossiers",
created_at: new Date(), created_at: new Date(),
updated_at: new Date(), updated_at: new Date(),
namespace: "collaborator", namespace: "global",
}, },
{ {
name: "GET roles", name: "GET roles",
label: "Afficher les rôles", label: "Afficher les rôles",
created_at: new Date(), created_at: new Date(),
updated_at: new Date(), updated_at: new Date(),
namespace: "collaborator", namespace: "global",
}, },
{ {
name: "GET rules", name: "GET rules",
label: "Afficher les droits", label: "Afficher les droits",
created_at: new Date(), created_at: new Date(),
updated_at: new Date(), updated_at: new Date(),
namespace: "collaborator", namespace: "global",
}, },
{ {
name: "GET office-roles", name: "GET office-roles",
label: "Lecture des rôles d'office", label: "Lecture des rôles d'office",
created_at: new Date(), created_at: new Date(),
updated_at: new Date(), updated_at: new Date(),
namespace: "collaborator", namespace: "global",
}, },
{ {
name: "POST deeds", name: "POST deeds",
label: "Créer un template de type d'acte", label: "Créer un template de type d'acte",
created_at: new Date(), created_at: new Date(),
updated_at: new Date(), updated_at: new Date(),
namespace: "notary", namespace: "collaborator",
}, },
{ {
name: "PUT deeds", name: "PUT deeds",
label: "Modifier un type d'acte", label: "Modifier un type d'acte",
created_at: new Date(), created_at: new Date(),
updated_at: new Date(), updated_at: new Date(),
namespace: "notary", namespace: "collaborator",
}, },
{ {
name: "DELETE deeds", name: "DELETE deeds",
label: "Supprimer des types d'actes", label: "Supprimer des types d'actes",
created_at: new Date(), created_at: new Date(),
updated_at: new Date(), updated_at: new Date(),
namespace: "notary", namespace: "collaborator",
}, },
{ {
name: "POST folders", name: "POST folders",
label: "Créer un dossier", label: "Créer un dossier",
created_at: new Date(), created_at: new Date(),
updated_at: new Date(), updated_at: new Date(),
namespace: "notary", namespace: "global",
}, },
{ {
name: "PUT folders", name: "PUT folders",
label: "Modifier des dossiers", label: "Modifier des dossiers",
created_at: new Date(), created_at: new Date(),
updated_at: new Date(), updated_at: new Date(),
namespace: "notary", namespace: "global",
}, },
{ {
name: "DELETE folders", name: "DELETE folders",
label: "Supprimer un dossier vide", label: "Supprimer un dossier vide",
created_at: new Date(), created_at: new Date(),
updated_at: new Date(), updated_at: new Date(),
namespace: "notary", namespace: "global",
}, },
{ {
name: "POST documents", name: "POST documents",
label: "Demander des documents à un client", label: "Demander des documents à un client",
created_at: new Date(), created_at: new Date(),
updated_at: new Date(), updated_at: new Date(),
namespace: "notary", namespace: "global",
}, },
{ {
name: "PUT documents", name: "PUT documents",
label: "Valider des documents", label: "Valider des documents",
created_at: new Date(), created_at: new Date(),
updated_at: new Date(), updated_at: new Date(),
namespace: "notary", namespace: "global",
}, },
{ {
name: "DELETE documents", name: "DELETE documents",
label: "Supprimer un document demandé", label: "Supprimer un document demandé",
created_at: new Date(), created_at: new Date(),
updated_at: new Date(), updated_at: new Date(),
namespace: "notary", namespace: "global",
}, },
{ {
name: "POST customers", name: "POST customers",
label: "Créer des clients", label: "Créer des clients",
created_at: new Date(), created_at: new Date(),
updated_at: new Date(), updated_at: new Date(),
namespace: "notary", namespace: "global",
}, },
{ {
name: "PUT customers", name: "PUT customers",
label: "Modifier des clients", label: "Modifier des clients",
created_at: new Date(), created_at: new Date(),
updated_at: new Date(), updated_at: new Date(),
namespace: "notary", namespace: "global",
}, },
{ {
name: "DELETE customers", name: "DELETE customers",
@ -695,56 +695,56 @@ export default async function main() {
label: "Ancrer un dossier", label: "Ancrer un dossier",
created_at: new Date(), created_at: new Date(),
updated_at: new Date(), updated_at: new Date(),
namespace: "notary", namespace: "global",
}, },
{ {
name: "GET anchors", name: "GET anchors",
label: "Vérifier l'ancrage un dossier", label: "Vérifier l'ancrage un dossier",
created_at: new Date(), created_at: new Date(),
updated_at: new Date(), updated_at: new Date(),
namespace: "notary", namespace: "global",
}, },
{ {
name: "POST deed-types", name: "POST deed-types",
label: "Création des types d'actes", label: "Création des types d'actes",
created_at: new Date(), created_at: new Date(),
updated_at: new Date(), updated_at: new Date(),
namespace: "admin", namespace: "collaborator",
}, },
{ {
name: "PUT deed-types", name: "PUT deed-types",
label: "Modification des types d'actes", label: "Modification des types d'actes",
created_at: new Date(), created_at: new Date(),
updated_at: new Date(), updated_at: new Date(),
namespace: "admin", namespace: "collaborator",
}, },
{ {
name: "DELETE deed-types", name: "DELETE deed-types",
label: "Suppression des types d'actes", label: "Suppression des types d'actes",
created_at: new Date(), created_at: new Date(),
updated_at: new Date(), updated_at: new Date(),
namespace: "admin", namespace: "collaborator",
}, },
{ {
name: "POST document-types", name: "POST document-types",
label: "Création des types de documents", label: "Création des types de documents",
created_at: new Date(), created_at: new Date(),
updated_at: new Date(), updated_at: new Date(),
namespace: "admin", namespace: "collaborator",
}, },
{ {
name: "PUT document-types", name: "PUT document-types",
label: "Modification des types de documents", label: "Modification des types de documents",
created_at: new Date(), created_at: new Date(),
updated_at: new Date(), updated_at: new Date(),
namespace: "admin", namespace: "collaborator",
}, },
{ {
name: "DELETE document-types", name: "DELETE document-types",
label: "Suppression des types de documents", label: "Suppression des types de documents",
created_at: new Date(), created_at: new Date(),
updated_at: new Date(), updated_at: new Date(),
namespace: "admin", namespace: "collaborator",
}, },
{ {
name: "POST office-roles", name: "POST office-roles",
@ -793,63 +793,63 @@ export default async function main() {
label: "Editer le RIB de l'office", label: "Editer le RIB de l'office",
created_at: new Date(), created_at: new Date(),
updated_at: new Date(), updated_at: new Date(),
namespace: "notary", namespace: "collaborator",
}, },
{ {
name: "GET rib", name: "GET rib",
label: "Lire le RIB de l'office", label: "Lire le RIB de l'office",
created_at: new Date(), created_at: new Date(),
updated_at: new Date(), updated_at: new Date(),
namespace: "notary", namespace: "collaborator",
}, },
{ {
name: "POST rib", name: "POST rib",
label: "Déposer le RIB de l'office", label: "Déposer le RIB de l'office",
created_at: new Date(), created_at: new Date(),
updated_at: new Date(), updated_at: new Date(),
namespace: "notary", namespace: "collaborator",
}, },
{ {
name: "DELETE rib", name: "DELETE rib",
label: "Supprimer le RIB de l'office", label: "Supprimer le RIB de l'office",
created_at: new Date(), created_at: new Date(),
updated_at: new Date(), updated_at: new Date(),
namespace: "notary", namespace: "collaborator",
}, },
{ {
name: "GET subscriptions", name: "GET subscriptions",
label: "Récupérer les abonnements", label: "Récupérer les abonnements",
created_at: new Date(), created_at: new Date(),
updated_at: new Date(), updated_at: new Date(),
namespace: "notary", namespace: "collaborator",
}, },
{ {
name: "POST subscriptions", name: "POST subscriptions",
label: "Inviter un collaborateur à l'abonnement", label: "Inviter un collaborateur à l'abonnement",
created_at: new Date(), created_at: new Date(),
updated_at: new Date(), updated_at: new Date(),
namespace: "notary", namespace: "collaborator",
}, },
{ {
name: "PUT subscriptions", name: "PUT subscriptions",
label: "Modifier l'abonnement", label: "Modifier l'abonnement",
created_at: new Date(), created_at: new Date(),
updated_at: new Date(), updated_at: new Date(),
namespace: "notary", namespace: "collaborator",
}, },
{ {
name: "GET stripe", name: "GET stripe",
label: "Gérer l'abonnement de l'office", label: "Gérer l'abonnement de l'office",
created_at: new Date(), created_at: new Date(),
updated_at: new Date(), updated_at: new Date(),
namespace: "notary", namespace: "collaborator",
}, },
{ {
name: "POST stripe", name: "POST stripe",
label: "Payer un abonnement", label: "Payer un abonnement",
created_at: new Date(), created_at: new Date(),
updated_at: new Date(), updated_at: new Date(),
namespace: "notary", namespace: "collaborator",
}, },
]; ];
@ -862,6 +862,14 @@ export default async function main() {
"POST deeds", "POST deeds",
"PUT deeds", "PUT deeds",
"DELETE deeds", "DELETE deeds",
"GET document-types",
"DELETE deed-types",
"PUT deed-types",
"DELETE document-types",
"GET deed-types",
"POST document-types",
"POST deed-types",
"PUT document-types",
] ]
}, },
{ {
@ -891,7 +899,8 @@ export default async function main() {
const collaboratorRules = rules.filter((rule) => rule.namespace === "collaborator"); const collaboratorRules = rules.filter((rule) => rule.namespace === "collaborator");
const notaryRules = [...collaboratorRules, ...rules.filter((rule) => rule.namespace === "notary")]; const notaryRules = [...collaboratorRules, ...rules.filter((rule) => rule.namespace === "notary")];
const adminRules = [...notaryRules, ...rules.filter((rule) => rule.namespace === "admin")]; const globalRules = [...notaryRules, ...rules.filter((rule) => rule.namespace === "global")];
const adminRules = [...globalRules, ...rules.filter((rule) => rule.namespace === "admin")];
const superAdminRules = [...adminRules, ...rules.filter((rule) => rule.namespace === "super-admin")]; const superAdminRules = [...adminRules, ...rules.filter((rule) => rule.namespace === "super-admin")];
const roles: Role[] = [ const roles: Role[] = [
@ -931,14 +940,14 @@ export default async function main() {
created_at: new Date(), created_at: new Date(),
updated_at: new Date(), updated_at: new Date(),
office: offices[0]!, office: offices[0]!,
rules: notaryRules, rules: globalRules,
}, },
{ {
name: "Collaborateur", name: "Collaborateur",
created_at: new Date(), created_at: new Date(),
updated_at: new Date(), updated_at: new Date(),
office: offices[0]!, office: offices[0]!,
rules: notaryRules, rules: globalRules,
}, },
]; ];

File diff suppressed because it is too large Load Diff