1589 lines
40 KiB
TypeScript
1589 lines
40 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: "06 12 34 56 78",
|
|
cell_phone_number: "06 12 34 56 78",
|
|
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: "06 23 45 67 89",
|
|
cell_phone_number: "06 23 45 67 89",
|
|
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: "06 34 56 78 90",
|
|
cell_phone_number: "06 34 56 78 90",
|
|
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: "06 45 67 89 01",
|
|
cell_phone_number: "06 45 67 89 01",
|
|
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: "06 56 78 90 12",
|
|
cell_phone_number: "06 56 78 90 12",
|
|
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: "06 67 89 01 23",
|
|
cell_phone_number: "06 67 89 01 23",
|
|
birthdate: null,
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
civility: ECivility.MALE,
|
|
},
|
|
{
|
|
address: addresses[6],
|
|
first_name: "Jean",
|
|
last_name: "Dubigot",
|
|
email: "jean.dubigot@gmail.com",
|
|
phone_number: "06 78 90 12 34",
|
|
cell_phone_number: "06 78 90 12 34",
|
|
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: "06 89 01 23 45",
|
|
cell_phone_number: "06 89 01 23 45",
|
|
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: "07 12 34 56 78",
|
|
cell_phone_number: "07 12 34 56 78",
|
|
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: "07 23 45 67 89",
|
|
cell_phone_number: "07 23 45 67 89",
|
|
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: "07 34 56 78 90",
|
|
cell_phone_number: "07 34 56 78 90",
|
|
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: "07 45 67 89 01",
|
|
cell_phone_number: "07 45 67 89 01",
|
|
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: "07 56 78 90 12",
|
|
cell_phone_number: "07 56 78 90 12",
|
|
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: "07 67 89 01 23",
|
|
cell_phone_number: "07 67 89 01 23",
|
|
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: "07 78 90 12 34",
|
|
cell_phone_number: "07 78 90 12 34",
|
|
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: "07 89 01 23 45",
|
|
cell_phone_number: "07 89 01 23 45",
|
|
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: "06 11 22 33 44",
|
|
cell_phone_number: "06 11 22 33 44",
|
|
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: "07 22 33 44 55",
|
|
cell_phone_number: "07 22 33 44 55",
|
|
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: "06 55 66 77 88",
|
|
cell_phone_number: "06 55 66 77 88",
|
|
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: "07 88 99 00 11",
|
|
cell_phone_number: "07 88 99 00 11",
|
|
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: "notary",
|
|
},
|
|
{
|
|
name: "GET offices",
|
|
label: "Lecture des offices",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
namespace: "notary",
|
|
},
|
|
{
|
|
name: "GET customers",
|
|
label: "Lecture des clients",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
namespace: "notary",
|
|
},
|
|
{
|
|
name: "GET deeds",
|
|
label: "Lecture des actes",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
namespace: "notary",
|
|
},
|
|
{
|
|
name: "GET deed-types",
|
|
label: "Lecture des types d'actes",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
namespace: "notary",
|
|
},
|
|
{
|
|
name: "GET documents",
|
|
label: "Lecture des documents",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
namespace: "notary",
|
|
},
|
|
{
|
|
name: "GET document-types",
|
|
label: "Lecture des types de documents",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
namespace: "notary",
|
|
},
|
|
{
|
|
name: "GET files",
|
|
label: "Lecture des fichiers",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
namespace: "notary",
|
|
},
|
|
{
|
|
name: "GET folders",
|
|
label: "Lecture des dossiers",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
namespace: "notary",
|
|
},
|
|
{
|
|
name: "GET roles",
|
|
label: "Lecture utilisateurs",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
namespace: "notary",
|
|
},
|
|
{
|
|
name: "GET rules",
|
|
label: "Lecture des droits",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
namespace: "notary",
|
|
},
|
|
{
|
|
name: "GET office-roles",
|
|
label: "Lecture des rôles d'office",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
namespace: "notary",
|
|
},
|
|
{
|
|
name: "POST deeds",
|
|
label: "Création des actes",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
namespace: "notary",
|
|
},
|
|
{
|
|
name: "PUT deeds",
|
|
label: "Modification des actes",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
namespace: "notary",
|
|
},
|
|
{
|
|
name: "DELETE deeds",
|
|
label: "Suppression des actes",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
namespace: "notary",
|
|
},
|
|
{
|
|
name: "POST folders",
|
|
label: "Création des dossiers",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
namespace: "notary",
|
|
},
|
|
{
|
|
name: "PUT folders",
|
|
label: "Modification des dossiers",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
namespace: "notary",
|
|
},
|
|
{
|
|
name: "DELETE folders",
|
|
label: "Suppression des dossiers",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
namespace: "notary",
|
|
},
|
|
{
|
|
name: "POST documents",
|
|
label: "Création des documents",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
namespace: "notary",
|
|
},
|
|
{
|
|
name: "PUT documents",
|
|
label: "Modification des documents",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
namespace: "notary",
|
|
},
|
|
{
|
|
name: "DELETE documents",
|
|
label: "Suppression des documents",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
namespace: "notary",
|
|
},
|
|
{
|
|
name: "POST customers",
|
|
label: "Création des clients",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
namespace: "notary",
|
|
},
|
|
{
|
|
name: "PUT customers",
|
|
label: "Modification des clients",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
namespace: "notary",
|
|
},
|
|
{
|
|
name: "DELETE customers",
|
|
label: "Suppression des clients",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
namespace: "notary",
|
|
},
|
|
{
|
|
name: "POST anchors",
|
|
label: "Ancrer un dossier",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
namespace: "notary",
|
|
},
|
|
{
|
|
name: "GET anchors",
|
|
label: "Vérifier l'ancrage un dossier",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
namespace: "notary",
|
|
},
|
|
{
|
|
name: "POST deed-types",
|
|
label: "Création des types d'actes",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
namespace: "admin",
|
|
},
|
|
{
|
|
name: "PUT deed-types",
|
|
label: "Modification des types d'actes",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
namespace: "admin",
|
|
},
|
|
{
|
|
name: "DELETE deed-types",
|
|
label: "Suppression des types d'actes",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
namespace: "admin",
|
|
},
|
|
{
|
|
name: "POST document-types",
|
|
label: "Création des types de documents",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
namespace: "admin",
|
|
},
|
|
{
|
|
name: "PUT document-types",
|
|
label: "Modification des types de documents",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
namespace: "admin",
|
|
},
|
|
{
|
|
name: "DELETE document-types",
|
|
label: "Suppression des types de documents",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
namespace: "admin",
|
|
},
|
|
{
|
|
name: "POST office-roles",
|
|
label: "Création des rôles d'office",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
namespace: "admin",
|
|
},
|
|
{
|
|
name: "PUT office-roles",
|
|
label: "Modification des rôles d'office",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
namespace: "admin",
|
|
},
|
|
{
|
|
name: "DELETE office-roles",
|
|
label: "Suppression des rôles d'office",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
namespace: "admin",
|
|
},
|
|
{
|
|
name: "DELETE office-roles",
|
|
label: "Suppression des rôles d'office",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
namespace: "super-admin",
|
|
},
|
|
{
|
|
name: "PUT users",
|
|
label: "Modification des utilisateurs",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
namespace: "super-admin",
|
|
},
|
|
{
|
|
name: "PUT offices",
|
|
label: "Modification des offices",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
namespace: "super-admin",
|
|
},
|
|
];
|
|
|
|
const roles: Role[] = [
|
|
{
|
|
name: "super-admin",
|
|
label: "Super administrateur",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
rules: rules,
|
|
},
|
|
{
|
|
name: "admin",
|
|
label: "Administrateur",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
rules: rules.slice(0, 35),
|
|
},
|
|
{
|
|
name: "notary",
|
|
label: "Notaire",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
rules: rules.slice(0, 25),
|
|
},
|
|
{
|
|
name: "default",
|
|
label: "Utilisateur",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
rules: rules.slice(0, 1),
|
|
},
|
|
];
|
|
|
|
const officeRoles: OfficeRole[] = [
|
|
{
|
|
name: "Notaire",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
office: offices[0]!,
|
|
rules: rules.slice(0, 35),
|
|
},
|
|
{
|
|
name: "Collaborateur",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
office: offices[0]!,
|
|
rules: rules.slice(0, 22),
|
|
},
|
|
];
|
|
|
|
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: "Document d'identité",
|
|
office: offices[0],
|
|
private_description:
|
|
"Document officiel d'identification utilisé par plusieurs personnes pour prouver leur identité et leur nationalité (CNI, passeport)",
|
|
public_description:
|
|
"Document officiel d'identification utilisé par plusieurs personnes pour prouver leur identité et leur nationalité (CNI, passeport)",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
},
|
|
{
|
|
archived_at: null,
|
|
name: "Taxe Foncière",
|
|
office: offices[0],
|
|
private_description:
|
|
"Impôt annuel imposé sur les propriétés foncières et utilisé pour financer les services publics locaux.",
|
|
public_description:
|
|
"Impôt annuel imposé sur les propriétés foncières et utilisé pour financer les services publics locaux.",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
},
|
|
|
|
{
|
|
archived_at: null,
|
|
name: "Contrat Mariage",
|
|
office: offices[0],
|
|
private_description: "Accord légal qui établit les droits et les obligations entre deux personnes s'unissant en mariage.",
|
|
public_description: "Accord légal qui établit les droits et les obligations entre deux personnes s'unissant en mariage.",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
},
|
|
{
|
|
archived_at: null,
|
|
name: "Livret de famille",
|
|
office: offices[0],
|
|
private_description:
|
|
"Document officiel qui enregistre les détails et les événements familiaux tels que les mariages, les naissances et les décès d'un couple et de leurs enfants.",
|
|
public_description:
|
|
"Document officiel qui enregistre les détails et les événements familiaux tels que les mariages, les naissances et les décès d'un couple et de leurs enfants.",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
},
|
|
{
|
|
archived_at: null,
|
|
name: "Bail commercial",
|
|
office: offices[0],
|
|
private_description:
|
|
"Contrat légal entre un propriétaire et un locataire pour la location d'un bien immobilier utilisé à des fins commerciales ou professionnelles.",
|
|
public_description:
|
|
"Contrat légal entre un propriétaire et un locataire pour la location d'un bien immobilier utilisé à des fins commerciales ou professionnelles.",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
},
|
|
{
|
|
archived_at: null,
|
|
name: "Statuts SCI",
|
|
office: offices[0],
|
|
private_description:
|
|
"Document légal qui définit les règles et les dispositions régissant la Société Civile Immobilière (SCI).",
|
|
public_description:
|
|
"Document légal qui définit les règles et les dispositions régissant la Société Civile Immobilière (SCI).",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
},
|
|
{
|
|
archived_at: null,
|
|
name: "Avis de taxe foncière",
|
|
office: offices[0],
|
|
private_description: "Notification officielle indiquant le montant de l'impôt foncier dû sur une propriété.",
|
|
public_description: "Notification officielle indiquant le montant de l'impôt foncier dû sur une propriété.",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
},
|
|
{
|
|
archived_at: null,
|
|
name: "Appel de charge de copropriété",
|
|
office: offices[0],
|
|
private_description:
|
|
"Document envoyé aux copropriétaires pour les informer des dépenses et des charges communes liées à la gestion et à l'entretien de l'immeuble.",
|
|
public_description:
|
|
"Document envoyé aux copropriétaires pour les informer des dépenses et des charges communes liées à la gestion et à l'entretien de l'immeuble.",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
},
|
|
{
|
|
archived_at: null,
|
|
name: "PVAG",
|
|
office: offices[0],
|
|
private_description:
|
|
"Compte rendu écrit des discussions, décisions et résolutions prises lors d'une réunion d'assemblée générale de copropriété.",
|
|
public_description:
|
|
"Compte rendu écrit des discussions, décisions et résolutions prises lors d'une réunion d'assemblée générale de copropriété.",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
},
|
|
{
|
|
archived_at: null,
|
|
name: "Règlement de copropriété",
|
|
office: offices[0],
|
|
private_description:
|
|
"Document juridique qui établit les règles et les droits des copropriétaires d'un immeuble en copropriété.",
|
|
public_description:
|
|
"Document juridique qui établit les règles et les droits des copropriétaires d'un immeuble en copropriété.",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
},
|
|
{
|
|
archived_at: null,
|
|
name: "Titre de propriété",
|
|
office: offices[0],
|
|
private_description: "Document légal qui atteste de la propriété d'un bien immobilier et en identifie le propriétaire.",
|
|
public_description: "Document légal qui atteste de la propriété d'un bien immobilier et en identifie le propriétaire.",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
},
|
|
{
|
|
archived_at: null,
|
|
name: "Plan et loi carrez",
|
|
office: offices[0],
|
|
private_description:
|
|
"Document officiel qui mesure la superficie d'un lot ou d'un bien immobilier, conformément à la loi Carrez qui encadre les transactions immobilières.",
|
|
public_description:
|
|
"Document officiel qui mesure la superficie d'un lot ou d'un bien immobilier, conformément à la loi Carrez qui encadre les transactions immobilières.",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
},
|
|
{
|
|
archived_at: null,
|
|
name: "CNI",
|
|
office: offices[0],
|
|
private_description:
|
|
"Document officiel d'identification délivré par l'État pour prouver l'identité et la nationalité d'une personne.",
|
|
public_description:
|
|
"Document officiel d'identification délivré par l'État pour prouver l'identité et la nationalité d'une personne.",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
},
|
|
{
|
|
archived_at: null,
|
|
name: "Modifications règlement copropriété (plusieurs)",
|
|
office: offices[0],
|
|
private_description:
|
|
"Documents légaux qui apportent des changements ou des ajustements aux règles et dispositions du règlement de copropriété initial.",
|
|
public_description:
|
|
"Documents légaux qui apportent des changements ou des ajustements aux règles et dispositions du règlement de copropriété initial.",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
},
|
|
{
|
|
archived_at: null,
|
|
name: "Avis de décès",
|
|
office: offices[0],
|
|
private_description:
|
|
"Notification officielle délivrée par les autorités compétentes pour informer du décès d'une personne.",
|
|
public_description: "Notification officielle délivrée par les autorités compétentes pour informer du décès d'une personne.",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
},
|
|
{
|
|
archived_at: null,
|
|
name: "Lettre de mission",
|
|
office: offices[0],
|
|
private_description:
|
|
"Document contractuel qui définit les termes et les objectifs d'une mission confiée à une personne ou à une entreprise.",
|
|
public_description:
|
|
"Document contractuel qui définit les termes et les objectifs d'une mission confiée à une personne ou à une entreprise.",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
},
|
|
{
|
|
archived_at: null,
|
|
name: "DPE",
|
|
office: offices[0],
|
|
private_description: "Diagnostic de Performance Energétique.",
|
|
public_description: "Diagnostic de Performance Energétique.",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
},
|
|
{
|
|
archived_at: null,
|
|
name: "RIB",
|
|
office: offices[0],
|
|
private_description: "Relevé d'identité bancaire ou IBAN.",
|
|
public_description: "Relevé d'identité bancaire ou IBAN.",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
},
|
|
{
|
|
archived_at: null,
|
|
name: "Acte d'achat par la SCI",
|
|
office: offices[0],
|
|
private_description: "Acte d'achat par la SCI.",
|
|
public_description: "Acte d'achat par la SCI.",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
},
|
|
{
|
|
archived_at: null,
|
|
name: "Autres documents",
|
|
office: offices[0],
|
|
private_description: "Document ajouté à l'initiative du client",
|
|
public_description: "Documents annexes pour compléter le dossier",
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
},
|
|
];
|
|
|
|
const deedTypes: DeedType[] = [
|
|
{
|
|
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.slice(0, 4),
|
|
},
|
|
{
|
|
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(0, 4),
|
|
},
|
|
{
|
|
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(0, 4),
|
|
},
|
|
{
|
|
name: "Acte de vente de maison individuelle",
|
|
archived_at: null,
|
|
description: "Acte de vente de maison individuelle",
|
|
office: offices[0],
|
|
created_at: new Date(),
|
|
updated_at: new Date(),
|
|
document_types: documentTypes.slice(0, 4),
|
|
},
|
|
];
|
|
|
|
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 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.log(error);
|
|
console.log("Data already seeded, skiping");
|
|
}
|
|
}
|
|
main();
|