diff --git a/package.json b/package.json index 006d18da..688f4c6c 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,7 @@ "file-type-checker": "^1.0.8", "fp-ts": "^2.16.1", "jsonwebtoken": "^9.0.0", - "le-coffre-resources": "git@github.com:smart-chain-fr/leCoffre-resources.git#v2.136", + "le-coffre-resources": "git@github.com:smart-chain-fr/leCoffre-resources.git#v2.139", "module-alias": "^2.2.2", "monocle-ts": "^2.3.13", "multer": "^1.4.5-lts.1", diff --git a/src/app/api/customer/AuthController.ts b/src/app/api/customer/AuthController.ts index cbcdf01f..175806a8 100644 --- a/src/app/api/customer/AuthController.ts +++ b/src/app/api/customer/AuthController.ts @@ -139,7 +139,7 @@ export default class AuthController extends ApiController { return; } - const passwordRegex = new RegExp(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[A-Za-z\d@$!%*?&]{8,}$/); + const passwordRegex = new RegExp(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[A-Za-z\d@$!%*?&_\\-]{8,}$/); if (!passwordRegex.test(password)) { this.httpBadRequest(response, "Password must contain at least 8 characters, 1 uppercase, 1 lowercase and 1 number"); return; diff --git a/src/app/api/customer/OfficeFoldersController.ts b/src/app/api/customer/OfficeFoldersController.ts index a3bfd8fe..a90a5876 100644 --- a/src/app/api/customer/OfficeFoldersController.ts +++ b/src/app/api/customer/OfficeFoldersController.ts @@ -5,6 +5,7 @@ import OfficeFoldersService from "@Services/customer/OfficeFoldersService/Office import { Service } from "typedi"; import { OfficeFolders, Prisma } from "@prisma/client"; import { OfficeFolder } from "le-coffre-resources/dist/Customer"; +import { OfficeFolder as OfficeFolderNotary } from "le-coffre-resources/dist/Notary"; import officeFolderHandler from "@App/middlewares/CustomerHandler/FolderHandler"; import authHandler from "@App/middlewares/AuthHandler"; @@ -94,7 +95,7 @@ export default class OfficeFoldersController extends ApiController { } //Hydrate ressource with prisma entity - const officeFolder = OfficeFolder.hydrate(officeFolderEntity, { strategy: "excludeAll" }); + const officeFolder = OfficeFolderNotary.hydrate(officeFolderEntity, { strategy: "excludeAll" }); if(officeFolder.customers) { officeFolder.customers = officeFolder.customers!.filter((customer) => customer.contact?.email === email); diff --git a/src/app/api/notary/CustomersController.ts b/src/app/api/notary/CustomersController.ts index 9de0192c..83d3d1c9 100644 --- a/src/app/api/notary/CustomersController.ts +++ b/src/app/api/notary/CustomersController.ts @@ -34,8 +34,8 @@ export default class CustomersController extends ApiController { } const officeId: string = req.body.user.office_Id; - if (query.where?.office_folders) delete query.where.office_folders; - const customerWhereInput: Prisma.CustomersWhereInput = { ...query.where, office_folders: { some: { office_uid: officeId } } }; + if (query.where?.office) delete query.where.office; + const customerWhereInput: Prisma.CustomersWhereInput = { ...query.where, office: { uid: officeId } }; query.where = customerWhereInput; //call service to get prisma entity @@ -60,6 +60,8 @@ export default class CustomersController extends ApiController { try { //init IUser resource with request body values const customerEntity = Customer.hydrate(req.body); + const officeId: string = req.body.user.office_Id; + customerEntity.office = { uid: officeId } as any; //validate user try { await validateOrReject(customerEntity, { groups: ["createCustomer"], forbidUnknownValues: false }); diff --git a/src/app/api/notary/UserNotificationController.ts b/src/app/api/notary/UserNotificationController.ts index 6d5d3074..5d1029af 100644 --- a/src/app/api/notary/UserNotificationController.ts +++ b/src/app/api/notary/UserNotificationController.ts @@ -33,6 +33,7 @@ export default class UserNotificationController extends ApiController { const userId: string = req.body.user.userId; if(query.where?.user_uid) delete query.where.user_uid; if(query.where?.user?.uid) delete query.where.user.uid; + query.orderBy = { notification : { created_at: "asc" }}; const notificationWhereInput: Prisma.UserNotificationsWhereInput = { ...query.where, user_uid: userId }; query.where = notificationWhereInput; diff --git a/src/common/databases/migrations/20240527091523_office_customer_relation_migration/migration.sql b/src/common/databases/migrations/20240527091523_office_customer_relation_migration/migration.sql new file mode 100644 index 00000000..7fb62691 --- /dev/null +++ b/src/common/databases/migrations/20240527091523_office_customer_relation_migration/migration.sql @@ -0,0 +1,78 @@ +-- -- Add the office_uid column +-- ALTER TABLE customers +-- ADD COLUMN office_uid VARCHAR(255); + +-- -- Set the office_uid for existing rows +-- UPDATE customers +-- SET office_uid = ( +-- SELECT uid +-- FROM offices +-- WHERE "idNot" = '0000' +-- ); + +-- -- Create a temporary table to store the mapping +-- CREATE TEMPORARY TABLE customer_office_update AS +-- SELECT c.uid AS customer_uid, of.office_uid +-- FROM customers c +-- JOIN "_OfficeFolderHasCustomers" ofhc ON c.uid = ofhc."A" +-- JOIN office_folders of ON ofhc."B" = of.uid; + +-- -- Update customers with the corresponding office_uid +-- UPDATE customers +-- SET office_uid = ( +-- SELECT office_uid +-- FROM customer_office_update +-- WHERE customer_office_update.customer_uid = customers.uid +-- ); + +-- -- Drop the temporary table +-- DROP TABLE customer_office_update; + +-- -- Alter the column to be NOT NULL +-- ALTER TABLE customers +-- ALTER COLUMN office_uid SET NOT NULL; + +-- -- Add the foreign key constraint +-- ALTER TABLE customers +-- ADD CONSTRAINT customers_office_uid_fkey +-- FOREIGN KEY (office_uid) REFERENCES offices(uid) +-- ON DELETE CASCADE; + +-- Add the office_uid column to the customers table +ALTER TABLE customers +ADD COLUMN office_uid VARCHAR(255); + +-- Create a temporary table to store the mapping +CREATE TEMPORARY TABLE customer_office_update AS +SELECT c.uid AS customer_uid, of.office_uid +FROM customers c +JOIN "_OfficeFolderHasCustomers" ofhc ON c.uid = ofhc."A" +JOIN office_folders of ON ofhc."B" = of.uid; + +-- Update customers with the corresponding office_uid where a mapping exists +UPDATE customers +SET office_uid = customer_office_update.office_uid +FROM customer_office_update +WHERE customers.uid = customer_office_update.customer_uid; + +-- Drop the temporary table +DROP TABLE customer_office_update; + +-- Set the office_uid for customers not linked to any office_folder based on the office with "idNot" = '0000' +UPDATE customers +SET office_uid = ( + SELECT uid + FROM offices + WHERE "idNot" = '0000' +) +WHERE office_uid IS NULL; + +-- Alter the column to be NOT NULL +ALTER TABLE customers +ALTER COLUMN office_uid SET NOT NULL; + +-- Add the foreign key constraint +ALTER TABLE customers +ADD CONSTRAINT customers_office_uid_fkey +FOREIGN KEY (office_uid) REFERENCES offices(uid) +ON DELETE CASCADE; \ No newline at end of file diff --git a/src/common/databases/migrations/20240527144510_test/migration.sql b/src/common/databases/migrations/20240527144510_test/migration.sql new file mode 100644 index 00000000..643339d8 --- /dev/null +++ b/src/common/databases/migrations/20240527144510_test/migration.sql @@ -0,0 +1,5 @@ +-- DropForeignKey +ALTER TABLE "customers" DROP CONSTRAINT "customers_office_uid_fkey"; + +-- AddForeignKey +ALTER TABLE "customers" ADD CONSTRAINT "customers_office_uid_fkey" FOREIGN KEY ("office_uid") REFERENCES "offices"("uid") ON DELETE CASCADE ON UPDATE CASCADE; diff --git a/src/common/databases/schema.prisma b/src/common/databases/schema.prisma index 3d813215..e42133a9 100644 --- a/src/common/databases/schema.prisma +++ b/src/common/databases/schema.prisma @@ -110,6 +110,7 @@ model Offices { document_types DocumentTypes[] office_roles OfficeRoles[] subscriptions Subscriptions[] + customers Customers[] @@map("offices") } @@ -125,6 +126,8 @@ model Customers { documents Documents[] password String? @db.VarChar(255) totpCodes TotpCodes[] + office Offices @relation(fields: [office_uid], references: [uid], onDelete: Cascade) + office_uid String @db.VarChar(255) @@map("customers") } diff --git a/src/common/databases/seeders/oldSeeder.ts b/src/common/databases/seeders/oldSeeder.ts new file mode 100644 index 00000000..9734e4aa --- /dev/null +++ b/src/common/databases/seeders/oldSeeder.ts @@ -0,0 +1,2187 @@ +// import { ECivility, ECustomerStatus, EFolderStatus, EOfficeStatus, Prisma, PrismaClient } from "@prisma/client"; +// import User, { +// Address, +// Contact, +// Customer, +// Deed, +// DeedType, +// DocumentType, +// Office, +// OfficeFolder, +// OfficeRole, +// Role, +// Rule, +// } from "le-coffre-resources/dist/SuperAdmin"; + +import "module-alias/register"; + +export default async function main() { + // try { + // const prisma = new PrismaClient(); + + // const idNot3 = "rleenrenlnr"; + // const idNot4 = "ljfeflecnmd"; + // const idNot5 = "rflrefrjf"; + // const idNot6 = "er3ojfdlfnd"; + + // const addresses: Address[] = [ + // { + // address: "template", + // city: "template", + // zip_code: 0o00, + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // address: "Rue Pierre Emillion", + // city: "Pacé", + // zip_code: 35740, + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // address: "Rue Pierre Charles", + // city: "Rennes", + // zip_code: 35000, + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // address: "Rue Pierre Pologne", + // city: "Rennes", + // zip_code: 35000, + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // address: "Rue Pierre Marcel", + // city: "Rennes", + // zip_code: 35000, + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // address: "Rue Pierre Jacques", + // city: "Rennes", + // zip_code: 35000, + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // address: "Rue Pierre Pascal", + // city: "Rennes", + // zip_code: 35000, + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // address: "Rue Maxime Henry", + // city: "Rennes", + // zip_code: 35000, + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // address: "Rue Maxime Francis", + // city: "Rennes", + // zip_code: 35000, + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // address: "Avenue Paul Roger", + // city: "Rennes", + // zip_code: 35000, + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // address: "Avenue Paul Franck", + // city: "Rennes", + // zip_code: 35000, + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // address: "Avenue Paul Maréchal", + // city: "Rennes", + // zip_code: 35000, + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // address: "Avenue Marcel Denis", + // city: "Rennes", + // zip_code: 35000, + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // address: "Place Alexandre", + // city: "Rennes", + // zip_code: 35000, + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // address: "Place Alexandre Jacques", + // city: "Rennes", + // zip_code: 35000, + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // address: "Place Alexandre 2", + // city: "Rennes", + // zip_code: 35000, + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // address: "Rue du livre", + // city: "Rennes", + // zip_code: 35000, + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // address: "Place de la joie", + // city: "Rennes", + // zip_code: 35000, + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // address: "Rue Paul Henry", + // city: "Rennes", + // zip_code: 35000, + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // address: "Rue Marcelin", + // city: "Rennes", + // zip_code: 35000, + // created_at: new Date(), + // updated_at: new Date(), + // }, + // ]; + + // const contacts: Contact[] = [ + // { + // address: addresses[0], + // first_name: "Angela", + // last_name: "Dubois", + // email: "angela.dubois@gmail.com", + // phone_number: "+33785186013", + // cell_phone_number: "+33785186013", + // birthdate: null, + // created_at: new Date(), + // updated_at: new Date(), + // civility: ECivility.FEMALE, + // }, + // { + // address: addresses[1], + // first_name: "Maxime", + // last_name: "Lalo", + // email: "maxime.lalo@smart-chain.fr", + // phone_number: "+33785186013", + // cell_phone_number: "+33785186013", + // birthdate: null, + // created_at: new Date(), + // updated_at: new Date(), + // civility: ECivility.MALE, + // }, + // { + // address: addresses[2], + // first_name: "Vincent", + // last_name: "Alamelle", + // email: "vincent.alamelle@smart-chain.fr", + // phone_number: "+33785186013", + // cell_phone_number: "+33785186013", + // birthdate: null, + // created_at: new Date(), + // updated_at: new Date(), + // civility: ECivility.MALE, + // }, + // { + // address: addresses[3], + // first_name: "Melissa", + // last_name: "Desde", + // email: "melissa.desde@smart-chain.fr", + // phone_number: "+33785186013", + // cell_phone_number: "+33785186013", + // birthdate: null, + // created_at: new Date(), + // updated_at: new Date(), + // civility: ECivility.FEMALE, + // }, + // { + // address: addresses[4], + // first_name: "Maxime", + // last_name: "Leroy", + // email: "maxime.leroy@hotmail.fr", + // phone_number: "+33785186013", + // cell_phone_number: "+33785186013", + // birthdate: null, + // created_at: new Date(), + // updated_at: new Date(), + // civility: ECivility.MALE, + // }, + // { + // address: addresses[5], + // first_name: "Paul", + // last_name: "Dupont", + // email: "paul.dupont@outlook.com", + // phone_number: "+33785186013", + // cell_phone_number: "+33785186013", + // birthdate: null, + // created_at: new Date(), + // updated_at: new Date(), + // civility: ECivility.MALE, + // }, + // { + // address: addresses[6], + // first_name: "Jean", + // last_name: "Dubignot", + // email: "jean.dubignot@gmail.com", + // phone_number: "+33785186013", + // cell_phone_number: "+33785186013", + // birthdate: null, + // created_at: new Date(), + // updated_at: new Date(), + // civility: ECivility.FEMALE, + // }, + // { + // address: addresses[7], + // first_name: "Vincent", + // last_name: "Martin", + // email: "vincent.martin@gmail.com", + // phone_number: "+33785186013", + // cell_phone_number: "+33785186013", + // birthdate: null, + // created_at: new Date(), + // updated_at: new Date(), + // civility: ECivility.MALE, + // }, + // { + // address: addresses[8], + // first_name: "Lucie", + // last_name: "Chevalier", + // email: "lucie.chevalier@outlook.com", + // phone_number: "+33785186013", + // cell_phone_number: "+33785186013", + // birthdate: null, + // created_at: new Date(), + // updated_at: new Date(), + // civility: ECivility.FEMALE, + // }, + // { + // address: addresses[9], + // first_name: "Sébastien", + // last_name: "Dubois", + // email: "sebastien.dubois@gmail.com", + // phone_number: "+33785186013", + // cell_phone_number: "+33785186013", + // birthdate: null, + // created_at: new Date(), + // updated_at: new Date(), + // civility: ECivility.MALE, + // }, + // { + // address: addresses[10], + // first_name: "Mathilde", + // last_name: "Durand", + // email: "mathilde.durand@gmail.com", + // phone_number: "+33785186013", + // cell_phone_number: "+33785186013", + // birthdate: null, + // created_at: new Date(), + // updated_at: new Date(), + // civility: ECivility.FEMALE, + // }, + // { + // address: addresses[11], + // first_name: "Antoine", + // last_name: "Bernard", + // email: "antoine.bernard@outlook.com", + // phone_number: "+33785186013", + // cell_phone_number: "+33785186013", + // birthdate: null, + // created_at: new Date(), + // updated_at: new Date(), + // civility: ECivility.MALE, + // }, + // { + // address: addresses[12], + // first_name: "Camille", + // last_name: "Laurent", + // email: "camille.laurent@gmail.com", + // phone_number: "+33785186013", + // cell_phone_number: "+33785186013", + // birthdate: null, + // created_at: new Date(), + // updated_at: new Date(), + // civility: ECivility.FEMALE, + // }, + // { + // address: addresses[13], + // first_name: "Julien", + // last_name: "Mercier", + // email: "julien.mercier@hotmail.fr", + // phone_number: "+33785186013", + // cell_phone_number: "+33785186013", + // birthdate: null, + // created_at: new Date(), + // updated_at: new Date(), + // civility: ECivility.MALE, + // }, + // { + // address: addresses[14], + // first_name: "Charlotte", + // last_name: "Lefebvre", + // email: "charlotte.lefebvre@gmail.com", + // phone_number: "+33785186013", + // cell_phone_number: "+33785186013", + // birthdate: null, + // created_at: new Date(), + // updated_at: new Date(), + // civility: ECivility.FEMALE, + // }, + // { + // address: addresses[15], + // first_name: "Caroline", + // last_name: "Pallut", + // email: "caroline.pallut@gmail.com", + // phone_number: "+33785186013", + // cell_phone_number: "+33785186013", + // birthdate: null, + // created_at: new Date(), + // updated_at: new Date(), + // civility: ECivility.FEMALE, + // }, + // { + // address: addresses[16], + // first_name: "Nadège", + // last_name: "Gauchet", + // email: "nedege.gauchet@outlook.com", + // phone_number: "+33785186013", + // cell_phone_number: "+33785186013", + // birthdate: null, + // created_at: new Date(), + // updated_at: new Date(), + // civility: ECivility.FEMALE, + // }, + // { + // address: addresses[17], + // first_name: "Matthieu", + // last_name: "Bougeard", + // email: "matthieu.bougeard@gmail.com", + // phone_number: "+33785186013", + // cell_phone_number: "+33785186013", + // birthdate: null, + // created_at: new Date(), + // updated_at: new Date(), + // civility: ECivility.MALE, + // }, + // { + // address: addresses[18], + // first_name: "Cécile", + // last_name: "Celton", + // email: "cecile.celton@outlook.com", + // phone_number: "+33785186013", + // cell_phone_number: "+33785186013", + // birthdate: null, + // created_at: new Date(), + // updated_at: new Date(), + // civility: ECivility.FEMALE, + // }, + // { + // address: addresses[19], + // first_name: "Gwendal", + // last_name: "Texier", + // email: "gwendal.texier@gmail.com", + // phone_number: "+33785186013", + // cell_phone_number: "+33785186013", + // birthdate: null, + // created_at: new Date(), + // updated_at: new Date(), + // civility: ECivility.MALE, + // }, + // ]; + + // const offices: Office[] = [ + // { + // idNot: "0000", + // name: "Office Template", + // crpcen: "0000", + // address: addresses[0], + // created_at: new Date(), + // updated_at: new Date(), + // office_status: EOfficeStatus.ACTIVATED, + // }, + // ]; + + // const customers: Customer[] = [ + // { + // contact: contacts[0], + // created_at: new Date(), + // updated_at: new Date(), + // status: ECustomerStatus.PENDING, + // }, + // { + // contact: contacts[5], + // created_at: new Date(), + // updated_at: new Date(), + // status: ECustomerStatus.PENDING, + // }, + // { + // contact: contacts[6], + // created_at: new Date(), + // updated_at: new Date(), + // status: ECustomerStatus.PENDING, + // }, + // { + // contact: contacts[7], + // created_at: new Date(), + // updated_at: new Date(), + // status: ECustomerStatus.PENDING, + // }, + // { + // contact: contacts[8], + // created_at: new Date(), + // updated_at: new Date(), + // status: ECustomerStatus.PENDING, + // }, + // { + // contact: contacts[9], + // created_at: new Date(), + // updated_at: new Date(), + // status: ECustomerStatus.PENDING, + // }, + // { + // contact: contacts[10], + // created_at: new Date(), + // updated_at: new Date(), + // status: ECustomerStatus.PENDING, + // }, + // { + // contact: contacts[11], + // created_at: new Date(), + // updated_at: new Date(), + // status: ECustomerStatus.PENDING, + // }, + // { + // contact: contacts[12], + // created_at: new Date(), + // updated_at: new Date(), + // status: ECustomerStatus.PENDING, + // }, + // { + // contact: contacts[13], + // created_at: new Date(), + // updated_at: new Date(), + // status: ECustomerStatus.PENDING, + // }, + // { + // contact: contacts[14], + // created_at: new Date(), + // updated_at: new Date(), + // status: ECustomerStatus.PENDING, + // }, + // { + // contact: contacts[15], + // created_at: new Date(), + // updated_at: new Date(), + // status: ECustomerStatus.PENDING, + // }, + // { + // contact: contacts[16], + // created_at: new Date(), + // updated_at: new Date(), + // status: ECustomerStatus.PENDING, + // }, + // { + // contact: contacts[17], + // created_at: new Date(), + // updated_at: new Date(), + // status: ECustomerStatus.PENDING, + // }, + // { + // contact: contacts[18], + // created_at: new Date(), + // updated_at: new Date(), + // status: ECustomerStatus.PENDING, + // }, + // { + // contact: contacts[19], + // created_at: new Date(), + // updated_at: new Date(), + // status: ECustomerStatus.PENDING, + // }, + // ]; + + // const rules: Rule[] = [ + // { + // name: "GET users", + // label: "Lecture des utilisateurs", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "global", + // }, + // { + // name: "GET offices", + // label: "Afficher des offices", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "global", + // }, + // { + // name: "GET customers", + // label: "Afficher des clients", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "global", + // }, + // { + // name: "GET deeds", + // label: "Voir des types d'acte", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "global", + // }, + // { + // name: "GET deed-types", + // label: "Lecture des types d'actes", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "collaborator", + // }, + // { + // name: "GET documents", + // label: "Afficher des documents", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "global", + // }, + // { + // name: "GET document-types", + // label: "Lecture des types de documents", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "collaborator", + // }, + // { + // name: "GET files", + // label: "Lecture des fichiers", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "global", + // }, + // { + // name: "GET folders", + // label: "Afficher les dossiers", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "global", + // }, + // { + // name: "GET roles", + // label: "Afficher les rôles", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "global", + // }, + // { + // name: "GET rules", + // label: "Afficher les droits", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "global", + // }, + // { + // name: "GET office-roles", + // label: "Lecture des rôles d'office", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "global", + // }, + // { + // name: "POST deeds", + // label: "Créer un template de type d'acte", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "collaborator", + // }, + // { + // name: "PUT deeds", + // label: "Modifier un type d'acte", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "collaborator", + // }, + // { + // name: "DELETE deeds", + // label: "Supprimer des types d'actes", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "collaborator", + // }, + // { + // name: "POST folders", + // label: "Créer un dossier", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "global", + // }, + // { + // name: "PUT folders", + // label: "Modifier des dossiers", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "global", + // }, + // { + // name: "DELETE folders", + // label: "Supprimer un dossier vide", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "global", + // }, + // { + // name: "POST documents", + // label: "Demander des documents à un client", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "global", + // }, + // { + // name: "PUT documents", + // label: "Valider des documents", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "global", + // }, + // { + // name: "DELETE documents", + // label: "Supprimer un document demandé", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "global", + // }, + // { + // name: "POST customers", + // label: "Créer des clients", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "global", + // }, + // { + // name: "PUT customers", + // label: "Modifier des clients", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "global", + // }, + // { + // name: "DELETE customers", + // label: "Supprimer un client", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "super-admin", + // }, + // { + // name: "POST anchors", + // label: "Ancrer un dossier", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "global", + // }, + // { + // name: "GET anchors", + // label: "Vérifier l'ancrage un dossier", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "global", + // }, + // { + // name: "POST deed-types", + // label: "Création des types d'actes", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "collaborator", + // }, + // { + // name: "PUT deed-types", + // label: "Modification des types d'actes", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "collaborator", + // }, + // { + // name: "DELETE deed-types", + // label: "Suppression des types d'actes", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "collaborator", + // }, + // { + // name: "POST document-types", + // label: "Création des types de documents", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "collaborator", + // }, + // { + // name: "PUT document-types", + // label: "Modification des types de documents", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "collaborator", + // }, + // { + // name: "DELETE document-types", + // label: "Suppression des types de documents", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "collaborator", + // }, + // { + // 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: "PUT users", + // label: "Modification des utilisateurs", + // 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 offices", + // label: "Modification des offices", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "super-admin", + // }, + // { + // name: "PUT rib", + // label: "Editer le RIB de l'office", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "collaborator", + // }, + // { + // name: "GET rib", + // label: "Lire le RIB de l'office", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "collaborator", + // }, + // { + // name: "POST rib", + // label: "Déposer le RIB de l'office", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "collaborator", + // }, + // { + // name: "DELETE rib", + // label: "Supprimer le RIB de l'office", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "collaborator", + // }, + // { + // name: "GET subscriptions", + // label: "Récupérer les abonnements", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "collaborator", + // }, + // { + // name: "POST subscriptions", + // label: "Inviter un collaborateur à l'abonnement", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "collaborator", + // }, + // { + // name: "PUT subscriptions", + // label: "Modifier l'abonnement", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "collaborator", + // }, + // { + // name: "GET stripe", + // label: "Gérer l'abonnement de l'office", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "collaborator", + // }, + // { + // name: "POST stripe", + // label: "Payer un abonnement", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "collaborator", + // }, + // ]; + + // const rulesGroups = [ + // { + // name: "Gestion des matrices d'actes et des documents", + // created_at: new Date(), + // updated_at: new Date(), + // rules: [ + // "POST deeds", + // "PUT 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", + // ], + // }, + // { + // name: "Gestion de l'abonnement", + // uid: "94343601-04c8-44ef-afb9-3047597528a9", + // created_at: new Date(), + // updated_at: new Date(), + // rules: ["GET subscriptions", "POST subscriptions", "PUT subscriptions", "GET stripe", "POST stripe"], + // }, + // { + // name: "Intégration du RIB", + // created_at: new Date(), + // updated_at: new Date(), + // rules: ["PUT rib", "GET rib", "POST rib", "DELETE rib"], + // }, + // ]; + + // const collaboratorRules = rules.filter((rule) => rule.namespace === "collaborator"); + // const notaryRules = [...collaboratorRules, ...rules.filter((rule) => rule.namespace === "notary")]; + // 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 roles: Role[] = [ + // { + // name: "super-admin", + // label: "Super administrateur", + // created_at: new Date(), + // updated_at: new Date(), + // rules: superAdminRules, + // }, + // { + // name: "admin", + // label: "Administrateur", + // created_at: new Date(), + // updated_at: new Date(), + // rules: adminRules, + // }, + // { + // name: "notary", + // label: "Notaire", + // created_at: new Date(), + // updated_at: new Date(), + // rules: [], + // }, + // { + // name: "default", + // label: "Utilisateur", + // created_at: new Date(), + // updated_at: new Date(), + // rules: [], + // }, + // ]; + + // const officeRoles: OfficeRole[] = [ + // { + // name: "Notaire", + // created_at: new Date(), + // updated_at: new Date(), + // office: offices[0]!, + // rules: globalRules, + // }, + // { + // name: "Collaborateur", + // created_at: new Date(), + // updated_at: new Date(), + // office: offices[0]!, + // rules: globalRules, + // }, + // ]; + + // const users: User[] = [ + // { + // created_at: new Date(), + // updated_at: new Date(), + // idNot: idNot3, + // contact: contacts[1], + // office_membership: offices[0], + // role: roles[1], + // }, + // { + // created_at: new Date(), + // updated_at: new Date(), + // idNot: idNot4, + // contact: contacts[2], + // office_membership: offices[0], + // role: roles[2], + // office_role: officeRoles[2], + // }, + // { + // created_at: new Date(), + // updated_at: new Date(), + // idNot: idNot5, + // contact: contacts[3], + // office_membership: offices[0], + // role: roles[1], + // office_role: officeRoles[3], + // }, + // { + // created_at: new Date(), + // updated_at: new Date(), + // idNot: idNot6, + // contact: contacts[4], + // office_membership: offices[0], + // role: roles[3], + // }, + // ]; + + // const documentTypes: DocumentType[] = [ + // { + // archived_at: null, + // name: "Carte Nationale d'Identité recto-verso", + // office: offices[0], + // private_description: "Document d'identité", + // public_description: "Document d'identité", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Contrat de mariage", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Convention de PACS", + // office: offices[0], + // private_description: " ", + // public_description: "Avec précision du régime", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Titre de propriété", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Cahier des charges du lotissement", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Règlement du lotissement", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Cahier de prescriptions architecturales", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Statuts de l'association syndicale libre", + // office: offices[0], + // private_description: " ", + // public_description: "Avec nom et adresse du président", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Etat descriptif de division et règlement de copropriété", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Etat descriptif de division et règlement de copropriété modificatifs", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Carnet d'entretien", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Trois derniers PV D'AG", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Trois derniers relevés de charge", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Bail ou congé délivré", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Certificat d'assainissement", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Facture ou contrat d'electricité", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Facture ou contrat de gaz", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Loi carrez", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Etat parasitaire", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Amiante", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Facture des travaux", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Garanties décénales des entreprises", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "PV de réception des travaux", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Permis de construire et modificatifs", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Déclaration attestation l'achèvement des travaux", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Attestation de non opposition", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Assurance décenale", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Dommage ouvrage", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Dernière facture ramonage", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Liste du mobilier", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "RIB daté et signé", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Extrait KBIS et statuts de la société", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Document arpentage et plan de division", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Accord de prêt", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Offre de prêt", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Attestation dépôt de permis de construire", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Permis de construire", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Extrait acte de décès", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Fiche de renseignements d'états civils", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Donation entre epoux", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Testament", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Liste des banques avce un compte bancaire", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Contrat d'assurance-vie", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Liste des caisses versant une retraite ou une pension", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Dernière déclaration de revenus", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Avis d'imposition (revenus et ISF)", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Avis d'imposition (foncier et habitation)", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Liste des emprunts en cours", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Actes de donation", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Déclarations de dons faites aux impôts", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Actes de succession", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Actes de vente de biens", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Factures de travaux", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Bail de location", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Nom et adresse du Syndic", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Liste des autres biens", + // office: offices[0], + // private_description: " ", + // public_description: + // "Exemple: PEE, PER, parts de société, bijoux de valeur et oeuvres d'art, fonds de commerce, fonds artisanal, entreprise commerciale, exploitation agricole...", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Caution, Prestation compensatoire, Pension alimentaire", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Titre de propriété des biens", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Tableaux d'amortissement des prêts immobiliers", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Cartes grises et cotes ARGUS des véhicules", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Etat des avoirs bancaires", + // office: offices[0], + // private_description: " ", + // public_description: "Joints ou individuels au jour de la séparation", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Avoirs mobiliers", + // office: offices[0], + // private_description: " ", + // public_description: + // "arrêtés à la date de la séparation (relevés de comptes épargne entreprise, épargne retraite, assurance-vie...)", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Livret de famille", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Dernières régularisations de charges", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Diagnostic de Performance Energétique (DPE)", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Avis d'imposition N-1", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Avis d'imposition N-2", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Contrat de travail", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Trois derniers bulletins de salaire", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Bilan comptable", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Trois dernières quittances de loyers ou attestation d'hébergement", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Taxe foncière", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Justificatif de domicile", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // name: "Autres documents", + // archived_at: null, + // public_description: "Autres documents", + // private_description: "Autres documents", + // office: offices[0], + // created_at: new Date(), + // updated_at: new Date(), + // }, + // ]; + + // const deedTypes: DeedType[] = [ + // { + // name: "Promesse de vente", + // archived_at: null, + // description: "Promesse de vente entre deux partis", + // office: offices[0], + // created_at: new Date(), + // updated_at: new Date(), + // document_types: [...documentTypes.slice(0, 31), documentTypes[66]!], + // }, + // { + // name: "Acte de vente", + // archived_at: null, + // description: "Acte de vente", + // office: offices[0], + // created_at: new Date(), + // updated_at: new Date(), + // document_types: documentTypes.slice(30, 36), + // }, + // { + // name: "Acte de succession", + // archived_at: null, + // description: "Acte de succession", + // office: offices[0], + // created_at: new Date(), + // updated_at: new Date(), + // document_types: [...documentTypes.slice(36, 56), documentTypes[62]!, documentTypes[30]!], + // }, + // { + // name: "Acte de divorce", + // archived_at: null, + // description: "Acte de divorce", + // office: offices[0], + // created_at: new Date(), + // updated_at: new Date(), + // document_types: [...documentTypes.slice(57, 62), documentTypes[30]!, documentTypes[0]!], + // }, + // { + // name: "Acte de donation", + // archived_at: null, + // description: "Acte de donation", + // office: offices[0], + // created_at: new Date(), + // updated_at: new Date(), + // document_types: [documentTypes[0]!, documentTypes[62]!, documentTypes[57]!], + // }, + // { + // name: "Bail d'habitation", + // archived_at: null, + // description: "Bail d'habitation", + // office: offices[0], + // created_at: new Date(), + // updated_at: new Date(), + // document_types: [documentTypes[0]!, documentTypes[30]!, documentTypes[57]!, ...documentTypes.slice(62)], + // }, + // ]; + + // const deeds: Deed[] = [ + // { + // deed_type: deedTypes[0], + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // deed_type: deedTypes[0], + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // deed_type: deedTypes[0], + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // deed_type: deedTypes[0], + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // deed_type: deedTypes[0], + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // deed_type: deedTypes[0], + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // deed_type: deedTypes[0], + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // deed_type: deedTypes[1], + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // deed_type: deedTypes[1], + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // deed_type: deedTypes[1], + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // deed_type: deedTypes[1], + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // deed_type: deedTypes[1], + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // deed_type: deedTypes[1], + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // deed_type: deedTypes[1], + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // deed_type: deedTypes[2], + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // deed_type: deedTypes[2], + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // deed_type: deedTypes[2], + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // deed_type: deedTypes[2], + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // deed_type: deedTypes[2], + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // deed_type: deedTypes[2], + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // deed_type: deedTypes[2], + // created_at: new Date(), + // updated_at: new Date(), + // }, + // ]; + + // const officeFolders: OfficeFolder[] = [ + // { + // folder_number: "0001", + // name: "Vente par Mme. Simon au profit de Mme. Lextrait", + // deed: deeds[0], + // status: EFolderStatus.LIVE, + // created_at: new Date(), + // updated_at: new Date(), + // office: offices[0], + // description: null, + // archived_description: null, + // }, + // { + // folder_number: "0002", + // name: "Donation des parts sociales de la société SARL FLORE", + // deed: deeds[1], + // status: EFolderStatus.LIVE, + // created_at: new Date(), + // updated_at: new Date(), + // office: offices[0], + // description: null, + // archived_description: null, + // }, + // { + // folder_number: "0003", + // name: "Vente par Mme. Lefebvre au profit de Mme. Mathieu", + // deed: deeds[2], + // status: EFolderStatus.LIVE, + // created_at: new Date(), + // updated_at: new Date(), + // office: offices[0], + // description: null, + // archived_description: null, + // }, + // { + // folder_number: "0004", + // name: "Vente par Mme. Chevalier au profit de M. Daveau", + // deed: deeds[3], + // status: EFolderStatus.LIVE, + // created_at: new Date(), + // updated_at: new Date(), + // office: offices[0], + // description: null, + // archived_description: null, + // }, + // { + // folder_number: "0005", + // name: "Vente par M. Lalo au profit de Mme. Pigale", + // deed: deeds[4], + // status: EFolderStatus.LIVE, + // created_at: new Date(), + // updated_at: new Date(), + // office: offices[0], + // description: null, + // archived_description: null, + // }, + // { + // folder_number: "0006", + // name: "Donation des parts sociales de la société SMART-TALENT", + // deed: deeds[5], + // status: EFolderStatus.LIVE, + // created_at: new Date(), + // updated_at: new Date(), + // office: offices[0], + // description: null, + // archived_description: null, + // }, + // { + // folder_number: "0007", + // name: "Vente par M. Girard au profit de M. Louis", + // deed: deeds[6], + // status: EFolderStatus.LIVE, + // created_at: new Date(), + // updated_at: new Date(), + // office: offices[0], + // description: null, + // archived_description: null, + // }, + // { + // folder_number: "0008", + // name: "Vente par Mme. Leclerc au profit de M. Louis", + // deed: deeds[7], + // status: EFolderStatus.LIVE, + // created_at: new Date(), + // updated_at: new Date(), + // office: offices[0], + // description: null, + // archived_description: null, + // }, + // { + // folder_number: "0009", + // name: "Vente par M. Lambert au profit de M. Holmes", + // deed: deeds[8], + // status: EFolderStatus.LIVE, + // created_at: new Date(), + // updated_at: new Date(), + // office: offices[0], + // description: null, + // archived_description: null, + // }, + // ]; + + // for (const office of offices) { + // const officeCreated = await prisma.offices.create({ + // data: { + // idNot: office.idNot!, + // name: office.name, + // crpcen: office.crpcen, + // address: { + // create: { + // address: office.address!.address, + // zip_code: office.address!.zip_code, + // city: office.address!.city, + // }, + // }, + // office_status: EOfficeStatus.ACTIVATED, + // }, + // }); + // office.uid = officeCreated.uid; + // } + // for (const rule of rules) { + // const ruleCreated = await prisma.rules.create({ + // data: { + // name: rule.name, + // label: rule.label, + // namespace: rule.namespace, + // }, + // }); + // rule.uid = ruleCreated.uid; + // } + + // for (const role of roles) { + // const roleCreated = await prisma.roles.create({ + // data: { + // name: role.name, + // label: role.label, + // rules: { + // connect: role.rules?.map((rule) => ({ + // uid: rule.uid!, + // })), + // }, + // }, + // }); + // role.uid = roleCreated.uid; + // } + + // for (const ruleGroup of rulesGroups) { + // await prisma.rulesGroups.create({ + // data: { + // uid: ruleGroup.uid, + // name: ruleGroup.name, + // rules: { + // connect: ruleGroup.rules?.map((rule) => ({ + // uid: rules.find((r) => r.name === rule)!.uid!, + // })), + // }, + // }, + // }); + // } + + // for (const officeRole of officeRoles) { + // const officeRoleCreated = await prisma.officeRoles.create({ + // data: { + // name: officeRole.name, + // office: { + // connect: { + // uid: officeRole.office.uid, + // }, + // }, + // rules: { + // connect: officeRole.rules?.map((rule) => ({ + // uid: rule.uid!, + // })), + // }, + // }, + // }); + // officeRole.uid = officeRoleCreated.uid; + // } + + // for (const user of users) { + // const createArgs: Prisma.UsersCreateArgs = { + // data: { + // idNot: user.idNot, + // office_membership: { + // connectOrCreate: { + // where: { + // idNot: user.office_membership!.idNot, + // }, + // create: { + // idNot: user.office_membership!.idNot!, + // name: user.office_membership!.name, + // crpcen: user.office_membership!.crpcen, + // address: { + // create: { + // address: user.office_membership!.address!.address, + // zip_code: user.office_membership!.address!.zip_code, + // city: user.office_membership!.address!.city, + // }, + // }, + // }, + // }, + // }, + // contact: { + // create: { + // first_name: user.contact!.first_name, + // last_name: user.contact!.last_name, + // email: user.contact!.email, + // phone_number: user.contact!.phone_number, + // cell_phone_number: user.contact!.cell_phone_number, + // civility: ECivility[user.contact!.civility as keyof typeof ECivility], + // address: {}, + // }, + // }, + // role: { + // connect: { + // uid: user.role!.uid, + // }, + // }, + // }, + // }; + // if (user.contact!.address) { + // createArgs.data.contact!.create!.address!.create = { + // address: user.contact!.address.address, + // zip_code: user.contact!.address.zip_code, + // city: user.contact!.address.city, + // }; + // } + // if (user.office_role) { + // createArgs.data.office_role = { + // connect: { + // uid: user.office_role.uid, + // }, + // }; + // } + // const userCreated = await prisma.users.create(createArgs); + // user.uid = userCreated.uid; + // } + + // for (const customer of customers) { + // const createArgs: Prisma.CustomersCreateArgs = { + // data: { + // status: ECustomerStatus.PENDING, + // office_uid: + // contact: { + // create: { + // first_name: customer.contact!.first_name, + // last_name: customer.contact!.last_name, + // email: customer.contact!.email, + // phone_number: customer.contact!.phone_number, + // cell_phone_number: customer.contact!.cell_phone_number, + // civility: ECivility[customer.contact!.civility as keyof typeof ECivility], + // address: {}, + // }, + // }, + // }, + // }; + + // if (customer.contact?.address) { + // createArgs.data.contact!.create!.address = { + // create: { + // address: customer.contact?.address?.address, + // zip_code: customer.contact?.address?.zip_code, + // city: customer.contact?.address?.city, + // }, + // }; + // } + // const customersCreated = await prisma.customers.create(createArgs); + // customer.uid = customersCreated.uid; + // } + + // for (const documentType of documentTypes) { + // const documentTypeCreated = await prisma.documentTypes.create({ + // data: { + // name: documentType.name, + // public_description: documentType.public_description || "", + // private_description: documentType.private_description, + // office: { + // connect: { + // uid: documentType.office!.uid, + // }, + // }, + // }, + // }); + // documentType.uid = documentTypeCreated.uid; + // } + + // for (const deedType of deedTypes) { + // const createArgs: Prisma.DeedTypesCreateArgs = { + // data: { + // name: deedType.name, + // description: deedType.description || "", + // office: { + // connect: { + // uid: deedType.office!.uid, + // }, + // }, + // }, + // }; + // if (deedType.document_types) { + // createArgs.data.document_types = { + // connect: deedType.document_types.map((documentType) => ({ + // uid: documentType.uid, + // })), + // }; + // } + // const deedTypeCreated = await prisma.deedTypes.create(createArgs); + // deedType.uid = deedTypeCreated.uid; + // } + + // for (const deed of deeds) { + // const createArgs: Prisma.DeedsCreateArgs = { + // data: { + // deed_type: { + // connect: { + // uid: deed.deed_type!.uid, + // }, + // }, + // }, + // }; + // const deedTypeWithDocumentTypes = await prisma.deedTypes.findUniqueOrThrow({ + // where: { + // uid: deed.deed_type!.uid, + // }, + // include: { document_types: true }, + // }); + + // if (deedTypeWithDocumentTypes.document_types) { + // createArgs.data.document_types = { + // connect: deedTypeWithDocumentTypes.document_types.map((documentType) => ({ + // uid: documentType.uid, + // })), + // }; + // } + // const deedCreated = await prisma.deeds.create(createArgs); + // deed.uid = deedCreated.uid; + // } + + // for (const officeFolder of officeFolders) { + // const officeFolderCreated = await prisma.officeFolders.create({ + // data: { + // folder_number: officeFolder.folder_number, + // name: officeFolder.name, + // description: officeFolder.description, + // status: EFolderStatus.LIVE, + // deed: { + // connect: { + // uid: officeFolder.deed?.uid, + // }, + // }, + // office: { + // connect: { + // uid: officeFolder.office!.uid, + // }, + // }, + // stakeholders: { + // connect: officeFolder.stakeholders?.map((stakeholder) => ({ + // uid: stakeholder.uid!, + // })), + // }, + // }, + // }); + // officeFolder.uid = officeFolderCreated.uid; + // } + + // console.info(">MOCK DATA - Seeding completed!"); + // } catch (error) { + // console.error(error); + // console.info("Data already seeded, skiping"); + // } +} +main(); diff --git a/src/common/databases/seeders/seeder.ts b/src/common/databases/seeders/seeder.ts index b266bbed..df33cb5d 100644 --- a/src/common/databases/seeders/seeder.ts +++ b/src/common/databases/seeders/seeder.ts @@ -422,105 +422,6 @@ export default async function main() { }, ]; - const customers: Customer[] = [ - { - contact: contacts[0], - created_at: new Date(), - updated_at: new Date(), - status: ECustomerStatus.PENDING, - }, - { - contact: contacts[5], - created_at: new Date(), - updated_at: new Date(), - status: ECustomerStatus.PENDING, - }, - { - contact: contacts[6], - created_at: new Date(), - updated_at: new Date(), - status: ECustomerStatus.PENDING, - }, - { - contact: contacts[7], - created_at: new Date(), - updated_at: new Date(), - status: ECustomerStatus.PENDING, - }, - { - contact: contacts[8], - created_at: new Date(), - updated_at: new Date(), - status: ECustomerStatus.PENDING, - }, - { - contact: contacts[9], - created_at: new Date(), - updated_at: new Date(), - status: ECustomerStatus.PENDING, - }, - { - contact: contacts[10], - created_at: new Date(), - updated_at: new Date(), - status: ECustomerStatus.PENDING, - }, - { - contact: contacts[11], - created_at: new Date(), - updated_at: new Date(), - status: ECustomerStatus.PENDING, - }, - { - contact: contacts[12], - created_at: new Date(), - updated_at: new Date(), - status: ECustomerStatus.PENDING, - }, - { - contact: contacts[13], - created_at: new Date(), - updated_at: new Date(), - status: ECustomerStatus.PENDING, - }, - { - contact: contacts[14], - created_at: new Date(), - updated_at: new Date(), - status: ECustomerStatus.PENDING, - }, - { - contact: contacts[15], - created_at: new Date(), - updated_at: new Date(), - status: ECustomerStatus.PENDING, - }, - { - contact: contacts[16], - created_at: new Date(), - updated_at: new Date(), - status: ECustomerStatus.PENDING, - }, - { - contact: contacts[17], - created_at: new Date(), - updated_at: new Date(), - status: ECustomerStatus.PENDING, - }, - { - contact: contacts[18], - created_at: new Date(), - updated_at: new Date(), - status: ECustomerStatus.PENDING, - }, - { - contact: contacts[19], - created_at: new Date(), - updated_at: new Date(), - status: ECustomerStatus.PENDING, - }, - ]; - const rules: Rule[] = [ { name: "GET users", @@ -1916,6 +1817,121 @@ export default async function main() { }, ]; + const customers: Customer[] = [ + { + contact: contacts[0], + created_at: new Date(), + updated_at: new Date(), + status: ECustomerStatus.PENDING, + office: offices[0], + }, + { + contact: contacts[5], + created_at: new Date(), + updated_at: new Date(), + status: ECustomerStatus.PENDING, + office: offices[0], + }, + { + contact: contacts[6], + created_at: new Date(), + updated_at: new Date(), + status: ECustomerStatus.PENDING, + office: offices[0], + }, + { + contact: contacts[7], + created_at: new Date(), + updated_at: new Date(), + status: ECustomerStatus.PENDING, + office: offices[0], + }, + { + contact: contacts[8], + created_at: new Date(), + updated_at: new Date(), + status: ECustomerStatus.PENDING, + office: offices[0], + }, + { + contact: contacts[9], + created_at: new Date(), + updated_at: new Date(), + status: ECustomerStatus.PENDING, + office: offices[0], + }, + { + contact: contacts[10], + created_at: new Date(), + updated_at: new Date(), + status: ECustomerStatus.PENDING, + office: offices[0], + }, + { + contact: contacts[11], + created_at: new Date(), + updated_at: new Date(), + status: ECustomerStatus.PENDING, + office: offices[0], + }, + { + contact: contacts[12], + created_at: new Date(), + updated_at: new Date(), + status: ECustomerStatus.PENDING, + office: offices[0], + }, + { + contact: contacts[13], + created_at: new Date(), + updated_at: new Date(), + status: ECustomerStatus.PENDING, + office: offices[0], + }, + { + contact: contacts[14], + created_at: new Date(), + updated_at: new Date(), + status: ECustomerStatus.PENDING, + office: offices[0], + }, + { + contact: contacts[15], + created_at: new Date(), + updated_at: new Date(), + status: ECustomerStatus.PENDING, + office: offices[0], + }, + { + contact: contacts[16], + created_at: new Date(), + updated_at: new Date(), + status: ECustomerStatus.PENDING, + office: offices[0], + }, + { + contact: contacts[17], + created_at: new Date(), + updated_at: new Date(), + status: ECustomerStatus.PENDING, + office: offices[0], + }, + { + contact: contacts[18], + created_at: new Date(), + updated_at: new Date(), + status: ECustomerStatus.PENDING, + office: offices[0], + }, + { + contact: contacts[19], + created_at: new Date(), + updated_at: new Date(), + status: ECustomerStatus.PENDING, + office: offices[0], + }, + ]; + for (const office of offices) { const officeCreated = await prisma.offices.create({ data: { @@ -2056,6 +2072,11 @@ export default async function main() { const createArgs: Prisma.CustomersCreateArgs = { data: { status: ECustomerStatus.PENDING, + office: { + connect: { + uid: customer.office!.uid!, + }, + }, contact: { create: { first_name: customer.contact!.first_name, diff --git a/src/common/databases/seeders/seederOld.ts b/src/common/databases/seeders/seederOld.ts index 967a2b81..492a8342 100644 --- a/src/common/databases/seeders/seederOld.ts +++ b/src/common/databases/seeders/seederOld.ts @@ -1,2183 +1,2183 @@ -import { ECivility, ECustomerStatus, EFolderStatus, EOfficeStatus, Prisma, PrismaClient } from "@prisma/client"; -import User, { - Address, - Contact, - Customer, - Deed, - DeedType, - DocumentType, - Office, - OfficeFolder, - OfficeRole, - Role, - Rule, -} from "le-coffre-resources/dist/SuperAdmin"; +// import { ECivility, ECustomerStatus, EFolderStatus, EOfficeStatus, Prisma, PrismaClient } from "@prisma/client"; +// import User, { +// Address, +// Contact, +// Customer, +// Deed, +// DeedType, +// DocumentType, +// Office, +// OfficeFolder, +// OfficeRole, +// Role, +// Rule, +// } from "le-coffre-resources/dist/SuperAdmin"; import "module-alias/register"; export default async function main() { - try { - const prisma = new PrismaClient(); + // try { + // const prisma = new PrismaClient(); - const idNot3 = "rleenrenlnr"; - const idNot4 = "ljfeflecnmd"; - const idNot5 = "rflrefrjf"; - const idNot6 = "er3ojfdlfnd"; + // const idNot3 = "rleenrenlnr"; + // const idNot4 = "ljfeflecnmd"; + // const idNot5 = "rflrefrjf"; + // const idNot6 = "er3ojfdlfnd"; - const addresses: Address[] = [ - { - address: "template", - city: "template", - zip_code: 0o00, - created_at: new Date(), - updated_at: new Date(), - }, - { - address: "Rue Pierre Emillion", - city: "Pacé", - zip_code: 35740, - created_at: new Date(), - updated_at: new Date(), - }, - { - address: "Rue Pierre Charles", - city: "Rennes", - zip_code: 35000, - created_at: new Date(), - updated_at: new Date(), - }, - { - address: "Rue Pierre Pologne", - city: "Rennes", - zip_code: 35000, - created_at: new Date(), - updated_at: new Date(), - }, - { - address: "Rue Pierre Marcel", - city: "Rennes", - zip_code: 35000, - created_at: new Date(), - updated_at: new Date(), - }, - { - address: "Rue Pierre Jacques", - city: "Rennes", - zip_code: 35000, - created_at: new Date(), - updated_at: new Date(), - }, - { - address: "Rue Pierre Pascal", - city: "Rennes", - zip_code: 35000, - created_at: new Date(), - updated_at: new Date(), - }, - { - address: "Rue Maxime Henry", - city: "Rennes", - zip_code: 35000, - created_at: new Date(), - updated_at: new Date(), - }, - { - address: "Rue Maxime Francis", - city: "Rennes", - zip_code: 35000, - created_at: new Date(), - updated_at: new Date(), - }, - { - address: "Avenue Paul Roger", - city: "Rennes", - zip_code: 35000, - created_at: new Date(), - updated_at: new Date(), - }, - { - address: "Avenue Paul Franck", - city: "Rennes", - zip_code: 35000, - created_at: new Date(), - updated_at: new Date(), - }, - { - address: "Avenue Paul Maréchal", - city: "Rennes", - zip_code: 35000, - created_at: new Date(), - updated_at: new Date(), - }, - { - address: "Avenue Marcel Denis", - city: "Rennes", - zip_code: 35000, - created_at: new Date(), - updated_at: new Date(), - }, - { - address: "Place Alexandre", - city: "Rennes", - zip_code: 35000, - created_at: new Date(), - updated_at: new Date(), - }, - { - address: "Place Alexandre Jacques", - city: "Rennes", - zip_code: 35000, - created_at: new Date(), - updated_at: new Date(), - }, - { - address: "Place Alexandre 2", - city: "Rennes", - zip_code: 35000, - created_at: new Date(), - updated_at: new Date(), - }, - { - address: "Rue du livre", - city: "Rennes", - zip_code: 35000, - created_at: new Date(), - updated_at: new Date(), - }, - { - address: "Place de la joie", - city: "Rennes", - zip_code: 35000, - created_at: new Date(), - updated_at: new Date(), - }, - { - address: "Rue Paul Henry", - city: "Rennes", - zip_code: 35000, - created_at: new Date(), - updated_at: new Date(), - }, - { - address: "Rue Marcelin", - city: "Rennes", - zip_code: 35000, - created_at: new Date(), - updated_at: new Date(), - }, - ]; + // const addresses: Address[] = [ + // { + // address: "template", + // city: "template", + // zip_code: 0o00, + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // address: "Rue Pierre Emillion", + // city: "Pacé", + // zip_code: 35740, + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // address: "Rue Pierre Charles", + // city: "Rennes", + // zip_code: 35000, + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // address: "Rue Pierre Pologne", + // city: "Rennes", + // zip_code: 35000, + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // address: "Rue Pierre Marcel", + // city: "Rennes", + // zip_code: 35000, + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // address: "Rue Pierre Jacques", + // city: "Rennes", + // zip_code: 35000, + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // address: "Rue Pierre Pascal", + // city: "Rennes", + // zip_code: 35000, + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // address: "Rue Maxime Henry", + // city: "Rennes", + // zip_code: 35000, + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // address: "Rue Maxime Francis", + // city: "Rennes", + // zip_code: 35000, + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // address: "Avenue Paul Roger", + // city: "Rennes", + // zip_code: 35000, + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // address: "Avenue Paul Franck", + // city: "Rennes", + // zip_code: 35000, + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // address: "Avenue Paul Maréchal", + // city: "Rennes", + // zip_code: 35000, + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // address: "Avenue Marcel Denis", + // city: "Rennes", + // zip_code: 35000, + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // address: "Place Alexandre", + // city: "Rennes", + // zip_code: 35000, + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // address: "Place Alexandre Jacques", + // city: "Rennes", + // zip_code: 35000, + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // address: "Place Alexandre 2", + // city: "Rennes", + // zip_code: 35000, + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // address: "Rue du livre", + // city: "Rennes", + // zip_code: 35000, + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // address: "Place de la joie", + // city: "Rennes", + // zip_code: 35000, + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // address: "Rue Paul Henry", + // city: "Rennes", + // zip_code: 35000, + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // address: "Rue Marcelin", + // city: "Rennes", + // zip_code: 35000, + // created_at: new Date(), + // updated_at: new Date(), + // }, + // ]; - const contacts: Contact[] = [ - { - address: addresses[0], - first_name: "Angela", - last_name: "Dubois", - email: "angela.dubois@gmail.com", - phone_number: "+33785186013", - cell_phone_number: "+33785186013", - birthdate: null, - created_at: new Date(), - updated_at: new Date(), - civility: ECivility.FEMALE, - }, - { - address: addresses[1], - first_name: "Maxime", - last_name: "Lalo", - email: "maxime.lalo@smart-chain.fr", - phone_number: "+33785186013", - cell_phone_number: "+33785186013", - birthdate: null, - created_at: new Date(), - updated_at: new Date(), - civility: ECivility.MALE, - }, - { - address: addresses[2], - first_name: "Vincent", - last_name: "Alamelle", - email: "vincent.alamelle@smart-chain.fr", - phone_number: "+33785186013", - cell_phone_number: "+33785186013", - birthdate: null, - created_at: new Date(), - updated_at: new Date(), - civility: ECivility.MALE, - }, - { - address: addresses[3], - first_name: "Melissa", - last_name: "Desde", - email: "melissa.desde@smart-chain.fr", - phone_number: "+33785186013", - cell_phone_number: "+33785186013", - birthdate: null, - created_at: new Date(), - updated_at: new Date(), - civility: ECivility.FEMALE, - }, - { - address: addresses[4], - first_name: "Maxime", - last_name: "Leroy", - email: "maxime.leroy@hotmail.fr", - phone_number: "+33785186013", - cell_phone_number: "+33785186013", - birthdate: null, - created_at: new Date(), - updated_at: new Date(), - civility: ECivility.MALE, - }, - { - address: addresses[5], - first_name: "Paul", - last_name: "Dupont", - email: "paul.dupont@outlook.com", - phone_number: "+33785186013", - cell_phone_number: "+33785186013", - birthdate: null, - created_at: new Date(), - updated_at: new Date(), - civility: ECivility.MALE, - }, - { - address: addresses[6], - first_name: "Jean", - last_name: "Dubignot", - email: "jean.dubignot@gmail.com", - phone_number: "+33785186013", - cell_phone_number: "+33785186013", - birthdate: null, - created_at: new Date(), - updated_at: new Date(), - civility: ECivility.FEMALE, - }, - { - address: addresses[7], - first_name: "Vincent", - last_name: "Martin", - email: "vincent.martin@gmail.com", - phone_number: "+33785186013", - cell_phone_number: "+33785186013", - birthdate: null, - created_at: new Date(), - updated_at: new Date(), - civility: ECivility.MALE, - }, - { - address: addresses[8], - first_name: "Lucie", - last_name: "Chevalier", - email: "lucie.chevalier@outlook.com", - phone_number: "+33785186013", - cell_phone_number: "+33785186013", - birthdate: null, - created_at: new Date(), - updated_at: new Date(), - civility: ECivility.FEMALE, - }, - { - address: addresses[9], - first_name: "Sébastien", - last_name: "Dubois", - email: "sebastien.dubois@gmail.com", - phone_number: "+33785186013", - cell_phone_number: "+33785186013", - birthdate: null, - created_at: new Date(), - updated_at: new Date(), - civility: ECivility.MALE, - }, - { - address: addresses[10], - first_name: "Mathilde", - last_name: "Durand", - email: "mathilde.durand@gmail.com", - phone_number: "+33785186013", - cell_phone_number: "+33785186013", - birthdate: null, - created_at: new Date(), - updated_at: new Date(), - civility: ECivility.FEMALE, - }, - { - address: addresses[11], - first_name: "Antoine", - last_name: "Bernard", - email: "antoine.bernard@outlook.com", - phone_number: "+33785186013", - cell_phone_number: "+33785186013", - birthdate: null, - created_at: new Date(), - updated_at: new Date(), - civility: ECivility.MALE, - }, - { - address: addresses[12], - first_name: "Camille", - last_name: "Laurent", - email: "camille.laurent@gmail.com", - phone_number: "+33785186013", - cell_phone_number: "+33785186013", - birthdate: null, - created_at: new Date(), - updated_at: new Date(), - civility: ECivility.FEMALE, - }, - { - address: addresses[13], - first_name: "Julien", - last_name: "Mercier", - email: "julien.mercier@hotmail.fr", - phone_number: "+33785186013", - cell_phone_number: "+33785186013", - birthdate: null, - created_at: new Date(), - updated_at: new Date(), - civility: ECivility.MALE, - }, - { - address: addresses[14], - first_name: "Charlotte", - last_name: "Lefebvre", - email: "charlotte.lefebvre@gmail.com", - phone_number: "+33785186013", - cell_phone_number: "+33785186013", - birthdate: null, - created_at: new Date(), - updated_at: new Date(), - civility: ECivility.FEMALE, - }, - { - address: addresses[15], - first_name: "Caroline", - last_name: "Pallut", - email: "caroline.pallut@gmail.com", - phone_number: "+33785186013", - cell_phone_number: "+33785186013", - birthdate: null, - created_at: new Date(), - updated_at: new Date(), - civility: ECivility.FEMALE, - }, - { - address: addresses[16], - first_name: "Nadège", - last_name: "Gauchet", - email: "nedege.gauchet@outlook.com", - phone_number: "+33785186013", - cell_phone_number: "+33785186013", - birthdate: null, - created_at: new Date(), - updated_at: new Date(), - civility: ECivility.FEMALE, - }, - { - address: addresses[17], - first_name: "Matthieu", - last_name: "Bougeard", - email: "matthieu.bougeard@gmail.com", - phone_number: "+33785186013", - cell_phone_number: "+33785186013", - birthdate: null, - created_at: new Date(), - updated_at: new Date(), - civility: ECivility.MALE, - }, - { - address: addresses[18], - first_name: "Cécile", - last_name: "Celton", - email: "cecile.celton@outlook.com", - phone_number: "+33785186013", - cell_phone_number: "+33785186013", - birthdate: null, - created_at: new Date(), - updated_at: new Date(), - civility: ECivility.FEMALE, - }, - { - address: addresses[19], - first_name: "Gwendal", - last_name: "Texier", - email: "gwendal.texier@gmail.com", - phone_number: "+33785186013", - cell_phone_number: "+33785186013", - birthdate: null, - created_at: new Date(), - updated_at: new Date(), - civility: ECivility.MALE, - }, - ]; + // const contacts: Contact[] = [ + // { + // address: addresses[0], + // first_name: "Angela", + // last_name: "Dubois", + // email: "angela.dubois@gmail.com", + // phone_number: "+33785186013", + // cell_phone_number: "+33785186013", + // birthdate: null, + // created_at: new Date(), + // updated_at: new Date(), + // civility: ECivility.FEMALE, + // }, + // { + // address: addresses[1], + // first_name: "Maxime", + // last_name: "Lalo", + // email: "maxime.lalo@smart-chain.fr", + // phone_number: "+33785186013", + // cell_phone_number: "+33785186013", + // birthdate: null, + // created_at: new Date(), + // updated_at: new Date(), + // civility: ECivility.MALE, + // }, + // { + // address: addresses[2], + // first_name: "Vincent", + // last_name: "Alamelle", + // email: "vincent.alamelle@smart-chain.fr", + // phone_number: "+33785186013", + // cell_phone_number: "+33785186013", + // birthdate: null, + // created_at: new Date(), + // updated_at: new Date(), + // civility: ECivility.MALE, + // }, + // { + // address: addresses[3], + // first_name: "Melissa", + // last_name: "Desde", + // email: "melissa.desde@smart-chain.fr", + // phone_number: "+33785186013", + // cell_phone_number: "+33785186013", + // birthdate: null, + // created_at: new Date(), + // updated_at: new Date(), + // civility: ECivility.FEMALE, + // }, + // { + // address: addresses[4], + // first_name: "Maxime", + // last_name: "Leroy", + // email: "maxime.leroy@hotmail.fr", + // phone_number: "+33785186013", + // cell_phone_number: "+33785186013", + // birthdate: null, + // created_at: new Date(), + // updated_at: new Date(), + // civility: ECivility.MALE, + // }, + // { + // address: addresses[5], + // first_name: "Paul", + // last_name: "Dupont", + // email: "paul.dupont@outlook.com", + // phone_number: "+33785186013", + // cell_phone_number: "+33785186013", + // birthdate: null, + // created_at: new Date(), + // updated_at: new Date(), + // civility: ECivility.MALE, + // }, + // { + // address: addresses[6], + // first_name: "Jean", + // last_name: "Dubignot", + // email: "jean.dubignot@gmail.com", + // phone_number: "+33785186013", + // cell_phone_number: "+33785186013", + // birthdate: null, + // created_at: new Date(), + // updated_at: new Date(), + // civility: ECivility.FEMALE, + // }, + // { + // address: addresses[7], + // first_name: "Vincent", + // last_name: "Martin", + // email: "vincent.martin@gmail.com", + // phone_number: "+33785186013", + // cell_phone_number: "+33785186013", + // birthdate: null, + // created_at: new Date(), + // updated_at: new Date(), + // civility: ECivility.MALE, + // }, + // { + // address: addresses[8], + // first_name: "Lucie", + // last_name: "Chevalier", + // email: "lucie.chevalier@outlook.com", + // phone_number: "+33785186013", + // cell_phone_number: "+33785186013", + // birthdate: null, + // created_at: new Date(), + // updated_at: new Date(), + // civility: ECivility.FEMALE, + // }, + // { + // address: addresses[9], + // first_name: "Sébastien", + // last_name: "Dubois", + // email: "sebastien.dubois@gmail.com", + // phone_number: "+33785186013", + // cell_phone_number: "+33785186013", + // birthdate: null, + // created_at: new Date(), + // updated_at: new Date(), + // civility: ECivility.MALE, + // }, + // { + // address: addresses[10], + // first_name: "Mathilde", + // last_name: "Durand", + // email: "mathilde.durand@gmail.com", + // phone_number: "+33785186013", + // cell_phone_number: "+33785186013", + // birthdate: null, + // created_at: new Date(), + // updated_at: new Date(), + // civility: ECivility.FEMALE, + // }, + // { + // address: addresses[11], + // first_name: "Antoine", + // last_name: "Bernard", + // email: "antoine.bernard@outlook.com", + // phone_number: "+33785186013", + // cell_phone_number: "+33785186013", + // birthdate: null, + // created_at: new Date(), + // updated_at: new Date(), + // civility: ECivility.MALE, + // }, + // { + // address: addresses[12], + // first_name: "Camille", + // last_name: "Laurent", + // email: "camille.laurent@gmail.com", + // phone_number: "+33785186013", + // cell_phone_number: "+33785186013", + // birthdate: null, + // created_at: new Date(), + // updated_at: new Date(), + // civility: ECivility.FEMALE, + // }, + // { + // address: addresses[13], + // first_name: "Julien", + // last_name: "Mercier", + // email: "julien.mercier@hotmail.fr", + // phone_number: "+33785186013", + // cell_phone_number: "+33785186013", + // birthdate: null, + // created_at: new Date(), + // updated_at: new Date(), + // civility: ECivility.MALE, + // }, + // { + // address: addresses[14], + // first_name: "Charlotte", + // last_name: "Lefebvre", + // email: "charlotte.lefebvre@gmail.com", + // phone_number: "+33785186013", + // cell_phone_number: "+33785186013", + // birthdate: null, + // created_at: new Date(), + // updated_at: new Date(), + // civility: ECivility.FEMALE, + // }, + // { + // address: addresses[15], + // first_name: "Caroline", + // last_name: "Pallut", + // email: "caroline.pallut@gmail.com", + // phone_number: "+33785186013", + // cell_phone_number: "+33785186013", + // birthdate: null, + // created_at: new Date(), + // updated_at: new Date(), + // civility: ECivility.FEMALE, + // }, + // { + // address: addresses[16], + // first_name: "Nadège", + // last_name: "Gauchet", + // email: "nedege.gauchet@outlook.com", + // phone_number: "+33785186013", + // cell_phone_number: "+33785186013", + // birthdate: null, + // created_at: new Date(), + // updated_at: new Date(), + // civility: ECivility.FEMALE, + // }, + // { + // address: addresses[17], + // first_name: "Matthieu", + // last_name: "Bougeard", + // email: "matthieu.bougeard@gmail.com", + // phone_number: "+33785186013", + // cell_phone_number: "+33785186013", + // birthdate: null, + // created_at: new Date(), + // updated_at: new Date(), + // civility: ECivility.MALE, + // }, + // { + // address: addresses[18], + // first_name: "Cécile", + // last_name: "Celton", + // email: "cecile.celton@outlook.com", + // phone_number: "+33785186013", + // cell_phone_number: "+33785186013", + // birthdate: null, + // created_at: new Date(), + // updated_at: new Date(), + // civility: ECivility.FEMALE, + // }, + // { + // address: addresses[19], + // first_name: "Gwendal", + // last_name: "Texier", + // email: "gwendal.texier@gmail.com", + // phone_number: "+33785186013", + // cell_phone_number: "+33785186013", + // birthdate: null, + // created_at: new Date(), + // updated_at: new Date(), + // civility: ECivility.MALE, + // }, + // ]; - const offices: Office[] = [ - { - idNot: "0000", - name: "Office Template", - crpcen: "0000", - address: addresses[0], - created_at: new Date(), - updated_at: new Date(), - office_status: EOfficeStatus.ACTIVATED, - }, - ]; + // const offices: Office[] = [ + // { + // idNot: "0000", + // name: "Office Template", + // crpcen: "0000", + // address: addresses[0], + // created_at: new Date(), + // updated_at: new Date(), + // office_status: EOfficeStatus.ACTIVATED, + // }, + // ]; - const customers: Customer[] = [ - { - contact: contacts[0], - created_at: new Date(), - updated_at: new Date(), - status: ECustomerStatus.PENDING, - }, - { - contact: contacts[5], - created_at: new Date(), - updated_at: new Date(), - status: ECustomerStatus.PENDING, - }, - { - contact: contacts[6], - created_at: new Date(), - updated_at: new Date(), - status: ECustomerStatus.PENDING, - }, - { - contact: contacts[7], - created_at: new Date(), - updated_at: new Date(), - status: ECustomerStatus.PENDING, - }, - { - contact: contacts[8], - created_at: new Date(), - updated_at: new Date(), - status: ECustomerStatus.PENDING, - }, - { - contact: contacts[9], - created_at: new Date(), - updated_at: new Date(), - status: ECustomerStatus.PENDING, - }, - { - contact: contacts[10], - created_at: new Date(), - updated_at: new Date(), - status: ECustomerStatus.PENDING, - }, - { - contact: contacts[11], - created_at: new Date(), - updated_at: new Date(), - status: ECustomerStatus.PENDING, - }, - { - contact: contacts[12], - created_at: new Date(), - updated_at: new Date(), - status: ECustomerStatus.PENDING, - }, - { - contact: contacts[13], - created_at: new Date(), - updated_at: new Date(), - status: ECustomerStatus.PENDING, - }, - { - contact: contacts[14], - created_at: new Date(), - updated_at: new Date(), - status: ECustomerStatus.PENDING, - }, - { - contact: contacts[15], - created_at: new Date(), - updated_at: new Date(), - status: ECustomerStatus.PENDING, - }, - { - contact: contacts[16], - created_at: new Date(), - updated_at: new Date(), - status: ECustomerStatus.PENDING, - }, - { - contact: contacts[17], - created_at: new Date(), - updated_at: new Date(), - status: ECustomerStatus.PENDING, - }, - { - contact: contacts[18], - created_at: new Date(), - updated_at: new Date(), - status: ECustomerStatus.PENDING, - }, - { - contact: contacts[19], - created_at: new Date(), - updated_at: new Date(), - status: ECustomerStatus.PENDING, - }, - ]; + // const customers: Customer[] = [ + // { + // contact: contacts[0], + // created_at: new Date(), + // updated_at: new Date(), + // status: ECustomerStatus.PENDING, + // }, + // { + // contact: contacts[5], + // created_at: new Date(), + // updated_at: new Date(), + // status: ECustomerStatus.PENDING, + // }, + // { + // contact: contacts[6], + // created_at: new Date(), + // updated_at: new Date(), + // status: ECustomerStatus.PENDING, + // }, + // { + // contact: contacts[7], + // created_at: new Date(), + // updated_at: new Date(), + // status: ECustomerStatus.PENDING, + // }, + // { + // contact: contacts[8], + // created_at: new Date(), + // updated_at: new Date(), + // status: ECustomerStatus.PENDING, + // }, + // { + // contact: contacts[9], + // created_at: new Date(), + // updated_at: new Date(), + // status: ECustomerStatus.PENDING, + // }, + // { + // contact: contacts[10], + // created_at: new Date(), + // updated_at: new Date(), + // status: ECustomerStatus.PENDING, + // }, + // { + // contact: contacts[11], + // created_at: new Date(), + // updated_at: new Date(), + // status: ECustomerStatus.PENDING, + // }, + // { + // contact: contacts[12], + // created_at: new Date(), + // updated_at: new Date(), + // status: ECustomerStatus.PENDING, + // }, + // { + // contact: contacts[13], + // created_at: new Date(), + // updated_at: new Date(), + // status: ECustomerStatus.PENDING, + // }, + // { + // contact: contacts[14], + // created_at: new Date(), + // updated_at: new Date(), + // status: ECustomerStatus.PENDING, + // }, + // { + // contact: contacts[15], + // created_at: new Date(), + // updated_at: new Date(), + // status: ECustomerStatus.PENDING, + // }, + // { + // contact: contacts[16], + // created_at: new Date(), + // updated_at: new Date(), + // status: ECustomerStatus.PENDING, + // }, + // { + // contact: contacts[17], + // created_at: new Date(), + // updated_at: new Date(), + // status: ECustomerStatus.PENDING, + // }, + // { + // contact: contacts[18], + // created_at: new Date(), + // updated_at: new Date(), + // status: ECustomerStatus.PENDING, + // }, + // { + // contact: contacts[19], + // created_at: new Date(), + // updated_at: new Date(), + // status: ECustomerStatus.PENDING, + // }, + // ]; - const rules: Rule[] = [ - { - name: "GET users", - label: "Lecture des utilisateurs", - created_at: new Date(), - updated_at: new Date(), - namespace: "collaborator", - }, - { - name: "GET offices", - label: "Afficher des offices", - created_at: new Date(), - updated_at: new Date(), - namespace: "collaborator", - }, - { - name: "GET customers", - label: "Afficher des clients", - created_at: new Date(), - updated_at: new Date(), - namespace: "collaborator", - }, - { - name: "GET deeds", - label: "Voir des types d'acte", - created_at: new Date(), - updated_at: new Date(), - namespace: "collaborator", - }, - { - name: "GET deed-types", - label: "Lecture des types d'actes", - created_at: new Date(), - updated_at: new Date(), - namespace: "collaborator", - }, - { - name: "GET documents", - label: "Afficher des documents", - created_at: new Date(), - updated_at: new Date(), - namespace: "collaborator", - }, - { - name: "GET document-types", - label: "Lecture des types de documents", - created_at: new Date(), - updated_at: new Date(), - namespace: "collaborator", - }, - { - name: "GET files", - label: "Lecture des fichiers", - created_at: new Date(), - updated_at: new Date(), - namespace: "collaborator", - }, - { - name: "GET folders", - label: "Afficher les dossiers", - created_at: new Date(), - updated_at: new Date(), - namespace: "collaborator", - }, - { - name: "GET roles", - label: "Afficher les rôles", - created_at: new Date(), - updated_at: new Date(), - namespace: "collaborator", - }, - { - name: "GET rules", - label: "Afficher les droits", - created_at: new Date(), - updated_at: new Date(), - namespace: "collaborator", - }, - { - name: "GET office-roles", - label: "Lecture des rôles d'office", - created_at: new Date(), - updated_at: new Date(), - namespace: "collaborator", - }, - { - name: "POST deeds", - label: "Créer un template de type d'acte", - created_at: new Date(), - updated_at: new Date(), - namespace: "notary", - }, - { - name: "PUT deeds", - label: "Modifier un type d'acte", - created_at: new Date(), - updated_at: new Date(), - namespace: "notary", - }, - { - name: "DELETE deeds", - label: "Supprimer des types d'actes", - created_at: new Date(), - updated_at: new Date(), - namespace: "notary", - }, - { - name: "POST folders", - label: "Créer un dossier", - created_at: new Date(), - updated_at: new Date(), - namespace: "notary", - }, - { - name: "PUT folders", - label: "Modifier des dossiers", - created_at: new Date(), - updated_at: new Date(), - namespace: "notary", - }, - { - name: "DELETE folders", - label: "Supprimer un dossier vide", - created_at: new Date(), - updated_at: new Date(), - namespace: "notary", - }, - { - name: "POST documents", - label: "Demander des documents à un client", - created_at: new Date(), - updated_at: new Date(), - namespace: "notary", - }, - { - name: "PUT documents", - label: "Valider des documents", - created_at: new Date(), - updated_at: new Date(), - namespace: "notary", - }, - { - name: "DELETE documents", - label: "Supprimer un document demandé", - created_at: new Date(), - updated_at: new Date(), - namespace: "notary", - }, - { - name: "POST customers", - label: "Créer des clients", - created_at: new Date(), - updated_at: new Date(), - namespace: "notary", - }, - { - name: "PUT customers", - label: "Modifier des clients", - created_at: new Date(), - updated_at: new Date(), - namespace: "notary", - }, - { - name: "DELETE customers", - label: "Supprimer un client", - created_at: new Date(), - updated_at: new Date(), - namespace: "super-admin", - }, - { - 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: "PUT users", - label: "Modification des utilisateurs", - 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 offices", - label: "Modification des offices", - created_at: new Date(), - updated_at: new Date(), - namespace: "super-admin", - }, - { - name: "PUT rib", - label: "Editer le RIB de l'office", - created_at: new Date(), - updated_at: new Date(), - namespace: "notary", - }, - { - name: "GET rib", - label: "Lire le RIB de l'office", - created_at: new Date(), - updated_at: new Date(), - namespace: "notary", - }, - { - name: "POST rib", - label: "Déposer le RIB de l'office", - created_at: new Date(), - updated_at: new Date(), - namespace: "notary", - }, - { - name: "DELETE rib", - label: "Supprimer le RIB de l'office", - created_at: new Date(), - updated_at: new Date(), - namespace: "notary", - }, - { - name: "GET subscriptions", - label: "Récupérer les abonnements", - created_at: new Date(), - updated_at: new Date(), - namespace: "notary", - }, - { - name: "POST subscriptions", - label: "Inviter un collaborateur à l'abonnement", - created_at: new Date(), - updated_at: new Date(), - namespace: "notary", - }, - { - name: "PUT subscriptions", - label: "Modifier l'abonnement", - created_at: new Date(), - updated_at: new Date(), - namespace: "notary", - }, - { - name: "GET stripe", - label: "Gérer l'abonnement de l'office", - created_at: new Date(), - updated_at: new Date(), - namespace: "notary", - }, - { - name: "POST stripe", - label: "Payer un abonnement", - created_at: new Date(), - updated_at: new Date(), - namespace: "notary", - }, - ]; + // const rules: Rule[] = [ + // { + // name: "GET users", + // label: "Lecture des utilisateurs", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "collaborator", + // }, + // { + // name: "GET offices", + // label: "Afficher des offices", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "collaborator", + // }, + // { + // name: "GET customers", + // label: "Afficher des clients", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "collaborator", + // }, + // { + // name: "GET deeds", + // label: "Voir des types d'acte", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "collaborator", + // }, + // { + // name: "GET deed-types", + // label: "Lecture des types d'actes", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "collaborator", + // }, + // { + // name: "GET documents", + // label: "Afficher des documents", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "collaborator", + // }, + // { + // name: "GET document-types", + // label: "Lecture des types de documents", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "collaborator", + // }, + // { + // name: "GET files", + // label: "Lecture des fichiers", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "collaborator", + // }, + // { + // name: "GET folders", + // label: "Afficher les dossiers", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "collaborator", + // }, + // { + // name: "GET roles", + // label: "Afficher les rôles", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "collaborator", + // }, + // { + // name: "GET rules", + // label: "Afficher les droits", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "collaborator", + // }, + // { + // name: "GET office-roles", + // label: "Lecture des rôles d'office", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "collaborator", + // }, + // { + // name: "POST deeds", + // label: "Créer un template de type d'acte", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "notary", + // }, + // { + // name: "PUT deeds", + // label: "Modifier un type d'acte", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "notary", + // }, + // { + // name: "DELETE deeds", + // label: "Supprimer des types d'actes", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "notary", + // }, + // { + // name: "POST folders", + // label: "Créer un dossier", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "notary", + // }, + // { + // name: "PUT folders", + // label: "Modifier des dossiers", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "notary", + // }, + // { + // name: "DELETE folders", + // label: "Supprimer un dossier vide", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "notary", + // }, + // { + // name: "POST documents", + // label: "Demander des documents à un client", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "notary", + // }, + // { + // name: "PUT documents", + // label: "Valider des documents", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "notary", + // }, + // { + // name: "DELETE documents", + // label: "Supprimer un document demandé", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "notary", + // }, + // { + // name: "POST customers", + // label: "Créer des clients", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "notary", + // }, + // { + // name: "PUT customers", + // label: "Modifier des clients", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "notary", + // }, + // { + // name: "DELETE customers", + // label: "Supprimer un client", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "super-admin", + // }, + // { + // 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: "PUT users", + // label: "Modification des utilisateurs", + // 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 offices", + // label: "Modification des offices", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "super-admin", + // }, + // { + // name: "PUT rib", + // label: "Editer le RIB de l'office", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "notary", + // }, + // { + // name: "GET rib", + // label: "Lire le RIB de l'office", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "notary", + // }, + // { + // name: "POST rib", + // label: "Déposer le RIB de l'office", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "notary", + // }, + // { + // name: "DELETE rib", + // label: "Supprimer le RIB de l'office", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "notary", + // }, + // { + // name: "GET subscriptions", + // label: "Récupérer les abonnements", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "notary", + // }, + // { + // name: "POST subscriptions", + // label: "Inviter un collaborateur à l'abonnement", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "notary", + // }, + // { + // name: "PUT subscriptions", + // label: "Modifier l'abonnement", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "notary", + // }, + // { + // name: "GET stripe", + // label: "Gérer l'abonnement de l'office", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "notary", + // }, + // { + // name: "POST stripe", + // label: "Payer un abonnement", + // created_at: new Date(), + // updated_at: new Date(), + // namespace: "notary", + // }, + // ]; - const rulesGroups = [ - { - name: "Gestion des matrices d'actes et des documents", - created_at: new Date(), - updated_at: new Date(), - rules: [ - "POST deeds", - "PUT 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", - ], - }, - { - name: "Gestion de l'abonnement", - created_at: new Date(), - updated_at: new Date(), - rules: ["GET subscriptions", "POST subscriptions", "PUT subscriptions", "GET stripe", "POST stripe"], - }, - { - name: "Intégration du RIB", - created_at: new Date(), - updated_at: new Date(), - rules: ["PUT rib", "GET rib", "POST rib", "DELETE rib"], - }, - ]; + // const rulesGroups = [ + // { + // name: "Gestion des matrices d'actes et des documents", + // created_at: new Date(), + // updated_at: new Date(), + // rules: [ + // "POST deeds", + // "PUT 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", + // ], + // }, + // { + // name: "Gestion de l'abonnement", + // created_at: new Date(), + // updated_at: new Date(), + // rules: ["GET subscriptions", "POST subscriptions", "PUT subscriptions", "GET stripe", "POST stripe"], + // }, + // { + // name: "Intégration du RIB", + // created_at: new Date(), + // updated_at: new Date(), + // rules: ["PUT rib", "GET rib", "POST rib", "DELETE rib"], + // }, + // ]; - const collaboratorRules = rules.filter((rule) => rule.namespace === "collaborator"); - const notaryRules = [...collaboratorRules, ...rules.filter((rule) => rule.namespace === "notary")]; - const adminRules = [...notaryRules, ...rules.filter((rule) => rule.namespace === "admin")]; - const superAdminRules = [...adminRules, ...rules.filter((rule) => rule.namespace === "super-admin")]; + // const collaboratorRules = rules.filter((rule) => rule.namespace === "collaborator"); + // const notaryRules = [...collaboratorRules, ...rules.filter((rule) => rule.namespace === "notary")]; + // const adminRules = [...notaryRules, ...rules.filter((rule) => rule.namespace === "admin")]; + // const superAdminRules = [...adminRules, ...rules.filter((rule) => rule.namespace === "super-admin")]; - const roles: Role[] = [ - { - name: "super-admin", - label: "Super administrateur", - created_at: new Date(), - updated_at: new Date(), - rules: superAdminRules, - }, - { - name: "admin", - label: "Administrateur", - created_at: new Date(), - updated_at: new Date(), - rules: adminRules, - }, - { - name: "notary", - label: "Notaire", - created_at: new Date(), - updated_at: new Date(), - rules: [], - }, - { - name: "default", - label: "Utilisateur", - created_at: new Date(), - updated_at: new Date(), - rules: [], - }, - ]; + // const roles: Role[] = [ + // { + // name: "super-admin", + // label: "Super administrateur", + // created_at: new Date(), + // updated_at: new Date(), + // rules: superAdminRules, + // }, + // { + // name: "admin", + // label: "Administrateur", + // created_at: new Date(), + // updated_at: new Date(), + // rules: adminRules, + // }, + // { + // name: "notary", + // label: "Notaire", + // created_at: new Date(), + // updated_at: new Date(), + // rules: [], + // }, + // { + // name: "default", + // label: "Utilisateur", + // created_at: new Date(), + // updated_at: new Date(), + // rules: [], + // }, + // ]; - const officeRoles: OfficeRole[] = [ - { - name: "Notaire", - created_at: new Date(), - updated_at: new Date(), - office: offices[0]!, - rules: notaryRules, - }, - { - name: "Collaborateur", - created_at: new Date(), - updated_at: new Date(), - office: offices[0]!, - rules: notaryRules, - }, - ]; + // const officeRoles: OfficeRole[] = [ + // { + // name: "Notaire", + // created_at: new Date(), + // updated_at: new Date(), + // office: offices[0]!, + // rules: notaryRules, + // }, + // { + // name: "Collaborateur", + // created_at: new Date(), + // updated_at: new Date(), + // office: offices[0]!, + // rules: notaryRules, + // }, + // ]; - const users: User[] = [ - { - created_at: new Date(), - updated_at: new Date(), - idNot: idNot3, - contact: contacts[1], - office_membership: offices[0], - role: roles[1], - }, - { - created_at: new Date(), - updated_at: new Date(), - idNot: idNot4, - contact: contacts[2], - office_membership: offices[0], - role: roles[2], - office_role: officeRoles[2], - }, - { - created_at: new Date(), - updated_at: new Date(), - idNot: idNot5, - contact: contacts[3], - office_membership: offices[0], - role: roles[1], - office_role: officeRoles[3], - }, - { - created_at: new Date(), - updated_at: new Date(), - idNot: idNot6, - contact: contacts[4], - office_membership: offices[0], - role: roles[3], - }, - ]; + // const users: User[] = [ + // { + // created_at: new Date(), + // updated_at: new Date(), + // idNot: idNot3, + // contact: contacts[1], + // office_membership: offices[0], + // role: roles[1], + // }, + // { + // created_at: new Date(), + // updated_at: new Date(), + // idNot: idNot4, + // contact: contacts[2], + // office_membership: offices[0], + // role: roles[2], + // office_role: officeRoles[2], + // }, + // { + // created_at: new Date(), + // updated_at: new Date(), + // idNot: idNot5, + // contact: contacts[3], + // office_membership: offices[0], + // role: roles[1], + // office_role: officeRoles[3], + // }, + // { + // created_at: new Date(), + // updated_at: new Date(), + // idNot: idNot6, + // contact: contacts[4], + // office_membership: offices[0], + // role: roles[3], + // }, + // ]; - const documentTypes: DocumentType[] = [ - { - archived_at: null, - name: "Carte Nationale d'Identité recto-verso", - office: offices[0], - private_description: "Document d'identité", - public_description: "Document d'identité", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Contrat de mariage", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Convention de PACS", - office: offices[0], - private_description: " ", - public_description: "Avec précision du régime", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Titre de propriété", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Cahier des charges du lotissement", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Règlement du lotissement", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Cahier de prescriptions architecturales", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Statuts de l'association syndicale libre", - office: offices[0], - private_description: " ", - public_description: "Avec nom et adresse du président", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Etat descriptif de division et règlement de copropriété", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Etat descriptif de division et règlement de copropriété modificatifs", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Carnet d'entretien", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Trois derniers PV D'AG", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Trois derniers relevés de charge", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Bail ou congé délivré", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Certificat d'assainissement", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Facture ou contrat d'electricité", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Facture ou contrat de gaz", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Loi carrez", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Etat parasitaire", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Amiante", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Facture des travaux", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Garanties décénales des entreprises", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "PV de réception des travaux", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Permis de construire et modificatifs", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Déclaration attestation l'achèvement des travaux", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Attestation de non opposition", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Assurance décenale", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Dommage ouvrage", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Dernière facture ramonage", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Liste du mobilier", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "RIB daté et signé", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Extrait KBIS et statuts de la société", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Document arpentage et plan de division", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Accord de prêt", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Offre de prêt", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Attestation dépôt de permis de construire", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Permis de construire", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Extrait acte de décès", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Fiche de renseignements d'états civils", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Donation entre epoux", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Testament", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Liste des banques avce un compte bancaire", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Contrat d'assurance-vie", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Liste des caisses versant une retraite ou une pension", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Dernière déclaration de revenus", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Avis d'imposition (revenus et ISF)", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Avis d'imposition (foncier et habitation)", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Liste des emprunts en cours", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Actes de donation", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Déclarations de dons faites aux impôts", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Actes de succession", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Actes de vente de biens", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Factures de travaux", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Bail de location", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Nom et adresse du Syndic", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Liste des autres biens", - office: offices[0], - private_description: " ", - public_description: - "Exemple: PEE, PER, parts de société, bijoux de valeur et oeuvres d'art, fonds de commerce, fonds artisanal, entreprise commerciale, exploitation agricole...", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Caution, Prestation compensatoire, Pension alimentaire", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Titre de propriété des biens", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Tableaux d'amortissement des prêts immobiliers", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Cartes grises et cotes ARGUS des véhicules", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Etat des avoirs bancaires", - office: offices[0], - private_description: " ", - public_description: "Joints ou individuels au jour de la séparation", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Avoirs mobiliers", - office: offices[0], - private_description: " ", - public_description: - "arrêtés à la date de la séparation (relevés de comptes épargne entreprise, épargne retraite, assurance-vie...)", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Livret de famille", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Dernières régularisations de charges", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Diagnostic de Performance Energétique (DPE)", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Avis d'imposition N-1", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Avis d'imposition N-2", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Contrat de travail", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Trois derniers bulletins de salaire", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Bilan comptable", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Trois dernières quittances de loyers ou attestation d'hébergement", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Taxe foncière", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - archived_at: null, - name: "Justificatif de domicile", - office: offices[0], - private_description: " ", - public_description: " ", - created_at: new Date(), - updated_at: new Date(), - }, - { - name: "Autres documents", - archived_at: null, - public_description: "Autres documents", - private_description: "Autres documents", - office: offices[0], - created_at: new Date(), - updated_at: new Date(), - }, - ]; + // const documentTypes: DocumentType[] = [ + // { + // archived_at: null, + // name: "Carte Nationale d'Identité recto-verso", + // office: offices[0], + // private_description: "Document d'identité", + // public_description: "Document d'identité", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Contrat de mariage", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Convention de PACS", + // office: offices[0], + // private_description: " ", + // public_description: "Avec précision du régime", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Titre de propriété", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Cahier des charges du lotissement", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Règlement du lotissement", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Cahier de prescriptions architecturales", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Statuts de l'association syndicale libre", + // office: offices[0], + // private_description: " ", + // public_description: "Avec nom et adresse du président", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Etat descriptif de division et règlement de copropriété", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Etat descriptif de division et règlement de copropriété modificatifs", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Carnet d'entretien", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Trois derniers PV D'AG", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Trois derniers relevés de charge", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Bail ou congé délivré", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Certificat d'assainissement", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Facture ou contrat d'electricité", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Facture ou contrat de gaz", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Loi carrez", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Etat parasitaire", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Amiante", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Facture des travaux", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Garanties décénales des entreprises", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "PV de réception des travaux", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Permis de construire et modificatifs", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Déclaration attestation l'achèvement des travaux", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Attestation de non opposition", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Assurance décenale", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Dommage ouvrage", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Dernière facture ramonage", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Liste du mobilier", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "RIB daté et signé", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Extrait KBIS et statuts de la société", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Document arpentage et plan de division", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Accord de prêt", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Offre de prêt", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Attestation dépôt de permis de construire", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Permis de construire", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Extrait acte de décès", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Fiche de renseignements d'états civils", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Donation entre epoux", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Testament", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Liste des banques avce un compte bancaire", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Contrat d'assurance-vie", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Liste des caisses versant une retraite ou une pension", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Dernière déclaration de revenus", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Avis d'imposition (revenus et ISF)", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Avis d'imposition (foncier et habitation)", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Liste des emprunts en cours", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Actes de donation", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Déclarations de dons faites aux impôts", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Actes de succession", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Actes de vente de biens", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Factures de travaux", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Bail de location", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Nom et adresse du Syndic", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Liste des autres biens", + // office: offices[0], + // private_description: " ", + // public_description: + // "Exemple: PEE, PER, parts de société, bijoux de valeur et oeuvres d'art, fonds de commerce, fonds artisanal, entreprise commerciale, exploitation agricole...", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Caution, Prestation compensatoire, Pension alimentaire", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Titre de propriété des biens", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Tableaux d'amortissement des prêts immobiliers", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Cartes grises et cotes ARGUS des véhicules", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Etat des avoirs bancaires", + // office: offices[0], + // private_description: " ", + // public_description: "Joints ou individuels au jour de la séparation", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Avoirs mobiliers", + // office: offices[0], + // private_description: " ", + // public_description: + // "arrêtés à la date de la séparation (relevés de comptes épargne entreprise, épargne retraite, assurance-vie...)", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Livret de famille", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Dernières régularisations de charges", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Diagnostic de Performance Energétique (DPE)", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Avis d'imposition N-1", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Avis d'imposition N-2", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Contrat de travail", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Trois derniers bulletins de salaire", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Bilan comptable", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Trois dernières quittances de loyers ou attestation d'hébergement", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Taxe foncière", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // archived_at: null, + // name: "Justificatif de domicile", + // office: offices[0], + // private_description: " ", + // public_description: " ", + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // name: "Autres documents", + // archived_at: null, + // public_description: "Autres documents", + // private_description: "Autres documents", + // office: offices[0], + // created_at: new Date(), + // updated_at: new Date(), + // }, + // ]; - const deedTypes: DeedType[] = [ - { - name: "Promesse de vente", - archived_at: null, - description: "Promesse de vente entre deux partis", - office: offices[0], - created_at: new Date(), - updated_at: new Date(), - document_types: [...documentTypes.slice(0, 31), documentTypes[66]!], - }, - { - name: "Acte de vente", - archived_at: null, - description: "Acte de vente", - office: offices[0], - created_at: new Date(), - updated_at: new Date(), - document_types: documentTypes.slice(30, 36), - }, - { - name: "Acte de succession", - archived_at: null, - description: "Acte de succession", - office: offices[0], - created_at: new Date(), - updated_at: new Date(), - document_types: [...documentTypes.slice(36, 56), documentTypes[62]!, documentTypes[30]!], - }, - { - name: "Acte de divorce", - archived_at: null, - description: "Acte de divorce", - office: offices[0], - created_at: new Date(), - updated_at: new Date(), - document_types: [...documentTypes.slice(57, 62), documentTypes[30]!, documentTypes[0]!], - }, - { - name: "Acte de donation", - archived_at: null, - description: "Acte de donation", - office: offices[0], - created_at: new Date(), - updated_at: new Date(), - document_types: [documentTypes[0]!, documentTypes[62]!, documentTypes[57]!], - }, - { - name: "Bail d'habitation", - archived_at: null, - description: "Bail d'habitation", - office: offices[0], - created_at: new Date(), - updated_at: new Date(), - document_types: [documentTypes[0]!, documentTypes[30]!, documentTypes[57]!, ...documentTypes.slice(62)], - }, - ]; + // const deedTypes: DeedType[] = [ + // { + // name: "Promesse de vente", + // archived_at: null, + // description: "Promesse de vente entre deux partis", + // office: offices[0], + // created_at: new Date(), + // updated_at: new Date(), + // document_types: [...documentTypes.slice(0, 31), documentTypes[66]!], + // }, + // { + // name: "Acte de vente", + // archived_at: null, + // description: "Acte de vente", + // office: offices[0], + // created_at: new Date(), + // updated_at: new Date(), + // document_types: documentTypes.slice(30, 36), + // }, + // { + // name: "Acte de succession", + // archived_at: null, + // description: "Acte de succession", + // office: offices[0], + // created_at: new Date(), + // updated_at: new Date(), + // document_types: [...documentTypes.slice(36, 56), documentTypes[62]!, documentTypes[30]!], + // }, + // { + // name: "Acte de divorce", + // archived_at: null, + // description: "Acte de divorce", + // office: offices[0], + // created_at: new Date(), + // updated_at: new Date(), + // document_types: [...documentTypes.slice(57, 62), documentTypes[30]!, documentTypes[0]!], + // }, + // { + // name: "Acte de donation", + // archived_at: null, + // description: "Acte de donation", + // office: offices[0], + // created_at: new Date(), + // updated_at: new Date(), + // document_types: [documentTypes[0]!, documentTypes[62]!, documentTypes[57]!], + // }, + // { + // name: "Bail d'habitation", + // archived_at: null, + // description: "Bail d'habitation", + // office: offices[0], + // created_at: new Date(), + // updated_at: new Date(), + // document_types: [documentTypes[0]!, documentTypes[30]!, documentTypes[57]!, ...documentTypes.slice(62)], + // }, + // ]; - const deeds: Deed[] = [ - { - deed_type: deedTypes[0], - created_at: new Date(), - updated_at: new Date(), - }, - { - deed_type: deedTypes[0], - created_at: new Date(), - updated_at: new Date(), - }, - { - deed_type: deedTypes[0], - created_at: new Date(), - updated_at: new Date(), - }, - { - deed_type: deedTypes[0], - created_at: new Date(), - updated_at: new Date(), - }, - { - deed_type: deedTypes[0], - created_at: new Date(), - updated_at: new Date(), - }, - { - deed_type: deedTypes[0], - created_at: new Date(), - updated_at: new Date(), - }, - { - deed_type: deedTypes[0], - created_at: new Date(), - updated_at: new Date(), - }, - { - deed_type: deedTypes[1], - created_at: new Date(), - updated_at: new Date(), - }, - { - deed_type: deedTypes[1], - created_at: new Date(), - updated_at: new Date(), - }, - { - deed_type: deedTypes[1], - created_at: new Date(), - updated_at: new Date(), - }, - { - deed_type: deedTypes[1], - created_at: new Date(), - updated_at: new Date(), - }, - { - deed_type: deedTypes[1], - created_at: new Date(), - updated_at: new Date(), - }, - { - deed_type: deedTypes[1], - created_at: new Date(), - updated_at: new Date(), - }, - { - deed_type: deedTypes[1], - created_at: new Date(), - updated_at: new Date(), - }, - { - deed_type: deedTypes[2], - created_at: new Date(), - updated_at: new Date(), - }, - { - deed_type: deedTypes[2], - created_at: new Date(), - updated_at: new Date(), - }, - { - deed_type: deedTypes[2], - created_at: new Date(), - updated_at: new Date(), - }, - { - deed_type: deedTypes[2], - created_at: new Date(), - updated_at: new Date(), - }, - { - deed_type: deedTypes[2], - created_at: new Date(), - updated_at: new Date(), - }, - { - deed_type: deedTypes[2], - created_at: new Date(), - updated_at: new Date(), - }, - { - deed_type: deedTypes[2], - created_at: new Date(), - updated_at: new Date(), - }, - ]; + // const deeds: Deed[] = [ + // { + // deed_type: deedTypes[0], + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // deed_type: deedTypes[0], + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // deed_type: deedTypes[0], + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // deed_type: deedTypes[0], + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // deed_type: deedTypes[0], + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // deed_type: deedTypes[0], + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // deed_type: deedTypes[0], + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // deed_type: deedTypes[1], + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // deed_type: deedTypes[1], + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // deed_type: deedTypes[1], + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // deed_type: deedTypes[1], + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // deed_type: deedTypes[1], + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // deed_type: deedTypes[1], + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // deed_type: deedTypes[1], + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // deed_type: deedTypes[2], + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // deed_type: deedTypes[2], + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // deed_type: deedTypes[2], + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // deed_type: deedTypes[2], + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // deed_type: deedTypes[2], + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // deed_type: deedTypes[2], + // created_at: new Date(), + // updated_at: new Date(), + // }, + // { + // deed_type: deedTypes[2], + // created_at: new Date(), + // updated_at: new Date(), + // }, + // ]; - const officeFolders: OfficeFolder[] = [ - { - folder_number: "0001", - name: "Vente par Mme. Simon au profit de Mme. Lextrait", - deed: deeds[0], - status: EFolderStatus.LIVE, - created_at: new Date(), - updated_at: new Date(), - office: offices[0], - description: null, - archived_description: null, - }, - { - folder_number: "0002", - name: "Donation des parts sociales de la société SARL FLORE", - deed: deeds[1], - status: EFolderStatus.LIVE, - created_at: new Date(), - updated_at: new Date(), - office: offices[0], - description: null, - archived_description: null, - }, - { - folder_number: "0003", - name: "Vente par Mme. Lefebvre au profit de Mme. Mathieu", - deed: deeds[2], - status: EFolderStatus.LIVE, - created_at: new Date(), - updated_at: new Date(), - office: offices[0], - description: null, - archived_description: null, - }, - { - folder_number: "0004", - name: "Vente par Mme. Chevalier au profit de M. Daveau", - deed: deeds[3], - status: EFolderStatus.LIVE, - created_at: new Date(), - updated_at: new Date(), - office: offices[0], - description: null, - archived_description: null, - }, - { - folder_number: "0005", - name: "Vente par M. Lalo au profit de Mme. Pigale", - deed: deeds[4], - status: EFolderStatus.LIVE, - created_at: new Date(), - updated_at: new Date(), - office: offices[0], - description: null, - archived_description: null, - }, - { - folder_number: "0006", - name: "Donation des parts sociales de la société SMART-TALENT", - deed: deeds[5], - status: EFolderStatus.LIVE, - created_at: new Date(), - updated_at: new Date(), - office: offices[0], - description: null, - archived_description: null, - }, - { - folder_number: "0007", - name: "Vente par M. Girard au profit de M. Louis", - deed: deeds[6], - status: EFolderStatus.LIVE, - created_at: new Date(), - updated_at: new Date(), - office: offices[0], - description: null, - archived_description: null, - }, - { - folder_number: "0008", - name: "Vente par Mme. Leclerc au profit de M. Louis", - deed: deeds[7], - status: EFolderStatus.LIVE, - created_at: new Date(), - updated_at: new Date(), - office: offices[0], - description: null, - archived_description: null, - }, - { - folder_number: "0009", - name: "Vente par M. Lambert au profit de M. Holmes", - deed: deeds[8], - status: EFolderStatus.LIVE, - created_at: new Date(), - updated_at: new Date(), - office: offices[0], - description: null, - archived_description: null, - }, - ]; + // const officeFolders: OfficeFolder[] = [ + // { + // folder_number: "0001", + // name: "Vente par Mme. Simon au profit de Mme. Lextrait", + // deed: deeds[0], + // status: EFolderStatus.LIVE, + // created_at: new Date(), + // updated_at: new Date(), + // office: offices[0], + // description: null, + // archived_description: null, + // }, + // { + // folder_number: "0002", + // name: "Donation des parts sociales de la société SARL FLORE", + // deed: deeds[1], + // status: EFolderStatus.LIVE, + // created_at: new Date(), + // updated_at: new Date(), + // office: offices[0], + // description: null, + // archived_description: null, + // }, + // { + // folder_number: "0003", + // name: "Vente par Mme. Lefebvre au profit de Mme. Mathieu", + // deed: deeds[2], + // status: EFolderStatus.LIVE, + // created_at: new Date(), + // updated_at: new Date(), + // office: offices[0], + // description: null, + // archived_description: null, + // }, + // { + // folder_number: "0004", + // name: "Vente par Mme. Chevalier au profit de M. Daveau", + // deed: deeds[3], + // status: EFolderStatus.LIVE, + // created_at: new Date(), + // updated_at: new Date(), + // office: offices[0], + // description: null, + // archived_description: null, + // }, + // { + // folder_number: "0005", + // name: "Vente par M. Lalo au profit de Mme. Pigale", + // deed: deeds[4], + // status: EFolderStatus.LIVE, + // created_at: new Date(), + // updated_at: new Date(), + // office: offices[0], + // description: null, + // archived_description: null, + // }, + // { + // folder_number: "0006", + // name: "Donation des parts sociales de la société SMART-TALENT", + // deed: deeds[5], + // status: EFolderStatus.LIVE, + // created_at: new Date(), + // updated_at: new Date(), + // office: offices[0], + // description: null, + // archived_description: null, + // }, + // { + // folder_number: "0007", + // name: "Vente par M. Girard au profit de M. Louis", + // deed: deeds[6], + // status: EFolderStatus.LIVE, + // created_at: new Date(), + // updated_at: new Date(), + // office: offices[0], + // description: null, + // archived_description: null, + // }, + // { + // folder_number: "0008", + // name: "Vente par Mme. Leclerc au profit de M. Louis", + // deed: deeds[7], + // status: EFolderStatus.LIVE, + // created_at: new Date(), + // updated_at: new Date(), + // office: offices[0], + // description: null, + // archived_description: null, + // }, + // { + // folder_number: "0009", + // name: "Vente par M. Lambert au profit de M. Holmes", + // deed: deeds[8], + // status: EFolderStatus.LIVE, + // created_at: new Date(), + // updated_at: new Date(), + // office: offices[0], + // description: null, + // archived_description: null, + // }, + // ]; - for (const office of offices) { - const officeCreated = await prisma.offices.create({ - data: { - idNot: office.idNot!, - name: office.name, - crpcen: office.crpcen, - address: { - create: { - address: office.address!.address, - zip_code: office.address!.zip_code, - city: office.address!.city, - }, - }, - office_status: EOfficeStatus.ACTIVATED, - }, - }); - office.uid = officeCreated.uid; - } - for (const rule of rules) { - const ruleCreated = await prisma.rules.create({ - data: { - name: rule.name, - label: rule.label, - namespace: rule.namespace, - }, - }); - rule.uid = ruleCreated.uid; - } + // for (const office of offices) { + // const officeCreated = await prisma.offices.create({ + // data: { + // idNot: office.idNot!, + // name: office.name, + // crpcen: office.crpcen, + // address: { + // create: { + // address: office.address!.address, + // zip_code: office.address!.zip_code, + // city: office.address!.city, + // }, + // }, + // office_status: EOfficeStatus.ACTIVATED, + // }, + // }); + // office.uid = officeCreated.uid; + // } + // for (const rule of rules) { + // const ruleCreated = await prisma.rules.create({ + // data: { + // name: rule.name, + // label: rule.label, + // namespace: rule.namespace, + // }, + // }); + // rule.uid = ruleCreated.uid; + // } - for (const role of roles) { - const roleCreated = await prisma.roles.create({ - data: { - name: role.name, - label: role.label, - rules: { - connect: role.rules?.map((rule) => ({ - uid: rule.uid!, - })), - }, - }, - }); - role.uid = roleCreated.uid; - } + // for (const role of roles) { + // const roleCreated = await prisma.roles.create({ + // data: { + // name: role.name, + // label: role.label, + // rules: { + // connect: role.rules?.map((rule) => ({ + // uid: rule.uid!, + // })), + // }, + // }, + // }); + // role.uid = roleCreated.uid; + // } - for (const ruleGroup of rulesGroups) { - await prisma.rulesGroups.create({ - data: { - name: ruleGroup.name, - rules: { - connect: ruleGroup.rules?.map((rule) => ({ - uid: rules.find((r) => r.name === rule)!.uid!, - })), - }, - }, - }); - } + // for (const ruleGroup of rulesGroups) { + // await prisma.rulesGroups.create({ + // data: { + // name: ruleGroup.name, + // rules: { + // connect: ruleGroup.rules?.map((rule) => ({ + // uid: rules.find((r) => r.name === rule)!.uid!, + // })), + // }, + // }, + // }); + // } - for (const officeRole of officeRoles) { - const officeRoleCreated = await prisma.officeRoles.create({ - data: { - name: officeRole.name, - office: { - connect: { - uid: officeRole.office.uid, - }, - }, - rules: { - connect: officeRole.rules?.map((rule) => ({ - uid: rule.uid!, - })), - }, - }, - }); - officeRole.uid = officeRoleCreated.uid; - } + // for (const officeRole of officeRoles) { + // const officeRoleCreated = await prisma.officeRoles.create({ + // data: { + // name: officeRole.name, + // office: { + // connect: { + // uid: officeRole.office.uid, + // }, + // }, + // rules: { + // connect: officeRole.rules?.map((rule) => ({ + // uid: rule.uid!, + // })), + // }, + // }, + // }); + // officeRole.uid = officeRoleCreated.uid; + // } - for (const user of users) { - const createArgs: Prisma.UsersCreateArgs = { - data: { - idNot: user.idNot, - office_membership: { - connectOrCreate: { - where: { - idNot: user.office_membership!.idNot, - }, - create: { - idNot: user.office_membership!.idNot!, - name: user.office_membership!.name, - crpcen: user.office_membership!.crpcen, - address: { - create: { - address: user.office_membership!.address!.address, - zip_code: user.office_membership!.address!.zip_code, - city: user.office_membership!.address!.city, - }, - }, - }, - }, - }, - contact: { - create: { - first_name: user.contact!.first_name, - last_name: user.contact!.last_name, - email: user.contact!.email, - phone_number: user.contact!.phone_number, - cell_phone_number: user.contact!.cell_phone_number, - civility: ECivility[user.contact!.civility as keyof typeof ECivility], - address: {}, - }, - }, - role: { - connect: { - uid: user.role!.uid, - }, - }, - }, - }; - if (user.contact!.address) { - createArgs.data.contact!.create!.address!.create = { - address: user.contact!.address.address, - zip_code: user.contact!.address.zip_code, - city: user.contact!.address.city, - }; - } - if (user.office_role) { - createArgs.data.office_role = { - connect: { - uid: user.office_role.uid, - }, - }; - } - const userCreated = await prisma.users.create(createArgs); - user.uid = userCreated.uid; - } + // for (const user of users) { + // const createArgs: Prisma.UsersCreateArgs = { + // data: { + // idNot: user.idNot, + // office_membership: { + // connectOrCreate: { + // where: { + // idNot: user.office_membership!.idNot, + // }, + // create: { + // idNot: user.office_membership!.idNot!, + // name: user.office_membership!.name, + // crpcen: user.office_membership!.crpcen, + // address: { + // create: { + // address: user.office_membership!.address!.address, + // zip_code: user.office_membership!.address!.zip_code, + // city: user.office_membership!.address!.city, + // }, + // }, + // }, + // }, + // }, + // contact: { + // create: { + // first_name: user.contact!.first_name, + // last_name: user.contact!.last_name, + // email: user.contact!.email, + // phone_number: user.contact!.phone_number, + // cell_phone_number: user.contact!.cell_phone_number, + // civility: ECivility[user.contact!.civility as keyof typeof ECivility], + // address: {}, + // }, + // }, + // role: { + // connect: { + // uid: user.role!.uid, + // }, + // }, + // }, + // }; + // if (user.contact!.address) { + // createArgs.data.contact!.create!.address!.create = { + // address: user.contact!.address.address, + // zip_code: user.contact!.address.zip_code, + // city: user.contact!.address.city, + // }; + // } + // if (user.office_role) { + // createArgs.data.office_role = { + // connect: { + // uid: user.office_role.uid, + // }, + // }; + // } + // const userCreated = await prisma.users.create(createArgs); + // user.uid = userCreated.uid; + // } - for (const customer of customers) { - const createArgs: Prisma.CustomersCreateArgs = { - data: { - status: ECustomerStatus.PENDING, - contact: { - create: { - first_name: customer.contact!.first_name, - last_name: customer.contact!.last_name, - email: customer.contact!.email, - phone_number: customer.contact!.phone_number, - cell_phone_number: customer.contact!.cell_phone_number, - civility: ECivility[customer.contact!.civility as keyof typeof ECivility], - address: {}, - }, - }, - }, - }; + // for (const customer of customers) { + // const createArgs: Prisma.CustomersCreateArgs = { + // data: { + // status: ECustomerStatus.PENDING, + // contact: { + // create: { + // first_name: customer.contact!.first_name, + // last_name: customer.contact!.last_name, + // email: customer.contact!.email, + // phone_number: customer.contact!.phone_number, + // cell_phone_number: customer.contact!.cell_phone_number, + // civility: ECivility[customer.contact!.civility as keyof typeof ECivility], + // address: {}, + // }, + // }, + // }, + // }; - if (customer.contact?.address) { - createArgs.data.contact!.create!.address = { - create: { - address: customer.contact?.address?.address, - zip_code: customer.contact?.address?.zip_code, - city: customer.contact?.address?.city, - }, - }; - } - const customersCreated = await prisma.customers.create(createArgs); - customer.uid = customersCreated.uid; - } + // if (customer.contact?.address) { + // createArgs.data.contact!.create!.address = { + // create: { + // address: customer.contact?.address?.address, + // zip_code: customer.contact?.address?.zip_code, + // city: customer.contact?.address?.city, + // }, + // }; + // } + // const customersCreated = await prisma.customers.create(createArgs); + // customer.uid = customersCreated.uid; + // } - for (const documentType of documentTypes) { - const documentTypeCreated = await prisma.documentTypes.create({ - data: { - name: documentType.name, - public_description: documentType.public_description || "", - private_description: documentType.private_description, - office: { - connect: { - uid: documentType.office!.uid, - }, - }, - }, - }); - documentType.uid = documentTypeCreated.uid; - } + // for (const documentType of documentTypes) { + // const documentTypeCreated = await prisma.documentTypes.create({ + // data: { + // name: documentType.name, + // public_description: documentType.public_description || "", + // private_description: documentType.private_description, + // office: { + // connect: { + // uid: documentType.office!.uid, + // }, + // }, + // }, + // }); + // documentType.uid = documentTypeCreated.uid; + // } - for (const deedType of deedTypes) { - const createArgs: Prisma.DeedTypesCreateArgs = { - data: { - name: deedType.name, - description: deedType.description || "", - office: { - connect: { - uid: deedType.office!.uid, - }, - }, - }, - }; - if (deedType.document_types) { - createArgs.data.document_types = { - connect: deedType.document_types.map((documentType) => ({ - uid: documentType.uid, - })), - }; - } - const deedTypeCreated = await prisma.deedTypes.create(createArgs); - deedType.uid = deedTypeCreated.uid; - } + // for (const deedType of deedTypes) { + // const createArgs: Prisma.DeedTypesCreateArgs = { + // data: { + // name: deedType.name, + // description: deedType.description || "", + // office: { + // connect: { + // uid: deedType.office!.uid, + // }, + // }, + // }, + // }; + // if (deedType.document_types) { + // createArgs.data.document_types = { + // connect: deedType.document_types.map((documentType) => ({ + // uid: documentType.uid, + // })), + // }; + // } + // const deedTypeCreated = await prisma.deedTypes.create(createArgs); + // deedType.uid = deedTypeCreated.uid; + // } - for (const deed of deeds) { - const createArgs: Prisma.DeedsCreateArgs = { - data: { - deed_type: { - connect: { - uid: deed.deed_type!.uid, - }, - }, - }, - }; - const deedTypeWithDocumentTypes = await prisma.deedTypes.findUniqueOrThrow({ - where: { - uid: deed.deed_type!.uid, - }, - include: { document_types: true }, - }); + // for (const deed of deeds) { + // const createArgs: Prisma.DeedsCreateArgs = { + // data: { + // deed_type: { + // connect: { + // uid: deed.deed_type!.uid, + // }, + // }, + // }, + // }; + // const deedTypeWithDocumentTypes = await prisma.deedTypes.findUniqueOrThrow({ + // where: { + // uid: deed.deed_type!.uid, + // }, + // include: { document_types: true }, + // }); - if (deedTypeWithDocumentTypes.document_types) { - createArgs.data.document_types = { - connect: deedTypeWithDocumentTypes.document_types.map((documentType) => ({ - uid: documentType.uid, - })), - }; - } - const deedCreated = await prisma.deeds.create(createArgs); - deed.uid = deedCreated.uid; - } + // if (deedTypeWithDocumentTypes.document_types) { + // createArgs.data.document_types = { + // connect: deedTypeWithDocumentTypes.document_types.map((documentType) => ({ + // uid: documentType.uid, + // })), + // }; + // } + // const deedCreated = await prisma.deeds.create(createArgs); + // deed.uid = deedCreated.uid; + // } - for (const officeFolder of officeFolders) { - const officeFolderCreated = await prisma.officeFolders.create({ - data: { - folder_number: officeFolder.folder_number, - name: officeFolder.name, - description: officeFolder.description, - status: EFolderStatus.LIVE, - deed: { - connect: { - uid: officeFolder.deed?.uid, - }, - }, - office: { - connect: { - uid: officeFolder.office!.uid, - }, - }, - stakeholders: { - connect: officeFolder.stakeholders?.map((stakeholder) => ({ - uid: stakeholder.uid!, - })), - }, - }, - }); - officeFolder.uid = officeFolderCreated.uid; - } + // for (const officeFolder of officeFolders) { + // const officeFolderCreated = await prisma.officeFolders.create({ + // data: { + // folder_number: officeFolder.folder_number, + // name: officeFolder.name, + // description: officeFolder.description, + // status: EFolderStatus.LIVE, + // deed: { + // connect: { + // uid: officeFolder.deed?.uid, + // }, + // }, + // office: { + // connect: { + // uid: officeFolder.office!.uid, + // }, + // }, + // stakeholders: { + // connect: officeFolder.stakeholders?.map((stakeholder) => ({ + // uid: stakeholder.uid!, + // })), + // }, + // }, + // }); + // officeFolder.uid = officeFolderCreated.uid; + // } - console.info(">MOCK DATA - Seeding completed!"); - } catch (error) { - console.error(error); - console.info("Data already seeded, skiping"); - } + // console.info(">MOCK DATA - Seeding completed!"); + // } catch (error) { + // console.error(error); + // console.info("Data already seeded, skiping"); + // } } main(); diff --git a/src/common/emails/EmailBuilder.ts b/src/common/emails/EmailBuilder.ts index 5dcfb7b8..f3296d13 100644 --- a/src/common/emails/EmailBuilder.ts +++ b/src/common/emails/EmailBuilder.ts @@ -1,11 +1,12 @@ import DocumentsService from "@Services/super-admin/DocumentsService/DocumentsService"; import { Documents } from "@prisma/client"; -import User, { Document } from "le-coffre-resources/dist/SuperAdmin"; +import { Document } from "le-coffre-resources/dist/SuperAdmin"; import { Service } from "typedi"; import { ETemplates } from "./Templates/EmailTemplates"; import MailchimpService from "@Services/common/MailchimpService/MailchimpService"; import { BackendVariables } from "@Common/config/variables/Variables"; import UsersService from "@Services/super-admin/UsersService/UsersService"; +import User from "le-coffre-resources/dist/SuperAdmin"; @Service() export default class EmailBuilder { diff --git a/src/common/repositories/CustomersRepository.ts b/src/common/repositories/CustomersRepository.ts index 6f707133..2d15c73c 100644 --- a/src/common/repositories/CustomersRepository.ts +++ b/src/common/repositories/CustomersRepository.ts @@ -44,6 +44,11 @@ export default class CustomersRepository extends BaseRepository { const createArgs: Prisma.CustomersCreateArgs = { data: { status: ECustomerStatus.PENDING, + office: { + connect: { + uid: customer.office!.uid, + }, + }, contact: { create: { first_name: customer.contact!.first_name, diff --git a/src/common/repositories/UserNotificationRepository.ts b/src/common/repositories/UserNotificationRepository.ts index 67826d94..dc899ec6 100644 --- a/src/common/repositories/UserNotificationRepository.ts +++ b/src/common/repositories/UserNotificationRepository.ts @@ -20,7 +20,6 @@ export default class UserNotificationRepository extends BaseRepository { * @description : Find many user notifications */ public async findMany(query: Prisma.UserNotificationsFindManyArgs) { - query.take = Math.min(query.take || this.defaultFetchRows, this.maxFetchRows); return this.model.findMany(query); } diff --git a/src/test/config/Init.ts b/src/test/config/Init.ts index 27be6340..cc7b3b2c 100644 --- a/src/test/config/Init.ts +++ b/src/test/config/Init.ts @@ -70,6 +70,11 @@ export const initCustomers = (customer: Customer): Promise => { return prisma.customers.create({ data: { status: ECustomerStatus.PENDING, + office: { + connect: { + uid: customer.office?.uid, + }, + }, contact: { create: { first_name: customer.contact!.first_name,