@silexpert/core 1.3.202 → 1.3.203-is-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/api/resources/Docoon.d.ts +6 -0
- package/dist/cjs/api/resources/Docoon.d.ts.map +1 -0
- package/dist/cjs/api/resources/Docoon.js +11 -0
- package/dist/cjs/api/resources/Docoon.js.map +1 -0
- package/dist/cjs/api/resources/InternalInvoicing.d.ts +1 -1
- package/dist/cjs/api/resources/InternalInvoicing.d.ts.map +1 -1
- package/dist/cjs/api/resources/InternalInvoicing.js +5 -1
- package/dist/cjs/api/resources/InternalInvoicing.js.map +1 -1
- package/dist/cjs/api/resources/WorkingSchedule.d.ts +1 -0
- package/dist/cjs/api/resources/WorkingSchedule.d.ts.map +1 -1
- package/dist/cjs/api/resources/WorkingSchedule.js +3 -0
- package/dist/cjs/api/resources/WorkingSchedule.js.map +1 -1
- package/dist/cjs/api/resources.d.ts +2 -0
- package/dist/cjs/api/resources.d.ts.map +1 -1
- package/dist/cjs/api/resources.js +2 -0
- package/dist/cjs/api/resources.js.map +1 -1
- package/dist/cjs/types/Enum/AnalyticsUtm.d.ts +49 -0
- package/dist/cjs/types/Enum/AnalyticsUtm.d.ts.map +1 -0
- package/dist/cjs/types/Enum/AnalyticsUtm.js +54 -0
- package/dist/cjs/types/Enum/AnalyticsUtm.js.map +1 -0
- package/dist/cjs/types/Enum/BalanceSheet.js +2 -2
- package/dist/cjs/types/Enum/BalanceSheet.js.map +1 -1
- package/dist/cjs/types/Enum/PrestationType.js +1 -1
- package/dist/cjs/types/Enum/PrestationType.js.map +1 -1
- package/dist/cjs/types/Interface/api/card/Cron.d.ts +1 -0
- package/dist/cjs/types/Interface/api/card/Cron.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/card/Cron.js +6 -0
- package/dist/cjs/types/Interface/api/card/Cron.js.map +1 -1
- package/dist/cjs/types/Interface/api/cerfa/2571.d.ts +2 -53
- package/dist/cjs/types/Interface/api/cerfa/2571.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/cerfa/2571.js +1 -4
- package/dist/cjs/types/Interface/api/cerfa/2571.js.map +1 -1
- package/dist/cjs/types/Interface/api/cerfa/2572.d.ts +9 -150
- package/dist/cjs/types/Interface/api/cerfa/2572.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/cerfa/2572.js +4 -7
- package/dist/cjs/types/Interface/api/cerfa/2572.js.map +1 -1
- package/dist/cjs/types/Interface/api/cerfa/2573.d.ts +2 -1
- package/dist/cjs/types/Interface/api/cerfa/2573.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/cerfa/2573.js.map +1 -1
- package/dist/cjs/types/Interface/api/config/ConfigType.d.ts +4 -0
- package/dist/cjs/types/Interface/api/config/ConfigType.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/config/ConfigType.js.map +1 -1
- package/dist/cjs/types/Interface/api/docoon/Query.d.ts +6 -0
- package/dist/cjs/types/Interface/api/docoon/Query.d.ts.map +1 -0
- package/dist/cjs/types/Interface/api/docoon/Query.js +36 -0
- package/dist/cjs/types/Interface/api/docoon/Query.js.map +1 -0
- package/dist/cjs/types/Interface/api/docoon/Read.d.ts +78 -0
- package/dist/cjs/types/Interface/api/docoon/Read.d.ts.map +1 -0
- package/dist/cjs/types/Interface/api/docoon/Read.js +3 -0
- package/dist/cjs/types/Interface/api/docoon/Read.js.map +1 -0
- package/dist/cjs/types/Interface/api/generalLedger/IGeneralLedgerThirdParty.d.ts +2 -0
- package/dist/cjs/types/Interface/api/generalLedger/IGeneralLedgerThirdParty.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/generalLedger/IGeneralLedgerThirdParty.js.map +1 -1
- package/dist/cjs/types/Interface/api/revenue/revenueMovement.d.ts +1 -0
- package/dist/cjs/types/Interface/api/revenue/revenueMovement.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/revenue/revenueMovement.js.map +1 -1
- package/dist/cjs/types/Interface/api/revision/Query.d.ts +2 -1
- package/dist/cjs/types/Interface/api/revision/Query.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/revision/Query.js +6 -0
- package/dist/cjs/types/Interface/api/revision/Query.js.map +1 -1
- package/dist/cjs/types/Interface/api/user/RegisterProspect.d.ts +2 -0
- package/dist/cjs/types/Interface/api/user/RegisterProspect.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/user/RegisterProspect.js +14 -0
- package/dist/cjs/types/Interface/api/user/RegisterProspect.js.map +1 -1
- package/dist/cjs/types/Interface/api/webex/GetWebinarsParams.d.ts +1 -0
- package/dist/cjs/types/Interface/api/webex/GetWebinarsParams.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/webex/GetWebinarsParams.js +5 -0
- package/dist/cjs/types/Interface/api/webex/GetWebinarsParams.js.map +1 -1
- package/dist/cjs/types/Interface/models/IAccountDetail.d.ts +1 -0
- package/dist/cjs/types/Interface/models/IAccountDetail.d.ts.map +1 -1
- package/dist/cjs/types/Interface/models/IAccountDetail.js.map +1 -1
- package/dist/cjs/types/Interface/models/IAnalyticsUtm.d.ts +2 -0
- package/dist/cjs/types/Interface/models/IAnalyticsUtm.d.ts.map +1 -1
- package/dist/cjs/types/Interface/models/IAnalyticsUtm.js.map +1 -1
- package/dist/cjs/types/Interface/models/IExercicePrestation.d.ts +1 -0
- package/dist/cjs/types/Interface/models/IExercicePrestation.d.ts.map +1 -1
- package/dist/cjs/types/Interface/models/IExercicePrestation.js.map +1 -1
- package/dist/cjs/types/index.d.ts +3 -0
- package/dist/cjs/types/index.d.ts.map +1 -1
- package/dist/cjs/types/index.js +3 -0
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/cjs/utils/email.js +1 -1
- package/dist/cjs/utils/email.js.map +1 -1
- package/dist/cjs/utils/vat/registration.js.map +1 -1
- package/dist/mjs/api/resources/Docoon.d.ts +6 -0
- package/dist/mjs/api/resources/Docoon.d.ts.map +1 -0
- package/dist/mjs/api/resources/Docoon.js +7 -0
- package/dist/mjs/api/resources/Docoon.js.map +1 -0
- package/dist/mjs/api/resources/InternalInvoicing.d.ts +1 -1
- package/dist/mjs/api/resources/InternalInvoicing.d.ts.map +1 -1
- package/dist/mjs/api/resources/InternalInvoicing.js +5 -1
- package/dist/mjs/api/resources/InternalInvoicing.js.map +1 -1
- package/dist/mjs/api/resources/WorkingSchedule.d.ts +1 -0
- package/dist/mjs/api/resources/WorkingSchedule.d.ts.map +1 -1
- package/dist/mjs/api/resources/WorkingSchedule.js +3 -0
- package/dist/mjs/api/resources/WorkingSchedule.js.map +1 -1
- package/dist/mjs/api/resources.d.ts +2 -0
- package/dist/mjs/api/resources.d.ts.map +1 -1
- package/dist/mjs/api/resources.js +2 -0
- package/dist/mjs/api/resources.js.map +1 -1
- package/dist/mjs/types/Enum/AnalyticsUtm.d.ts +49 -0
- package/dist/mjs/types/Enum/AnalyticsUtm.d.ts.map +1 -0
- package/dist/mjs/types/Enum/AnalyticsUtm.js +51 -0
- package/dist/mjs/types/Enum/AnalyticsUtm.js.map +1 -0
- package/dist/mjs/types/Enum/BalanceSheet.js +2 -2
- package/dist/mjs/types/Enum/BalanceSheet.js.map +1 -1
- package/dist/mjs/types/Enum/PrestationType.js +1 -1
- package/dist/mjs/types/Enum/PrestationType.js.map +1 -1
- package/dist/mjs/types/Interface/api/card/Cron.d.ts +1 -0
- package/dist/mjs/types/Interface/api/card/Cron.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/card/Cron.js +6 -0
- package/dist/mjs/types/Interface/api/card/Cron.js.map +1 -1
- package/dist/mjs/types/Interface/api/cerfa/2571.d.ts +2 -53
- package/dist/mjs/types/Interface/api/cerfa/2571.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/cerfa/2571.js +0 -10
- package/dist/mjs/types/Interface/api/cerfa/2571.js.map +1 -1
- package/dist/mjs/types/Interface/api/cerfa/2572.d.ts +9 -150
- package/dist/mjs/types/Interface/api/cerfa/2572.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/cerfa/2572.js +3 -17
- package/dist/mjs/types/Interface/api/cerfa/2572.js.map +1 -1
- package/dist/mjs/types/Interface/api/cerfa/2573.d.ts +2 -1
- package/dist/mjs/types/Interface/api/cerfa/2573.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/cerfa/2573.js.map +1 -1
- package/dist/mjs/types/Interface/api/config/ConfigType.d.ts +4 -0
- package/dist/mjs/types/Interface/api/config/ConfigType.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/config/ConfigType.js.map +1 -1
- package/dist/mjs/types/Interface/api/docoon/Query.d.ts +6 -0
- package/dist/mjs/types/Interface/api/docoon/Query.d.ts.map +1 -0
- package/dist/mjs/types/Interface/api/docoon/Query.js +35 -0
- package/dist/mjs/types/Interface/api/docoon/Query.js.map +1 -0
- package/dist/mjs/types/Interface/api/docoon/Read.d.ts +78 -0
- package/dist/mjs/types/Interface/api/docoon/Read.d.ts.map +1 -0
- package/dist/mjs/types/Interface/api/docoon/Read.js +2 -0
- package/dist/mjs/types/Interface/api/docoon/Read.js.map +1 -0
- package/dist/mjs/types/Interface/api/generalLedger/IGeneralLedgerThirdParty.d.ts +2 -0
- package/dist/mjs/types/Interface/api/generalLedger/IGeneralLedgerThirdParty.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/generalLedger/IGeneralLedgerThirdParty.js.map +1 -1
- package/dist/mjs/types/Interface/api/revenue/revenueMovement.d.ts +1 -0
- package/dist/mjs/types/Interface/api/revenue/revenueMovement.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/revenue/revenueMovement.js.map +1 -1
- package/dist/mjs/types/Interface/api/revision/Query.d.ts +2 -1
- package/dist/mjs/types/Interface/api/revision/Query.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/revision/Query.js +7 -0
- package/dist/mjs/types/Interface/api/revision/Query.js.map +1 -1
- package/dist/mjs/types/Interface/api/user/RegisterProspect.d.ts +2 -0
- package/dist/mjs/types/Interface/api/user/RegisterProspect.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/user/RegisterProspect.js +16 -0
- package/dist/mjs/types/Interface/api/user/RegisterProspect.js.map +1 -1
- package/dist/mjs/types/Interface/api/webex/GetWebinarsParams.d.ts +1 -0
- package/dist/mjs/types/Interface/api/webex/GetWebinarsParams.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/webex/GetWebinarsParams.js +6 -0
- package/dist/mjs/types/Interface/api/webex/GetWebinarsParams.js.map +1 -1
- package/dist/mjs/types/Interface/models/IAccountDetail.d.ts +1 -0
- package/dist/mjs/types/Interface/models/IAccountDetail.d.ts.map +1 -1
- package/dist/mjs/types/Interface/models/IAccountDetail.js.map +1 -1
- package/dist/mjs/types/Interface/models/IAnalyticsUtm.d.ts +2 -0
- package/dist/mjs/types/Interface/models/IAnalyticsUtm.d.ts.map +1 -1
- package/dist/mjs/types/Interface/models/IAnalyticsUtm.js.map +1 -1
- package/dist/mjs/types/Interface/models/IExercicePrestation.d.ts +1 -0
- package/dist/mjs/types/Interface/models/IExercicePrestation.d.ts.map +1 -1
- package/dist/mjs/types/Interface/models/IExercicePrestation.js.map +1 -1
- package/dist/mjs/types/index.d.ts +3 -0
- package/dist/mjs/types/index.d.ts.map +1 -1
- package/dist/mjs/types/index.js +3 -0
- package/dist/mjs/types/index.js.map +1 -1
- package/dist/mjs/utils/email.js +1 -1
- package/dist/mjs/utils/email.js.map +1 -1
- package/dist/mjs/utils/vat/registration.js.map +1 -1
- package/package.json +1 -1
- package/ts/api/resources/Docoon.ts +8 -0
- package/ts/api/resources/InternalInvoicing.ts +5 -1
- package/ts/api/resources/WorkingSchedule.ts +4 -0
- package/ts/api/resources.ts +2 -0
- package/ts/types/Enum/AnalyticsUtm.ts +51 -0
- package/ts/types/Enum/BalanceSheet.ts +2 -2
- package/ts/types/Enum/PrestationType.ts +1 -1
- package/ts/types/Interface/api/card/Cron.ts +5 -0
- package/ts/types/Interface/api/cerfa/2571.ts +3 -54
- package/ts/types/Interface/api/cerfa/2572.ts +10 -148
- package/ts/types/Interface/api/cerfa/2573.ts +3 -1
- package/ts/types/Interface/api/config/ConfigType.ts +6 -1
- package/ts/types/Interface/api/docoon/Query.ts +19 -0
- package/ts/types/Interface/api/docoon/Read.ts +93 -0
- package/ts/types/Interface/api/generalLedger/IGeneralLedgerThirdParty.ts +2 -0
- package/ts/types/Interface/api/revenue/revenueMovement.ts +1 -0
- package/ts/types/Interface/api/revision/Query.ts +6 -1
- package/ts/types/Interface/api/user/RegisterProspect.ts +12 -0
- package/ts/types/Interface/api/webex/GetWebinarsParams.ts +4 -0
- package/ts/types/Interface/models/IAccountDetail.ts +1 -0
- package/ts/types/Interface/models/IAnalyticsUtm.ts +2 -0
- package/ts/types/Interface/models/IExercicePrestation.ts +1 -0
- package/ts/types/index.ts +3 -0
- package/ts/utils/email.ts +1 -1
- package/ts/utils/vat/registration.ts +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email.js","sourceRoot":"","sources":["../../../ts/utils/email.ts"],"names":[],"mappings":"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","sourcesContent":["// import * as dayjs from 'dayjs';\n// import { orderBy as orderByLodash } from 'lodash';\nimport { Role } from '../types/Enum/Role';\nimport { TimeSlot } from '../types/Enum/TimeSlot';\nimport { IUser } from '../types/Interface/models/IUser';\nimport { getBrandConfig } from './brands';\nimport { signatureTemplate } from './email/templates/signature';\nimport { intersection } from './noLodash';\n\n// eslint-disable-next-line @typescript-eslint/no-require-imports\nconst ejs = require('ejs');\n\nfunction getRoleSignature(user: any) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n if (user.positionLabel) return user.positionLabel;\n\n const isStagiaireOrAlternant =\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n user.roles.map((r: any) => r.id).includes(Role.INTERN) || user.roles.map((r: any) => r.id).includes(Role.ALTERNATE);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isManager = user.roles.map((r: any) => r.id).includes(Role.MANAGER);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isSocial = user.roles.map((r: any) => r.id).includes(Role.SOCIAL);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isJuridic = user.roles.map((r: any) => r.id).includes(Role.JURIDIC);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isFacturation = user.roles.map((r: any) => r.id).includes(Role.FACTURATION);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isExpert = user.roles.map((r: any) => r.id).includes(Role.EXPERT_ACCOUNTANT);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isCS = user.roles.map((r: any) => r.id).includes(Role.CUSTOMER_SUCCESS);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isOnBoarder = user.roles.map((r: any) => r.id).includes(Role.ON_BOARDER);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isSatisfaction = user.roles.map((r: any) => r.id).includes(Role.SATISFACTION);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isDataOfficer = user.roles.map((r: any) => r.id).includes(Role.DATA_OFFICER);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isSales = user.roles.map((r: any) => r.id).includes(Role.COMMERCIAL);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isAdmin = user.roles.map((r: any) => r.id).includes(Role.ADMIN);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isTechnicalAdvisor = user.roles.map((r: any) => r.id).includes(Role.TECHNICAL_ADVISOR);\n\n const isFront = !!intersection(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n user.roles.map((r: any) => r.id),\n [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS],\n ).length;\n\n if (isSales && isManager) {\n return 'Responsable commercial';\n }\n if (isSales) {\n return `Chargé${user.idCivility === 2 ? 'e' : ''} de clientèle`;\n }\n\n if (isCS && isManager) {\n return 'Responsable relations clients';\n }\n if (isCS) {\n return `Conseill${user.idCivility === 2 ? 'ère' : 'er'} comptable`;\n }\n\n if (isTechnicalAdvisor) {\n return `Référent${user.idCivility === 2 ? 'e' : ''} technique`;\n }\n\n if (isOnBoarder && isManager) {\n return `Responsable chargé${user.idCivility === 2 ? 'e' : ''} accueil clients`;\n }\n if (isOnBoarder) {\n return `Chargé${user.idCivility === 2 ? 'e' : ''} accueil clients`;\n }\n\n if (isSatisfaction && isManager) {\n return `Responsable chargé${user.idCivility === 2 ? 'e' : ''} de la satisfaction clients`;\n }\n if (isSatisfaction) {\n return `Chargé${user.idCivility === 2 ? 'e' : ''} de la satisfaction clients`;\n }\n\n if (isDataOfficer && isManager) {\n return 'Responsable aide comptable';\n }\n if (isDataOfficer) {\n return 'Aide comptable';\n }\n\n if (isFacturation && isStagiaireOrAlternant) {\n return 'Assistant facturation';\n }\n if (isFacturation && isManager) {\n return 'Responsable facturation';\n }\n if (isFacturation) {\n return `Chargé${user.idCivility === 2 ? 'e' : ''} de facturation`;\n }\n\n if (isJuridic && isStagiaireOrAlternant) {\n return 'Assistant juridique';\n }\n if (isJuridic && isManager) {\n return 'Responsable juridique';\n }\n if (isJuridic) {\n return 'Juriste';\n }\n\n if (isSocial && isStagiaireOrAlternant) {\n return 'Assistant paie';\n }\n if (isSocial && isManager) {\n return 'Responsable paie';\n }\n if (isSocial) {\n return 'Gestionnaire de paie';\n }\n\n if (isExpert) {\n return `Expert${user.idCivility === 2 ? 'e' : ''}-comptable`;\n }\n\n if (isAdmin) {\n return 'Développeur web';\n }\n\n if (isFront && isManager) return 'Responsable comptable';\n if (isFront && isStagiaireOrAlternant) return 'Assistant comptable';\n // if (isFront) return `Comptable dédié${user.idCivility === 2 ? 'e' : ''}`;\n // return `Comptable dédié${user.idCivility === 2 ? 'e' : ''}`;\n // if (isFront) return `Comptable`;\n return 'Comptable';\n}\n\nexport function getHoraires(user: IUser) {\n // On affiche les horaires uniquement pour les front, et pas pour les TVA\n\n // if (\n // isItThisEnv('Pourcentage') &&\n // user?.entity &&\n // [EntityType.COMPTALIB, EntityType.AMEX, EntityType.CABINET_RONCHIERI_LANDRA].includes(user.entity)\n // ) {\n // return 'Du lundi au vendredi de 9h à 18h';\n // }\n\n return 'Du lundi au vendredi de 9h à 18h';\n\n // if (!intersection([user.roles.map((r: any) => r.id), [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS, Role.COMMERCIAL]]).length) return 'Du lundi au vendredi de 9h à 18h';\n\n // if (!user.workingSchedules.length) return 'Du lundi au vendredi de 9h à 18h';\n\n // let reducedSchedules = user.workingSchedules.reduce((acc: any, e:any, index: number) => {\n // const name = `${dayjs(e.morningStart, 'HH:mm:ss').format('HH:mm')}-${dayjs(e.afternoonEnd || e.morningEnd, 'HH:mm:ss').format('HH:mm')}`;\n // if (!acc[name]) acc[name] = [index];\n // else acc[name].push(index);\n // return acc;\n // }, {});\n\n // reducedSchedules = orderByLodash(reducedSchedules, (elem) => elem.length, ['desc']);\n\n // let resultHoraire = '';\n // let startH;\n // let startM;\n // let endH;\n // let endM;\n // let firstDayOfWeek;\n // let lastDayOfWeek;\n\n // reducedSchedules.forEach((schedule: any, index: number) => {\n // startH = dayjs(user.workingSchedules[schedule[0]].morningStart ? user.workingSchedules[schedule[0]].morningStart : user.workingSchedules[schedule[0]].afternoonStart, 'HH:mm:ss').get('hour');\n // startM = dayjs(user.workingSchedules[schedule[0]].morningStart ? user.workingSchedules[schedule[0]].morningStart : user.workingSchedules[schedule[0]].afternoonStart, 'HH:mm:ss').get('minute');\n // endH = dayjs(user.workingSchedules[schedule[0]].afternoonEnd || user.workingSchedules[schedule[0]].morningEnd, 'HH:mm:ss').get('hour');\n // endM = dayjs(user.workingSchedules[schedule[0]].afternoonEnd || user.workingSchedules[schedule[0]].morningEnd, 'HH:mm:ss').get('minute');\n // firstDayOfWeek = dayjs().locale('fr').day(user.workingSchedules[schedule[0]].idDay).format('dddd');\n // if (!index) {\n // // pour le premier index, on affiche l'amplitude horaire la plus commune, du XX au XX de Xh à Xh\n // lastDayOfWeek = dayjs().locale('fr').day(user.workingSchedules[user.workingSchedules.length - 1].idDay).format('dddd');\n // resultHoraire += `Du ${firstDayOfWeek} au ${lastDayOfWeek} de ${startH}h${startM > 0 ? startM : ''} à ${endH}h${endM > 0 ? endM : ''}`;\n // } else { // Fonctionnel si uniquement un jour par semaine avec des horaires différents\n // resultHoraire += `<br/>Le ${firstDayOfWeek} de ${startH}h${startM > 0 ? startM : ''} à ${endH}h${endM > 0 ? endM : ''}`;\n // }\n // });\n // return resultHoraire;\n}\n\nfunction getMailSignature(user: any, idTypeBrand: number) {\n const informatiqueMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.informatique',\n }) as unknown as string;\n const bonjourMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.bonjour',\n }) as unknown as string;\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n if (user.roles.map((r: any) => r.id).includes(Role.ADMIN)) {\n return informatiqueMail;\n }\n\n if (\n user &&\n !!intersection(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n user.roles.map((r: any) => r.id),\n [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS, Role.DATA_OFFICER, Role.COMMERCIAL, Role.TECHNICAL_ADVISOR],\n ).length\n )\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return user.email;\n return bonjourMail;\n}\n\nfunction getPhoneSignature(user: any) {\n if (user.phone && user.phone !== '0383931414') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return user.phone.replace(/\\B(?=(\\d{2})+(?!\\d))/g, ' ');\n }\n return null;\n}\n\nexport function generateSignature(params: any): string {\n const { fromAddress = null, idTypeBrand = 1, society, ...otherParams } = params;\n let { user, forceRole = null } = otherParams;\n\n const hostS3 = getBrandConfig({\n idTypeBrand,\n objectWaited: 'urlS3',\n });\n\n const brandName = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'name',\n }) as unknown as string;\n const brandPostalAddress = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'companyInformation.postalAddress',\n }) as unknown as string;\n const brandCity = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'companyInformation.city',\n }) as unknown as string;\n const commercialName = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'commercialName',\n }) as unknown as string;\n const iban = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'bank.IBAN',\n }) as unknown as string;\n const bic = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'bank.BIC',\n }) as unknown as string;\n const bonjourMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.bonjour',\n }) as unknown as string;\n const socialMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.social',\n }) as unknown as string;\n const dataOfficerMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.gestion',\n }) as unknown as string;\n const satisfactionMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.satisfaction',\n }) as unknown as string;\n const resiliationMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.resiliation',\n }) as unknown as string;\n const supportMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.support',\n }) as unknown as string;\n const juridiqueMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.juridique',\n }) as unknown as string;\n const facturationMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.facturation',\n }) as unknown as string;\n const primaryColor = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'colors.primary',\n }) as unknown as string;\n const standardPhoneSignature = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listPhones.contact',\n }) as unknown as string;\n const juridiquePhoneSignature = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listPhones.juridique',\n }) as unknown as string;\n const socialPhoneSignature = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listPhones.social',\n }) as unknown as string;\n\n // Pour les cas hybrides des personnes ayant plusieurs rôles\n // Comme Morgane (Facturation + Satisfaction) et qui peut choisir plusieurs emails d'expédition\n // Il faut que la signature corresponde à l'adresse d'expédition\n // donc actuellement, on ne gère que satisfaction/resiliation/facturation\n const listGenericEmails: { email: string; forceRole: string }[] = [\n { email: satisfactionMail, forceRole: 'satisfaction' },\n { email: resiliationMail, forceRole: 'resiliation' },\n { email: facturationMail, forceRole: 'facturation' },\n ];\n const genericEmailUsed = listGenericEmails.find((e) => e.email === fromAddress);\n if (genericEmailUsed) {\n forceRole = genericEmailUsed.forceRole;\n }\n\n let roleSignature: string | null;\n let mailSignature: string | null;\n let phoneSignature: string | null;\n let horaires: string | null;\n [roleSignature, mailSignature, phoneSignature, horaires] = [\n 'Expert-Comptable',\n bonjourMail,\n null,\n 'Du lundi au vendredi de 9h à 18h',\n ];\n\n if (user?.roles && user.roles.some((r: any) => r.id === Role.DATA_OFFICER)) {\n // Signature data_officer\n user = {\n firstname: `L'équipe ${commercialName}`,\n isAll: true,\n };\n mailSignature = dataOfficerMail;\n roleSignature = '';\n } else if (\n intersection(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n (user?.roles ?? []).map((r: any) => r.id),\n [Role.FRONT_OFFICE, Role.SENIOR],\n ).length === 2\n ) {\n // Signature front senior\n user = {\n firstname: `L'équipe ${commercialName}`,\n isAll: true,\n };\n mailSignature = bonjourMail;\n roleSignature = '';\n } else if (forceRole === 'satisfaction') {\n // Signature satisfaction\n user = {\n firstname: 'Service satisfaction clients',\n isAll: true,\n };\n mailSignature = satisfactionMail;\n roleSignature = '';\n phoneSignature = standardPhoneSignature;\n } else if (forceRole === 'resiliation') {\n // Signature resiliation\n user = {\n firstname: 'Service satisfaction clients',\n isAll: true,\n };\n mailSignature = resiliationMail;\n roleSignature = '';\n phoneSignature = standardPhoneSignature;\n } else if (forceRole === 'social') {\n // Signature social\n user = {\n firstname: 'Service social',\n isAll: true,\n };\n mailSignature = socialMail;\n roleSignature = '';\n phoneSignature = socialPhoneSignature;\n } else if (forceRole === 'support') {\n // Signature support\n user = {\n firstname: 'Service Support',\n isAll: true,\n };\n mailSignature = supportMail;\n roleSignature = null;\n } else if (forceRole === 'juridique') {\n // Signature juridique\n user = {\n firstname: 'Service juridique',\n isAll: true,\n };\n mailSignature = juridiqueMail;\n roleSignature = null;\n phoneSignature = juridiquePhoneSignature;\n } else if (forceRole === 'facturation') {\n // Signature facturation\n user = {\n firstname: 'Service facturation',\n isAll: true,\n };\n mailSignature = facturationMail;\n roleSignature = null;\n phoneSignature = standardPhoneSignature;\n } else if (!user) {\n // Signature Clementine\n user = {\n firstname: `L'équipe ${commercialName}`,\n isAll: true,\n };\n roleSignature = '';\n } else if (user !== 0) {\n // Signature par défaut\n roleSignature = getRoleSignature(user);\n mailSignature = getMailSignature(user, idTypeBrand);\n horaires = getHoraires(user);\n phoneSignature = getPhoneSignature(user);\n }\n\n // Si on a une société, alors on remplace le lien calendly de base par le lien calendly interne\n // on n'affiche uniquement si le collaboreatur a bien des créneaux horaires\n if (\n society?.id &&\n user?.roles?.some((r: any) =>\n [Role.FRONT_OFFICE, Role.FACTURATION, Role.JURIDIC, Role.COMMERCIAL].includes(r.id),\n ) &&\n user?.usersTimeSlots?.length\n ) {\n const isJuridic = user?.roles?.some((r: any) => [Role.JURIDIC].includes(r.id));\n const isFactu = user?.roles?.some((r: any) => [Role.FACTURATION].includes(r.id));\n const isCommercial = user?.roles?.some((r: any) => [Role.COMMERCIAL].includes(r.id));\n let idType = TimeSlot.BILAN;\n if (isJuridic) idType = TimeSlot.EDIT_SOCIETY;\n if (isFactu) idType = TimeSlot.BILLING;\n if (isCommercial) idType = TimeSlot.SALES;\n const urlApp = getBrandConfig({ objectWaited: 'urlApp' }) as unknown as string;\n user.calendlyUrl = `${urlApp}/appointment?uuid=${society?.externalId ? society.externalId : ''}&idType=${idType}`;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return ejs.render(signatureTemplate, {\n forceRole,\n isFacturation: user.roles ? user.roles.some((r: any) => r.id === Role.FACTURATION) : false,\n isDataOfficer: user.roles ? user.roles.some((r: any) => r.id === Role.DATA_OFFICER) : true,\n brandName,\n brandPostalAddress,\n brandCity,\n idTypeBrand,\n commercialName,\n iban,\n bic,\n hostS3,\n user,\n roleSignature,\n mailSignature,\n phoneSignature: phoneSignature ? phoneSignature.replace(/\\s+/gm, ' ') : null,\n standardPhoneSignature: standardPhoneSignature.replace(/\\s+/gm, ' '),\n horaires,\n primaryColor,\n supportMail,\n });\n}\n"]}
|
|
1
|
+
{"version":3,"file":"email.js","sourceRoot":"","sources":["../../../ts/utils/email.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,qDAAqD;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,iEAAiE;AACjE,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;AAE3B,SAAS,gBAAgB,CAAC,IAAS;IACjC,+DAA+D;IAC/D,IAAI,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC,aAAa,CAAC;IAElD,MAAM,sBAAsB;IAC1B,+DAA+D;IAC/D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtH,+DAA+D;IAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1E,+DAA+D;IAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxE,+DAA+D;IAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1E,+DAA+D;IAC/D,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClF,+DAA+D;IAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACnF,+DAA+D;IAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC9E,+DAA+D;IAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC/E,+DAA+D;IAC/D,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACpF,+DAA+D;IAC/D,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACnF,+DAA+D;IAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3E,+DAA+D;IAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtE,+DAA+D;IAC/D,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAE7F,MAAM,OAAO,GAAG,CAAC,CAAC,YAAY;IAC5B,+DAA+D;IAC/D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAChC,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAC/C,CAAC,MAAM,CAAC;IAET,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;QACzB,OAAO,wBAAwB,CAAC;IAClC,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,SAAS,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC;IAClE,CAAC;IAED,IAAI,IAAI,IAAI,SAAS,EAAE,CAAC;QACtB,OAAO,+BAA+B,CAAC;IACzC,CAAC;IACD,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,WAAW,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC;IACrE,CAAC;IAED,IAAI,kBAAkB,EAAE,CAAC;QACvB,OAAO,WAAW,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC;IACjE,CAAC;IAED,IAAI,WAAW,IAAI,SAAS,EAAE,CAAC;QAC7B,OAAO,qBAAqB,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC;IACjF,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,SAAS,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC;IACrE,CAAC;IAED,IAAI,cAAc,IAAI,SAAS,EAAE,CAAC;QAChC,OAAO,qBAAqB,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,6BAA6B,CAAC;IAC5F,CAAC;IACD,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,SAAS,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,6BAA6B,CAAC;IAChF,CAAC;IAED,IAAI,aAAa,IAAI,SAAS,EAAE,CAAC;QAC/B,OAAO,4BAA4B,CAAC;IACtC,CAAC;IACD,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,IAAI,aAAa,IAAI,sBAAsB,EAAE,CAAC;QAC5C,OAAO,uBAAuB,CAAC;IACjC,CAAC;IACD,IAAI,aAAa,IAAI,SAAS,EAAE,CAAC;QAC/B,OAAO,yBAAyB,CAAC;IACnC,CAAC;IACD,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,SAAS,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC;IACpE,CAAC;IAED,IAAI,SAAS,IAAI,sBAAsB,EAAE,CAAC;QACxC,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IACD,IAAI,SAAS,IAAI,SAAS,EAAE,CAAC;QAC3B,OAAO,uBAAuB,CAAC;IACjC,CAAC;IACD,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,QAAQ,IAAI,sBAAsB,EAAE,CAAC;QACvC,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IACD,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;QAC1B,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IACD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,sBAAsB,CAAC;IAChC,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,SAAS,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC;IAC/D,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,IAAI,OAAO,IAAI,SAAS;QAAE,OAAO,uBAAuB,CAAC;IACzD,IAAI,OAAO,IAAI,sBAAsB;QAAE,OAAO,qBAAqB,CAAC;IACpE,4EAA4E;IAC5E,+DAA+D;IAC/D,mCAAmC;IACnC,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAW;IACrC,yEAAyE;IAEzE,OAAO;IACP,kCAAkC;IAClC,oBAAoB;IACpB,uGAAuG;IACvG,MAAM;IACN,+CAA+C;IAC/C,IAAI;IAEJ,OAAO,kCAAkC,CAAC;IAE1C,4KAA4K;IAE5K,gFAAgF;IAEhF,4FAA4F;IAC5F,8IAA8I;IAC9I,yCAAyC;IACzC,gCAAgC;IAChC,gBAAgB;IAChB,UAAU;IAEV,uFAAuF;IAEvF,0BAA0B;IAC1B,cAAc;IACd,cAAc;IACd,YAAY;IACZ,YAAY;IACZ,sBAAsB;IACtB,qBAAqB;IAErB,+DAA+D;IAC/D,mMAAmM;IACnM,qMAAqM;IACrM,4IAA4I;IAC5I,8IAA8I;IAC9I,wGAAwG;IACxG,kBAAkB;IAClB,uGAAuG;IACvG,8HAA8H;IAC9H,8IAA8I;IAC9I,2FAA2F;IAC3F,+HAA+H;IAC/H,MAAM;IACN,MAAM;IACN,wBAAwB;AAC1B,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAS,EAAE,WAAmB;IACtD,MAAM,gBAAgB,GAAG,cAAc,CAAC;QACtC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,YAAY,EAAE,wBAAwB;KACvC,CAAsB,CAAC;IACxB,MAAM,WAAW,GAAG,cAAc,CAAC;QACjC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,YAAY,EAAE,mBAAmB;KAClC,CAAsB,CAAC;IAExB,+DAA+D;IAC/D,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1D,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,IACE,IAAI;QACJ,CAAC,CAAC,YAAY;QACZ,+DAA+D;QAC/D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAChC,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAC3G,CAAC,MAAM;QAER,+DAA+D;QAC/D,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAS;IAClC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;QAC9C,+DAA+D;QAC/D,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,uBAAuB,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAW;IAC3C,MAAM,EAAE,WAAW,GAAG,IAAI,EAAE,WAAW,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,WAAW,EAAE,GAAG,MAAM,CAAC;IAChF,IAAI,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,EAAE,GAAG,WAAW,CAAC;IAE7C,MAAM,MAAM,GAAG,cAAc,CAAC;QAC5B,WAAW;QACX,YAAY,EAAE,OAAO;KACtB,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,cAAc,CAAC;QAC/B,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,YAAY,EAAE,MAAM;KACrB,CAAsB,CAAC;IACxB,MAAM,kBAAkB,GAAG,cAAc,CAAC;QACxC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,YAAY,EAAE,kCAAkC;KACjD,CAAsB,CAAC;IACxB,MAAM,SAAS,GAAG,cAAc,CAAC;QAC/B,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,YAAY,EAAE,yBAAyB;KACxC,CAAsB,CAAC;IACxB,MAAM,cAAc,GAAG,cAAc,CAAC;QACpC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,YAAY,EAAE,gBAAgB;KAC/B,CAAsB,CAAC;IACxB,MAAM,IAAI,GAAG,cAAc,CAAC;QAC1B,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,YAAY,EAAE,WAAW;KAC1B,CAAsB,CAAC;IACxB,MAAM,GAAG,GAAG,cAAc,CAAC;QACzB,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,YAAY,EAAE,UAAU;KACzB,CAAsB,CAAC;IACxB,MAAM,WAAW,GAAG,cAAc,CAAC;QACjC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,YAAY,EAAE,mBAAmB;KAClC,CAAsB,CAAC;IACxB,MAAM,UAAU,GAAG,cAAc,CAAC;QAChC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,YAAY,EAAE,kBAAkB;KACjC,CAAsB,CAAC;IACxB,MAAM,eAAe,GAAG,cAAc,CAAC;QACrC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,YAAY,EAAE,mBAAmB;KAClC,CAAsB,CAAC;IACxB,MAAM,gBAAgB,GAAG,cAAc,CAAC;QACtC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,YAAY,EAAE,wBAAwB;KACvC,CAAsB,CAAC;IACxB,MAAM,eAAe,GAAG,cAAc,CAAC;QACrC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,YAAY,EAAE,uBAAuB;KACtC,CAAsB,CAAC;IACxB,MAAM,WAAW,GAAG,cAAc,CAAC;QACjC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,YAAY,EAAE,mBAAmB;KAClC,CAAsB,CAAC;IACxB,MAAM,aAAa,GAAG,cAAc,CAAC;QACnC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,YAAY,EAAE,qBAAqB;KACpC,CAAsB,CAAC;IACxB,MAAM,eAAe,GAAG,cAAc,CAAC;QACrC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,YAAY,EAAE,uBAAuB;KACtC,CAAsB,CAAC;IACxB,MAAM,YAAY,GAAG,cAAc,CAAC;QAClC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,YAAY,EAAE,gBAAgB;KAC/B,CAAsB,CAAC;IACxB,MAAM,sBAAsB,GAAG,cAAc,CAAC;QAC5C,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,YAAY,EAAE,oBAAoB;KACnC,CAAsB,CAAC;IACxB,MAAM,uBAAuB,GAAG,cAAc,CAAC;QAC7C,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,YAAY,EAAE,sBAAsB;KACrC,CAAsB,CAAC;IACxB,MAAM,oBAAoB,GAAG,cAAc,CAAC;QAC1C,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,YAAY,EAAE,mBAAmB;KAClC,CAAsB,CAAC;IAExB,4DAA4D;IAC5D,+FAA+F;IAC/F,gEAAgE;IAChE,yEAAyE;IACzE,MAAM,iBAAiB,GAA2C;QAChE,EAAE,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,cAAc,EAAE;QACtD,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE;QACpD,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE;KACrD,CAAC;IACF,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC;IAChF,IAAI,gBAAgB,EAAE,CAAC;QACrB,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC;IACzC,CAAC;IAED,IAAI,aAA4B,CAAC;IACjC,IAAI,aAA4B,CAAC;IACjC,IAAI,cAA6B,CAAC;IAClC,IAAI,QAAuB,CAAC;IAC5B,CAAC,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,QAAQ,CAAC,GAAG;QACzD,kBAAkB;QAClB,WAAW;QACX,IAAI;QACJ,kCAAkC;KACnC,CAAC;IAEF,IAAI,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QAC3E,yBAAyB;QACzB,IAAI,GAAG;YACL,SAAS,EAAE,YAAY,cAAc,EAAE;YACvC,KAAK,EAAE,IAAI;SACZ,CAAC;QACF,aAAa,GAAG,eAAe,CAAC;QAChC,aAAa,GAAG,EAAE,CAAC;IACrB,CAAC;SAAM,IACL,YAAY;IACV,+DAA+D;IAC/D,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EACzC,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CACjC,CAAC,MAAM,KAAK,CAAC,EACd,CAAC;QACD,yBAAyB;QACzB,IAAI,GAAG;YACL,SAAS,EAAE,YAAY,cAAc,EAAE;YACvC,KAAK,EAAE,IAAI;SACZ,CAAC;QACF,aAAa,GAAG,WAAW,CAAC;QAC5B,aAAa,GAAG,EAAE,CAAC;IACrB,CAAC;SAAM,IAAI,SAAS,KAAK,cAAc,EAAE,CAAC;QACxC,yBAAyB;QACzB,IAAI,GAAG;YACL,SAAS,EAAE,8BAA8B;YACzC,KAAK,EAAE,IAAI;SACZ,CAAC;QACF,aAAa,GAAG,gBAAgB,CAAC;QACjC,aAAa,GAAG,EAAE,CAAC;QACnB,cAAc,GAAG,sBAAsB,CAAC;IAC1C,CAAC;SAAM,IAAI,SAAS,KAAK,aAAa,EAAE,CAAC;QACvC,wBAAwB;QACxB,IAAI,GAAG;YACL,SAAS,EAAE,8BAA8B;YACzC,KAAK,EAAE,IAAI;SACZ,CAAC;QACF,aAAa,GAAG,eAAe,CAAC;QAChC,aAAa,GAAG,EAAE,CAAC;QACnB,cAAc,GAAG,sBAAsB,CAAC;IAC1C,CAAC;SAAM,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,mBAAmB;QACnB,IAAI,GAAG;YACL,SAAS,EAAE,gBAAgB;YAC3B,KAAK,EAAE,IAAI;SACZ,CAAC;QACF,aAAa,GAAG,UAAU,CAAC;QAC3B,aAAa,GAAG,EAAE,CAAC;QACnB,cAAc,GAAG,oBAAoB,CAAC;IACxC,CAAC;SAAM,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QACnC,oBAAoB;QACpB,IAAI,GAAG;YACL,SAAS,EAAE,iBAAiB;YAC5B,KAAK,EAAE,IAAI;SACZ,CAAC;QACF,aAAa,GAAG,WAAW,CAAC;QAC5B,aAAa,GAAG,IAAI,CAAC;IACvB,CAAC;SAAM,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;QACrC,sBAAsB;QACtB,IAAI,GAAG;YACL,SAAS,EAAE,mBAAmB;YAC9B,KAAK,EAAE,IAAI;SACZ,CAAC;QACF,aAAa,GAAG,aAAa,CAAC;QAC9B,aAAa,GAAG,IAAI,CAAC;QACrB,cAAc,GAAG,uBAAuB,CAAC;IAC3C,CAAC;SAAM,IAAI,SAAS,KAAK,aAAa,EAAE,CAAC;QACvC,wBAAwB;QACxB,IAAI,GAAG;YACL,SAAS,EAAE,qBAAqB;YAChC,KAAK,EAAE,IAAI;SACZ,CAAC;QACF,aAAa,GAAG,eAAe,CAAC;QAChC,aAAa,GAAG,IAAI,CAAC;QACrB,cAAc,GAAG,sBAAsB,CAAC;IAC1C,CAAC;SAAM,IAAI,CAAC,IAAI,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;QAC9C,uBAAuB;QACvB,IAAI,GAAG;YACL,SAAS,EAAE,YAAY,cAAc,EAAE;YACvC,KAAK,EAAE,IAAI;SACZ,CAAC;QACF,aAAa,GAAG,EAAE,CAAC;IACrB,CAAC;SAAM,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;QACtB,uBAAuB;QACvB,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACvC,aAAa,GAAG,gBAAgB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACpD,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAC7B,cAAc,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,+FAA+F;IAC/F,2EAA2E;IAC3E,IACE,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAC3B,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CACpF;QACD,IAAI,EAAE,cAAc,EAAE,MAAM,EAC5B,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/E,MAAM,OAAO,GAAG,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjF,MAAM,YAAY,GAAG,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACrF,IAAI,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC5B,IAAI,SAAS;YAAE,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC;QAC9C,IAAI,OAAO;YAAE,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC;QACvC,IAAI,YAAY;YAAE,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC1C,MAAM,MAAM,GAAG,cAAc,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAsB,CAAC;QAC/E,IAAI,CAAC,WAAW,GAAG,GAAG,MAAM,qBAAqB,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,WAAW,MAAM,EAAE,CAAC;IACpH,CAAC;IAED,+DAA+D;IAC/D,OAAO,GAAG,CAAC,MAAM,CAAC,iBAAiB,EAAE;QACnC,SAAS;QACT,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK;QAC1F,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI;QAC1F,SAAS;QACT,kBAAkB;QAClB,SAAS;QACT,WAAW;QACX,cAAc;QACd,IAAI;QACJ,GAAG;QACH,MAAM;QACN,IAAI;QACJ,aAAa;QACb,aAAa;QACb,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;QACjF,sBAAsB,EAAE,sBAAsB,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC;QACzE,QAAQ;QACR,YAAY;QACZ,WAAW;KACZ,CAAC,CAAC;AACL,CAAC","sourcesContent":["// import * as dayjs from 'dayjs';\n// import { orderBy as orderByLodash } from 'lodash';\nimport { Role } from '../types/Enum/Role';\nimport { TimeSlot } from '../types/Enum/TimeSlot';\nimport { IUser } from '../types/Interface/models/IUser';\nimport { getBrandConfig } from './brands';\nimport { signatureTemplate } from './email/templates/signature';\nimport { intersection } from './noLodash';\n\n// eslint-disable-next-line @typescript-eslint/no-require-imports\nconst ejs = require('ejs');\n\nfunction getRoleSignature(user: any) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n if (user.positionLabel) return user.positionLabel;\n\n const isStagiaireOrAlternant =\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n user.roles.map((r: any) => r.id).includes(Role.INTERN) || user.roles.map((r: any) => r.id).includes(Role.ALTERNATE);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isManager = user.roles.map((r: any) => r.id).includes(Role.MANAGER);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isSocial = user.roles.map((r: any) => r.id).includes(Role.SOCIAL);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isJuridic = user.roles.map((r: any) => r.id).includes(Role.JURIDIC);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isFacturation = user.roles.map((r: any) => r.id).includes(Role.FACTURATION);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isExpert = user.roles.map((r: any) => r.id).includes(Role.EXPERT_ACCOUNTANT);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isCS = user.roles.map((r: any) => r.id).includes(Role.CUSTOMER_SUCCESS);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isOnBoarder = user.roles.map((r: any) => r.id).includes(Role.ON_BOARDER);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isSatisfaction = user.roles.map((r: any) => r.id).includes(Role.SATISFACTION);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isDataOfficer = user.roles.map((r: any) => r.id).includes(Role.DATA_OFFICER);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isSales = user.roles.map((r: any) => r.id).includes(Role.COMMERCIAL);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isAdmin = user.roles.map((r: any) => r.id).includes(Role.ADMIN);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isTechnicalAdvisor = user.roles.map((r: any) => r.id).includes(Role.TECHNICAL_ADVISOR);\n\n const isFront = !!intersection(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n user.roles.map((r: any) => r.id),\n [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS],\n ).length;\n\n if (isSales && isManager) {\n return 'Responsable commercial';\n }\n if (isSales) {\n return `Chargé${user.idCivility === 2 ? 'e' : ''} de clientèle`;\n }\n\n if (isCS && isManager) {\n return 'Responsable relations clients';\n }\n if (isCS) {\n return `Conseill${user.idCivility === 2 ? 'ère' : 'er'} comptable`;\n }\n\n if (isTechnicalAdvisor) {\n return `Référent${user.idCivility === 2 ? 'e' : ''} technique`;\n }\n\n if (isOnBoarder && isManager) {\n return `Responsable chargé${user.idCivility === 2 ? 'e' : ''} accueil clients`;\n }\n if (isOnBoarder) {\n return `Chargé${user.idCivility === 2 ? 'e' : ''} accueil clients`;\n }\n\n if (isSatisfaction && isManager) {\n return `Responsable chargé${user.idCivility === 2 ? 'e' : ''} de la satisfaction clients`;\n }\n if (isSatisfaction) {\n return `Chargé${user.idCivility === 2 ? 'e' : ''} de la satisfaction clients`;\n }\n\n if (isDataOfficer && isManager) {\n return 'Responsable aide comptable';\n }\n if (isDataOfficer) {\n return 'Aide comptable';\n }\n\n if (isFacturation && isStagiaireOrAlternant) {\n return 'Assistant facturation';\n }\n if (isFacturation && isManager) {\n return 'Responsable facturation';\n }\n if (isFacturation) {\n return `Chargé${user.idCivility === 2 ? 'e' : ''} de facturation`;\n }\n\n if (isJuridic && isStagiaireOrAlternant) {\n return 'Assistant juridique';\n }\n if (isJuridic && isManager) {\n return 'Responsable juridique';\n }\n if (isJuridic) {\n return 'Juriste';\n }\n\n if (isSocial && isStagiaireOrAlternant) {\n return 'Assistant paie';\n }\n if (isSocial && isManager) {\n return 'Responsable paie';\n }\n if (isSocial) {\n return 'Gestionnaire de paie';\n }\n\n if (isExpert) {\n return `Expert${user.idCivility === 2 ? 'e' : ''}-comptable`;\n }\n\n if (isAdmin) {\n return 'Développeur web';\n }\n\n if (isFront && isManager) return 'Responsable comptable';\n if (isFront && isStagiaireOrAlternant) return 'Assistant comptable';\n // if (isFront) return `Comptable dédié${user.idCivility === 2 ? 'e' : ''}`;\n // return `Comptable dédié${user.idCivility === 2 ? 'e' : ''}`;\n // if (isFront) return `Comptable`;\n return 'Comptable';\n}\n\nexport function getHoraires(user: IUser) {\n // On affiche les horaires uniquement pour les front, et pas pour les TVA\n\n // if (\n // isItThisEnv('Pourcentage') &&\n // user?.entity &&\n // [EntityType.COMPTALIB, EntityType.AMEX, EntityType.CABINET_RONCHIERI_LANDRA].includes(user.entity)\n // ) {\n // return 'Du lundi au vendredi de 9h à 18h';\n // }\n\n return 'Du lundi au vendredi de 9h à 18h';\n\n // if (!intersection([user.roles.map((r: any) => r.id), [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS, Role.COMMERCIAL]]).length) return 'Du lundi au vendredi de 9h à 18h';\n\n // if (!user.workingSchedules.length) return 'Du lundi au vendredi de 9h à 18h';\n\n // let reducedSchedules = user.workingSchedules.reduce((acc: any, e:any, index: number) => {\n // const name = `${dayjs(e.morningStart, 'HH:mm:ss').format('HH:mm')}-${dayjs(e.afternoonEnd || e.morningEnd, 'HH:mm:ss').format('HH:mm')}`;\n // if (!acc[name]) acc[name] = [index];\n // else acc[name].push(index);\n // return acc;\n // }, {});\n\n // reducedSchedules = orderByLodash(reducedSchedules, (elem) => elem.length, ['desc']);\n\n // let resultHoraire = '';\n // let startH;\n // let startM;\n // let endH;\n // let endM;\n // let firstDayOfWeek;\n // let lastDayOfWeek;\n\n // reducedSchedules.forEach((schedule: any, index: number) => {\n // startH = dayjs(user.workingSchedules[schedule[0]].morningStart ? user.workingSchedules[schedule[0]].morningStart : user.workingSchedules[schedule[0]].afternoonStart, 'HH:mm:ss').get('hour');\n // startM = dayjs(user.workingSchedules[schedule[0]].morningStart ? user.workingSchedules[schedule[0]].morningStart : user.workingSchedules[schedule[0]].afternoonStart, 'HH:mm:ss').get('minute');\n // endH = dayjs(user.workingSchedules[schedule[0]].afternoonEnd || user.workingSchedules[schedule[0]].morningEnd, 'HH:mm:ss').get('hour');\n // endM = dayjs(user.workingSchedules[schedule[0]].afternoonEnd || user.workingSchedules[schedule[0]].morningEnd, 'HH:mm:ss').get('minute');\n // firstDayOfWeek = dayjs().locale('fr').day(user.workingSchedules[schedule[0]].idDay).format('dddd');\n // if (!index) {\n // // pour le premier index, on affiche l'amplitude horaire la plus commune, du XX au XX de Xh à Xh\n // lastDayOfWeek = dayjs().locale('fr').day(user.workingSchedules[user.workingSchedules.length - 1].idDay).format('dddd');\n // resultHoraire += `Du ${firstDayOfWeek} au ${lastDayOfWeek} de ${startH}h${startM > 0 ? startM : ''} à ${endH}h${endM > 0 ? endM : ''}`;\n // } else { // Fonctionnel si uniquement un jour par semaine avec des horaires différents\n // resultHoraire += `<br/>Le ${firstDayOfWeek} de ${startH}h${startM > 0 ? startM : ''} à ${endH}h${endM > 0 ? endM : ''}`;\n // }\n // });\n // return resultHoraire;\n}\n\nfunction getMailSignature(user: any, idTypeBrand: number) {\n const informatiqueMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.informatique',\n }) as unknown as string;\n const bonjourMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.bonjour',\n }) as unknown as string;\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n if (user.roles.map((r: any) => r.id).includes(Role.ADMIN)) {\n return informatiqueMail;\n }\n\n if (\n user &&\n !!intersection(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n user.roles.map((r: any) => r.id),\n [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS, Role.DATA_OFFICER, Role.COMMERCIAL, Role.TECHNICAL_ADVISOR],\n ).length\n )\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return user.email;\n return bonjourMail;\n}\n\nfunction getPhoneSignature(user: any) {\n if (user.phone && user.phone !== '0383931414') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return user.phone.replace(/\\B(?=(\\d{2})+(?!\\d))/g, ' ');\n }\n return null;\n}\n\nexport function generateSignature(params: any): string {\n const { fromAddress = null, idTypeBrand = 1, society, ...otherParams } = params;\n let { user, forceRole = null } = otherParams;\n\n const hostS3 = getBrandConfig({\n idTypeBrand,\n objectWaited: 'urlS3',\n });\n\n const brandName = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'name',\n }) as unknown as string;\n const brandPostalAddress = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'companyInformation.postalAddress',\n }) as unknown as string;\n const brandCity = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'companyInformation.city',\n }) as unknown as string;\n const commercialName = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'commercialName',\n }) as unknown as string;\n const iban = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'bank.IBAN',\n }) as unknown as string;\n const bic = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'bank.BIC',\n }) as unknown as string;\n const bonjourMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.bonjour',\n }) as unknown as string;\n const socialMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.social',\n }) as unknown as string;\n const dataOfficerMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.gestion',\n }) as unknown as string;\n const satisfactionMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.satisfaction',\n }) as unknown as string;\n const resiliationMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.resiliation',\n }) as unknown as string;\n const supportMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.support',\n }) as unknown as string;\n const juridiqueMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.juridique',\n }) as unknown as string;\n const facturationMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.facturation',\n }) as unknown as string;\n const primaryColor = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'colors.primary',\n }) as unknown as string;\n const standardPhoneSignature = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listPhones.contact',\n }) as unknown as string;\n const juridiquePhoneSignature = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listPhones.juridique',\n }) as unknown as string;\n const socialPhoneSignature = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listPhones.social',\n }) as unknown as string;\n\n // Pour les cas hybrides des personnes ayant plusieurs rôles\n // Comme Morgane (Facturation + Satisfaction) et qui peut choisir plusieurs emails d'expédition\n // Il faut que la signature corresponde à l'adresse d'expédition\n // donc actuellement, on ne gère que satisfaction/resiliation/facturation\n const listGenericEmails: { email: string; forceRole: string }[] = [\n { email: satisfactionMail, forceRole: 'satisfaction' },\n { email: resiliationMail, forceRole: 'resiliation' },\n { email: facturationMail, forceRole: 'facturation' },\n ];\n const genericEmailUsed = listGenericEmails.find((e) => e.email === fromAddress);\n if (genericEmailUsed) {\n forceRole = genericEmailUsed.forceRole;\n }\n\n let roleSignature: string | null;\n let mailSignature: string | null;\n let phoneSignature: string | null;\n let horaires: string | null;\n [roleSignature, mailSignature, phoneSignature, horaires] = [\n 'Expert-Comptable',\n bonjourMail,\n null,\n 'Du lundi au vendredi de 9h à 18h',\n ];\n\n if (user?.roles && user.roles.some((r: any) => r.id === Role.DATA_OFFICER)) {\n // Signature data_officer\n user = {\n firstname: `L'équipe ${commercialName}`,\n isAll: true,\n };\n mailSignature = dataOfficerMail;\n roleSignature = '';\n } else if (\n intersection(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n (user?.roles ?? []).map((r: any) => r.id),\n [Role.FRONT_OFFICE, Role.SENIOR],\n ).length === 2\n ) {\n // Signature front senior\n user = {\n firstname: `L'équipe ${commercialName}`,\n isAll: true,\n };\n mailSignature = bonjourMail;\n roleSignature = '';\n } else if (forceRole === 'satisfaction') {\n // Signature satisfaction\n user = {\n firstname: 'Service satisfaction clients',\n isAll: true,\n };\n mailSignature = satisfactionMail;\n roleSignature = '';\n phoneSignature = standardPhoneSignature;\n } else if (forceRole === 'resiliation') {\n // Signature resiliation\n user = {\n firstname: 'Service satisfaction clients',\n isAll: true,\n };\n mailSignature = resiliationMail;\n roleSignature = '';\n phoneSignature = standardPhoneSignature;\n } else if (forceRole === 'social') {\n // Signature social\n user = {\n firstname: 'Service social',\n isAll: true,\n };\n mailSignature = socialMail;\n roleSignature = '';\n phoneSignature = socialPhoneSignature;\n } else if (forceRole === 'support') {\n // Signature support\n user = {\n firstname: 'Service Support',\n isAll: true,\n };\n mailSignature = supportMail;\n roleSignature = null;\n } else if (forceRole === 'juridique') {\n // Signature juridique\n user = {\n firstname: 'Service juridique',\n isAll: true,\n };\n mailSignature = juridiqueMail;\n roleSignature = null;\n phoneSignature = juridiquePhoneSignature;\n } else if (forceRole === 'facturation') {\n // Signature facturation\n user = {\n firstname: 'Service facturation',\n isAll: true,\n };\n mailSignature = facturationMail;\n roleSignature = null;\n phoneSignature = standardPhoneSignature;\n } else if (!user || forceRole === 'generique') {\n // Signature Clementine\n user = {\n firstname: `L'équipe ${commercialName}`,\n isAll: true,\n };\n roleSignature = '';\n } else if (user !== 0) {\n // Signature par défaut\n roleSignature = getRoleSignature(user);\n mailSignature = getMailSignature(user, idTypeBrand);\n horaires = getHoraires(user);\n phoneSignature = getPhoneSignature(user);\n }\n\n // Si on a une société, alors on remplace le lien calendly de base par le lien calendly interne\n // on n'affiche uniquement si le collaboreatur a bien des créneaux horaires\n if (\n society?.id &&\n user?.roles?.some((r: any) =>\n [Role.FRONT_OFFICE, Role.FACTURATION, Role.JURIDIC, Role.COMMERCIAL].includes(r.id),\n ) &&\n user?.usersTimeSlots?.length\n ) {\n const isJuridic = user?.roles?.some((r: any) => [Role.JURIDIC].includes(r.id));\n const isFactu = user?.roles?.some((r: any) => [Role.FACTURATION].includes(r.id));\n const isCommercial = user?.roles?.some((r: any) => [Role.COMMERCIAL].includes(r.id));\n let idType = TimeSlot.BILAN;\n if (isJuridic) idType = TimeSlot.EDIT_SOCIETY;\n if (isFactu) idType = TimeSlot.BILLING;\n if (isCommercial) idType = TimeSlot.SALES;\n const urlApp = getBrandConfig({ objectWaited: 'urlApp' }) as unknown as string;\n user.calendlyUrl = `${urlApp}/appointment?uuid=${society?.externalId ? society.externalId : ''}&idType=${idType}`;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return ejs.render(signatureTemplate, {\n forceRole,\n isFacturation: user.roles ? user.roles.some((r: any) => r.id === Role.FACTURATION) : false,\n isDataOfficer: user.roles ? user.roles.some((r: any) => r.id === Role.DATA_OFFICER) : true,\n brandName,\n brandPostalAddress,\n brandCity,\n idTypeBrand,\n commercialName,\n iban,\n bic,\n hostS3,\n user,\n roleSignature,\n mailSignature,\n phoneSignature: phoneSignature ? phoneSignature.replace(/\\s+/gm, ' ') : null,\n standardPhoneSignature: standardPhoneSignature.replace(/\\s+/gm, ' '),\n horaires,\n primaryColor,\n supportMail,\n });\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registration.js","sourceRoot":"","sources":["../../../../ts/utils/vat/registration.ts"],"names":[],"mappings":"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","sourcesContent":["import * as dayjs from 'dayjs';\nimport { isDefined } from 'class-validator';\nimport { reverse, sumBy } from 'lodash';\nimport {\n AnyCerfa3310_Century,\n Cerfa2571_2023,\n Cerfa2573_2024,\n Cerfa3514_2022,\n CerfaType,\n CustomerVatType,\n IRegistration,\n InterchangeHistory,\n ReadDeclaration,\n ReadRegistration,\n ReadRegistrationTick,\n RegistrationState,\n RegistrationTickState,\n TaxType,\n} from '../../types';\nimport { AnyCerfa3517Century } from '../../types/Interface/api/cerfa/3517';\n\nconst waitingState: ReadRegistrationTick = {\n state: RegistrationTickState.IN_PROGRESS,\n title: 'En cours de traitement',\n details: [],\n date: null,\n isPayment: false,\n};\n\nexport function getTicks(registration: ReadRegistration): ReadRegistrationTick[][] {\n const declarations: Array<ReadDeclaration> = registration.response?.declarations ?? [];\n const history: InterchangeHistory[] = registration.response?.history;\n\n if (registration.state === RegistrationState.IN_PROGRESS) {\n const data: ReadRegistrationTick[][] = [];\n\n declarations.forEach((declaration) => {\n const result = [\n {\n type:\n isDefined(declaration?.type) && isDefined(declaration?.declarationType?.label)\n ? `${declaration?.type} - ${declaration?.declarationType?.label}`\n : null,\n state: RegistrationTickState.FINISHED,\n title: 'Déclaration envoyée',\n details: [],\n date: registration.sendAt ? dayjs(registration.sendAt).toISOString() : null,\n isPayment: false,\n },\n waitingState,\n waitingState,\n waitingState,\n ];\n\n if (registration.amountToPay && registration.amountToPay > 0) {\n result.push({\n ...waitingState,\n isPayment: true,\n });\n }\n\n data.push(result);\n });\n\n return data;\n }\n if ([RegistrationState.ACCEPTED, RegistrationState.REFUSED].includes(registration.state)) {\n const data: ReadRegistrationTick[][] = [];\n\n if (!declarations.length) {\n const response: ReadRegistrationTick[] = [\n {\n type: null,\n state: RegistrationTickState.FINISHED,\n title: 'Déclaration envoyée',\n date: registration.sendAt ? dayjs(registration.sendAt).toISOString() : null,\n details: [],\n },\n {\n state: RegistrationTickState.FAILED,\n title: history?.find((h) => h.isError)?.label ?? '',\n details: history?.find((h) => h.isError)?.stateDetailsHistory ?? [],\n date: history?.find((h) => h.isError)?.date ?? null,\n },\n waitingState,\n waitingState,\n ];\n\n if (registration.amountToPay && registration.amountToPay > 0) {\n response.push({\n ...waitingState,\n isPayment: true,\n });\n }\n\n data.push(response);\n }\n\n declarations.forEach((declaration) => {\n const response: ReadRegistrationTick[] = [\n {\n type:\n isDefined(declaration?.type) && isDefined(declaration?.declarationType?.label)\n ? `${declaration?.type} - ${declaration?.declarationType?.label}`\n : null,\n state: RegistrationTickState.FINISHED,\n title: 'Déclaration envoyée',\n date: registration.sendAt ? dayjs(registration.sendAt).toISOString() : null,\n details: [],\n },\n ...reverse(declaration.states).map((d: InterchangeHistory) => ({\n state: d.isError ? RegistrationTickState.FAILED : RegistrationTickState.FINISHED,\n title: d.label ?? null,\n details: d?.stateDetailsHistory,\n date: d.date ?? null,\n })),\n ];\n\n for (let index = declaration.states.length; index < 3; index += 1) {\n response.push({ ...waitingState, title: null });\n }\n\n if (isDefined(declaration.payment)) {\n response.push({\n state: declaration.payment.isError\n ? RegistrationTickState.FAILED\n : declaration.payment.isError === null\n ? RegistrationTickState.IN_PROGRESS\n : RegistrationTickState.FINISHED,\n title: declaration.payment?.label ?? '',\n details: [],\n isPayment: true,\n date: declaration.payment.date ?? null,\n });\n }\n data.push(response);\n });\n\n return data;\n }\n\n return [];\n}\n\nexport function getTypeAndAmountFromRegistration(registration: IRegistration): {\n type: CustomerVatType | null;\n amount: number | null;\n collectable: number;\n deductible: number;\n amountBase?: number;\n regulationAdd?: number;\n regulationDeduct?: number;\n reportFromPrevious?: number;\n} {\n if (registration.idCerfaType === CerfaType.CERFA_3310) {\n const payload = registration.payload.cerfa3310 as AnyCerfa3310_Century;\n const other = {\n collectable: payload.vat?.grossDue,\n deductible: payload.vat?.deductible.total,\n regulationAdd: payload.vat?.sumToAdd,\n regulationDeduct: payload.vat?.deductible?.toImpute,\n reportFromPrevious: payload.vat?.deductible?.report,\n };\n if (payload?.isNil) return { type: CustomerVatType.VAT_TO_NIL, amount: 0, ...other };\n if (payload?.toPay?.total > 0) return { type: CustomerVatType.VAT_TO_PAY, amount: payload.toPay.total, ...other };\n if (payload?.credit?.refundAsked > 0)\n return { type: CustomerVatType.VAT_REFUND, amount: payload.credit.refundAsked, ...other };\n if (payload?.credit?.toReport > 0)\n return { type: CustomerVatType.VAT_REPORT, amount: payload.credit.toReport, ...other };\n return { type: CustomerVatType.VAT_TO_PAY, amount: 0, ...other };\n }\n if (registration.idCerfaType === CerfaType.CERFA_3514) {\n const payload = registration.payload.cerfa3514 as Cerfa3514_2022;\n const other = { collectable: payload.vatAmountCollected, deductible: payload.vatAmountDeductible };\n if (payload?.vatAmountToPay > 0)\n return { type: CustomerVatType.VAT_TO_PAY, amount: payload.vatAmountToPay, ...other };\n if (payload?.vatRefundedOnInvests)\n return { type: CustomerVatType.VAT_REFUND, amount: payload.vatRefundedOnInvests, ...other };\n return { type: CustomerVatType.VAT_TO_PAY, amount: 0, ...other };\n }\n if (registration.idCerfaType === CerfaType.CERFA_3517) {\n const payload = registration.payload.cerfa3517 as AnyCerfa3517Century;\n const other = {\n collectable: payload.other.total,\n deductible: payload.deductible.total,\n amountBase: payload?.total,\n };\n if (payload?.isNil) return { type: CustomerVatType.VAT_TO_NIL, amount: 0, ...other };\n if (payload?.recapitulation?.toPay > 0)\n return { type: CustomerVatType.VAT_TO_PAY, amount: payload?.recapitulation?.toPay, ...other };\n if (payload?.recapitulation?.refund > 0)\n return { type: CustomerVatType.VAT_REFUND, amount: payload?.recapitulation?.refund, ...other };\n if (payload?.recapitulation?.creditToReport > 0 || payload?.recapitulation?.imputedCredit > 0)\n return {\n type: CustomerVatType.VAT_REPORT,\n amount: payload?.recapitulation?.creditToReport ?? payload?.recapitulation?.imputedCredit,\n ...other,\n };\n return { type: CustomerVatType.VAT_TO_PAY, amount: 0, ...other };\n }\n if (\n [\n CerfaType.CERFA_2571_2023_A,\n CerfaType.CERFA_2571_2023_B,\n CerfaType.CERFA_2571_2023_C,\n CerfaType.CERFA_2571_2023_D,\n ].includes(registration.idCerfaType)\n ) {\n const payload = registration.payload.cerfa2571 as Cerfa2571_2023;\n\n if (registration.customerIsRegime?.type === TaxType.TO_PAY) {\n return {\n type: CustomerVatType.VAT_TO_PAY,\n amount: payload.companyTax.toPay.total,\n collectable: 0,\n deductible: 0,\n };\n } else if (registration.customerIsRegime?.type === TaxType.REFUND) {\n return {\n type: CustomerVatType.VAT_REFUND,\n amount: registration.customerIsRegime?.amount,\n collectable: 0,\n deductible: 0,\n };\n } else if (registration.customerIsRegime?.type === TaxType.REPORTABLE) {\n return {\n type: CustomerVatType.VAT_REPORT,\n amount: registration.customerIsRegime?.amount,\n collectable: 0,\n deductible: 0,\n };\n }\n\n return { type: CustomerVatType.VAT_TO_PAY, amount: payload.companyTax.toPay.total, collectable: 0, deductible: 0 };\n }\n if ([CerfaType.CERFA_2573].includes(registration.idCerfaType)) {\n const payload = registration.payload?.cerfa2573 as Cerfa2573_2024;\n return {\n type: CustomerVatType.VAT_REFUND,\n amount: sumBy(payload?.refunds ?? [], (r) => r?.amount ?? 0),\n collectable: 0,\n deductible: 0,\n };\n }\n\n return {\n type: null,\n amount: null,\n collectable: 0,\n deductible: 0,\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"registration.js","sourceRoot":"","sources":["../../../../ts/utils/vat/registration.ts"],"names":[],"mappings":"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","sourcesContent":["import * as dayjs from 'dayjs';\nimport { isDefined } from 'class-validator';\nimport { reverse, sumBy } from 'lodash';\nimport {\n AnyCerfa2571Century,\n AnyCerfa3310_Century,\n Cerfa2573_2024,\n Cerfa3514_2022,\n CerfaType,\n CustomerVatType,\n IRegistration,\n InterchangeHistory,\n ReadDeclaration,\n ReadRegistration,\n ReadRegistrationTick,\n RegistrationState,\n RegistrationTickState,\n TaxType,\n} from '../../types';\nimport { AnyCerfa3517Century } from '../../types/Interface/api/cerfa/3517';\n\nconst waitingState: ReadRegistrationTick = {\n state: RegistrationTickState.IN_PROGRESS,\n title: 'En cours de traitement',\n details: [],\n date: null,\n isPayment: false,\n};\n\nexport function getTicks(registration: ReadRegistration): ReadRegistrationTick[][] {\n const declarations: Array<ReadDeclaration> = registration.response?.declarations ?? [];\n const history: InterchangeHistory[] = registration.response?.history;\n\n if (registration.state === RegistrationState.IN_PROGRESS) {\n const data: ReadRegistrationTick[][] = [];\n\n declarations.forEach((declaration) => {\n const result = [\n {\n type:\n isDefined(declaration?.type) && isDefined(declaration?.declarationType?.label)\n ? `${declaration?.type} - ${declaration?.declarationType?.label}`\n : null,\n state: RegistrationTickState.FINISHED,\n title: 'Déclaration envoyée',\n details: [],\n date: registration.sendAt ? dayjs(registration.sendAt).toISOString() : null,\n isPayment: false,\n },\n waitingState,\n waitingState,\n waitingState,\n ];\n\n if (registration.amountToPay && registration.amountToPay > 0) {\n result.push({\n ...waitingState,\n isPayment: true,\n });\n }\n\n data.push(result);\n });\n\n return data;\n }\n if ([RegistrationState.ACCEPTED, RegistrationState.REFUSED].includes(registration.state)) {\n const data: ReadRegistrationTick[][] = [];\n\n if (!declarations.length) {\n const response: ReadRegistrationTick[] = [\n {\n type: null,\n state: RegistrationTickState.FINISHED,\n title: 'Déclaration envoyée',\n date: registration.sendAt ? dayjs(registration.sendAt).toISOString() : null,\n details: [],\n },\n {\n state: RegistrationTickState.FAILED,\n title: history?.find((h) => h.isError)?.label ?? '',\n details: history?.find((h) => h.isError)?.stateDetailsHistory ?? [],\n date: history?.find((h) => h.isError)?.date ?? null,\n },\n waitingState,\n waitingState,\n ];\n\n if (registration.amountToPay && registration.amountToPay > 0) {\n response.push({\n ...waitingState,\n isPayment: true,\n });\n }\n\n data.push(response);\n }\n\n declarations.forEach((declaration) => {\n const response: ReadRegistrationTick[] = [\n {\n type:\n isDefined(declaration?.type) && isDefined(declaration?.declarationType?.label)\n ? `${declaration?.type} - ${declaration?.declarationType?.label}`\n : null,\n state: RegistrationTickState.FINISHED,\n title: 'Déclaration envoyée',\n date: registration.sendAt ? dayjs(registration.sendAt).toISOString() : null,\n details: [],\n },\n ...reverse(declaration.states).map((d: InterchangeHistory) => ({\n state: d.isError ? RegistrationTickState.FAILED : RegistrationTickState.FINISHED,\n title: d.label ?? null,\n details: d?.stateDetailsHistory,\n date: d.date ?? null,\n })),\n ];\n\n for (let index = declaration.states.length; index < 3; index += 1) {\n response.push({ ...waitingState, title: null });\n }\n\n if (isDefined(declaration.payment)) {\n response.push({\n state: declaration.payment.isError\n ? RegistrationTickState.FAILED\n : declaration.payment.isError === null\n ? RegistrationTickState.IN_PROGRESS\n : RegistrationTickState.FINISHED,\n title: declaration.payment?.label ?? '',\n details: [],\n isPayment: true,\n date: declaration.payment.date ?? null,\n });\n }\n data.push(response);\n });\n\n return data;\n }\n\n return [];\n}\n\nexport function getTypeAndAmountFromRegistration(registration: IRegistration): {\n type: CustomerVatType | null;\n amount: number | null;\n collectable: number;\n deductible: number;\n amountBase?: number;\n regulationAdd?: number;\n regulationDeduct?: number;\n reportFromPrevious?: number;\n} {\n if (registration.idCerfaType === CerfaType.CERFA_3310) {\n const payload = registration.payload.cerfa3310 as AnyCerfa3310_Century;\n const other = {\n collectable: payload.vat?.grossDue,\n deductible: payload.vat?.deductible.total,\n regulationAdd: payload.vat?.sumToAdd,\n regulationDeduct: payload.vat?.deductible?.toImpute,\n reportFromPrevious: payload.vat?.deductible?.report,\n };\n if (payload?.isNil) return { type: CustomerVatType.VAT_TO_NIL, amount: 0, ...other };\n if (payload?.toPay?.total > 0) return { type: CustomerVatType.VAT_TO_PAY, amount: payload.toPay.total, ...other };\n if (payload?.credit?.refundAsked > 0)\n return { type: CustomerVatType.VAT_REFUND, amount: payload.credit.refundAsked, ...other };\n if (payload?.credit?.toReport > 0)\n return { type: CustomerVatType.VAT_REPORT, amount: payload.credit.toReport, ...other };\n return { type: CustomerVatType.VAT_TO_PAY, amount: 0, ...other };\n }\n if (registration.idCerfaType === CerfaType.CERFA_3514) {\n const payload = registration.payload.cerfa3514 as Cerfa3514_2022;\n const other = { collectable: payload.vatAmountCollected, deductible: payload.vatAmountDeductible };\n if (payload?.vatAmountToPay > 0)\n return { type: CustomerVatType.VAT_TO_PAY, amount: payload.vatAmountToPay, ...other };\n if (payload?.vatRefundedOnInvests)\n return { type: CustomerVatType.VAT_REFUND, amount: payload.vatRefundedOnInvests, ...other };\n return { type: CustomerVatType.VAT_TO_PAY, amount: 0, ...other };\n }\n if (registration.idCerfaType === CerfaType.CERFA_3517) {\n const payload = registration.payload.cerfa3517 as AnyCerfa3517Century;\n const other = {\n collectable: payload.other.total,\n deductible: payload.deductible.total,\n amountBase: payload?.total,\n };\n if (payload?.isNil) return { type: CustomerVatType.VAT_TO_NIL, amount: 0, ...other };\n if (payload?.recapitulation?.toPay > 0)\n return { type: CustomerVatType.VAT_TO_PAY, amount: payload?.recapitulation?.toPay, ...other };\n if (payload?.recapitulation?.refund > 0)\n return { type: CustomerVatType.VAT_REFUND, amount: payload?.recapitulation?.refund, ...other };\n if (payload?.recapitulation?.creditToReport > 0 || payload?.recapitulation?.imputedCredit > 0)\n return {\n type: CustomerVatType.VAT_REPORT,\n amount: payload?.recapitulation?.creditToReport ?? payload?.recapitulation?.imputedCredit,\n ...other,\n };\n return { type: CustomerVatType.VAT_TO_PAY, amount: 0, ...other };\n }\n if (\n [\n CerfaType.CERFA_2571_2023_A,\n CerfaType.CERFA_2571_2023_B,\n CerfaType.CERFA_2571_2023_C,\n CerfaType.CERFA_2571_2023_D,\n ].includes(registration.idCerfaType)\n ) {\n const payload = registration.payload.cerfa2571 as AnyCerfa2571Century;\n\n if (registration.customerIsRegime?.type === TaxType.TO_PAY) {\n return {\n type: CustomerVatType.VAT_TO_PAY,\n amount: payload.companyTax.toPay.total,\n collectable: 0,\n deductible: 0,\n };\n } else if (registration.customerIsRegime?.type === TaxType.REFUND) {\n return {\n type: CustomerVatType.VAT_REFUND,\n amount: registration.customerIsRegime?.amount,\n collectable: 0,\n deductible: 0,\n };\n } else if (registration.customerIsRegime?.type === TaxType.REPORTABLE) {\n return {\n type: CustomerVatType.VAT_REPORT,\n amount: registration.customerIsRegime?.amount,\n collectable: 0,\n deductible: 0,\n };\n }\n\n return { type: CustomerVatType.VAT_TO_PAY, amount: payload.companyTax.toPay.total, collectable: 0, deductible: 0 };\n }\n if ([CerfaType.CERFA_2573].includes(registration.idCerfaType)) {\n const payload = registration.payload?.cerfa2573 as Cerfa2573_2024;\n return {\n type: CustomerVatType.VAT_REFUND,\n amount: sumBy(payload?.refunds ?? [], (r) => r?.amount ?? 0),\n collectable: 0,\n deductible: 0,\n };\n }\n\n return {\n type: null,\n amount: null,\n collectable: 0,\n deductible: 0,\n };\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@silexpert/core",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.203-is-0",
|
|
4
4
|
"description": "Silex Core perform HTTP Request and object binding. Silex core helps developers to retrieve and return formatted object",
|
|
5
5
|
"homepage": "https://gitlab.compta-clementine.fr/dev/silex-api",
|
|
6
6
|
"main": "dist/cjs/index.js",
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { QueryDirectoryLine, ReadDirectoryLine } from '../../types';
|
|
2
|
+
import { Resource } from '../Resource';
|
|
3
|
+
|
|
4
|
+
export class Docoon extends Resource {
|
|
5
|
+
getDirectoryLine(params: QueryDirectoryLine): Promise<ReadDirectoryLine> {
|
|
6
|
+
return this.axios.$get('/docoon/directory-line', { params });
|
|
7
|
+
}
|
|
8
|
+
}
|
|
@@ -22,7 +22,7 @@ export class InternalInvoicing extends Resource {
|
|
|
22
22
|
regenerate(params: RegenerateInternalInvoicing): Promise<number> {
|
|
23
23
|
return this.axios.$post('/internalInvoicing/regenerate', params);
|
|
24
24
|
}
|
|
25
|
-
generateCutOff(type: number): Promise<boolean> {
|
|
25
|
+
generateCutOff(type: number, date?: string): Promise<boolean> {
|
|
26
26
|
switch (type) {
|
|
27
27
|
case 1:
|
|
28
28
|
return this.axios.$post('/internalInvoicing/cutOff/PCA', {});
|
|
@@ -34,6 +34,10 @@ export class InternalInvoicing extends Resource {
|
|
|
34
34
|
return this.axios.$post('/internalInvoicing/cutOff/PCA-accounting-package', {});
|
|
35
35
|
case 9:
|
|
36
36
|
return this.axios.$post('/internalInvoicing/cutOff/AAE-detail', {});
|
|
37
|
+
case 10:
|
|
38
|
+
return this.axios.$post('/internalInvoicing/cutOff/extourne-pca-comptable-production', { date });
|
|
39
|
+
case 11:
|
|
40
|
+
return this.axios.$post('/internalInvoicing/cutOff/society-approvals-docs-completed', { date });
|
|
37
41
|
default:
|
|
38
42
|
return this.axios.$post('/internalInvoicing/cutOff/PCA', {});
|
|
39
43
|
}
|
|
@@ -36,6 +36,10 @@ export class WorkingSchedule extends Resource {
|
|
|
36
36
|
return this.axios.$get(`workingSchedule/${id}`);
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
+
getAll(): Promise<ReadWorkingSchedule[]> {
|
|
40
|
+
return this.axios.$get('workingSchedule/all');
|
|
41
|
+
}
|
|
42
|
+
|
|
39
43
|
getAvailableTimeSlots(params: QueryAvailableTimeSlot): Promise<TimeSlots[]> {
|
|
40
44
|
return this.axios.$get('workingSchedule/available-time-slots', {
|
|
41
45
|
params,
|
package/ts/api/resources.ts
CHANGED
|
@@ -190,6 +190,7 @@ import { InformationRequest } from './resources/InformationRequest';
|
|
|
190
190
|
import { AutomaticRegistration } from './resources/AutomaticRegistration';
|
|
191
191
|
import { LoginApproval } from './resources/LoginApproval';
|
|
192
192
|
import { SocietyApproval } from './resources/SocietyApproval';
|
|
193
|
+
import { Docoon } from './resources/Docoon';
|
|
193
194
|
|
|
194
195
|
export const resources = {
|
|
195
196
|
budgetInsight: BudgetInsight,
|
|
@@ -384,4 +385,5 @@ export const resources = {
|
|
|
384
385
|
automaticRegistration: AutomaticRegistration,
|
|
385
386
|
loginApproval: LoginApproval,
|
|
386
387
|
societyApproval: SocietyApproval,
|
|
388
|
+
docoon: Docoon,
|
|
387
389
|
};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
export enum AnalyticsUtmSituation {
|
|
2
|
+
COMPANY_ALREADY_ESTABLISHED = 1,
|
|
3
|
+
COMPANY_CREATION = 2,
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
export enum AnalyticsUtmServiceSought {
|
|
7
|
+
OVERDUE_ACCOUNTING = 1,
|
|
8
|
+
ACCOUNTING_MANAGEMENT_TOOL = 2,
|
|
9
|
+
ACOUNTING_EXPERTISE = 3,
|
|
10
|
+
LEGAL_ADVICE = 4,
|
|
11
|
+
PAYROLL_MANAGEMENT_AND_SOCIAL = 5,
|
|
12
|
+
OTHER = 6,
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export const AnalyticsUtmSituationDetails = {
|
|
16
|
+
COMPANY_ALREADY_ESTABLISHED: {
|
|
17
|
+
id: AnalyticsUtmSituation.COMPANY_ALREADY_ESTABLISHED,
|
|
18
|
+
label: 'Ma société est déjà créée',
|
|
19
|
+
},
|
|
20
|
+
COMPANY_CREATION: {
|
|
21
|
+
id: AnalyticsUtmSituation.COMPANY_CREATION,
|
|
22
|
+
label: 'Je souhaite créer ma société',
|
|
23
|
+
},
|
|
24
|
+
} as const;
|
|
25
|
+
|
|
26
|
+
export const AnalyticsUtmServiceSoughtDetails = {
|
|
27
|
+
OVERDUE_ACCOUNTING: {
|
|
28
|
+
id: AnalyticsUtmServiceSought.OVERDUE_ACCOUNTING,
|
|
29
|
+
label: 'Comptabilité en retard',
|
|
30
|
+
},
|
|
31
|
+
ACCOUNTING_MANAGEMENT_TOOL: {
|
|
32
|
+
id: AnalyticsUtmServiceSought.ACCOUNTING_MANAGEMENT_TOOL,
|
|
33
|
+
label: 'Outil gestion comptable (factures, devis, TVA, bilan)',
|
|
34
|
+
},
|
|
35
|
+
ACOUNTING_EXPERTISE: {
|
|
36
|
+
id: AnalyticsUtmServiceSought.ACOUNTING_EXPERTISE,
|
|
37
|
+
label: 'Expertise comptable (accompagnement et conseils)',
|
|
38
|
+
},
|
|
39
|
+
LEGAL_ADVICE: {
|
|
40
|
+
id: AnalyticsUtmServiceSought.LEGAL_ADVICE,
|
|
41
|
+
label: 'Juridique & conseils',
|
|
42
|
+
},
|
|
43
|
+
PAYROLL_MANAGEMENT_AND_SOCIAL: {
|
|
44
|
+
id: AnalyticsUtmServiceSought.PAYROLL_MANAGEMENT_AND_SOCIAL,
|
|
45
|
+
label: 'Gestion de la paie et déclarations sociales',
|
|
46
|
+
},
|
|
47
|
+
OTHER: {
|
|
48
|
+
id: AnalyticsUtmServiceSought.OTHER,
|
|
49
|
+
label: 'Autres',
|
|
50
|
+
},
|
|
51
|
+
} as const;
|
|
@@ -941,7 +941,7 @@ export const BALANCE_SHEET_LIST_PASSIVE: BalanceSheetList = [
|
|
|
941
941
|
accounts: ['4191'],
|
|
942
942
|
isSubcategory: true,
|
|
943
943
|
total: 0,
|
|
944
|
-
type: 'passive',
|
|
944
|
+
// type: 'passive', Demandé par Angelo
|
|
945
945
|
accountsDescription: [],
|
|
946
946
|
},
|
|
947
947
|
{
|
|
@@ -976,7 +976,7 @@ export const BALANCE_SHEET_LIST_PASSIVE: BalanceSheetList = [
|
|
|
976
976
|
{
|
|
977
977
|
name: BalanceSheetPassiveLabel.AUTRES_DETTES,
|
|
978
978
|
key: 'OtherDebts',
|
|
979
|
-
accounts: ['4196', '4197', '4198', '464', '467', '468', '478', '509', '457'],
|
|
979
|
+
accounts: ['4196', '4197', '4198', '464', '467', '468', '478', '509', '457', '4181'],
|
|
980
980
|
// PASSIF Autres = lorsque l'entreprise doit de l'argent au client = somme débit > crédit (modifié)
|
|
981
981
|
idThirdPartyTypeToAdd: [ThirdPartyType.CUSTOMER, MathematicalSign.LESS],
|
|
982
982
|
isSubcategory: true,
|
|
@@ -3440,7 +3440,7 @@ export const PrestationDetail: PrestationDetailEnum = {
|
|
|
3440
3440
|
},
|
|
3441
3441
|
ASSURANCE_CONTROLE_FISCAL: {
|
|
3442
3442
|
id: 211,
|
|
3443
|
-
name: '
|
|
3443
|
+
name: 'Assistance contrôle fiscal',
|
|
3444
3444
|
isComptable: true,
|
|
3445
3445
|
isJuridique: false,
|
|
3446
3446
|
isSocial: false,
|
|
@@ -35,59 +35,6 @@ type BaseRateAndAmount = {
|
|
|
35
35
|
amount: number;
|
|
36
36
|
};
|
|
37
37
|
|
|
38
|
-
export class Cerfa2571_2023 {
|
|
39
|
-
siren: string;
|
|
40
|
-
exercice: Exercice;
|
|
41
|
-
society: Society;
|
|
42
|
-
companyTax: {
|
|
43
|
-
imputations: {
|
|
44
|
-
default: number;
|
|
45
|
-
job: number;
|
|
46
|
-
deficit: number;
|
|
47
|
-
corse: number;
|
|
48
|
-
search: number;
|
|
49
|
-
patronage: number;
|
|
50
|
-
outerSea: number;
|
|
51
|
-
collaborativeSearch: number;
|
|
52
|
-
overage: number;
|
|
53
|
-
};
|
|
54
|
-
toPay: {
|
|
55
|
-
default: number;
|
|
56
|
-
rent: number;
|
|
57
|
-
social: number;
|
|
58
|
-
tax: number;
|
|
59
|
-
capitalGain: number;
|
|
60
|
-
total: number;
|
|
61
|
-
};
|
|
62
|
-
reductions: {
|
|
63
|
-
hasDefault: boolean;
|
|
64
|
-
hasSocial: boolean;
|
|
65
|
-
};
|
|
66
|
-
};
|
|
67
|
-
payment: Payment;
|
|
68
|
-
administration?: Administration;
|
|
69
|
-
advances: {
|
|
70
|
-
normalRate: BaseRateAndAmount;
|
|
71
|
-
reducedRate: BaseRateAndAmount;
|
|
72
|
-
onResult: BaseRateAndAmount;
|
|
73
|
-
subTotal: number;
|
|
74
|
-
regulation: number;
|
|
75
|
-
total: number;
|
|
76
|
-
};
|
|
77
|
-
credit: {
|
|
78
|
-
job: number;
|
|
79
|
-
deficit: number;
|
|
80
|
-
corse: number;
|
|
81
|
-
search: number;
|
|
82
|
-
patronage: number;
|
|
83
|
-
outerSea: number;
|
|
84
|
-
collaborativeSearch: number;
|
|
85
|
-
overage: number;
|
|
86
|
-
default: number;
|
|
87
|
-
toPay: number;
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
|
|
91
38
|
export class Cerfa2571_2024 {
|
|
92
39
|
siren: string;
|
|
93
40
|
exercice: Exercice;
|
|
@@ -146,6 +93,7 @@ export class Cerfa2571_2024 {
|
|
|
146
93
|
}
|
|
147
94
|
|
|
148
95
|
export type Cerfa2571_2025 = Cerfa2571_2024;
|
|
96
|
+
export type Cerfa2571_2026 = Cerfa2571_2025;
|
|
149
97
|
|
|
150
98
|
export type Prepare2571Params = {
|
|
151
99
|
idSociety: number;
|
|
@@ -154,4 +102,5 @@ export type Prepare2571Params = {
|
|
|
154
102
|
idRegistration: number;
|
|
155
103
|
};
|
|
156
104
|
|
|
157
|
-
|
|
105
|
+
// eslint-disable-next-line @typescript-eslint/no-duplicate-type-constituents
|
|
106
|
+
export type AnyCerfa2571Century = Cerfa2571_2026 | Cerfa2571_2025 | Cerfa2571_2024;
|