2184 lines
51 KiB
TypeScript
2184 lines
51 KiB
TypeScript
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: "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 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 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 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: {
|
|
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,
|
|
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.log(">MOCK DATA - Seeding completed!");
|
|
} catch (error) {
|
|
console.error(error);
|
|
console.log("Data already seeded, skiping");
|
|
}
|
|
}
|
|
main();
|