From 666b98683a492cb275eef258e826778c79215346 Mon Sep 17 00:00:00 2001 From: Vins Date: Thu, 23 May 2024 00:19:32 +0200 Subject: [PATCH 01/25] Notifications ordered --- src/app/api/notary/UserNotificationController.ts | 1 + src/common/repositories/UserNotificationRepository.ts | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) 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/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); } From d279a49cb2af9e0a237d8b4e8c7ad8e78623e23e Mon Sep 17 00:00:00 2001 From: Vins Date: Thu, 23 May 2024 00:26:44 +0200 Subject: [PATCH 02/25] Password regex accept _ and - --- src/app/api/customer/AuthController.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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; From 4b6f2da89bbdad7b182b48dbf1740885ddb39376 Mon Sep 17 00:00:00 2001 From: Vins Date: Thu, 23 May 2024 10:24:23 +0200 Subject: [PATCH 03/25] Recap customer email ready --- src/common/emails/EmailBuilder.ts | 49 ++++++++++++++++++- src/entries/Cron.ts | 3 +- .../common/CronService/CronService.ts | 20 +++++++- 3 files changed, 68 insertions(+), 4 deletions(-) diff --git a/src/common/emails/EmailBuilder.ts b/src/common/emails/EmailBuilder.ts index 5dcfb7b8..d8b642f0 100644 --- a/src/common/emails/EmailBuilder.ts +++ b/src/common/emails/EmailBuilder.ts @@ -1,11 +1,13 @@ import DocumentsService from "@Services/super-admin/DocumentsService/DocumentsService"; import { Documents } from "@prisma/client"; -import User, { Document } from "le-coffre-resources/dist/SuperAdmin"; +import Customer, { 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"; +import CustomersService from "@Services/super-admin/CustomersService/CustomersService"; @Service() export default class EmailBuilder { @@ -14,6 +16,7 @@ export default class EmailBuilder { private documentsService: DocumentsService, protected variables: BackendVariables, private usersService: UsersService, + private customerService: CustomersService, ) {} public async sendDocumentEmails(documentEntity: Documents) { @@ -102,6 +105,50 @@ export default class EmailBuilder { }); } + public async sendRecapEmailsCustomers() { + const customersToEmailEntities = await this.customerService.get({ + where:{ + documents: { + some: { + document_status: "ASKED" + } + } + }, + distinct: ["uid"], + include: { contact: true }, + }); + + const customersToEmail = Customer.hydrateArray(customersToEmailEntities, { strategy: "excludeAll" }); + console.log(customersToEmail); + + + // customersToEmail.forEach((customer) => { + // const to = customer.contact!.email; + + // const templateVariables = { + // last_name: customer.contact!.last_name, + // link: this.variables.APP_HOST, + // }; + + // const templateName = ETemplates.DOCUMENT_RECAP; + // const subject = "Il vous reste des documents à déposer pour votre dossier"; + + // this.mailchimpService.create({ + // templateName, + // to, + // subject, + // templateVariables, + // uid: "", + // from: null, + // cc: [], + // cci: [], + // sentAt: null, + // nbTrySend: null, + // lastTrySendDate: null, + // }); + // }); + } + public getCivility(civility: string) { if (civility === "MALE") return "Mr"; else return "Mme"; diff --git a/src/entries/Cron.ts b/src/entries/Cron.ts index 760eaa9c..c6c61f6a 100644 --- a/src/entries/Cron.ts +++ b/src/entries/Cron.ts @@ -15,7 +15,8 @@ import CronService from "@Services/common/CronService/CronService"; Container.get(CronService).checkDocumentsExpiration(); if (variables.ENV !== "dev") { Container.get(CronService).sendMails(); - Container.get(CronService).sendRecapMails(); + Container.get(CronService).sendRecapMailsCustomers(); + Container.get(CronService).sendRecapMailsClient(); } } catch (e) { console.error(e); diff --git a/src/services/common/CronService/CronService.ts b/src/services/common/CronService/CronService.ts index 94584f54..a5d6bede 100644 --- a/src/services/common/CronService/CronService.ts +++ b/src/services/common/CronService/CronService.ts @@ -36,11 +36,27 @@ export default class CronService { } } - public async sendRecapMails() { + public async sendRecapMailsCustomers() { const cronJob = new CronJob("0 20 * * FRI", async () => { // Every friday at 20:00 try { - await this.emailBuilder.sendRecapEmails(); + await this.emailBuilder.sendRecapEmailsCustomers(); + } catch (e) { + console.error(e); + } + }); + + // Start job + if (!cronJob.running) { + cronJob.start(); + } + } + + public async sendRecapMailsClient() { + const cronJob = new CronJob("0 20 * * FRI", async () => { + // Every friday at 20:00 + try { + await this.emailBuilder.sendRecapEmailsCustomers(); } catch (e) { console.error(e); } From 2a1e54276330f47dea4ebce548109a79fb0ebdff Mon Sep 17 00:00:00 2001 From: Vins Date: Thu, 23 May 2024 11:11:25 +0200 Subject: [PATCH 04/25] Removed cron mail recap customer --- src/common/emails/EmailBuilder.ts | 48 +------------------ src/entries/Cron.ts | 3 +- .../common/CronService/CronService.ts | 20 +------- 3 files changed, 4 insertions(+), 67 deletions(-) diff --git a/src/common/emails/EmailBuilder.ts b/src/common/emails/EmailBuilder.ts index d8b642f0..f3296d13 100644 --- a/src/common/emails/EmailBuilder.ts +++ b/src/common/emails/EmailBuilder.ts @@ -1,13 +1,12 @@ import DocumentsService from "@Services/super-admin/DocumentsService/DocumentsService"; import { Documents } from "@prisma/client"; -import Customer, { 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"; -import CustomersService from "@Services/super-admin/CustomersService/CustomersService"; @Service() export default class EmailBuilder { @@ -16,7 +15,6 @@ export default class EmailBuilder { private documentsService: DocumentsService, protected variables: BackendVariables, private usersService: UsersService, - private customerService: CustomersService, ) {} public async sendDocumentEmails(documentEntity: Documents) { @@ -105,50 +103,6 @@ export default class EmailBuilder { }); } - public async sendRecapEmailsCustomers() { - const customersToEmailEntities = await this.customerService.get({ - where:{ - documents: { - some: { - document_status: "ASKED" - } - } - }, - distinct: ["uid"], - include: { contact: true }, - }); - - const customersToEmail = Customer.hydrateArray(customersToEmailEntities, { strategy: "excludeAll" }); - console.log(customersToEmail); - - - // customersToEmail.forEach((customer) => { - // const to = customer.contact!.email; - - // const templateVariables = { - // last_name: customer.contact!.last_name, - // link: this.variables.APP_HOST, - // }; - - // const templateName = ETemplates.DOCUMENT_RECAP; - // const subject = "Il vous reste des documents à déposer pour votre dossier"; - - // this.mailchimpService.create({ - // templateName, - // to, - // subject, - // templateVariables, - // uid: "", - // from: null, - // cc: [], - // cci: [], - // sentAt: null, - // nbTrySend: null, - // lastTrySendDate: null, - // }); - // }); - } - public getCivility(civility: string) { if (civility === "MALE") return "Mr"; else return "Mme"; diff --git a/src/entries/Cron.ts b/src/entries/Cron.ts index c6c61f6a..760eaa9c 100644 --- a/src/entries/Cron.ts +++ b/src/entries/Cron.ts @@ -15,8 +15,7 @@ import CronService from "@Services/common/CronService/CronService"; Container.get(CronService).checkDocumentsExpiration(); if (variables.ENV !== "dev") { Container.get(CronService).sendMails(); - Container.get(CronService).sendRecapMailsCustomers(); - Container.get(CronService).sendRecapMailsClient(); + Container.get(CronService).sendRecapMails(); } } catch (e) { console.error(e); diff --git a/src/services/common/CronService/CronService.ts b/src/services/common/CronService/CronService.ts index a5d6bede..94584f54 100644 --- a/src/services/common/CronService/CronService.ts +++ b/src/services/common/CronService/CronService.ts @@ -36,27 +36,11 @@ export default class CronService { } } - public async sendRecapMailsCustomers() { + public async sendRecapMails() { const cronJob = new CronJob("0 20 * * FRI", async () => { // Every friday at 20:00 try { - await this.emailBuilder.sendRecapEmailsCustomers(); - } catch (e) { - console.error(e); - } - }); - - // Start job - if (!cronJob.running) { - cronJob.start(); - } - } - - public async sendRecapMailsClient() { - const cronJob = new CronJob("0 20 * * FRI", async () => { - // Every friday at 20:00 - try { - await this.emailBuilder.sendRecapEmailsCustomers(); + await this.emailBuilder.sendRecapEmails(); } catch (e) { console.error(e); } From 359dd6a2803f438a6f7797513dab05306269eca2 Mon Sep 17 00:00:00 2001 From: Vins Date: Mon, 27 May 2024 11:30:12 +0200 Subject: [PATCH 05/25] Customer office relation --- package.json | 2 +- .../20240527091523_test/migration.sql | 47 + .../migration.sql | 2 + src/common/databases/schema.prisma | 3 + src/common/databases/seeders/oldSeeder.ts | 2187 +++++++++++++++++ src/common/databases/seeders/seeder.ts | 219 +- 6 files changed, 2360 insertions(+), 100 deletions(-) create mode 100644 src/common/databases/migrations/20240527091523_test/migration.sql create mode 100644 src/common/databases/migrations/20240527091621_office_customer_relation/migration.sql create mode 100644 src/common/databases/seeders/oldSeeder.ts diff --git a/package.json b/package.json index 006d18da..b9c0159d 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.137", "module-alias": "^2.2.2", "monocle-ts": "^2.3.13", "multer": "^1.4.5-lts.1", diff --git a/src/common/databases/migrations/20240527091523_test/migration.sql b/src/common/databases/migrations/20240527091523_test/migration.sql new file mode 100644 index 00000000..0eb15a1e --- /dev/null +++ b/src/common/databases/migrations/20240527091523_test/migration.sql @@ -0,0 +1,47 @@ +/* + Warnings: + + - Added the required column `office_uid` to the `customers` table without a default value. This is not possible if the table is not empty. + +*/ +-- AlterTable +ALTER TABLE "customers" ADD COLUMN "office_uid" VARCHAR(255) NOT NULL; + +-- Set the office_uid for existing rows based on the office with "idNot" = '0000' +UPDATE customers +SET office_uid = ( + SELECT uid + FROM offices + WHERE "idNot" = '0000' +); + +-- Alter the column to be NOT NULL +ALTER TABLE customers +ALTER COLUMN office_uid SET NOT NULL; + +-- 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; + +-- Add the foreign key constraint +ALTER TABLE customers +ADD CONSTRAINT fk_customers_office +FOREIGN KEY (office_uid) REFERENCES offices(uid) +ON DELETE CASCADE; + +-- 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/migrations/20240527091621_office_customer_relation/migration.sql b/src/common/databases/migrations/20240527091621_office_customer_relation/migration.sql new file mode 100644 index 00000000..16a52de4 --- /dev/null +++ b/src/common/databases/migrations/20240527091621_office_customer_relation/migration.sql @@ -0,0 +1,2 @@ +-- DropForeignKey +ALTER TABLE "customers" DROP CONSTRAINT "fk_customers_office"; 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..667a20bc --- /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..88466bc2 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_membership: offices[0], + }, + { + contact: contacts[5], + created_at: new Date(), + updated_at: new Date(), + status: ECustomerStatus.PENDING, + office_membership: offices[0], + }, + { + contact: contacts[6], + created_at: new Date(), + updated_at: new Date(), + status: ECustomerStatus.PENDING, + office_membership: offices[0], + }, + { + contact: contacts[7], + created_at: new Date(), + updated_at: new Date(), + status: ECustomerStatus.PENDING, + office_membership: offices[0], + }, + { + contact: contacts[8], + created_at: new Date(), + updated_at: new Date(), + status: ECustomerStatus.PENDING, + office_membership: offices[0], + }, + { + contact: contacts[9], + created_at: new Date(), + updated_at: new Date(), + status: ECustomerStatus.PENDING, + office_membership: offices[0], + }, + { + contact: contacts[10], + created_at: new Date(), + updated_at: new Date(), + status: ECustomerStatus.PENDING, + office_membership: offices[0], + }, + { + contact: contacts[11], + created_at: new Date(), + updated_at: new Date(), + status: ECustomerStatus.PENDING, + office_membership: offices[0], + }, + { + contact: contacts[12], + created_at: new Date(), + updated_at: new Date(), + status: ECustomerStatus.PENDING, + office_membership: offices[0], + }, + { + contact: contacts[13], + created_at: new Date(), + updated_at: new Date(), + status: ECustomerStatus.PENDING, + office_membership: offices[0], + }, + { + contact: contacts[14], + created_at: new Date(), + updated_at: new Date(), + status: ECustomerStatus.PENDING, + office_membership: offices[0], + }, + { + contact: contacts[15], + created_at: new Date(), + updated_at: new Date(), + status: ECustomerStatus.PENDING, + office_membership: offices[0], + }, + { + contact: contacts[16], + created_at: new Date(), + updated_at: new Date(), + status: ECustomerStatus.PENDING, + office_membership: offices[0], + }, + { + contact: contacts[17], + created_at: new Date(), + updated_at: new Date(), + status: ECustomerStatus.PENDING, + office_membership: offices[0], + }, + { + contact: contacts[18], + created_at: new Date(), + updated_at: new Date(), + status: ECustomerStatus.PENDING, + office_membership: offices[0], + }, + { + contact: contacts[19], + created_at: new Date(), + updated_at: new Date(), + status: ECustomerStatus.PENDING, + office_membership: 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_membership!.uid!, + }, + }, contact: { create: { first_name: customer.contact!.first_name, From 7db14300b40d2bea4ba093807c55c44ff3765f12 Mon Sep 17 00:00:00 2001 From: Vins Date: Mon, 27 May 2024 11:33:08 +0200 Subject: [PATCH 06/25] fix --- src/common/databases/seeders/seederOld.ts | 4306 ++++++++++----------- 1 file changed, 2153 insertions(+), 2153 deletions(-) diff --git a/src/common/databases/seeders/seederOld.ts b/src/common/databases/seeders/seederOld.ts index 967a2b81..dde829c7 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"; +// import "module-alias/register"; -export default async function main() { - try { - const prisma = new PrismaClient(); +// export default async function main() { +// 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"); - } -} -main(); +// console.info(">MOCK DATA - Seeding completed!"); +// } catch (error) { +// console.error(error); +// console.info("Data already seeded, skiping"); +// } +// } +// main(); From 5873cde15a52f4398cf8c487a95a5617962cf49d Mon Sep 17 00:00:00 2001 From: Vins Date: Mon, 27 May 2024 11:36:53 +0200 Subject: [PATCH 07/25] fix --- src/common/databases/seeders/oldSeeder.ts | 4286 ++++++++++----------- src/common/databases/seeders/seederOld.ts | 4278 ++++++++++---------- 2 files changed, 4282 insertions(+), 4282 deletions(-) diff --git a/src/common/databases/seeders/oldSeeder.ts b/src/common/databases/seeders/oldSeeder.ts index 667a20bc..9734e4aa 100644 --- a/src/common/databases/seeders/oldSeeder.ts +++ b/src/common/databases/seeders/oldSeeder.ts @@ -13,2175 +13,2175 @@ // Rule, // } from "le-coffre-resources/dist/SuperAdmin"; -// import "module-alias/register"; +import "module-alias/register"; -// export default async function main() { -// try { -// const prisma = new PrismaClient(); +export default async function main() { + // 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: "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 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 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 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 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 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 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: { -// uid: ruleGroup.uid, -// 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: { + // 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 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, -// 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: {}, -// }, -// }, -// }, -// }; + // 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; -// } + // 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"); -// } -// } -// main(); + // 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/seederOld.ts b/src/common/databases/seeders/seederOld.ts index dde829c7..492a8342 100644 --- a/src/common/databases/seeders/seederOld.ts +++ b/src/common/databases/seeders/seederOld.ts @@ -13,2171 +13,2171 @@ // Rule, // } from "le-coffre-resources/dist/SuperAdmin"; -// import "module-alias/register"; +import "module-alias/register"; -// export default async function main() { -// try { -// const prisma = new PrismaClient(); +export default async function main() { + // 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"); -// } -// } -// main(); + // console.info(">MOCK DATA - Seeding completed!"); + // } catch (error) { + // console.error(error); + // console.info("Data already seeded, skiping"); + // } +} +main(); From 5e517f3773f04ed2140cff97cfb11d1d39333929 Mon Sep 17 00:00:00 2001 From: Vins Date: Mon, 27 May 2024 14:35:48 +0200 Subject: [PATCH 08/25] fixed build --- package.json | 2 +- src/common/databases/seeders/seeder.ts | 34 +++++++++---------- .../repositories/CustomersRepository.ts | 5 +++ src/test/config/Init.ts | 5 +++ 4 files changed, 28 insertions(+), 18 deletions(-) diff --git a/package.json b/package.json index b9c0159d..df07d389 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.137", + "le-coffre-resources": "git@github.com:smart-chain-fr/leCoffre-resources.git#v2.138", "module-alias": "^2.2.2", "monocle-ts": "^2.3.13", "multer": "^1.4.5-lts.1", diff --git a/src/common/databases/seeders/seeder.ts b/src/common/databases/seeders/seeder.ts index 88466bc2..df33cb5d 100644 --- a/src/common/databases/seeders/seeder.ts +++ b/src/common/databases/seeders/seeder.ts @@ -1823,112 +1823,112 @@ export default async function main() { created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office_membership: offices[0], + office: offices[0], }, { contact: contacts[5], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office_membership: offices[0], + office: offices[0], }, { contact: contacts[6], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office_membership: offices[0], + office: offices[0], }, { contact: contacts[7], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office_membership: offices[0], + office: offices[0], }, { contact: contacts[8], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office_membership: offices[0], + office: offices[0], }, { contact: contacts[9], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office_membership: offices[0], + office: offices[0], }, { contact: contacts[10], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office_membership: offices[0], + office: offices[0], }, { contact: contacts[11], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office_membership: offices[0], + office: offices[0], }, { contact: contacts[12], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office_membership: offices[0], + office: offices[0], }, { contact: contacts[13], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office_membership: offices[0], + office: offices[0], }, { contact: contacts[14], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office_membership: offices[0], + office: offices[0], }, { contact: contacts[15], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office_membership: offices[0], + office: offices[0], }, { contact: contacts[16], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office_membership: offices[0], + office: offices[0], }, { contact: contacts[17], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office_membership: offices[0], + office: offices[0], }, { contact: contacts[18], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office_membership: offices[0], + office: offices[0], }, { contact: contacts[19], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office_membership: offices[0], + office: offices[0], }, ]; @@ -2074,7 +2074,7 @@ export default async function main() { status: ECustomerStatus.PENDING, office: { connect: { - uid: customer.office_membership!.uid!, + uid: customer.office!.uid!, }, }, contact: { 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/test/config/Init.ts b/src/test/config/Init.ts index 27be6340..6191f1d0 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, From f18d185e198ab540363e59342f0e498c8d23e4cb Mon Sep 17 00:00:00 2001 From: Vins Date: Mon, 27 May 2024 15:07:45 +0200 Subject: [PATCH 09/25] WIP --- package.json | 2 +- src/common/databases/seeders/seeder.ts | 34 +++++++++---------- .../repositories/CustomersRepository.ts | 2 +- src/test/config/Init.ts | 2 +- 4 files changed, 20 insertions(+), 20 deletions(-) diff --git a/package.json b/package.json index df07d389..b9c0159d 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.138", + "le-coffre-resources": "git@github.com:smart-chain-fr/leCoffre-resources.git#v2.137", "module-alias": "^2.2.2", "monocle-ts": "^2.3.13", "multer": "^1.4.5-lts.1", diff --git a/src/common/databases/seeders/seeder.ts b/src/common/databases/seeders/seeder.ts index df33cb5d..88466bc2 100644 --- a/src/common/databases/seeders/seeder.ts +++ b/src/common/databases/seeders/seeder.ts @@ -1823,112 +1823,112 @@ export default async function main() { created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office: offices[0], + office_membership: offices[0], }, { contact: contacts[5], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office: offices[0], + office_membership: offices[0], }, { contact: contacts[6], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office: offices[0], + office_membership: offices[0], }, { contact: contacts[7], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office: offices[0], + office_membership: offices[0], }, { contact: contacts[8], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office: offices[0], + office_membership: offices[0], }, { contact: contacts[9], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office: offices[0], + office_membership: offices[0], }, { contact: contacts[10], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office: offices[0], + office_membership: offices[0], }, { contact: contacts[11], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office: offices[0], + office_membership: offices[0], }, { contact: contacts[12], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office: offices[0], + office_membership: offices[0], }, { contact: contacts[13], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office: offices[0], + office_membership: offices[0], }, { contact: contacts[14], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office: offices[0], + office_membership: offices[0], }, { contact: contacts[15], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office: offices[0], + office_membership: offices[0], }, { contact: contacts[16], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office: offices[0], + office_membership: offices[0], }, { contact: contacts[17], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office: offices[0], + office_membership: offices[0], }, { contact: contacts[18], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office: offices[0], + office_membership: offices[0], }, { contact: contacts[19], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office: offices[0], + office_membership: offices[0], }, ]; @@ -2074,7 +2074,7 @@ export default async function main() { status: ECustomerStatus.PENDING, office: { connect: { - uid: customer.office!.uid!, + uid: customer.office_membership!.uid!, }, }, contact: { diff --git a/src/common/repositories/CustomersRepository.ts b/src/common/repositories/CustomersRepository.ts index 2d15c73c..a16a16af 100644 --- a/src/common/repositories/CustomersRepository.ts +++ b/src/common/repositories/CustomersRepository.ts @@ -46,7 +46,7 @@ export default class CustomersRepository extends BaseRepository { status: ECustomerStatus.PENDING, office: { connect: { - uid: customer.office!.uid, + uid: customer.office_membership!.uid, }, }, contact: { diff --git a/src/test/config/Init.ts b/src/test/config/Init.ts index 6191f1d0..40ff7a12 100644 --- a/src/test/config/Init.ts +++ b/src/test/config/Init.ts @@ -72,7 +72,7 @@ export const initCustomers = (customer: Customer): Promise => { status: ECustomerStatus.PENDING, office: { connect: { - uid: customer.office!.uid, + uid: customer.office_membership!.uid, }, }, contact: { From 6a688601b9abc2d5ccf80b9863fc2894edb51af8 Mon Sep 17 00:00:00 2001 From: Vins Date: Mon, 27 May 2024 15:19:25 +0200 Subject: [PATCH 10/25] back to v2.138 --- package.json | 2 +- src/common/databases/seeders/seeder.ts | 34 +++++++++---------- .../repositories/CustomersRepository.ts | 2 +- src/test/config/Init.ts | 2 +- 4 files changed, 20 insertions(+), 20 deletions(-) diff --git a/package.json b/package.json index b9c0159d..df07d389 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.137", + "le-coffre-resources": "git@github.com:smart-chain-fr/leCoffre-resources.git#v2.138", "module-alias": "^2.2.2", "monocle-ts": "^2.3.13", "multer": "^1.4.5-lts.1", diff --git a/src/common/databases/seeders/seeder.ts b/src/common/databases/seeders/seeder.ts index 88466bc2..df33cb5d 100644 --- a/src/common/databases/seeders/seeder.ts +++ b/src/common/databases/seeders/seeder.ts @@ -1823,112 +1823,112 @@ export default async function main() { created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office_membership: offices[0], + office: offices[0], }, { contact: contacts[5], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office_membership: offices[0], + office: offices[0], }, { contact: contacts[6], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office_membership: offices[0], + office: offices[0], }, { contact: contacts[7], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office_membership: offices[0], + office: offices[0], }, { contact: contacts[8], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office_membership: offices[0], + office: offices[0], }, { contact: contacts[9], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office_membership: offices[0], + office: offices[0], }, { contact: contacts[10], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office_membership: offices[0], + office: offices[0], }, { contact: contacts[11], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office_membership: offices[0], + office: offices[0], }, { contact: contacts[12], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office_membership: offices[0], + office: offices[0], }, { contact: contacts[13], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office_membership: offices[0], + office: offices[0], }, { contact: contacts[14], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office_membership: offices[0], + office: offices[0], }, { contact: contacts[15], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office_membership: offices[0], + office: offices[0], }, { contact: contacts[16], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office_membership: offices[0], + office: offices[0], }, { contact: contacts[17], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office_membership: offices[0], + office: offices[0], }, { contact: contacts[18], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office_membership: offices[0], + office: offices[0], }, { contact: contacts[19], created_at: new Date(), updated_at: new Date(), status: ECustomerStatus.PENDING, - office_membership: offices[0], + office: offices[0], }, ]; @@ -2074,7 +2074,7 @@ export default async function main() { status: ECustomerStatus.PENDING, office: { connect: { - uid: customer.office_membership!.uid!, + uid: customer.office!.uid!, }, }, contact: { diff --git a/src/common/repositories/CustomersRepository.ts b/src/common/repositories/CustomersRepository.ts index a16a16af..2d15c73c 100644 --- a/src/common/repositories/CustomersRepository.ts +++ b/src/common/repositories/CustomersRepository.ts @@ -46,7 +46,7 @@ export default class CustomersRepository extends BaseRepository { status: ECustomerStatus.PENDING, office: { connect: { - uid: customer.office_membership!.uid, + uid: customer.office!.uid, }, }, contact: { diff --git a/src/test/config/Init.ts b/src/test/config/Init.ts index 40ff7a12..cc7b3b2c 100644 --- a/src/test/config/Init.ts +++ b/src/test/config/Init.ts @@ -72,7 +72,7 @@ export const initCustomers = (customer: Customer): Promise => { status: ECustomerStatus.PENDING, office: { connect: { - uid: customer.office_membership!.uid, + uid: customer.office?.uid, }, }, contact: { From 151538e97145d9f009971654b9187b04ef3512f7 Mon Sep 17 00:00:00 2001 From: Vins Date: Mon, 27 May 2024 16:06:40 +0200 Subject: [PATCH 11/25] Fixing ressources --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index df07d389..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.138", + "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", From 3289482e62f966913b3e831eb079a53d7a7845f7 Mon Sep 17 00:00:00 2001 From: Vins Date: Mon, 27 May 2024 16:48:06 +0200 Subject: [PATCH 12/25] Fixed migrations --- .../migration.sql | 114 ++++++++++++++++++ .../20240527091523_test/migration.sql | 47 -------- .../migration.sql | 2 - .../20240527144510_test/migration.sql | 5 + 4 files changed, 119 insertions(+), 49 deletions(-) create mode 100644 src/common/databases/migrations/20240527091523_office_customer_relation_migration/migration.sql delete mode 100644 src/common/databases/migrations/20240527091523_test/migration.sql delete mode 100644 src/common/databases/migrations/20240527091621_office_customer_relation/migration.sql create mode 100644 src/common/databases/migrations/20240527144510_test/migration.sql 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..1e3aac27 --- /dev/null +++ b/src/common/databases/migrations/20240527091523_office_customer_relation_migration/migration.sql @@ -0,0 +1,114 @@ +/* + Warnings: + + - Added the required column `office_uid` to the `customers` table without a default value. This is not possible if the table is not empty. + +*/ +-- AlterTable +-- ALTER TABLE "customers" ADD COLUMN "office_uid" VARCHAR(255) NOT NULL; + +-- Set the office_uid for existing rows based on the office with "idNot" = '0000' +-- 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; + +-- -- Add the foreign key constraint +-- ALTER TABLE customers +-- ADD CONSTRAINT fk_customers_office +-- FOREIGN KEY (office_uid) REFERENCES offices(uid) +-- ON DELETE CASCADE; + +-- -- AddForeignKey +-- ALTER TABLE "customers" ADD CONSTRAINT "customers_office_uid_fkey" FOREIGN KEY ("office_uid") REFERENCES "offices"("uid") ON DELETE CASCADE ON UPDATE CASCADE; + + +/* + Warnings: + + - Added the required column `office_uid` to the `customers` table without a default value. This is not possible if the table is not empty. + +*/ +-- AlterTable +-- ALTER TABLE "customers" ADD COLUMN "office_uid" VARCHAR(255) NOT NULL; + +-- -- AddForeignKey +-- ALTER TABLE "customers" ADD CONSTRAINT "customers_office_uid_fkey" FOREIGN KEY ("office_uid") REFERENCES "offices"("uid") ON DELETE CASCADE ON UPDATE CASCADE; + +-- -- 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; + +-- 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; \ No newline at end of file diff --git a/src/common/databases/migrations/20240527091523_test/migration.sql b/src/common/databases/migrations/20240527091523_test/migration.sql deleted file mode 100644 index 0eb15a1e..00000000 --- a/src/common/databases/migrations/20240527091523_test/migration.sql +++ /dev/null @@ -1,47 +0,0 @@ -/* - Warnings: - - - Added the required column `office_uid` to the `customers` table without a default value. This is not possible if the table is not empty. - -*/ --- AlterTable -ALTER TABLE "customers" ADD COLUMN "office_uid" VARCHAR(255) NOT NULL; - --- Set the office_uid for existing rows based on the office with "idNot" = '0000' -UPDATE customers -SET office_uid = ( - SELECT uid - FROM offices - WHERE "idNot" = '0000' -); - --- Alter the column to be NOT NULL -ALTER TABLE customers -ALTER COLUMN office_uid SET NOT NULL; - --- 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; - --- Add the foreign key constraint -ALTER TABLE customers -ADD CONSTRAINT fk_customers_office -FOREIGN KEY (office_uid) REFERENCES offices(uid) -ON DELETE CASCADE; - --- 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/migrations/20240527091621_office_customer_relation/migration.sql b/src/common/databases/migrations/20240527091621_office_customer_relation/migration.sql deleted file mode 100644 index 16a52de4..00000000 --- a/src/common/databases/migrations/20240527091621_office_customer_relation/migration.sql +++ /dev/null @@ -1,2 +0,0 @@ --- DropForeignKey -ALTER TABLE "customers" DROP CONSTRAINT "fk_customers_office"; 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; From 74b4f7f582cd7e5208f27a0fcfaf6d3d47c63688 Mon Sep 17 00:00:00 2001 From: Vins Date: Mon, 27 May 2024 16:55:01 +0200 Subject: [PATCH 13/25] Migration finished --- .../migration.sql | 82 ++++++------------- 1 file changed, 23 insertions(+), 59 deletions(-) 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 index 1e3aac27..7fb62691 100644 --- a/src/common/databases/migrations/20240527091523_office_customer_relation_migration/migration.sql +++ b/src/common/databases/migrations/20240527091523_office_customer_relation_migration/migration.sql @@ -1,13 +1,8 @@ -/* - Warnings: +-- -- Add the office_uid column +-- ALTER TABLE customers +-- ADD COLUMN office_uid VARCHAR(255); - - Added the required column `office_uid` to the `customers` table without a default value. This is not possible if the table is not empty. - -*/ --- AlterTable --- ALTER TABLE "customers" ADD COLUMN "office_uid" VARCHAR(255) NOT NULL; - --- Set the office_uid for existing rows based on the office with "idNot" = '0000' +-- -- Set the office_uid for existing rows -- UPDATE customers -- SET office_uid = ( -- SELECT uid @@ -33,58 +28,20 @@ -- -- 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 fk_customers_office +-- ADD CONSTRAINT customers_office_uid_fkey -- FOREIGN KEY (office_uid) REFERENCES offices(uid) -- ON DELETE CASCADE; --- -- AddForeignKey --- ALTER TABLE "customers" ADD CONSTRAINT "customers_office_uid_fkey" FOREIGN KEY ("office_uid") REFERENCES "offices"("uid") ON DELETE CASCADE ON UPDATE CASCADE; - - -/* - Warnings: - - - Added the required column `office_uid` to the `customers` table without a default value. This is not possible if the table is not empty. - -*/ --- AlterTable --- ALTER TABLE "customers" ADD COLUMN "office_uid" VARCHAR(255) NOT NULL; - --- -- AddForeignKey --- ALTER TABLE "customers" ADD CONSTRAINT "customers_office_uid_fkey" FOREIGN KEY ("office_uid") REFERENCES "offices"("uid") ON DELETE CASCADE ON UPDATE CASCADE; - --- -- 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; - --- Add the office_uid column +-- Add the office_uid column to the customers table 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 @@ -92,17 +49,24 @@ 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 with the corresponding office_uid where a mapping exists UPDATE customers -SET office_uid = ( - SELECT office_uid - FROM customer_office_update - WHERE customer_office_update.customer_uid = customers.uid -); +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; From 0e9aa692a64f1ac6341f4ae55501a89fb59ac3eb Mon Sep 17 00:00:00 2001 From: Vins Date: Wed, 29 May 2024 09:33:38 +0200 Subject: [PATCH 14/25] Added office to customer creation --- src/app/api/notary/CustomersController.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/app/api/notary/CustomersController.ts b/src/app/api/notary/CustomersController.ts index 9de0192c..a6e1d159 100644 --- a/src/app/api/notary/CustomersController.ts +++ b/src/app/api/notary/CustomersController.ts @@ -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 }); From 752fe3b96cb0e1d8b0de92d331f0bea149717fac Mon Sep 17 00:00:00 2001 From: Vins Date: Wed, 29 May 2024 23:21:46 +0200 Subject: [PATCH 15/25] Remove customer finished --- src/app/api/notary/CustomersController.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/app/api/notary/CustomersController.ts b/src/app/api/notary/CustomersController.ts index a6e1d159..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 From ec357dcccb974968b55f0908e5fd75290db2d110 Mon Sep 17 00:00:00 2001 From: Vins Date: Fri, 31 May 2024 10:40:57 +0200 Subject: [PATCH 16/25] Contact information --- src/app/api/customer/OfficeFoldersController.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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); From 547ab0b23051dbadb40c51cf9340cb38e1d2ac26 Mon Sep 17 00:00:00 2001 From: Vins Date: Wed, 5 Jun 2024 09:39:11 +0200 Subject: [PATCH 17/25] Customer notes feature finished --- Dockerfile | 2 +- package.json | 2 +- src/app/api/customer/NotesController.ts | 202 ++++++++++++++++++ .../api/customer/OfficeFoldersController.ts | 2 +- src/app/api/notary/OfficeFoldersController.ts | 7 +- src/app/index.ts | 2 + .../migration.sql | 20 ++ src/common/databases/schema.prisma | 14 ++ src/common/repositories/NotesRepository.ts | 74 +++++++ .../customer/NotesService/NotesService.ts | 48 +++++ 10 files changed, 367 insertions(+), 6 deletions(-) create mode 100644 src/app/api/customer/NotesController.ts create mode 100644 src/common/databases/migrations/20240603201549_folder_customer_notes/migration.sql create mode 100644 src/common/repositories/NotesRepository.ts create mode 100644 src/services/customer/NotesService/NotesService.ts diff --git a/Dockerfile b/Dockerfile index d33dbefb..e98bde33 100644 --- a/Dockerfile +++ b/Dockerfile @@ -36,5 +36,5 @@ COPY --from=deps --chown=lecoffreuser leCoffre/src/common/databases ./src/common RUN apk update && apk add chromium USER lecoffreuser -CMD ["npm", "run", "start"] +CMD ["npm", "run", "api:start"] EXPOSE 3001 \ No newline at end of file diff --git a/package.json b/package.json index 688f4c6c..ba8a4fdc 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.139", + "le-coffre-resources": "git@github.com:smart-chain-fr/leCoffre-resources.git#v2.151", "module-alias": "^2.2.2", "monocle-ts": "^2.3.13", "multer": "^1.4.5-lts.1", diff --git a/src/app/api/customer/NotesController.ts b/src/app/api/customer/NotesController.ts new file mode 100644 index 00000000..11d59973 --- /dev/null +++ b/src/app/api/customer/NotesController.ts @@ -0,0 +1,202 @@ +import { Response, Request } from "express"; +import { Controller, Get, Post, Put } from "@ControllerPattern/index"; +import ApiController from "@Common/system/controller-pattern/ApiController"; +import { Service } from "typedi"; +import { Prisma } from "@prisma/client"; +import authHandler from "@App/middlewares/AuthHandler"; +import Note from "le-coffre-resources/dist/Customer/Note"; +import NotesService from "@Services/customer/NotesService/NotesService"; + +@Controller() +@Service() +export default class NotesController extends ApiController { + constructor(private notesService: NotesService) { + super(); + } + + /** + * @description Get all Notes + * @returns Note[] list of Notes + */ + @Get("/api/v1/customer/notes", [authHandler]) + protected async get(req: Request, response: Response) { + try { + //get query + let query: Prisma.NotesFindManyArgs = {}; + if (req.query["q"]) { + query = JSON.parse(req.query["q"] as string); + if (query.where?.uid) { + this.httpBadRequest(response, "You can't filter by uid"); + return; + } + } + + //call service to get prisma entity + const noteEntities = await this.notesService.get(query); + + //Hydrate ressource with prisma entity + const notes = Note.hydrateArray(noteEntities, { strategy: "excludeAll" }); + + //success + this.httpSuccess(response, notes); + } catch (error) { + this.httpBadRequest(response, error); + return; + } + } + + /** + * @description Get a specific customer note + */ + @Get("/api/v1/customer/notes/customer/:customer-uid/folders/:folder-uid/", [authHandler]) + protected async getCustomerNoteByFolderUid(req: Request, response: Response) { + try { + const customerUid = req.params["customer-uid"]; + const folderUid = req.params["folder-uid"]; + if (!customerUid || !folderUid) { + this.httpBadRequest(response, "No uid provided"); + return; + } + + //get query + const query: Prisma.NotesFindManyArgs = { + where: { + customer: { + uid: customerUid + }, + folder: { + uid: folderUid + } + } + }; + + //call service to get prisma entity + const noteEntities = await this.notesService.get(query); + + if(noteEntities.length === 0) { + this.httpNotFoundRequest(response, "No notes found"); + return; + } + + //Hydrate ressource with prisma entity + const notes = Note.hydrateArray(noteEntities, { strategy: "excludeAll" }); + + //success + this.httpSuccess(response, notes); + } catch (error) { + this.httpInternalError(response, error); + return; + } + } + + /** + * @description Get a specific note by uid + */ + @Get("/api/v1/customer/notes/:uid", [authHandler]) + protected async getOneByUid(req: Request, response: Response) { + try { + const uid = req.params["uid"]; + if (!uid) { + this.httpBadRequest(response, "No uid provided"); + return; + } + + //get query + let query; + if (req.query["q"]) { + query = JSON.parse(req.query["q"] as string); + } + + const noteEntity = await this.notesService.getByUid(uid, query); + + if (!noteEntity) { + this.httpNotFoundRequest(response, "note not found"); + return; + } + + //Hydrate ressource with prisma entity + const note = Note.hydrate(noteEntity); + + //success + this.httpSuccess(response, note); + } catch (error) { + this.httpInternalError(response, error); + return; + } + } + + /** + * @description Create a new note + */ + @Post("/api/v1/customer/notes", [authHandler]) + protected async post(req: Request, response: Response) { + try { + //init OfficeFolder resource with request body values + const noteRessource = Note.hydrate(req.body); + // noteRessource.validateOrReject?.({ groups: ["createFolder"], forbidUnknownValues: false }); + + //call service to get prisma entity + try { + const noteEntity = await this.notesService.create(noteRessource); + //Hydrate ressource with prisma entity + const note = Note.hydrate(noteEntity, { + strategy: "excludeAll", + }); + //success + this.httpCreated(response, note); + } catch (error) { + this.httpValidationError(response, error); + return; + } + } catch (error) { + this.httpInternalError(response, error); + return; + } + } + + /** + * @description Modify a specific note by uid + */ + @Put("/api/v1/customer/notes/:uid", [authHandler]) + protected async put(req: Request, response: Response) { + try { + const uid = req.params["uid"]; + if (!uid) { + this.httpBadRequest(response, "No uid provided"); + return; + } + + const noteFound = await this.notesService.getByUid(uid); + + if (!noteFound) { + this.httpNotFoundRequest(response, "office folder not found"); + return; + } + + //init OfficeFolder resource with request body values + const noteEntity = Note.hydrate(req.body); + + //validate folder + //await validateOrReject(noteEntity, { groups: ["updateFolder"], forbidUnknownValues: false }); + + //call service to get prisma entity + try { + const noteEntityUpdated = await this.notesService.update(uid, noteEntity); + + //Hydrate ressource with prisma entity + const note = Note.hydrate(noteEntityUpdated, { + strategy: "excludeAll", + }); + + //success + this.httpSuccess(response, note); + } catch (error) { + this.httpValidationError(response, error); + return; + } + } catch (error) { + this.httpInternalError(response, error); + return; + } + } +} diff --git a/src/app/api/customer/OfficeFoldersController.ts b/src/app/api/customer/OfficeFoldersController.ts index a90a5876..f8bea23d 100644 --- a/src/app/api/customer/OfficeFoldersController.ts +++ b/src/app/api/customer/OfficeFoldersController.ts @@ -95,7 +95,7 @@ export default class OfficeFoldersController extends ApiController { } //Hydrate ressource with prisma entity - const officeFolder = OfficeFolderNotary.hydrate(officeFolderEntity, { strategy: "excludeAll" }); + const officeFolder = OfficeFolderNotary.hydrate(officeFolderEntity); if(officeFolder.customers) { officeFolder.customers = officeFolder.customers!.filter((customer) => customer.contact?.email === email); diff --git a/src/app/api/notary/OfficeFoldersController.ts b/src/app/api/notary/OfficeFoldersController.ts index 45941476..2d8f7792 100644 --- a/src/app/api/notary/OfficeFoldersController.ts +++ b/src/app/api/notary/OfficeFoldersController.ts @@ -261,9 +261,9 @@ export default class OfficeFoldersController extends ApiController { let query; if (req.query["q"]) { query = JSON.parse(req.query["q"] as string); - } + } - const officeFolderEntity = await this.officeFoldersService.getByUid(uid, query); + const officeFolderEntity = await this.officeFoldersService.getByUid(uid, query); if (!officeFolderEntity) { this.httpNotFoundRequest(response, "folder not found"); @@ -271,7 +271,8 @@ export default class OfficeFoldersController extends ApiController { } //Hydrate ressource with prisma entity - const officeFolder = OfficeFolder.hydrate(officeFolderEntity, { strategy: "excludeAll" }); + const officeFolder = OfficeFolder.hydrate(officeFolderEntity); + //success this.httpSuccess(response, officeFolder); diff --git a/src/app/index.ts b/src/app/index.ts index 1590b6f1..c5767457 100644 --- a/src/app/index.ts +++ b/src/app/index.ts @@ -53,6 +53,7 @@ import SubscriptionsController from "./api/admin/SubscriptionsController"; import StripeController from "./api/admin/StripeController"; import StripeWebhooks from "@Common/webhooks/stripeWebhooks"; import RulesGroupsController from "./api/admin/RulesGroupsController"; +import NotesController from "./api/customer/NotesController"; /** * @description This allow to declare all controllers used in the application @@ -114,5 +115,6 @@ export default { Container.get(StripeController); Container.get(StripeWebhooks); Container.get(RulesGroupsController); + Container.get(NotesController); }, }; diff --git a/src/common/databases/migrations/20240603201549_folder_customer_notes/migration.sql b/src/common/databases/migrations/20240603201549_folder_customer_notes/migration.sql new file mode 100644 index 00000000..848a2ab9 --- /dev/null +++ b/src/common/databases/migrations/20240603201549_folder_customer_notes/migration.sql @@ -0,0 +1,20 @@ +-- CreateTable +CREATE TABLE "notes" ( + "uid" TEXT NOT NULL, + "content" VARCHAR(1000) NOT NULL, + "created_at" TIMESTAMP(3) DEFAULT CURRENT_TIMESTAMP, + "updated_at" TIMESTAMP(3), + "customer_uid" VARCHAR(255) NOT NULL, + "folder_uid" VARCHAR(255) NOT NULL, + + CONSTRAINT "notes_pkey" PRIMARY KEY ("uid") +); + +-- CreateIndex +CREATE UNIQUE INDEX "notes_uid_key" ON "notes"("uid"); + +-- AddForeignKey +ALTER TABLE "notes" ADD CONSTRAINT "notes_customer_uid_fkey" FOREIGN KEY ("customer_uid") REFERENCES "customers"("uid") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "notes" ADD CONSTRAINT "notes_folder_uid_fkey" FOREIGN KEY ("folder_uid") REFERENCES "office_folders"("uid") ON DELETE CASCADE ON UPDATE CASCADE; diff --git a/src/common/databases/schema.prisma b/src/common/databases/schema.prisma index e42133a9..259c59f1 100644 --- a/src/common/databases/schema.prisma +++ b/src/common/databases/schema.prisma @@ -128,6 +128,7 @@ model Customers { totpCodes TotpCodes[] office Offices @relation(fields: [office_uid], references: [uid], onDelete: Cascade) office_uid String @db.VarChar(255) + notes Notes[] @@map("customers") } @@ -172,6 +173,7 @@ model OfficeFolders { folder_anchor OfficeFolderAnchors? @relation(fields: [folder_anchor_uid], references: [uid]) folder_anchor_uid String? @unique @db.VarChar(255) + notes Notes[] @@unique([folder_number, office_uid]) @@map("office_folders") @@ -417,6 +419,18 @@ model Seats { @@map("seats") } +model Notes { + uid String @id @unique @default(uuid()) + content String @db.VarChar(1000) + created_at DateTime? @default(now()) + updated_at DateTime? @updatedAt + customer Customers @relation(fields: [customer_uid], references: [uid], onDelete: Cascade) + customer_uid String @db.VarChar(255) + folder OfficeFolders @relation(fields: [folder_uid], references: [uid], onDelete: Cascade) + folder_uid String @db.VarChar(255) + @@map("notes") +} + enum ESubscriptionStatus { ACTIVE INACTIVE diff --git a/src/common/repositories/NotesRepository.ts b/src/common/repositories/NotesRepository.ts new file mode 100644 index 00000000..8300ab96 --- /dev/null +++ b/src/common/repositories/NotesRepository.ts @@ -0,0 +1,74 @@ +import Database from "@Common/databases/database"; +import BaseRepository from "@Repositories/BaseRepository"; +import { Service } from "typedi"; +import { Notes, Prisma } from "@prisma/client"; +import Note from "le-coffre-resources/dist/Customer/Note"; + +@Service() +export default class NotesRepository extends BaseRepository { + constructor(private database: Database) { + super(); + } + protected get model() { + return this.database.getClient().notes; + } + protected get instanceDb() { + return this.database.getClient(); + } + + /** + * @description : Find many notes + */ + public async findMany(query: Prisma.NotesFindManyArgs) { + return this.model.findMany(query); + } + + /** + * @description : Find one note + */ + public async findOneByUid(uid: string, query?: Prisma.NotesInclude) { + return this.model.findUnique({ + where: { uid }, + include: query, + }); + } + + /** + * @description : Create new note + */ + public async create(note: Note): Promise { + const createArgs: Prisma.NotesCreateArgs = { + data: { + content: note.content || "", + customer: { + connect: { + uid: note.customer!.uid, + }, + }, + folder: { + connect: { + uid: note.folder!.uid, + }, + }, + }, + }; + + return this.model.create(createArgs); + } + + /** + * @description : Update data of an office folder + */ + public async update(noteUid: string, note: Note): Promise { + const updateArgs: Prisma.NotesUpdateArgs = { + where: { + uid: noteUid, + }, + data: { + content: note.content || "", + }, + }; + + return this.model.update(updateArgs); + } +} diff --git a/src/services/customer/NotesService/NotesService.ts b/src/services/customer/NotesService/NotesService.ts new file mode 100644 index 00000000..81b120be --- /dev/null +++ b/src/services/customer/NotesService/NotesService.ts @@ -0,0 +1,48 @@ +import BaseService from "@Services/BaseService"; +import { Service } from "typedi"; +import { Notes, Prisma } from "@prisma/client"; +import NotesRepository from "@Repositories/NotesRepository"; +import Note from "le-coffre-resources/dist/Customer/Note"; + +@Service() +export default class NotesService extends BaseService { + constructor( + private notesRepository: NotesRepository, + ) { + super(); + } + + /** + * @description : Get all notes + * @throws {Error} If notes cannot be get + */ + public async get(query: Prisma.NotesFindManyArgs) { + return this.notesRepository.findMany(query); + } + + /** + * @description : Get a note by uid + * @throws {Error} If note cannot be get + */ + public async getByUid(uid: string, query?: Prisma.NotesInclude) { + return this.notesRepository.findOneByUid(uid, query); + } + + /** + * @description : Create a new note + * @throws {Error} If note cannot be created + */ + public async create(noteEntity: Note): Promise { + return this.notesRepository.create(noteEntity); + } + + /** + * @description : Modify a note + * @throws {Error} If note cannot be modified + */ + public async update(noteUid: string, noteEntity: Note): Promise { + return this.notesRepository.update(noteUid, noteEntity); + } + + +} From 98a16942616d256a72e11113df2bc51fa3c0f49f Mon Sep 17 00:00:00 2001 From: Vins Date: Wed, 12 Jun 2024 14:52:51 +0200 Subject: [PATCH 18/25] Changed anchor proof file --- .../notary/OfficeFolderAnchorsController.ts | 2 +- .../AnchoringProofService.ts | 160 ++++++++++++------ .../common/SecureService/SecureService.ts | 5 +- 3 files changed, 113 insertions(+), 54 deletions(-) diff --git a/src/app/api/notary/OfficeFolderAnchorsController.ts b/src/app/api/notary/OfficeFolderAnchorsController.ts index cb16501b..f43c28d8 100644 --- a/src/app/api/notary/OfficeFolderAnchorsController.ts +++ b/src/app/api/notary/OfficeFolderAnchorsController.ts @@ -87,7 +87,7 @@ export default class OfficeFoldersController extends ApiController { } const sortedHashes = [...folderHashes].sort(); - const anchoringProof = await this.secureService.download(sortedHashes); + const anchoringProof = await this.secureService.download(sortedHashes, officeFolder.name); const addFileToZip = (zip: Zip) => (uid: string): Promise => (async () => { diff --git a/src/services/common/AnchoringProofService/AnchoringProofService.ts b/src/services/common/AnchoringProofService/AnchoringProofService.ts index 8d43a5b0..db055ef3 100644 --- a/src/services/common/AnchoringProofService/AnchoringProofService.ts +++ b/src/services/common/AnchoringProofService/AnchoringProofService.ts @@ -6,6 +6,7 @@ export interface AnchoringProofData { rootHash: string; anchoringTime: string; txLink: string; + office_name: string; } @Service() @@ -14,57 +15,111 @@ export default class AnchoringProofService extends BaseService { super(); } - private static svgTemplateDocument: string = ` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [[ANCHORING_TIME]] - Certificat de dépôt international - Hash : - [[ROOT_HASH]] - - Déposant(s) - Auteur : - Not.IT - Partenaire technique : - Smart-Chain - - Explorateur blockchain - [[TX_LINK]] - - + // private static svgTemplateDocument: string = ` + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // [[ANCHORING_TIME]] + // Certificat de dépôt international + // Hash : + // [[ROOT_HASH]] + // + // Déposant(s) + // Auteur : + // Not.IT + // Partenaire technique : + // Smart-Chain + // + // Explorateur blockchain + // [[TX_LINK]] + // + // + // `; + + private static svgTemplateDocumentBis: string = ` + + + + + + + Certificat de dépôt international + [[ANCHORING_TIME]] + Nom de l'office + [[OFFICE_NAME]] + + Déposant(s) + LEcoffre.io + + Hash + [[ROOT_HASH]] + + Explorateur blockchain + [[TX_LINK]] + + + À quoi ça sert ? + Un certificat d'ancrage sur la blockchain permet d'établir de manière irréfutable l'enregistrement de données spécifiques à une date et une heure déterminées. Il constitue une preuve immuable et juridiquement opposable de l'existence et de l'intégrité des informations à un moment donné. En cas de litige, ce certificat peut être utilisé pour démontrer de manière incontestable que les données n'ont pas été altérées depuis leur enregistrement, offrant ainsi une preuve solide devant les tribunaux. + + Qu'est-ce qu'un explorateur blockchain ? + Un explorateur blockchain est un outil numérique permettant d'accéder et de consulter les transactions et les données enregistrées sur la blockchain. Il assure une transparence totale, permettant à toute partie prenante de vérifier les opérations et les enregistrements effectués sur la chaîne de blocs. + + Qu'est-ce qu'un hash ? + Un hash est une empreinte cryptographique unique générée par un algorithme à partir de données spécifiques. Il agit comme une signature numérique permettant de vérifier l'intégrité des données : toute modification, même infime, des données d'origine entraîne la production d'un hash distinct, garantissant ainsi l'authenticité et l'intégrité des informations. + + + + + + + + + + + + + + + + + + + + + + `; /** @@ -81,7 +136,7 @@ export default class AnchoringProofService extends BaseService { var htmlContent = ` - ${AnchoringProofService.svgTemplateDocument} + ${AnchoringProofService.svgTemplateDocumentBis} `; @@ -89,6 +144,7 @@ export default class AnchoringProofService extends BaseService { htmlContent = htmlContent .replace("[[ROOT_HASH]]", data.rootHash) .replace("[[ANCHORING_TIME]]", data.anchoringTime) + .replace("[[OFFICE_NAME]]", data.office_name) .replace(/\[\[TX_LINK\]\]/g, data.txLink); await page.setContent(htmlContent); diff --git a/src/services/common/SecureService/SecureService.ts b/src/services/common/SecureService/SecureService.ts index 37dd961b..b69d1d90 100644 --- a/src/services/common/SecureService/SecureService.ts +++ b/src/services/common/SecureService/SecureService.ts @@ -63,7 +63,7 @@ export default class SecureService extends BaseService { * @description : Download the anchoring proof document * @throws {Error} If transaction is not verified on chain */ - public async download(hash_sources: string[]) { + public async download(hash_sources: string[], office_name: string) { const anchor = await this.verify(hash_sources); if (anchor.transactions.length === 0) { @@ -71,6 +71,8 @@ export default class SecureService extends BaseService { } const transaction = anchor.transactions[0]; + console.log(transaction); + if (transaction.status !== EAnchoringStatus.VERIFIED_ON_CHAIN) { throw new Error(`Transaction not verified on chain: ${transaction.status}`); @@ -83,6 +85,7 @@ export default class SecureService extends BaseService { timeZone: "Europe/Paris", timeZoneName: "short", }), + office_name: office_name, }); } } From e3913f8d5c9c84534faf272f713194422d0294f4 Mon Sep 17 00:00:00 2001 From: Vins Date: Wed, 12 Jun 2024 15:05:27 +0200 Subject: [PATCH 19/25] Testing modification --- .../AnchoringProofService.ts | 51 ++++++++++++------- 1 file changed, 32 insertions(+), 19 deletions(-) diff --git a/src/services/common/AnchoringProofService/AnchoringProofService.ts b/src/services/common/AnchoringProofService/AnchoringProofService.ts index db055ef3..2602db84 100644 --- a/src/services/common/AnchoringProofService/AnchoringProofService.ts +++ b/src/services/common/AnchoringProofService/AnchoringProofService.ts @@ -73,6 +73,38 @@ export default class AnchoringProofService extends BaseService { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Certificat de dépôt international @@ -100,25 +132,6 @@ export default class AnchoringProofService extends BaseService { Un hash est une empreinte cryptographique unique générée par un algorithme à partir de données spécifiques. Il agit comme une signature numérique permettant de vérifier l'intégrité des données : toute modification, même infime, des données d'origine entraîne la production d'un hash distinct, garantissant ainsi l'authenticité et l'intégrité des informations. - - - - - - - - - - - - - - - - - - - `; From 5d49e534167219f87c26f4ac1cc6d524235ec037 Mon Sep 17 00:00:00 2001 From: Vins Date: Wed, 12 Jun 2024 15:13:34 +0200 Subject: [PATCH 20/25] Fixed office name --- src/app/api/notary/OfficeFolderAnchorsController.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/api/notary/OfficeFolderAnchorsController.ts b/src/app/api/notary/OfficeFolderAnchorsController.ts index f43c28d8..459f19f4 100644 --- a/src/app/api/notary/OfficeFolderAnchorsController.ts +++ b/src/app/api/notary/OfficeFolderAnchorsController.ts @@ -87,7 +87,7 @@ export default class OfficeFoldersController extends ApiController { } const sortedHashes = [...folderHashes].sort(); - const anchoringProof = await this.secureService.download(sortedHashes, officeFolder.name); + const anchoringProof = await this.secureService.download(sortedHashes, officeFolder.office!.name); const addFileToZip = (zip: Zip) => (uid: string): Promise => (async () => { From b607a3e7851f2e200ae2291bd70b5a12ffc3db6c Mon Sep 17 00:00:00 2001 From: Vins Date: Wed, 12 Jun 2024 15:22:55 +0200 Subject: [PATCH 21/25] retest baseTemplate --- .../AnchoringProofService.ts | 185 ++++++++++++------ 1 file changed, 120 insertions(+), 65 deletions(-) diff --git a/src/services/common/AnchoringProofService/AnchoringProofService.ts b/src/services/common/AnchoringProofService/AnchoringProofService.ts index 2602db84..07dca505 100644 --- a/src/services/common/AnchoringProofService/AnchoringProofService.ts +++ b/src/services/common/AnchoringProofService/AnchoringProofService.ts @@ -68,71 +68,126 @@ export default class AnchoringProofService extends BaseService { // // `; - private static svgTemplateDocumentBis: string = ` + // private static svgTemplateDocumentBis: string = ` + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // + // Certificat de dépôt international + // [[ANCHORING_TIME]] + // Nom de l'office + // [[OFFICE_NAME]] + // + // Déposant(s) + // LEcoffre.io + // + // Hash + // [[ROOT_HASH]] + // + // Explorateur blockchain + // [[TX_LINK]] + // + // + // À quoi ça sert ? + // Un certificat d'ancrage sur la blockchain permet d'établir de manière irréfutable l'enregistrement de données spécifiques à une date et une heure déterminées. Il constitue une preuve immuable et juridiquement opposable de l'existence et de l'intégrité des informations à un moment donné. En cas de litige, ce certificat peut être utilisé pour démontrer de manière incontestable que les données n'ont pas été altérées depuis leur enregistrement, offrant ainsi une preuve solide devant les tribunaux. + // + // Qu'est-ce qu'un explorateur blockchain ? + // Un explorateur blockchain est un outil numérique permettant d'accéder et de consulter les transactions et les données enregistrées sur la blockchain. Il assure une transparence totale, permettant à toute partie prenante de vérifier les opérations et les enregistrements effectués sur la chaîne de blocs. + // + // Qu'est-ce qu'un hash ? + // Un hash est une empreinte cryptographique unique générée par un algorithme à partir de données spécifiques. Il agit comme une signature numérique permettant de vérifier l'intégrité des données : toute modification, même infime, des données d'origine entraîne la production d'un hash distinct, garantissant ainsi l'authenticité et l'intégrité des informations. + // + // + // + // `; + + private static baseTemplate : string = ` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Certificat de dépôt international - [[ANCHORING_TIME]] - Nom de l'office - [[OFFICE_NAME]] - - Déposant(s) - LEcoffre.io - - Hash - [[ROOT_HASH]] - - Explorateur blockchain - [[TX_LINK]] - - - À quoi ça sert ? - Un certificat d'ancrage sur la blockchain permet d'établir de manière irréfutable l'enregistrement de données spécifiques à une date et une heure déterminées. Il constitue une preuve immuable et juridiquement opposable de l'existence et de l'intégrité des informations à un moment donné. En cas de litige, ce certificat peut être utilisé pour démontrer de manière incontestable que les données n'ont pas été altérées depuis leur enregistrement, offrant ainsi une preuve solide devant les tribunaux. - - Qu'est-ce qu'un explorateur blockchain ? - Un explorateur blockchain est un outil numérique permettant d'accéder et de consulter les transactions et les données enregistrées sur la blockchain. Il assure une transparence totale, permettant à toute partie prenante de vérifier les opérations et les enregistrements effectués sur la chaîne de blocs. - - Qu'est-ce qu'un hash ? - Un hash est une empreinte cryptographique unique générée par un algorithme à partir de données spécifiques. Il agit comme une signature numérique permettant de vérifier l'intégrité des données : toute modification, même infime, des données d'origine entraîne la production d'un hash distinct, garantissant ainsi l'authenticité et l'intégrité des informations. - - - + + + + + +Certificat de dépôt international +01-01-2023 12:30:15 CET +Nom du client +Doe John + +Déposant(s) +LEcoffre.io + +Hash +b834ce9229ee2c2283c837685772a473 + +Explorateur blockchain +https://tzstats.com/opYWLHH96gbV8HPajRqmoRx3UBVbr6iXz43kuHqm8ey4LLPWqeC + + +À quoi ça sert ? +Un certificat d'ancrage sur la blockchain permet d'établir de manière irréfutable l'enregistrement de données spécifiques à une date et une heure déterminées. Il constitue une preuve immuable et juridiquement opposable de l'existence et de l'intégrité des informations à un moment donné. En cas de litige, ce certificat peut être utilisé pour démontrer de manière incontestable que les données n'ont pas été altérées depuis leur enregistrement, offrant ainsi une preuve solide devant les tribunaux. + +Qu'est-ce qu'un explorateur blockchain ? +Un explorateur blockchain est un outil numérique permettant d'accéder et de consulter les transactions et les données enregistrées sur la blockchain. Il assure une transparence totale, permettant à toute partie prenante de vérifier les opérations et les enregistrements effectués sur la chaîne de blocs. + +Qu'est-ce qu'un hash ? +Un hash est une empreinte cryptographique unique générée par un algorithme à partir de données spécifiques. Il agit comme une signature numérique permettant de vérifier l'intégrité des données : toute modification, même infime, des données d'origine entraîne la production d'un hash distinct, garantissant ainsi l'authenticité et l'intégrité des informations. + + + + + + + + + + + + + + + + + + + + + + + `; /** @@ -149,7 +204,7 @@ export default class AnchoringProofService extends BaseService { var htmlContent = ` - ${AnchoringProofService.svgTemplateDocumentBis} + ${AnchoringProofService.baseTemplate} `; From e5beaa587d75a6811363d26314ec8ab149cfa6ea Mon Sep 17 00:00:00 2001 From: Vins Date: Wed, 12 Jun 2024 15:39:49 +0200 Subject: [PATCH 22/25] Fixed include office --- src/app/api/notary/OfficeFolderAnchorsController.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/app/api/notary/OfficeFolderAnchorsController.ts b/src/app/api/notary/OfficeFolderAnchorsController.ts index 459f19f4..96bba906 100644 --- a/src/app/api/notary/OfficeFolderAnchorsController.ts +++ b/src/app/api/notary/OfficeFolderAnchorsController.ts @@ -68,6 +68,7 @@ export default class OfficeFoldersController extends ApiController { files: true, }, }, + office: true, }; const officeFolderFound = await this.officeFoldersService.getByUid(uid, query); From af9387e73b4488188513ef94e9f333bb979be402 Mon Sep 17 00:00:00 2001 From: Vins Date: Wed, 12 Jun 2024 16:20:39 +0200 Subject: [PATCH 23/25] final version of anchoring proof --- .../AnchoringProofService.ts | 131 ++++-------------- 1 file changed, 28 insertions(+), 103 deletions(-) diff --git a/src/services/common/AnchoringProofService/AnchoringProofService.ts b/src/services/common/AnchoringProofService/AnchoringProofService.ts index 07dca505..8e823076 100644 --- a/src/services/common/AnchoringProofService/AnchoringProofService.ts +++ b/src/services/common/AnchoringProofService/AnchoringProofService.ts @@ -68,93 +68,37 @@ export default class AnchoringProofService extends BaseService { // // `; - // private static svgTemplateDocumentBis: string = ` - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // Certificat de dépôt international - // [[ANCHORING_TIME]] - // Nom de l'office - // [[OFFICE_NAME]] - // - // Déposant(s) - // LEcoffre.io - // - // Hash - // [[ROOT_HASH]] - // - // Explorateur blockchain - // [[TX_LINK]] - // - // - // À quoi ça sert ? - // Un certificat d'ancrage sur la blockchain permet d'établir de manière irréfutable l'enregistrement de données spécifiques à une date et une heure déterminées. Il constitue une preuve immuable et juridiquement opposable de l'existence et de l'intégrité des informations à un moment donné. En cas de litige, ce certificat peut être utilisé pour démontrer de manière incontestable que les données n'ont pas été altérées depuis leur enregistrement, offrant ainsi une preuve solide devant les tribunaux. - // - // Qu'est-ce qu'un explorateur blockchain ? - // Un explorateur blockchain est un outil numérique permettant d'accéder et de consulter les transactions et les données enregistrées sur la blockchain. Il assure une transparence totale, permettant à toute partie prenante de vérifier les opérations et les enregistrements effectués sur la chaîne de blocs. - // - // Qu'est-ce qu'un hash ? - // Un hash est une empreinte cryptographique unique générée par un algorithme à partir de données spécifiques. Il agit comme une signature numérique permettant de vérifier l'intégrité des données : toute modification, même infime, des données d'origine entraîne la production d'un hash distinct, garantissant ainsi l'authenticité et l'intégrité des informations. - // - // - // - // `; - - private static baseTemplate : string = ` - + private static svgTemplateDocumentBis: string = ` + - -Certificat de dépôt international -01-01-2023 12:30:15 CET -Nom du client -Doe John - -Déposant(s) -LEcoffre.io - -Hash -b834ce9229ee2c2283c837685772a473 - -Explorateur blockchain -https://tzstats.com/opYWLHH96gbV8HPajRqmoRx3UBVbr6iXz43kuHqm8ey4LLPWqeC + + + + + + + + + + + + +Certificat de dépôt international +[[ANCHORING_TIME]] +Nom de l'office +[[OFFICE_NAME]] + +Déposant(s) +LEcoffre.io + +Hash +[[ROOT_HASH]] + +Explorateur blockchain +[[TX_LINK]] À quoi ça sert ? @@ -167,25 +111,6 @@ export default class AnchoringProofService extends BaseService { Un hash est une empreinte cryptographique unique générée par un algorithme à partir de données spécifiques. Il agit comme une signature numérique permettant de vérifier l'intégrité des données : toute modification, même infime, des données d'origine entraîne la production d'un hash distinct, garantissant ainsi l'authenticité et l'intégrité des informations. - - - - - - - - - - - - - - - - - - - `; @@ -204,7 +129,7 @@ export default class AnchoringProofService extends BaseService { var htmlContent = ` - ${AnchoringProofService.baseTemplate} + ${AnchoringProofService.svgTemplateDocumentBis} `; From 833b42d62cc5efae0748c19cc5d6b2e2bdbe8a26 Mon Sep 17 00:00:00 2001 From: Vins Date: Wed, 12 Jun 2024 16:34:55 +0200 Subject: [PATCH 24/25] New anchor proof done --- .../AnchoringProofService.ts | 133 ++++-------------- 1 file changed, 29 insertions(+), 104 deletions(-) diff --git a/src/services/common/AnchoringProofService/AnchoringProofService.ts b/src/services/common/AnchoringProofService/AnchoringProofService.ts index 07dca505..61b7ec94 100644 --- a/src/services/common/AnchoringProofService/AnchoringProofService.ts +++ b/src/services/common/AnchoringProofService/AnchoringProofService.ts @@ -68,93 +68,37 @@ export default class AnchoringProofService extends BaseService { // // `; - // private static svgTemplateDocumentBis: string = ` - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // - // Certificat de dépôt international - // [[ANCHORING_TIME]] - // Nom de l'office - // [[OFFICE_NAME]] - // - // Déposant(s) - // LEcoffre.io - // - // Hash - // [[ROOT_HASH]] - // - // Explorateur blockchain - // [[TX_LINK]] - // - // - // À quoi ça sert ? - // Un certificat d'ancrage sur la blockchain permet d'établir de manière irréfutable l'enregistrement de données spécifiques à une date et une heure déterminées. Il constitue une preuve immuable et juridiquement opposable de l'existence et de l'intégrité des informations à un moment donné. En cas de litige, ce certificat peut être utilisé pour démontrer de manière incontestable que les données n'ont pas été altérées depuis leur enregistrement, offrant ainsi une preuve solide devant les tribunaux. - // - // Qu'est-ce qu'un explorateur blockchain ? - // Un explorateur blockchain est un outil numérique permettant d'accéder et de consulter les transactions et les données enregistrées sur la blockchain. Il assure une transparence totale, permettant à toute partie prenante de vérifier les opérations et les enregistrements effectués sur la chaîne de blocs. - // - // Qu'est-ce qu'un hash ? - // Un hash est une empreinte cryptographique unique générée par un algorithme à partir de données spécifiques. Il agit comme une signature numérique permettant de vérifier l'intégrité des données : toute modification, même infime, des données d'origine entraîne la production d'un hash distinct, garantissant ainsi l'authenticité et l'intégrité des informations. - // - // - // - // `; - - private static baseTemplate : string = ` - + private static svgTemplateDocumentBis: string = ` + - -Certificat de dépôt international -01-01-2023 12:30:15 CET -Nom du client -Doe John - -Déposant(s) -LEcoffre.io - -Hash -b834ce9229ee2c2283c837685772a473 - -Explorateur blockchain -https://tzstats.com/opYWLHH96gbV8HPajRqmoRx3UBVbr6iXz43kuHqm8ey4LLPWqeC + + + + + + + + + + + + +Certificat de dépôt international +[[ANCHORING_TIME]] +Nom de l'office +[[OFFICE_NAME]] + +Déposant(s) +LEcoffre.io + +Hash +[[ROOT_HASH]] + +Explorateur blockchain +[[TX_LINK]] À quoi ça sert ? @@ -167,25 +111,6 @@ export default class AnchoringProofService extends BaseService { Un hash est une empreinte cryptographique unique générée par un algorithme à partir de données spécifiques. Il agit comme une signature numérique permettant de vérifier l'intégrité des données : toute modification, même infime, des données d'origine entraîne la production d'un hash distinct, garantissant ainsi l'authenticité et l'intégrité des informations. - - - - - - - - - - - - - - - - - - - `; @@ -204,7 +129,7 @@ export default class AnchoringProofService extends BaseService { var htmlContent = ` - ${AnchoringProofService.baseTemplate} + ${AnchoringProofService.svgTemplateDocumentBis} `; @@ -250,4 +175,4 @@ export default class AnchoringProofService extends BaseService { return buffer; } -} +} \ No newline at end of file From 19bb3eb1e88e8a927b7fa76aede09ba021e5eeea Mon Sep 17 00:00:00 2001 From: Vins Date: Wed, 12 Jun 2024 17:52:15 +0200 Subject: [PATCH 25/25] Updated anchoring proof --- .../AnchoringProofService.ts | 45 ++++++++++--------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/src/services/common/AnchoringProofService/AnchoringProofService.ts b/src/services/common/AnchoringProofService/AnchoringProofService.ts index 61b7ec94..4487f75c 100644 --- a/src/services/common/AnchoringProofService/AnchoringProofService.ts +++ b/src/services/common/AnchoringProofService/AnchoringProofService.ts @@ -77,7 +77,7 @@ export default class AnchoringProofService extends BaseService { - + @@ -88,31 +88,32 @@ export default class AnchoringProofService extends BaseService { Certificat de dépôt international [[ANCHORING_TIME]] -Nom de l'office -[[OFFICE_NAME]] - -Déposant(s) -LEcoffre.io - -Hash -[[ROOT_HASH]] - -Explorateur blockchain -[[TX_LINK]] - - -À quoi ça sert ? -Un certificat d'ancrage sur la blockchain permet d'établir de manière irréfutable l'enregistrement de données spécifiques à une date et une heure déterminées. Il constitue une preuve immuable et juridiquement opposable de l'existence et de l'intégrité des informations à un moment donné. En cas de litige, ce certificat peut être utilisé pour démontrer de manière incontestable que les données n'ont pas été altérées depuis leur enregistrement, offrant ainsi une preuve solide devant les tribunaux. - -Qu'est-ce qu'un explorateur blockchain ? -Un explorateur blockchain est un outil numérique permettant d'accéder et de consulter les transactions et les données enregistrées sur la blockchain. Il assure une transparence totale, permettant à toute partie prenante de vérifier les opérations et les enregistrements effectués sur la chaîne de blocs. - -Qu'est-ce qu'un hash ? -Un hash est une empreinte cryptographique unique générée par un algorithme à partir de données spécifiques. Il agit comme une signature numérique permettant de vérifier l'intégrité des données : toute modification, même infime, des données d'origine entraîne la production d'un hash distinct, garantissant ainsi l'authenticité et l'intégrité des informations. +Nom de l'office +[[OFFICE_NAME]] + +Déposant(s) +LEcoffre.io + +Hash +[[ROOT_HASH]] + +Explorateur blockchain +[[TX_LINK]] + + +À quoi ça sert ? +Un certificat d'ancrage sur la blockchain permet d'établir de manière irréfutable l'enregistrement de données spécifiques à une date et une heure déterminées. Il constitue une preuve immuable et juridiquement opposable de l'existence et de l'intégrité des informations. En cas de litige, ce certificat peut démontrer de manière incontestable que les données n'ont pas été altérées depuis leur enregistrement. + +Qu'est-ce qu'un explorateur blockchain ? +Un explorateur blockchain est un outil numérique permettant d'accéder et de consulter les transactions et les données enregistrées sur la blockchain. Il assure une transparence totale, permettant à toute partie prenante de vérifier les opérations et les enregistrements effectués sur la chaîne de blocs. + +Qu'est-ce qu'un hash ? +Un hash est une empreinte cryptographique unique générée par un algorithme à partir de données spécifiques. Il agit comme une signature numérique permettant de vérifier l'intégrité des données : toute modification, même infime, des données d'origine entraîne la production d'un hash distinct, garantissant ainsi l'authenticité et l'intégrité des informations. + `; /**