diff --git a/src/common/databases/seeders/seeder.ts b/src/common/databases/seeders/seeder.ts index 8e85cd93..0f56da51 100644 --- a/src/common/databases/seeders/seeder.ts +++ b/src/common/databases/seeders/seeder.ts @@ -1,10 +1,22 @@ 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 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{ + try { const prisma = new PrismaClient(); const randomString = () => { @@ -13,14 +25,14 @@ export default async function main() { for (let i = 10; i > 0; --i) result += chars[Math.floor(Math.random() * chars.length)]; return result; }; - + const idNot1 = "dlefvlef"; const idNot2 = "jelkvelknvlkn"; const idNot3 = "rleenrenlnr"; const idNot4 = "ljfeflecnmd"; const idNot5 = "rflrefrjf"; const idNot6 = "er3ojfdlfnd"; - + const addresses: Address[] = [ { address: "148 Avenue du bac", @@ -163,7 +175,7 @@ export default async function main() { updated_at: new Date(), }, ]; - + const contacts: Contact[] = [ { address: addresses[0], @@ -406,7 +418,7 @@ export default async function main() { civility: ECivility.MALE, }, ]; - + const offices: Office[] = [ { idNot: idNot1, @@ -418,7 +430,7 @@ export default async function main() { office_status: EOfficeStatus.ACTIVATED, }, ]; - + const customers: Customer[] = [ { contact: contacts[5], @@ -511,7 +523,7 @@ export default async function main() { status: ECustomerStatus.PENDING, }, ]; - + const rules: Rule[] = [ { name: "GET users", @@ -645,6 +657,12 @@ export default async function main() { created_at: new Date(), updated_at: new Date(), }, + { + name: "POST folders", + label: "Création des dossiers", + created_at: new Date(), + updated_at: new Date(), + }, { name: "PUT rules", label: "Modification des droits", @@ -705,12 +723,6 @@ export default async function main() { created_at: new Date(), updated_at: new Date(), }, - { - name: "POST folders", - label: "Création des dossiers", - created_at: new Date(), - updated_at: new Date(), - }, { name: "POST roles", label: "Création des rôles", @@ -802,7 +814,7 @@ export default async function main() { updated_at: new Date(), }, ]; - + const roles: Role[] = [ { name: "super-admin", @@ -823,7 +835,7 @@ export default async function main() { label: "Notaire", created_at: new Date(), updated_at: new Date(), - rules: rules.slice(0, 22), + rules: rules.slice(0, 23), }, { name: "default", @@ -833,7 +845,7 @@ export default async function main() { rules: rules.slice(0, 11), }, ]; - + const officeRoles: OfficeRole[] = [ { name: "Notaire", @@ -848,9 +860,9 @@ export default async function main() { updated_at: new Date(), office: offices[0]!, rules: rules.slice(0, 22), - } + }, ]; - + const users: User[] = [ { created_at: new Date(), @@ -895,7 +907,7 @@ export default async function main() { role: roles[3], }, ]; - + const deedTypes: DeedType[] = [ { name: "Acte de donation", @@ -930,7 +942,7 @@ export default async function main() { updated_at: new Date(), }, ]; - + const deeds: Deed[] = [ { deed_type: deedTypes[0], @@ -1038,7 +1050,7 @@ export default async function main() { updated_at: new Date(), }, ]; - + const documentTypes: DocumentType[] = [ { archived_at: null, @@ -1055,12 +1067,14 @@ export default async function main() { 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.", + 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", @@ -1096,8 +1110,10 @@ export default async function main() { 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).", + 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(), }, @@ -1138,7 +1154,8 @@ export default async function main() { 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é.", + 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(), }, @@ -1188,7 +1205,8 @@ export default async function main() { 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.", + 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(), @@ -1241,7 +1259,7 @@ export default async function main() { updated_at: new Date(), }, ]; - + const officeFolders: OfficeFolder[] = [ { folder_number: "0001", @@ -1343,7 +1361,7 @@ export default async function main() { archived_description: null, }, ]; - + for (const office of offices) { const officeCreated = await prisma.offices.create({ data: { @@ -1371,7 +1389,7 @@ export default async function main() { }); rule.uid = ruleCreated.uid; } - + for (const role of roles) { const roleCreated = await prisma.roles.create({ data: { @@ -1386,7 +1404,7 @@ export default async function main() { }); role.uid = roleCreated.uid; } - + for (const officeRole of officeRoles) { const officeRoleCreated = await prisma.officeRoles.create({ data: { @@ -1405,7 +1423,7 @@ export default async function main() { }); officeRole.uid = officeRoleCreated.uid; } - + for (const user of users) { const createArgs: Prisma.UsersCreateArgs = { data: { @@ -1464,7 +1482,7 @@ export default async function main() { const userCreated = await prisma.users.create(createArgs); user.uid = userCreated.uid; } - + for (const customer of customers) { const createArgs: Prisma.CustomersCreateArgs = { data: { @@ -1482,7 +1500,7 @@ export default async function main() { }, }, }; - + if (customer.contact?.address) { createArgs.data.contact!.create!.address = { create: { @@ -1495,7 +1513,7 @@ export default async function main() { const customersCreated = await prisma.customers.create(createArgs); customer.uid = customersCreated.uid; } - + for (const deedType of deedTypes) { const createArgs: Prisma.DeedTypesCreateArgs = { data: { @@ -1518,7 +1536,7 @@ export default async function main() { const deedTypeCreated = await prisma.deedTypes.create(createArgs); deedType.uid = deedTypeCreated.uid; } - + for (const deed of deeds) { const createArgs: Prisma.DeedsCreateArgs = { data: { @@ -1535,7 +1553,7 @@ export default async function main() { }, include: { document_types: true }, }); - + if (deedTypeWithDocumentTypes.document_types) { createArgs.data.document_types = { connect: deedTypeWithDocumentTypes.document_types.map((documentType) => ({ @@ -1546,7 +1564,7 @@ export default async function main() { const deedCreated = await prisma.deeds.create(createArgs); deed.uid = deedCreated.uid; } - + for (const documentType of documentTypes) { const documentTypeCreated = await prisma.documentTypes.create({ data: { @@ -1562,7 +1580,7 @@ export default async function main() { }); documentType.uid = documentTypeCreated.uid; } - + for (const officeFolder of officeFolders) { const officeFolderCreated = await prisma.officeFolders.create({ data: { @@ -1589,12 +1607,10 @@ export default async function main() { }); officeFolder.uid = officeFolderCreated.uid; } - + console.log(">MOCK DATA - Seeding completed!"); - } - catch(error){ + } catch (error) { console.log("Data already seeded, skiping"); } - } main();