@silexpert/core 1.2.27 → 1.2.28
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/index.d.ts.map +1 -1
- package/dist/cjs/api/index.js +8 -3
- package/dist/cjs/api/index.js.map +1 -1
- package/dist/cjs/api/resources/Employee.d.ts.map +1 -1
- package/dist/cjs/api/resources/Employee.js +1 -0
- package/dist/cjs/api/resources/Employee.js.map +1 -1
- package/dist/cjs/api/resources/Task.d.ts.map +1 -1
- package/dist/cjs/api/resources/Task.js +1 -0
- package/dist/cjs/api/resources/Task.js.map +1 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +0 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/Enum/Aspone.js +32 -32
- package/dist/cjs/types/Enum/Aspone.js.map +1 -1
- package/dist/cjs/types/Enum/BalanceSheet.js +1 -1
- package/dist/cjs/types/Enum/BalanceSheet.js.map +1 -1
- package/dist/cjs/types/Enum/BalanceSheetQuestion.d.ts.map +1 -1
- package/dist/cjs/types/Enum/BalanceSheetQuestion.js +2 -0
- package/dist/cjs/types/Enum/BalanceSheetQuestion.js.map +1 -1
- package/dist/cjs/types/Enum/BalanceSheetQuestionWording.d.ts.map +1 -1
- package/dist/cjs/types/Enum/BalanceSheetQuestionWording.js +1 -0
- package/dist/cjs/types/Enum/BalanceSheetQuestionWording.js.map +1 -1
- package/dist/cjs/types/Enum/RevisionGuide.d.ts.map +1 -1
- package/dist/cjs/types/Enum/RevisionGuide.js +5 -0
- package/dist/cjs/types/Enum/RevisionGuide.js.map +1 -1
- package/dist/cjs/types/Enum/Role.d.ts.map +1 -1
- package/dist/cjs/types/Enum/Role.js +1 -0
- package/dist/cjs/types/Enum/Role.js.map +1 -1
- package/dist/cjs/types/Enum/SalesContractBrandClementine.js +4 -4
- package/dist/cjs/types/Enum/SalesContractBrandClementine.js.map +1 -1
- package/dist/cjs/types/Enum/SalesContractBrandPourcentage.d.ts +1 -26
- package/dist/cjs/types/Enum/SalesContractBrandPourcentage.d.ts.map +1 -1
- package/dist/cjs/types/Enum/SalesContractBrandPourcentage.js +6 -6
- package/dist/cjs/types/Enum/SalesContractBrandPourcentage.js.map +1 -1
- package/dist/cjs/types/Enum/TransactionKind.d.ts.map +1 -1
- package/dist/cjs/types/Enum/TransactionKind.js.map +1 -1
- package/dist/cjs/types/Enum/TransactionStatus.d.ts.map +1 -1
- package/dist/cjs/types/Enum/TransactionStatus.js.map +1 -1
- package/dist/cjs/types/Enum/TypePayment.d.ts.map +1 -1
- package/dist/cjs/types/Enum/TypePayment.js +1 -0
- package/dist/cjs/types/Enum/TypePayment.js.map +1 -1
- package/dist/cjs/types/Interface/api/accountingFiles/Ocr.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/accountingFiles/Ocr.js.map +1 -1
- package/dist/cjs/types/Interface/api/checklist/Read.d.ts +1 -0
- package/dist/cjs/types/Interface/api/checklist/Read.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/checklist/Read.js.map +1 -1
- package/dist/cjs/types/Interface/api/config/ConfigType.d.ts +282 -0
- package/dist/cjs/types/Interface/api/config/ConfigType.d.ts.map +1 -0
- package/dist/cjs/types/Interface/api/config/ConfigType.js +3 -0
- package/dist/cjs/types/Interface/api/config/ConfigType.js.map +1 -0
- package/dist/cjs/types/Interface/api/crisp/GetCrisp.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/crisp/GetCrisp.js.map +1 -1
- package/dist/cjs/types/Interface/api/exerciceQuestion/CreateExerciceQuestion.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/exerciceQuestion/CreateExerciceQuestion.js +3 -1
- package/dist/cjs/types/Interface/api/exerciceQuestion/CreateExerciceQuestion.js.map +1 -1
- package/dist/cjs/types/Interface/api/journal/Journals.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/journal/Journals.js.map +1 -1
- package/dist/cjs/types/Interface/api/kilometricAllowance/CreateKilometricAllowanceValidation.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/kilometricAllowance/CreateKilometricAllowanceValidation.js +3 -1
- package/dist/cjs/types/Interface/api/kilometricAllowance/CreateKilometricAllowanceValidation.js.map +1 -1
- package/dist/cjs/types/Interface/api/notion/NotionResponse.d.ts +4 -4
- package/dist/cjs/types/Interface/api/notion/NotionResponse.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/notion/NotionResponse.js.map +1 -1
- package/dist/cjs/types/Interface/api/pappers/QueryPappers.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/pappers/QueryPappers.js.map +1 -1
- package/dist/cjs/types/Interface/api/promoCode/CreateDefaultPromoCode.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/promoCode/CreateDefaultPromoCode.js +3 -1
- package/dist/cjs/types/Interface/api/promoCode/CreateDefaultPromoCode.js.map +1 -1
- package/dist/cjs/types/Interface/api/promoCode/ReadDefaultPromotion.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/promoCode/ReadDefaultPromotion.js.map +1 -1
- package/dist/cjs/types/Interface/api/shopify/ShopifyFinancialStatus.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/shopify/ShopifyFinancialStatus.js.map +1 -1
- package/dist/cjs/types/Interface/api/shopify/ShopifyOrder.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/shopify/ShopifyOrder.js.map +1 -1
- package/dist/cjs/types/Interface/api/shopify/discount_code.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/shopify/discount_code.js.map +1 -1
- package/dist/cjs/types/Interface/api/shopify/shipping_line.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/shopify/shipping_line.js.map +1 -1
- package/dist/cjs/types/Interface/models/IBalanceSheetQuestion.d.ts.map +1 -1
- package/dist/cjs/types/Interface/models/IBalanceSheetQuestion.js.map +1 -1
- package/dist/cjs/types/Interface/models/IFecFile.d.ts.map +1 -1
- package/dist/cjs/types/Interface/models/IFecFile.js.map +1 -1
- package/dist/cjs/types/Interface/models/IRegistration.d.ts.map +1 -1
- package/dist/cjs/types/Interface/models/IRegistration.js.map +1 -1
- package/dist/cjs/types/Interface/models/IUser.d.ts.map +1 -1
- package/dist/cjs/types/Interface/models/IUser.js.map +1 -1
- package/dist/cjs/types/index.d.ts +1 -0
- package/dist/cjs/types/index.d.ts.map +1 -1
- package/dist/cjs/types/index.js +1 -0
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/cjs/utils/brands.d.ts.map +1 -1
- package/dist/cjs/utils/brands.js +5 -0
- package/dist/cjs/utils/brands.js.map +1 -1
- package/dist/cjs/utils/checkup.d.ts.map +1 -1
- package/dist/cjs/utils/checkup.js +5 -0
- package/dist/cjs/utils/checkup.js.map +1 -1
- package/dist/cjs/utils/commercialManagement/document.d.ts.map +1 -1
- package/dist/cjs/utils/commercialManagement/document.js +6 -5
- package/dist/cjs/utils/commercialManagement/document.js.map +1 -1
- package/dist/cjs/utils/commercialManagement/recurrence.js +2 -2
- package/dist/cjs/utils/commercialManagement/recurrence.js.map +1 -1
- package/dist/cjs/utils/commercialManagement/vat.d.ts.map +1 -1
- package/dist/cjs/utils/commercialManagement/vat.js +1 -0
- package/dist/cjs/utils/commercialManagement/vat.js.map +1 -1
- package/dist/cjs/utils/date.d.ts.map +1 -1
- package/dist/cjs/utils/date.js +9 -0
- package/dist/cjs/utils/date.js.map +1 -1
- package/dist/cjs/utils/decorators.d.ts.map +1 -1
- package/dist/cjs/utils/decorators.js +3 -4
- package/dist/cjs/utils/decorators.js.map +1 -1
- package/dist/cjs/utils/email.d.ts.map +1 -1
- package/dist/cjs/utils/email.js +22 -0
- package/dist/cjs/utils/email.js.map +1 -1
- package/dist/cjs/utils/isUrl.d.ts.map +1 -1
- package/dist/cjs/utils/isUrl.js +1 -2
- package/dist/cjs/utils/isUrl.js.map +1 -1
- package/dist/cjs/utils/noLodash.d.ts.map +1 -1
- package/dist/cjs/utils/noLodash.js +10 -2
- package/dist/cjs/utils/noLodash.js.map +1 -1
- package/dist/cjs/utils/objectUtils/flattenObject.d.ts.map +1 -1
- package/dist/cjs/utils/objectUtils/flattenObject.js +1 -0
- package/dist/cjs/utils/objectUtils/flattenObject.js.map +1 -1
- package/dist/cjs/utils/objectUtils/fullFlattenObject.d.ts.map +1 -1
- package/dist/cjs/utils/objectUtils/fullFlattenObject.js +1 -0
- package/dist/cjs/utils/objectUtils/fullFlattenObject.js.map +1 -1
- package/dist/cjs/utils/objectUtils/unflattenObject.d.ts.map +1 -1
- package/dist/cjs/utils/objectUtils/unflattenObject.js +0 -1
- package/dist/cjs/utils/objectUtils/unflattenObject.js.map +1 -1
- package/dist/cjs/utils/payment.d.ts.map +1 -1
- package/dist/cjs/utils/payment.js +6 -1
- package/dist/cjs/utils/payment.js.map +1 -1
- package/dist/cjs/utils/phone.d.ts.map +1 -1
- package/dist/cjs/utils/phone.js +1 -0
- package/dist/cjs/utils/phone.js.map +1 -1
- package/dist/cjs/utils/quotation.js +2 -2
- package/dist/cjs/utils/quotation.js.map +1 -1
- package/dist/cjs/utils/social.js +0 -1
- package/dist/cjs/utils/social.js.map +1 -1
- package/dist/cjs/utils/statutsGeneration.js +2 -2
- package/dist/cjs/utils/statutsGeneration.js.map +1 -1
- package/dist/cjs/utils/tests/payment.spec.js +30 -39
- package/dist/cjs/utils/tests/payment.spec.js.map +1 -1
- package/dist/cjs/utils/transforms/boolean.transform.d.ts.map +1 -1
- package/dist/cjs/utils/transforms/boolean.transform.js +3 -1
- package/dist/cjs/utils/transforms/boolean.transform.js.map +1 -1
- package/dist/cjs/utils/vat/3310/century23.d.ts.map +1 -1
- package/dist/cjs/utils/vat/3310/century23.js +23 -0
- package/dist/cjs/utils/vat/3310/century23.js.map +1 -1
- package/dist/cjs/utils/vat/3310/century24.d.ts.map +1 -1
- package/dist/cjs/utils/vat/3310/century24.js +23 -0
- package/dist/cjs/utils/vat/3310/century24.js.map +1 -1
- package/dist/cjs/utils/vat/3517/century23.d.ts.map +1 -1
- package/dist/cjs/utils/vat/3517/century23.js +4 -0
- package/dist/cjs/utils/vat/3517/century23.js.map +1 -1
- package/dist/cjs/utils/vat/registration.d.ts.map +1 -1
- package/dist/cjs/utils/vat/registration.js +0 -1
- package/dist/cjs/utils/vat/registration.js.map +1 -1
- package/dist/mjs/api/index.d.ts.map +1 -1
- package/dist/mjs/api/index.js +7 -1
- package/dist/mjs/api/index.js.map +1 -1
- package/dist/mjs/api/resources/Employee.d.ts.map +1 -1
- package/dist/mjs/api/resources/Employee.js +1 -0
- package/dist/mjs/api/resources/Employee.js.map +1 -1
- package/dist/mjs/api/resources/Task.d.ts.map +1 -1
- package/dist/mjs/api/resources/Task.js +1 -0
- package/dist/mjs/api/resources/Task.js.map +1 -1
- package/dist/mjs/index.d.ts.map +1 -1
- package/dist/mjs/index.js +0 -1
- package/dist/mjs/index.js.map +1 -1
- package/dist/mjs/types/Enum/Aspone.js +32 -32
- package/dist/mjs/types/Enum/Aspone.js.map +1 -1
- package/dist/mjs/types/Enum/BalanceSheet.js +1 -1
- package/dist/mjs/types/Enum/BalanceSheet.js.map +1 -1
- package/dist/mjs/types/Enum/BalanceSheetQuestion.d.ts.map +1 -1
- package/dist/mjs/types/Enum/BalanceSheetQuestion.js +2 -0
- package/dist/mjs/types/Enum/BalanceSheetQuestion.js.map +1 -1
- package/dist/mjs/types/Enum/BalanceSheetQuestionWording.d.ts.map +1 -1
- package/dist/mjs/types/Enum/BalanceSheetQuestionWording.js +1 -0
- package/dist/mjs/types/Enum/BalanceSheetQuestionWording.js.map +1 -1
- package/dist/mjs/types/Enum/RevisionGuide.d.ts.map +1 -1
- package/dist/mjs/types/Enum/RevisionGuide.js +5 -0
- package/dist/mjs/types/Enum/RevisionGuide.js.map +1 -1
- package/dist/mjs/types/Enum/Role.d.ts.map +1 -1
- package/dist/mjs/types/Enum/Role.js +1 -0
- package/dist/mjs/types/Enum/Role.js.map +1 -1
- package/dist/mjs/types/Enum/SalesContractBrandClementine.js +4 -4
- package/dist/mjs/types/Enum/SalesContractBrandClementine.js.map +1 -1
- package/dist/mjs/types/Enum/SalesContractBrandPourcentage.d.ts +1 -26
- package/dist/mjs/types/Enum/SalesContractBrandPourcentage.d.ts.map +1 -1
- package/dist/mjs/types/Enum/SalesContractBrandPourcentage.js +6 -6
- package/dist/mjs/types/Enum/SalesContractBrandPourcentage.js.map +1 -1
- package/dist/mjs/types/Enum/TransactionKind.d.ts.map +1 -1
- package/dist/mjs/types/Enum/TransactionKind.js.map +1 -1
- package/dist/mjs/types/Enum/TransactionStatus.d.ts.map +1 -1
- package/dist/mjs/types/Enum/TransactionStatus.js.map +1 -1
- package/dist/mjs/types/Enum/TypePayment.d.ts.map +1 -1
- package/dist/mjs/types/Enum/TypePayment.js +1 -0
- package/dist/mjs/types/Enum/TypePayment.js.map +1 -1
- package/dist/mjs/types/Interface/api/accountingFiles/Ocr.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/accountingFiles/Ocr.js.map +1 -1
- package/dist/mjs/types/Interface/api/checklist/Read.d.ts +1 -0
- package/dist/mjs/types/Interface/api/checklist/Read.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/checklist/Read.js.map +1 -1
- package/dist/mjs/types/Interface/api/config/ConfigType.d.ts +282 -0
- package/dist/mjs/types/Interface/api/config/ConfigType.d.ts.map +1 -0
- package/dist/mjs/types/Interface/api/config/ConfigType.js +2 -0
- package/dist/mjs/types/Interface/api/config/ConfigType.js.map +1 -0
- package/dist/mjs/types/Interface/api/crisp/GetCrisp.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/crisp/GetCrisp.js.map +1 -1
- package/dist/mjs/types/Interface/api/exerciceQuestion/CreateExerciceQuestion.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/exerciceQuestion/CreateExerciceQuestion.js +3 -1
- package/dist/mjs/types/Interface/api/exerciceQuestion/CreateExerciceQuestion.js.map +1 -1
- package/dist/mjs/types/Interface/api/journal/Journals.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/journal/Journals.js.map +1 -1
- package/dist/mjs/types/Interface/api/kilometricAllowance/CreateKilometricAllowanceValidation.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/kilometricAllowance/CreateKilometricAllowanceValidation.js +3 -1
- package/dist/mjs/types/Interface/api/kilometricAllowance/CreateKilometricAllowanceValidation.js.map +1 -1
- package/dist/mjs/types/Interface/api/notion/NotionResponse.d.ts +4 -4
- package/dist/mjs/types/Interface/api/notion/NotionResponse.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/notion/NotionResponse.js.map +1 -1
- package/dist/mjs/types/Interface/api/pappers/QueryPappers.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/pappers/QueryPappers.js +3 -0
- package/dist/mjs/types/Interface/api/pappers/QueryPappers.js.map +1 -1
- package/dist/mjs/types/Interface/api/promoCode/CreateDefaultPromoCode.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/promoCode/CreateDefaultPromoCode.js +4 -1
- package/dist/mjs/types/Interface/api/promoCode/CreateDefaultPromoCode.js.map +1 -1
- package/dist/mjs/types/Interface/api/promoCode/ReadDefaultPromotion.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/promoCode/ReadDefaultPromotion.js.map +1 -1
- package/dist/mjs/types/Interface/api/shopify/ShopifyFinancialStatus.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/shopify/ShopifyFinancialStatus.js.map +1 -1
- package/dist/mjs/types/Interface/api/shopify/ShopifyOrder.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/shopify/ShopifyOrder.js.map +1 -1
- package/dist/mjs/types/Interface/api/shopify/discount_code.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/shopify/discount_code.js.map +1 -1
- package/dist/mjs/types/Interface/api/shopify/shipping_line.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/shopify/shipping_line.js.map +1 -1
- package/dist/mjs/types/Interface/models/IBalanceSheetQuestion.d.ts.map +1 -1
- package/dist/mjs/types/Interface/models/IBalanceSheetQuestion.js.map +1 -1
- package/dist/mjs/types/Interface/models/IFecFile.d.ts.map +1 -1
- package/dist/mjs/types/Interface/models/IFecFile.js.map +1 -1
- package/dist/mjs/types/Interface/models/IRegistration.d.ts.map +1 -1
- package/dist/mjs/types/Interface/models/IRegistration.js.map +1 -1
- package/dist/mjs/types/Interface/models/IUser.d.ts.map +1 -1
- package/dist/mjs/types/Interface/models/IUser.js.map +1 -1
- package/dist/mjs/types/index.d.ts +1 -0
- package/dist/mjs/types/index.d.ts.map +1 -1
- package/dist/mjs/types/index.js +1 -0
- package/dist/mjs/types/index.js.map +1 -1
- package/dist/mjs/utils/brands.d.ts.map +1 -1
- package/dist/mjs/utils/brands.js +5 -0
- package/dist/mjs/utils/brands.js.map +1 -1
- package/dist/mjs/utils/checkup.d.ts.map +1 -1
- package/dist/mjs/utils/checkup.js +5 -0
- package/dist/mjs/utils/checkup.js.map +1 -1
- package/dist/mjs/utils/commercialManagement/document.d.ts.map +1 -1
- package/dist/mjs/utils/commercialManagement/document.js +2 -1
- package/dist/mjs/utils/commercialManagement/document.js.map +1 -1
- package/dist/mjs/utils/commercialManagement/recurrence.js +2 -2
- package/dist/mjs/utils/commercialManagement/recurrence.js.map +1 -1
- package/dist/mjs/utils/commercialManagement/vat.d.ts.map +1 -1
- package/dist/mjs/utils/commercialManagement/vat.js +1 -0
- package/dist/mjs/utils/commercialManagement/vat.js.map +1 -1
- package/dist/mjs/utils/date.d.ts.map +1 -1
- package/dist/mjs/utils/date.js +9 -0
- package/dist/mjs/utils/date.js.map +1 -1
- package/dist/mjs/utils/decorators.d.ts.map +1 -1
- package/dist/mjs/utils/decorators.js +3 -4
- package/dist/mjs/utils/decorators.js.map +1 -1
- package/dist/mjs/utils/email.d.ts.map +1 -1
- package/dist/mjs/utils/email.js +22 -0
- package/dist/mjs/utils/email.js.map +1 -1
- package/dist/mjs/utils/isUrl.d.ts.map +1 -1
- package/dist/mjs/utils/isUrl.js +1 -2
- package/dist/mjs/utils/isUrl.js.map +1 -1
- package/dist/mjs/utils/noLodash.d.ts.map +1 -1
- package/dist/mjs/utils/noLodash.js +8 -1
- package/dist/mjs/utils/noLodash.js.map +1 -1
- package/dist/mjs/utils/objectUtils/flattenObject.d.ts.map +1 -1
- package/dist/mjs/utils/objectUtils/flattenObject.js +1 -0
- package/dist/mjs/utils/objectUtils/flattenObject.js.map +1 -1
- package/dist/mjs/utils/objectUtils/fullFlattenObject.d.ts.map +1 -1
- package/dist/mjs/utils/objectUtils/fullFlattenObject.js +1 -0
- package/dist/mjs/utils/objectUtils/fullFlattenObject.js.map +1 -1
- package/dist/mjs/utils/objectUtils/unflattenObject.d.ts.map +1 -1
- package/dist/mjs/utils/objectUtils/unflattenObject.js +0 -1
- package/dist/mjs/utils/objectUtils/unflattenObject.js.map +1 -1
- package/dist/mjs/utils/payment.d.ts.map +1 -1
- package/dist/mjs/utils/payment.js +6 -1
- package/dist/mjs/utils/payment.js.map +1 -1
- package/dist/mjs/utils/phone.d.ts.map +1 -1
- package/dist/mjs/utils/phone.js +1 -0
- package/dist/mjs/utils/phone.js.map +1 -1
- package/dist/mjs/utils/quotation.js +1 -1
- package/dist/mjs/utils/quotation.js.map +1 -1
- package/dist/mjs/utils/social.js +0 -1
- package/dist/mjs/utils/social.js.map +1 -1
- package/dist/mjs/utils/statutsGeneration.js +2 -2
- package/dist/mjs/utils/statutsGeneration.js.map +1 -1
- package/dist/mjs/utils/tests/payment.spec.js +15 -15
- package/dist/mjs/utils/tests/payment.spec.js.map +1 -1
- package/dist/mjs/utils/transforms/boolean.transform.d.ts.map +1 -1
- package/dist/mjs/utils/transforms/boolean.transform.js +3 -1
- package/dist/mjs/utils/transforms/boolean.transform.js.map +1 -1
- package/dist/mjs/utils/vat/3310/century23.d.ts.map +1 -1
- package/dist/mjs/utils/vat/3310/century23.js +23 -0
- package/dist/mjs/utils/vat/3310/century23.js.map +1 -1
- package/dist/mjs/utils/vat/3310/century24.d.ts.map +1 -1
- package/dist/mjs/utils/vat/3310/century24.js +23 -0
- package/dist/mjs/utils/vat/3310/century24.js.map +1 -1
- package/dist/mjs/utils/vat/3517/century23.d.ts.map +1 -1
- package/dist/mjs/utils/vat/3517/century23.js +4 -0
- package/dist/mjs/utils/vat/3517/century23.js.map +1 -1
- package/dist/mjs/utils/vat/registration.d.ts.map +1 -1
- package/dist/mjs/utils/vat/registration.js +0 -1
- package/dist/mjs/utils/vat/registration.js.map +1 -1
- package/eslint.config.mjs +47 -0
- package/package.json +7 -10
- package/ts/api/index.ts +9 -2
- package/ts/api/resources/Employee.ts +1 -0
- package/ts/api/resources/Task.ts +1 -0
- package/ts/index.ts +0 -1
- package/ts/types/Enum/Aspone.ts +32 -32
- package/ts/types/Enum/BalanceSheet.ts +1 -1
- package/ts/types/Enum/BalanceSheetQuestion.ts +2 -0
- package/ts/types/Enum/BalanceSheetQuestionWording.ts +1 -0
- package/ts/types/Enum/RevisionGuide.ts +5 -0
- package/ts/types/Enum/Role.ts +1 -0
- package/ts/types/Enum/SalesContractBrandClementine.ts +4 -4
- package/ts/types/Enum/SalesContractBrandPourcentage.ts +7 -7
- package/ts/types/Enum/TransactionKind.ts +1 -0
- package/ts/types/Enum/TransactionStatus.ts +1 -0
- package/ts/types/Enum/TypePayment.ts +1 -0
- package/ts/types/Interface/api/accountingFiles/Ocr.ts +1 -0
- package/ts/types/Interface/api/checklist/Read.ts +1 -0
- package/ts/types/Interface/api/config/ConfigType.ts +325 -0
- package/ts/types/Interface/api/crisp/GetCrisp.ts +2 -0
- package/ts/types/Interface/api/exerciceQuestion/CreateExerciceQuestion.ts +1 -0
- package/ts/types/Interface/api/journal/Journals.ts +0 -1
- package/ts/types/Interface/api/kilometricAllowance/CreateKilometricAllowanceValidation.ts +1 -0
- package/ts/types/Interface/api/notion/NotionResponse.ts +2 -4
- package/ts/types/Interface/api/pappers/QueryPappers.ts +9 -0
- package/ts/types/Interface/api/promoCode/CreateDefaultPromoCode.ts +1 -0
- package/ts/types/Interface/api/promoCode/ReadDefaultPromotion.ts +1 -0
- package/ts/types/Interface/api/shopify/ShopifyFinancialStatus.ts +1 -0
- package/ts/types/Interface/api/shopify/ShopifyOrder.ts +2 -0
- package/ts/types/Interface/api/shopify/discount_code.ts +1 -0
- package/ts/types/Interface/api/shopify/shipping_line.ts +2 -0
- package/ts/types/Interface/models/IBalanceSheetQuestion.ts +1 -0
- package/ts/types/Interface/models/IFecFile.ts +1 -0
- package/ts/types/Interface/models/IRegistration.ts +1 -0
- package/ts/types/Interface/models/IUser.ts +1 -0
- package/ts/types/index.ts +1 -0
- package/ts/utils/brands.ts +5 -0
- package/ts/utils/checkup.ts +5 -0
- package/ts/utils/commercialManagement/document.ts +3 -2
- package/ts/utils/commercialManagement/recurrence.ts +2 -2
- package/ts/utils/commercialManagement/vat.ts +1 -0
- package/ts/utils/date.ts +9 -0
- package/ts/utils/decorators.ts +5 -4
- package/ts/utils/email.ts +22 -1
- package/ts/utils/isUrl.ts +1 -2
- package/ts/utils/noLodash.ts +7 -1
- package/ts/utils/objectUtils/flattenObject.ts +1 -0
- package/ts/utils/objectUtils/fullFlattenObject.ts +1 -0
- package/ts/utils/objectUtils/unflattenObject.ts +0 -1
- package/ts/utils/payment.ts +8 -3
- package/ts/utils/phone.ts +1 -0
- package/ts/utils/quotation.ts +1 -1
- package/ts/utils/social.ts +1 -1
- package/ts/utils/statutsGeneration.ts +4 -4
- package/ts/utils/tests/payment.spec.ts +15 -15
- package/ts/utils/transforms/boolean.transform.ts +1 -0
- package/ts/utils/vat/3310/century23.ts +24 -0
- package/ts/utils/vat/3310/century24.ts +23 -0
- package/ts/utils/vat/3517/century23.ts +4 -0
- package/ts/utils/vat/registration.ts +0 -1
- package/tsconfig-base.json +1 -2
package/dist/mjs/utils/date.js
CHANGED
|
@@ -10,9 +10,12 @@ export function putIntervalBetweenOtherInterval(customPayload, listHours) {
|
|
|
10
10
|
const hoursObject = listHours;
|
|
11
11
|
const textDate = `${new Date(dateToCompareStart).getFullYear()}-${new Date(dateToCompareStart).getMonth() + 1}-${new Date(dateToCompareStart).getDate()}`;
|
|
12
12
|
// on cherche la bonne specialhour pour comparer les horaires
|
|
13
|
+
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
|
13
14
|
const hoursOfPeriod = hoursObject.filter((h) => (h.endTime && (dateToCompareStart - new Date(`${textDate} ${h.endTime}`).getTime() <= 0)) && (h.startTime && (dateToCompareEnd - new Date(`${textDate} ${h.startTime}`).getTime() >= 0)));
|
|
14
15
|
if (hoursOfPeriod?.length > 0 && hoursOfPeriod[0].startTime && hoursOfPeriod[0].endTime) {
|
|
16
|
+
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
|
15
17
|
const dateStart = new Date(`${textDate} ${hoursOfPeriod[0].startTime}`).getTime();
|
|
18
|
+
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
|
16
19
|
const dateEnd = new Date(`${textDate} ${hoursOfPeriod[0].endTime}`).getTime();
|
|
17
20
|
// on check si les horaires de l'event sont dans les horaires du collab sinon on les fait commencer à l'heure à laquelle il s'est connecté
|
|
18
21
|
res.dateStart = !((dateToCompareStart - dateStart) >= 0 && (dateToCompareStart - dateEnd) <= 0) ? new Date(dateStart) : new Date(dateToCompareStart);
|
|
@@ -27,6 +30,7 @@ export function putIntervalBetweenOtherInterval(customPayload, listHours) {
|
|
|
27
30
|
id: i,
|
|
28
31
|
start: true,
|
|
29
32
|
end: false,
|
|
33
|
+
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
|
30
34
|
diff: Math.abs(dateToCompareStart - new Date(`${textDate} ${listHours[i].startTime}`).getTime()),
|
|
31
35
|
});
|
|
32
36
|
// ajout de la différence entre la date de début de notre événement et la date de fin de notre période
|
|
@@ -34,6 +38,7 @@ export function putIntervalBetweenOtherInterval(customPayload, listHours) {
|
|
|
34
38
|
id: i,
|
|
35
39
|
start: false,
|
|
36
40
|
end: true,
|
|
41
|
+
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
|
37
42
|
diff: Math.abs(dateToCompareStart - new Date(`${textDate} ${listHours[i].endTime}`).getTime()),
|
|
38
43
|
});
|
|
39
44
|
}
|
|
@@ -43,14 +48,18 @@ export function putIntervalBetweenOtherInterval(customPayload, listHours) {
|
|
|
43
48
|
// date de début event = date de début période
|
|
44
49
|
// date de fin event = date de début période + 1 heure
|
|
45
50
|
if (hoursDiff[0].start) {
|
|
51
|
+
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
|
46
52
|
res.dateStart = new Date(`${textDate} ${listHours[hoursDiff[0].id].startTime}`);
|
|
53
|
+
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
|
47
54
|
res.dateEnd = new Date(new Date(`${textDate} ${listHours[hoursDiff[0].id].startTime}`).getTime() + 3600000);
|
|
48
55
|
// si proche de la date de fin :
|
|
49
56
|
// date de début event = date de fin période - 1 heure
|
|
50
57
|
// date de fin event = date de fin période
|
|
51
58
|
}
|
|
52
59
|
else if (hoursDiff[0].end) {
|
|
60
|
+
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
|
53
61
|
res.dateStart = new Date(new Date(`${textDate} ${listHours[hoursDiff[0].id].endTime}`).getTime() - 3600000);
|
|
62
|
+
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
|
54
63
|
res.dateEnd = new Date(`${textDate} ${listHours[hoursDiff[0].id].endTime}`);
|
|
55
64
|
}
|
|
56
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date.js","sourceRoot":"","sources":["../../../ts/utils/date.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @param dateStart Date format YYYY-MM-DD HH:mm:ss\n * @param dateEnd Date format YYYY-MM-DD HH:mm:ss\n * @returns object of time (09:00-10:00, 12:00-13:00 et 14:00-17:00)\n */\nimport {\n DateInterval, TimeInterval,\n} from '../types';\nimport * as dayjs from 'dayjs';\nimport * as timezone from 'dayjs/plugin/timezone';\ndayjs.extend(timezone);\n\n// TODO:UT\nexport function putIntervalBetweenOtherInterval(customPayload: DateInterval, listHours:TimeInterval[]):DateInterval {\n const res:DateInterval = { ...customPayload };\n if (listHours.length > 0 && customPayload?.dateStart && customPayload?.dateEnd) {\n const dateToCompareStart = new Date(customPayload.dateStart).getTime();\n const dateToCompareEnd = new Date(customPayload.dateEnd).getTime();\n const hoursObject = listHours;\n const textDate = `${new Date(dateToCompareStart).getFullYear()}-${new Date(dateToCompareStart).getMonth() + 1}-${new Date(dateToCompareStart).getDate()}`;\n\n // on cherche la bonne specialhour pour comparer les horaires\n const hoursOfPeriod = hoursObject.filter((h) => (h.endTime && (dateToCompareStart - new Date(`${textDate} ${h.endTime}`).getTime() <= 0)) && (h.startTime && (dateToCompareEnd - new Date(`${textDate} ${h.startTime}`).getTime() >= 0)));\n\n if (hoursOfPeriod?.length > 0 && hoursOfPeriod[0].startTime && hoursOfPeriod[0].endTime) {\n const dateStart = new Date(`${textDate} ${hoursOfPeriod[0].startTime}`).getTime();\n const dateEnd = new Date(`${textDate} ${hoursOfPeriod[0].endTime}`).getTime();\n\n // on check si les horaires de l'event sont dans les horaires du collab sinon on les fait commencer à l'heure à laquelle il s'est connecté\n res.dateStart = !((dateToCompareStart - dateStart) >= 0 && (dateToCompareStart - dateEnd) <= 0) ? new Date(dateStart) : new Date(dateToCompareStart);\n res.dateEnd = !((dateToCompareEnd - dateStart) >= 0 && (dateToCompareEnd - dateEnd) <= 0) ? new Date(dateEnd) : new Date(dateToCompareEnd);\n } else if (!hoursOfPeriod?.length) {\n const hoursDiff = [];\n // parcours de la liste des heures de connexions\n for (let i = 0; i < listHours.length; i += 1) {\n // ajout de la différence entre la date de début de notre événement et la date de début de notre période\n hoursDiff.push({\n id: i,\n start: true,\n end: false,\n diff: Math.abs(dateToCompareStart - new Date(`${textDate} ${listHours[i].startTime}`).getTime()),\n });\n // ajout de la différence entre la date de début de notre événement et la date de fin de notre période\n hoursDiff.push({\n id: i,\n start: false,\n end: true,\n diff: Math.abs(dateToCompareStart - new Date(`${textDate} ${listHours[i].endTime}`).getTime()),\n });\n }\n // tri de la liste par différence\n hoursDiff.sort((a, b) => a.diff - b.diff);\n // si proche de la date de début :\n // date de début event = date de début période\n // date de fin event = date de début période + 1 heure\n if (hoursDiff[0].start) {\n res.dateStart = new Date(`${textDate} ${listHours[hoursDiff[0].id].startTime}`);\n res.dateEnd = new Date(new Date(`${textDate} ${listHours[hoursDiff[0].id].startTime}`).getTime() + 3600000);\n // si proche de la date de fin :\n // date de début event = date de fin période - 1 heure\n // date de fin event = date de fin période\n } else if (hoursDiff[0].end) {\n res.dateStart = new Date(new Date(`${textDate} ${listHours[hoursDiff[0].id].endTime}`).getTime() - 3600000);\n res.dateEnd = new Date(`${textDate} ${listHours[hoursDiff[0].id].endTime}`);\n }\n }\n }\n return res;\n}\n\n/**\n * Compare UTC between now and another date (to add or subtract 1h between winter and summer time)\n * @param dateToCompare \n * @returns \n */\nexport function getUtcOffsetDiffWithNow(dateToCompare:Date):number {\n const dateToCompareUtc =\n dayjs(dateToCompare)\n .tz('Europe/Paris')\n .utcOffset() /\n (dayjs(dateToCompare)\n .tz('Europe/Paris')\n .utcOffset() > 16 ||\n dayjs(dateToCompare)\n .tz('Europe/Paris')\n .utcOffset() < 16\n ? 60\n : 1);\n const nowUtc =\n dayjs()\n .tz('Europe/Paris')\n .utcOffset() /\n (dayjs()\n .tz('Europe/Paris')\n .utcOffset() > 16 ||\n dayjs()\n .tz('Europe/Paris')\n .utcOffset() < 16\n ? 60\n : 1);\n return nowUtc - dateToCompareUtc;\n}"]}
|
|
1
|
+
{"version":3,"file":"date.js","sourceRoot":"","sources":["../../../ts/utils/date.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @param dateStart Date format YYYY-MM-DD HH:mm:ss\n * @param dateEnd Date format YYYY-MM-DD HH:mm:ss\n * @returns object of time (09:00-10:00, 12:00-13:00 et 14:00-17:00)\n */\nimport {\n DateInterval, TimeInterval,\n} from '../types';\nimport * as dayjs from 'dayjs';\nimport * as timezone from 'dayjs/plugin/timezone';\ndayjs.extend(timezone);\n\n// TODO:UT\nexport function putIntervalBetweenOtherInterval(customPayload: DateInterval, listHours:TimeInterval[]):DateInterval {\n const res:DateInterval = { ...customPayload };\n if (listHours.length > 0 && customPayload?.dateStart && customPayload?.dateEnd) {\n const dateToCompareStart = new Date(customPayload.dateStart).getTime();\n const dateToCompareEnd = new Date(customPayload.dateEnd).getTime();\n const hoursObject = listHours;\n const textDate = `${new Date(dateToCompareStart).getFullYear()}-${new Date(dateToCompareStart).getMonth() + 1}-${new Date(dateToCompareStart).getDate()}`;\n\n // on cherche la bonne specialhour pour comparer les horaires\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n const hoursOfPeriod = hoursObject.filter((h) => (h.endTime && (dateToCompareStart - new Date(`${textDate} ${h.endTime}`).getTime() <= 0)) && (h.startTime && (dateToCompareEnd - new Date(`${textDate} ${h.startTime}`).getTime() >= 0)));\n\n if (hoursOfPeriod?.length > 0 && hoursOfPeriod[0].startTime && hoursOfPeriod[0].endTime) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n const dateStart = new Date(`${textDate} ${hoursOfPeriod[0].startTime}`).getTime();\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n const dateEnd = new Date(`${textDate} ${hoursOfPeriod[0].endTime}`).getTime();\n\n // on check si les horaires de l'event sont dans les horaires du collab sinon on les fait commencer à l'heure à laquelle il s'est connecté\n res.dateStart = !((dateToCompareStart - dateStart) >= 0 && (dateToCompareStart - dateEnd) <= 0) ? new Date(dateStart) : new Date(dateToCompareStart);\n res.dateEnd = !((dateToCompareEnd - dateStart) >= 0 && (dateToCompareEnd - dateEnd) <= 0) ? new Date(dateEnd) : new Date(dateToCompareEnd);\n } else if (!hoursOfPeriod?.length) {\n const hoursDiff = [];\n // parcours de la liste des heures de connexions\n for (let i = 0; i < listHours.length; i += 1) {\n // ajout de la différence entre la date de début de notre événement et la date de début de notre période\n hoursDiff.push({\n id: i,\n start: true,\n end: false,\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n diff: Math.abs(dateToCompareStart - new Date(`${textDate} ${listHours[i].startTime}`).getTime()),\n });\n // ajout de la différence entre la date de début de notre événement et la date de fin de notre période\n hoursDiff.push({\n id: i,\n start: false,\n end: true,\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n diff: Math.abs(dateToCompareStart - new Date(`${textDate} ${listHours[i].endTime}`).getTime()),\n });\n }\n // tri de la liste par différence\n hoursDiff.sort((a, b) => a.diff - b.diff);\n // si proche de la date de début :\n // date de début event = date de début période\n // date de fin event = date de début période + 1 heure\n if (hoursDiff[0].start) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n res.dateStart = new Date(`${textDate} ${listHours[hoursDiff[0].id].startTime}`);\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n res.dateEnd = new Date(new Date(`${textDate} ${listHours[hoursDiff[0].id].startTime}`).getTime() + 3600000);\n // si proche de la date de fin :\n // date de début event = date de fin période - 1 heure\n // date de fin event = date de fin période\n } else if (hoursDiff[0].end) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n res.dateStart = new Date(new Date(`${textDate} ${listHours[hoursDiff[0].id].endTime}`).getTime() - 3600000);\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n res.dateEnd = new Date(`${textDate} ${listHours[hoursDiff[0].id].endTime}`);\n }\n }\n }\n return res;\n}\n\n/**\n * Compare UTC between now and another date (to add or subtract 1h between winter and summer time)\n * @param dateToCompare \n * @returns \n */\nexport function getUtcOffsetDiffWithNow(dateToCompare:Date):number {\n const dateToCompareUtc =\n dayjs(dateToCompare)\n .tz('Europe/Paris')\n .utcOffset() /\n (dayjs(dateToCompare)\n .tz('Europe/Paris')\n .utcOffset() > 16 ||\n dayjs(dateToCompare)\n .tz('Europe/Paris')\n .utcOffset() < 16\n ? 60\n : 1);\n const nowUtc =\n dayjs()\n .tz('Europe/Paris')\n .utcOffset() /\n (dayjs()\n .tz('Europe/Paris')\n .utcOffset() > 16 ||\n dayjs()\n .tz('Europe/Paris')\n .utcOffset() < 16\n ? 60\n : 1);\n return nowUtc - dateToCompareUtc;\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../../ts/utils/decorators.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../../ts/utils/decorators.ts"],"names":[],"mappings":"AAsBA,eAAO,MAAM,mBAAmB,KAA4D,CAAC;AAC7F,eAAO,MAAM,WAAW,KAAoD,CAAC;;;;;AAG7E,wBAAoD"}
|
|
@@ -1,21 +1,20 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-require-imports */
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-unsafe-return */
|
|
1
3
|
import { isNode } from 'browser-or-node';
|
|
2
4
|
var Library;
|
|
3
5
|
(function (Library) {
|
|
4
6
|
Library["SWAGGER"] = "node_modules/@nestjs/swagger/index.js";
|
|
5
7
|
Library["CLASS_TRANSFORMER"] = "node_modules/class-transformer/cjs/index.js";
|
|
6
8
|
})(Library || (Library = {}));
|
|
7
|
-
// eslint-disable-next-line global-require
|
|
8
9
|
const retrieveDecorator = (library, name) => {
|
|
9
10
|
if (!isNode) {
|
|
10
11
|
return (target, key) => { };
|
|
11
12
|
}
|
|
12
13
|
try {
|
|
13
|
-
// eslint-disable-next-line global-require
|
|
14
14
|
const path = require('path');
|
|
15
|
-
// eslint-disable-next-line global-require,import/no-dynamic-require
|
|
16
15
|
return require(path.resolve(process.cwd(), library))[name];
|
|
17
16
|
}
|
|
18
|
-
catch
|
|
17
|
+
catch {
|
|
19
18
|
return (target, key) => { };
|
|
20
19
|
}
|
|
21
20
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../ts/utils/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,IAAK,OAGJ;AAHD,WAAK,OAAO;IACV,4DAAiD,CAAA;IACjD,4EAAiE,CAAA;AACnE,CAAC,EAHI,OAAO,KAAP,OAAO,QAGX;
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../ts/utils/decorators.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,wDAAwD;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,IAAK,OAGJ;AAHD,WAAK,OAAO;IACV,4DAAiD,CAAA;IACjD,4EAAiE,CAAA;AACnE,CAAC,EAHI,OAAO,KAAP,OAAO,QAGX;AAGD,MAAM,iBAAiB,GAAG,CAAC,OAAgB,EAAE,IAAoD,EAAE,EAAE;IACnG,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,MAAW,EAAE,GAAW,EAAE,EAAE,GAAE,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,CAAC;QAEH,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7B,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;IAAC,MAAO,CAAC;QACR,OAAO,CAAC,MAAW,EAAE,GAAW,EAAE,EAAE,GAAE,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;AAC7F,MAAM,CAAC,MAAM,WAAW,GAAG,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AAC7E,4EAA4E;AAE5E,eAAe,EAAE,mBAAmB,EAAE,WAAW,EAAE,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/no-require-imports */\n/* eslint-disable @typescript-eslint/no-unsafe-return */\nimport { isNode } from 'browser-or-node';\n\nenum Library {\n SWAGGER = 'node_modules/@nestjs/swagger/index.js',\n CLASS_TRANSFORMER = 'node_modules/class-transformer/cjs/index.js',\n}\n\n \nconst retrieveDecorator = (library: Library, name: 'ApiPropertyOptional' | 'ApiProperty' | 'Type') => {\n if (!isNode) {\n return (target: any, key: string) => {};\n }\n try {\n \n const path = require('path');\n return require(path.resolve(process.cwd(), library))[name];\n } catch {\n return (target: any, key: string) => {};\n }\n};\nexport const ApiPropertyOptional = retrieveDecorator(Library.SWAGGER, 'ApiPropertyOptional');\nexport const ApiProperty = retrieveDecorator(Library.SWAGGER, 'ApiProperty');\n// export const Type = retrieveDecorator(Library.CLASS_TRANSFORMER, 'Type');\n\nexport default { ApiPropertyOptional, ApiProperty };\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../../ts/utils/email.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../../ts/utils/email.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAqFxD,wBAAgB,WAAW,CAAC,IAAI,EAAC,KAAK,2EA4CrC;AAyBD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,CAmLrD"}
|
package/dist/mjs/utils/email.js
CHANGED
|
@@ -6,24 +6,41 @@ import { TimeSlot } from '../types/Enum/TimeSlot';
|
|
|
6
6
|
import { getBrandConfig, isItThisEnv } from './brands';
|
|
7
7
|
import { signatureTemplate } from './email/templates/signature';
|
|
8
8
|
import { intersection } from './noLodash';
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
9
10
|
const ejs = require('ejs');
|
|
10
11
|
function getRoleSignature(user) {
|
|
12
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
11
13
|
if (user.positionLabel)
|
|
12
14
|
return user.positionLabel;
|
|
15
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
13
16
|
const isStagiaireOrAlternant = user.roles.map((r) => r.id).includes(Role.INTERN) || user.roles.map((r) => r.id).includes(Role.ALTERNATE);
|
|
17
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
14
18
|
const isManager = user.roles.map((r) => r.id).includes(Role.MANAGER);
|
|
19
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
15
20
|
const isSocial = user.roles.map((r) => r.id).includes(Role.SOCIAL);
|
|
21
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
16
22
|
const isJuridic = user.roles.map((r) => r.id).includes(Role.JURIDIC);
|
|
23
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
17
24
|
const isFacturation = user.roles.map((r) => r.id).includes(Role.FACTURATION);
|
|
25
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
18
26
|
const isExpert = user.roles.map((r) => r.id).includes(Role.EXPERT_ACCOUNTANT);
|
|
27
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
19
28
|
const isCS = user.roles.map((r) => r.id).includes(Role.CUSTOMER_SUCCESS);
|
|
29
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
20
30
|
const isOnBoarder = user.roles.map((r) => r.id).includes(Role.ON_BOARDER);
|
|
31
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
21
32
|
const isTermination = user.roles.map((r) => r.id).includes(Role.TERMINATION);
|
|
33
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
22
34
|
const isLitige = user.roles.map((r) => r.id).includes(Role.LITIGE);
|
|
35
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
23
36
|
const isDataOfficer = user.roles.map((r) => r.id).includes(Role.DATA_OFFICER);
|
|
37
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
24
38
|
const isSales = user.roles.map((r) => r.id).includes(Role.COMMERCIAL);
|
|
39
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
25
40
|
const isAdmin = user.roles.map((r) => r.id).includes(Role.ADMIN);
|
|
41
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
26
42
|
const isTechnicalAdvisor = user.roles.map((r) => r.id).includes(Role.TECHNICAL_ADVISOR);
|
|
43
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
27
44
|
const isFront = !!intersection(user.roles.map((r) => r.id), [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS]).length;
|
|
28
45
|
if (isSales && isManager) {
|
|
29
46
|
return 'Responsable commercial';
|
|
@@ -151,14 +168,17 @@ function getMailSignature(user, idTypeBrand) {
|
|
|
151
168
|
...(idTypeBrand ? { idTypeBrand } : {}),
|
|
152
169
|
objectWaited: 'listMails.bonjour',
|
|
153
170
|
});
|
|
171
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
154
172
|
if (user.roles.map((r) => r.id).includes(Role.ADMIN)) {
|
|
155
173
|
return informatiqueMail;
|
|
156
174
|
}
|
|
175
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
157
176
|
if (user && !!intersection(user.roles.map((r) => r.id), [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS, Role.DATA_OFFICER, Role.COMMERCIAL, Role.TECHNICAL_ADVISOR]).length)
|
|
158
177
|
return user.email;
|
|
159
178
|
return bonjourMail;
|
|
160
179
|
}
|
|
161
180
|
function getPhoneSignature(user) {
|
|
181
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
162
182
|
if (user.phone !== '0383931414') {
|
|
163
183
|
return user.phone.replace(/\B(?=(\d{2})+(?!\d))/g, ' ');
|
|
164
184
|
}
|
|
@@ -247,6 +267,7 @@ export function generateSignature(params) {
|
|
|
247
267
|
};
|
|
248
268
|
mailSignature = dataOfficerMail;
|
|
249
269
|
roleSignature = '';
|
|
270
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
250
271
|
}
|
|
251
272
|
else if (intersection((user?.roles ?? []).map((r) => r.id), [Role.FRONT_OFFICE, Role.SENIOR]).length === 2) { // Signature front senior
|
|
252
273
|
user = {
|
|
@@ -320,6 +341,7 @@ export function generateSignature(params) {
|
|
|
320
341
|
const urlApp = getBrandConfig({ objectWaited: 'urlApp' });
|
|
321
342
|
user.calendlyUrl = `${urlApp}/appointment?uuid=${society?.externalId ? society.externalId : ''}&idType=${idType}`;
|
|
322
343
|
}
|
|
344
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
323
345
|
return ejs.render(signatureTemplate, {
|
|
324
346
|
forceRole,
|
|
325
347
|
isFacturation: user.roles ? user.roles.some((r) => r.id === Role.FACTURATION) : false,
|
|
@@ -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 { EntityType } from '../types/Enum/EntityType';\nimport { Role } from '../types/Enum/Role';\nimport { TimeSlot } from '../types/Enum/TimeSlot';\nimport { IUser } from '../types/Interface/models/IUser';\nimport { getBrandConfig, isItThisEnv } from './brands';\nimport { signatureTemplate } from './email/templates/signature';\nimport { intersection } from './noLodash';\n\nconst ejs = require('ejs');\n\nfunction getRoleSignature(user:any) {\n if (user.positionLabel) return user.positionLabel;\n\n const isStagiaireOrAlternant = user.roles.map((r: any) => r.id).includes(Role.INTERN) || user.roles.map((r: any) => r.id).includes(Role.ALTERNATE);\n const isManager = user.roles.map((r: any) => r.id).includes(Role.MANAGER);\n\n const isSocial = user.roles.map((r: any) => r.id).includes(Role.SOCIAL);\n const isJuridic = user.roles.map((r: any) => r.id).includes(Role.JURIDIC);\n const isFacturation = user.roles.map((r: any) => r.id).includes(Role.FACTURATION);\n const isExpert = user.roles.map((r: any) => r.id).includes(Role.EXPERT_ACCOUNTANT);\n const isCS = user.roles.map((r: any) => r.id).includes(Role.CUSTOMER_SUCCESS);\n const isOnBoarder = user.roles.map((r: any) => r.id).includes(Role.ON_BOARDER);\n const isTermination = user.roles.map((r: any) => r.id).includes(Role.TERMINATION);\n const isLitige = user.roles.map((r: any) => r.id).includes(Role.LITIGE);\n const isDataOfficer = user.roles.map((r: any) => r.id).includes(Role.DATA_OFFICER);\n const isSales = user.roles.map((r: any) => r.id).includes(Role.COMMERCIAL);\n const isAdmin = user.roles.map((r: any) => r.id).includes(Role.ADMIN);\n const isTechnicalAdvisor = user.roles.map((r: any) => r.id).includes(Role.TECHNICAL_ADVISOR);\n const isFront = !!intersection(user.roles.map((r: any) => r.id), [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS]).length;\n\n if (isSales && isManager) { return 'Responsable commercial'; }\n if (isSales) { return `Chargé${user.idCivility === 2 ? 'e' : ''} de clientèle`; }\n\n if (isCS && isManager) { return 'Responsable relations clients'; }\n if (isCS) { return `Conseill${user.idCivility === 2 ? 'ère' : 'er'} comptable`; }\n\n if (isTechnicalAdvisor) { return `Référent${user.idCivility === 2 ? 'e' : ''} technique`; }\n\n if (isOnBoarder && isManager) { return `Responsable chargé${user.idCivility === 2 ? 'e' : ''} accueil clients`; }\n if (isOnBoarder) { return `Chargé${user.idCivility === 2 ? 'e' : ''} accueil clients`; }\n\n if (isTermination && isManager) { return `Responsable chargé${user.idCivility === 2 ? 'e' : ''} de la satisfaction clients`; }\n if (isTermination) { return `Chargé${user.idCivility === 2 ? 'e' : ''} de la satisfaction clients`; }\n\n if (isLitige && isManager) { return `Responsable chargé${user.idCivility === 2 ? 'e' : ''} de la satisfaction clients (Litige)`; }\n if (isLitige) { return `Chargé${user.idCivility === 2 ? 'e' : ''} de la satisfaction clients (Litige)`; }\n\n if (isDataOfficer && isManager) { return 'Responsable aide comptable'; }\n if (isDataOfficer) { return 'Aide comptable'; }\n\n if (isFacturation && isStagiaireOrAlternant) { return 'Assistant facturation'; }\n if (isFacturation && isManager) { return 'Responsable facturation'; }\n if (isFacturation) { return `Chargé${user.idCivility === 2 ? 'e' : ''} de facturation`; }\n\n if (isJuridic && isStagiaireOrAlternant) { return 'Assistant juridique'; }\n if (isJuridic && isManager) { return 'Responsable juridique'; }\n if (isJuridic) { return 'Juriste'; }\n\n if (isSocial && isStagiaireOrAlternant) { return 'Assistant paie'; }\n if (isSocial && isManager) { return 'Responsable paie'; }\n if (isSocial) { return 'Gestionnaire de paie'; }\n\n if (isExpert) { return `Expert${user.idCivility === 2 ? 'e' : ''}-comptable`; }\n\n if (isAdmin) { return 'Développeur web'; }\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}\n\nexport function getHoraires(user:IUser) { // On affiche les horaires uniquement pour les front, et pas pour les TVA\n\n if (isItThisEnv('Pourcentage') && user?.entity && [EntityType.COMPTALIB, EntityType.AMEX, EntityType.CABINET_RONCHIERI_LANDRA].includes(user.entity)) {\n return 'Du lundi au vendredi de 9h à 18h';\n }\n \n return 'Du lundi au vendredi de 9h à 19h';\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 à 19h';\n\n // if (!user.workingSchedules.length) return 'Du lundi au vendredi de 9h à 19h';\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 if (user.roles.map((r: any) => r.id).includes(Role.ADMIN)) { return informatiqueMail; }\n if (user && !!intersection(user.roles.map((r: any) => r.id), [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS, Role.DATA_OFFICER, Role.COMMERCIAL, Role.TECHNICAL_ADVISOR]).length) return user.email;\n return bonjourMail;\n}\n\nfunction getPhoneSignature(user:any) {\n if (user.phone !== '0383931414') { return user.phone.replace(/\\B(?=(\\d{2})+(?!\\d))/g, ' '); }\n return null;\n}\n\nexport function generateSignature(params: any): string {\n const {\n forceRole = null, idTypeBrand = 1, society, ...otherParams\n } = params;\n let {\n user,\n } = 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 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 let roleSignature: string | null;\n let mailSignature: string | null;\n let phoneSignature: string | null;\n let horaires: string | null;\n [roleSignature, mailSignature, phoneSignature, horaires] = ['Expert-Comptable', bonjourMail, null, 'Du lundi au vendredi de 9h à 19h'];\n \n if (user?.roles && user.roles.some((r: any) => r.id === Role.DATA_OFFICER)) { // Signature data_officer\n user = {\n firstname: `L'équipe ${commercialName}`,\n isAll: true,\n };\n mailSignature = dataOfficerMail;\n roleSignature = '';\n } else if (intersection((user?.roles ?? []).map((r: any) => r.id), [Role.FRONT_OFFICE, Role.SENIOR]).length === 2) { // Signature front senior\n user = {\n firstname: `L'équipe ${commercialName}`,\n isAll: true,\n };\n mailSignature = bonjourMail;\n roleSignature = '';\n } else if (forceRole === 'social') { // 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') { // Signature support\n user = {\n firstname: 'Service Support',\n isAll: true,\n };\n mailSignature = supportMail;\n roleSignature = null;\n } else if (forceRole === 'juridique') { // 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') { // 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) { // Signature Clementine\n user = {\n firstname: `L'équipe ${commercialName}`,\n isAll: true,\n };\n roleSignature = '';\n } else if (user !== 0) { // 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 (society?.id && user?.roles?.some((r: any) => [Role.FRONT_OFFICE, Role.FACTURATION, Role.JURIDIC, Role.COMMERCIAL ].includes(r.id)) && user?.usersTimeSlots?.length) {\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.ACCOUNTING_RDV;\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 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}"]}
|
|
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 { EntityType } from '../types/Enum/EntityType';\nimport { Role } from '../types/Enum/Role';\nimport { TimeSlot } from '../types/Enum/TimeSlot';\nimport { IUser } from '../types/Interface/models/IUser';\nimport { getBrandConfig, isItThisEnv } 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 // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isStagiaireOrAlternant = 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 isTermination = user.roles.map((r: any) => r.id).includes(Role.TERMINATION);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isLitige = user.roles.map((r: any) => r.id).includes(Role.LITIGE);\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 // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isFront = !!intersection(user.roles.map((r: any) => r.id), [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS]).length;\n\n if (isSales && isManager) { return 'Responsable commercial'; }\n if (isSales) { return `Chargé${user.idCivility === 2 ? 'e' : ''} de clientèle`; }\n\n if (isCS && isManager) { return 'Responsable relations clients'; }\n if (isCS) { return `Conseill${user.idCivility === 2 ? 'ère' : 'er'} comptable`; }\n\n if (isTechnicalAdvisor) { return `Référent${user.idCivility === 2 ? 'e' : ''} technique`; }\n\n if (isOnBoarder && isManager) { return `Responsable chargé${user.idCivility === 2 ? 'e' : ''} accueil clients`; }\n if (isOnBoarder) { return `Chargé${user.idCivility === 2 ? 'e' : ''} accueil clients`; }\n\n if (isTermination && isManager) { return `Responsable chargé${user.idCivility === 2 ? 'e' : ''} de la satisfaction clients`; }\n if (isTermination) { return `Chargé${user.idCivility === 2 ? 'e' : ''} de la satisfaction clients`; }\n\n if (isLitige && isManager) { return `Responsable chargé${user.idCivility === 2 ? 'e' : ''} de la satisfaction clients (Litige)`; }\n if (isLitige) { return `Chargé${user.idCivility === 2 ? 'e' : ''} de la satisfaction clients (Litige)`; }\n\n if (isDataOfficer && isManager) { return 'Responsable aide comptable'; }\n if (isDataOfficer) { return 'Aide comptable'; }\n\n if (isFacturation && isStagiaireOrAlternant) { return 'Assistant facturation'; }\n if (isFacturation && isManager) { return 'Responsable facturation'; }\n if (isFacturation) { return `Chargé${user.idCivility === 2 ? 'e' : ''} de facturation`; }\n\n if (isJuridic && isStagiaireOrAlternant) { return 'Assistant juridique'; }\n if (isJuridic && isManager) { return 'Responsable juridique'; }\n if (isJuridic) { return 'Juriste'; }\n\n if (isSocial && isStagiaireOrAlternant) { return 'Assistant paie'; }\n if (isSocial && isManager) { return 'Responsable paie'; }\n if (isSocial) { return 'Gestionnaire de paie'; }\n\n if (isExpert) { return `Expert${user.idCivility === 2 ? 'e' : ''}-comptable`; }\n\n if (isAdmin) { return 'Développeur web'; }\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}\n\nexport function getHoraires(user:IUser) { // On affiche les horaires uniquement pour les front, et pas pour les TVA\n\n if (isItThisEnv('Pourcentage') && user?.entity && [EntityType.COMPTALIB, EntityType.AMEX, EntityType.CABINET_RONCHIERI_LANDRA].includes(user.entity)) {\n return 'Du lundi au vendredi de 9h à 18h';\n }\n \n return 'Du lundi au vendredi de 9h à 19h';\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 à 19h';\n\n // if (!user.workingSchedules.length) return 'Du lundi au vendredi de 9h à 19h';\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)) { return informatiqueMail; }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n if (user && !!intersection(user.roles.map((r: any) => r.id), [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS, Role.DATA_OFFICER, Role.COMMERCIAL, Role.TECHNICAL_ADVISOR]).length) return user.email;\n return bonjourMail;\n}\n\nfunction getPhoneSignature(user:any) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n if (user.phone !== '0383931414') { return user.phone.replace(/\\B(?=(\\d{2})+(?!\\d))/g, ' '); }\n return null;\n}\n\nexport function generateSignature(params: any): string {\n const {\n forceRole = null, idTypeBrand = 1, society, ...otherParams\n } = params;\n let {\n user,\n } = 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 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 let roleSignature: string | null;\n let mailSignature: string | null;\n let phoneSignature: string | null;\n let horaires: string | null;\n [roleSignature, mailSignature, phoneSignature, horaires] = ['Expert-Comptable', bonjourMail, null, 'Du lundi au vendredi de 9h à 19h'];\n \n if (user?.roles && user.roles.some((r: any) => r.id === Role.DATA_OFFICER)) { // Signature data_officer\n user = {\n firstname: `L'équipe ${commercialName}`,\n isAll: true,\n };\n mailSignature = dataOfficerMail;\n roleSignature = '';\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n } else if (intersection((user?.roles ?? []).map((r: any) => r.id), [Role.FRONT_OFFICE, Role.SENIOR]).length === 2) { // Signature front senior\n user = {\n firstname: `L'équipe ${commercialName}`,\n isAll: true,\n };\n mailSignature = bonjourMail;\n roleSignature = '';\n } else if (forceRole === 'social') { // 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') { // Signature support\n user = {\n firstname: 'Service Support',\n isAll: true,\n };\n mailSignature = supportMail;\n roleSignature = null;\n } else if (forceRole === 'juridique') { // 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') { // 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) { // Signature Clementine\n user = {\n firstname: `L'équipe ${commercialName}`,\n isAll: true,\n };\n roleSignature = '';\n } else if (user !== 0) { // 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 (society?.id && user?.roles?.some((r: any) => [Role.FRONT_OFFICE, Role.FACTURATION, Role.JURIDIC, Role.COMMERCIAL ].includes(r.id)) && user?.usersTimeSlots?.length) {\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.ACCOUNTING_RDV;\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}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isUrl.d.ts","sourceRoot":"","sources":["../../../ts/utils/isUrl.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"isUrl.d.ts","sourceRoot":"","sources":["../../../ts/utils/isUrl.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAO5C"}
|
package/dist/mjs/utils/isUrl.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isUrl.js","sourceRoot":"","sources":["../../../ts/utils/isUrl.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAC,KAAa;IACjC,IAAI,CAAC;QACH,
|
|
1
|
+
{"version":3,"file":"isUrl.js","sourceRoot":"","sources":["../../../ts/utils/isUrl.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAC,KAAa;IACjC,IAAI,CAAC;QACH,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC","sourcesContent":["/**\n * Function to check if a string is a valid url\n * @param value - The string to verify\n * @returns {boolean}\n */\nexport function isUrl(value: string): boolean {\n try {\n new URL(value);\n return true;\n } catch {\n return false;\n }\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"noLodash.d.ts","sourceRoot":"","sources":["../../../ts/utils/noLodash.ts"],"names":[],"mappings":"AAAA,wBAAgB,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,GAAG,uBAOxD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAMzD;
|
|
1
|
+
{"version":3,"file":"noLodash.d.ts","sourceRoot":"","sources":["../../../ts/utils/noLodash.ts"],"names":[],"mappings":"AAAA,wBAAgB,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,GAAG,uBAOxD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAMzD;AAGD,eAAO,MAAM,UAAU,SAAU,GAAG,EAAE,QAAQ,GAAG,EAAE,UAA0C,CAAC;AAE9F,eAAO,MAAM,MAAM,GAAI,CAAC,OAAO,CAAC,EAAE,OAAO,MAAM,CAAC,KAAG,CAAC,EAWnD,CAAC;AAEF,eAAO,MAAM,KAAK,GAAI,CAAC,SAAS,WAAW,QACnC,CAAC,GAAG,CAAM,IAAD,CAAC,GAAG,MAAM,GAAE,GAAG,GAAG,CAAgB,IAAX,WAAW,CAAC,CAAC,EAAE,OAAO,GAAE,CAAC,EAAE,OAC5D,CAAC,WAGP,CAAC;AAGF,eAAO,MAAM,MAAM,QAAU,GAAG,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,KAAK,GAAG,UAG/C,GAAG,MAAM,GAAG,QAEzB,CAAC;AAGF,eAAO,MAAM,UAAU,QAAS,GAAG,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,KAAK,GAAG,UAGlD,GAAG,MAAM,GAAG,QAEzB,CAAC;AAGF,eAAO,MAAM,OAAO,SAAU,GAAG,EAAE,UAAU,GAAG,EAAE,iBAejD,CAAC;AAGF,MAAM,MAAM,YAAY,CAAC,GAAG,EAAE,IAAI,IAChC,IAAI,SAAS,GAAG,MAAM,IAAI,IAAI,MAAM,KAAK,EAAE,GACvC,IAAI,SAAS,MAAM,GAAG,GACpB,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,GAC9B,SAAS,GACX,IAAI,SAAS,MAAM,GAAG,GACpB,GAAG,CAAC,IAAI,CAAC,GACT,SAAS,CAAC;AAClB,wBAAgB,QAAQ,CACtB,KAAK,EACL,KAAK,SAAS,MAAM,EACpB,QAAQ,GAAG,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,EAErC,IAAI,EAAE,KAAK,EACX,IAAI,EAAE,KAAK,EACX,YAAY,CAAC,EAAE,QAAQ,GACtB,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,QAAQ,CAWvC"}
|
|
@@ -18,10 +18,12 @@ export function intersection(arr1, arr2) {
|
|
|
18
18
|
// Utilisation de l'opérateur spread (...) pour convertir le Set en tableau
|
|
19
19
|
return [...set1].filter((element) => set2.has(element));
|
|
20
20
|
}
|
|
21
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
21
22
|
export const difference = (arr1, arr2) => arr1.filter((x) => !arr2.includes(x));
|
|
22
23
|
export const uniqBy = (arr, key) => {
|
|
23
24
|
return Object.values(arr.reduce((map, item) => ({
|
|
24
25
|
...map,
|
|
26
|
+
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions, @typescript-eslint/no-base-to-string
|
|
25
27
|
[`${item[key]}`]: item,
|
|
26
28
|
}), {}));
|
|
27
29
|
};
|
|
@@ -32,6 +34,7 @@ export const sumBy = (list, key) => {
|
|
|
32
34
|
export const sortBy = (key, cb) => {
|
|
33
35
|
if (!cb)
|
|
34
36
|
cb = () => 0;
|
|
37
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
35
38
|
return (a, b) => (a[key] > b[key]) ? 1
|
|
36
39
|
: ((b[key] > a[key]) ? -1 : cb(a, b));
|
|
37
40
|
};
|
|
@@ -39,6 +42,7 @@ export const sortBy = (key, cb) => {
|
|
|
39
42
|
export const sortByDesc = (key, cb) => {
|
|
40
43
|
if (!cb)
|
|
41
44
|
cb = () => 0;
|
|
45
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
42
46
|
return (b, a) => (a[key] > b[key]) ? 1
|
|
43
47
|
: ((b[key] > a[key]) ? -1 : cb(b, a));
|
|
44
48
|
};
|
|
@@ -65,7 +69,10 @@ export function getValue(data, path, defaultValue) {
|
|
|
65
69
|
const value = path
|
|
66
70
|
.split(/[.[\]]/)
|
|
67
71
|
.filter(Boolean)
|
|
68
|
-
.reduce(
|
|
72
|
+
.reduce(
|
|
73
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
74
|
+
(v, key) => v?.[key], data);
|
|
75
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
69
76
|
return value !== undefined ? value : defaultValue;
|
|
70
77
|
}
|
|
71
78
|
//# sourceMappingURL=noLodash.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"noLodash.js","sourceRoot":"","sources":["../../../ts/utils/noLodash.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"noLodash.js","sourceRoot":"","sources":["../../../ts/utils/noLodash.ts"],"names":[],"mappings":"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","sourcesContent":["export function groupBy<T>(arr: T[], fn: (item: T) => any) {\n return arr.reduce<Record<string, T[]>>((prev, curr) => {\n const groupKey = fn(curr);\n const group = prev[groupKey] || [];\n group.push(curr);\n return { ...prev, [groupKey]: group };\n }, {});\n}\n\n/**\n * Compare 2 arrays of elements and returns an array of common elements\n * @param arr1 first array to compare\n * @param arr2 second array to compare\n * @returns an array which contains commun elements between 2 arrays\n */\nexport function intersection<T>(arr1: T[], arr2: T[]): T[] {\n const set1 = new Set(arr1);\n const set2 = new Set(arr2);\n\n // Utilisation de l'opérateur spread (...) pour convertir le Set en tableau\n return [...set1].filter((element) => set2.has(element));\n}\n\n// eslint-disable-next-line @typescript-eslint/no-unsafe-return\nexport const difference = (arr1: any[], arr2: any[]) => arr1.filter((x) => !arr2.includes(x));\n\nexport const uniqBy = <T>(arr: T[], key: keyof T): T[] => {\n return Object.values(\n arr.reduce(\n (map, item) => ({\n ...map,\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions, @typescript-eslint/no-base-to-string\n [`${item[key]}`]: item,\n }),\n {},\n ),\n );\n};\n\nexport const sumBy = <T extends PropertyKey>(\n list: ({ [K in T]: number } & { [K in PropertyKey]?: unknown })[],\n key: T,\n) => {\n return list.reduce((sum, item) => sum + item[key], 0);\n};\n\n// À contrôler\nexport const sortBy = (key: any, cb: (a: any, b: any) => any) => {\n if (!cb) cb = () => 0;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return (a?: any, b?: any) => (a[key] > b[key]) ? 1\n : ((b[key] > a[key]) ? -1 : cb(a, b));\n};\n \n// À contrôler\nexport const sortByDesc = (key: any, cb: (a: any, b: any) => any) => {\n if (!cb) cb = () => 0;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return (b?: any, a?: any) => (a[key] > b[key]) ? 1\n : ((b[key] > a[key]) ? -1 : cb(b, a));\n};\n \n// À contrôler\nexport const orderBy = (keys: any[], orders: any[]) => {\n let cb = () => 0;\n keys.reverse();\n orders.reverse();\n for (const [i, key] of keys.entries()) {\n const order = orders[i];\n if (order == 'asc') {\n cb = sortBy(key, cb);\n } else if (order == 'desc') {\n cb = sortByDesc(key, cb);\n } else {\n throw new Error(`Unsupported order \"${order}\"`);\n }\n }\n return cb;\n};\n\n// _.get() replacement\nexport type GetFieldType<Obj, Path> =\n Path extends `${infer Left}.${infer Right}`\n ? Left extends keyof Obj\n ? GetFieldType<Obj[Left], Right>\n : undefined\n : Path extends keyof Obj\n ? Obj[Path]\n : undefined;\nexport function getValue<\n TData,\n TPath extends string,\n TDefault = GetFieldType<TData, TPath>,\n>(\n data: TData,\n path: TPath,\n defaultValue?: TDefault,\n): GetFieldType<TData, TPath> | TDefault {\n const value = path\n .split(/[.[\\]]/)\n .filter(Boolean)\n .reduce<GetFieldType<TData, TPath>>(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n (v, key) => (v as any)?.[key],\n data as any,\n );\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return value !== undefined ? value : (defaultValue as any);\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flattenObject.d.ts","sourceRoot":"","sources":["../../../../ts/utils/objectUtils/flattenObject.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,SAAM,GAAG,GAAG,
|
|
1
|
+
{"version":3,"file":"flattenObject.d.ts","sourceRoot":"","sources":["../../../../ts/utils/objectUtils/flattenObject.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,SAAM,GAAG,GAAG,CAO/D"}
|
|
@@ -8,6 +8,7 @@ import { isValidObject } from './isValidObject';
|
|
|
8
8
|
* @param separator the string used to separate paths in keys
|
|
9
9
|
*/
|
|
10
10
|
export function flattenObject(object, separator = '.') {
|
|
11
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
11
12
|
const walker = (child, path = []) => Object.assign({}, ...Object.keys(child).map((key) => (isValidObject(child[key])
|
|
12
13
|
? walker(child[key], path.concat([key]))
|
|
13
14
|
: { [path.concat([key]).join(separator)]: child[key] })));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flattenObject.js","sourceRoot":"","sources":["../../../../ts/utils/objectUtils/flattenObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,MAAW,EAAE,SAAS,GAAG,GAAG;IACxD,MAAM,MAAM,GAAG,CAAC,KAA6B,EAAE,OAAsB,EAAE,EAAO,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9J,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAE5D,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;AAC/B,CAAC","sourcesContent":["import { isValidObject } from './isValidObject';\n\n/**\n * Flattens an object to a one-level deep Object.\n *\n * The keys of the newly created object correspond to the original \"path\" in the `object`.\n * Can be unflattened using the [[ unflattenObject ]] function.\n * @param object the object to flatten\n * @param separator the string used to separate paths in keys\n */\nexport function flattenObject(object: any, separator = '.'): any {\n const walker = (child: { [key: string]: any }, path: Array<string> = []): any => Object.assign({}, ...Object.keys(child).map((key) => (isValidObject(child[key])\n ? walker(child[key], path.concat([key]))\n : { [path.concat([key]).join(separator)]: child[key] })));\n\n return { ...walker(object) };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"flattenObject.js","sourceRoot":"","sources":["../../../../ts/utils/objectUtils/flattenObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,MAAW,EAAE,SAAS,GAAG,GAAG;IACxD,+DAA+D;IAC/D,MAAM,MAAM,GAAG,CAAC,KAA6B,EAAE,OAAsB,EAAE,EAAO,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9J,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAE5D,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;AAC/B,CAAC","sourcesContent":["import { isValidObject } from './isValidObject';\n\n/**\n * Flattens an object to a one-level deep Object.\n *\n * The keys of the newly created object correspond to the original \"path\" in the `object`.\n * Can be unflattened using the [[ unflattenObject ]] function.\n * @param object the object to flatten\n * @param separator the string used to separate paths in keys\n */\nexport function flattenObject(object: any, separator = '.'): any {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const walker = (child: { [key: string]: any }, path: Array<string> = []): any => Object.assign({}, ...Object.keys(child).map((key) => (isValidObject(child[key])\n ? walker(child[key], path.concat([key]))\n : { [path.concat([key]).join(separator)]: child[key] })));\n\n return { ...walker(object) };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fullFlattenObject.d.ts","sourceRoot":"","sources":["../../../../ts/utils/objectUtils/fullFlattenObject.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,
|
|
1
|
+
{"version":3,"file":"fullFlattenObject.d.ts","sourceRoot":"","sources":["../../../../ts/utils/objectUtils/fullFlattenObject.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,CAMlD"}
|
|
@@ -4,6 +4,7 @@ import { isValidObject } from './isValidObject';
|
|
|
4
4
|
* @param object the object to full flatten
|
|
5
5
|
*/
|
|
6
6
|
export function fullFlattenObject(object) {
|
|
7
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
7
8
|
const walker = (child) => Object.assign({}, ...Object.keys(child).map((key) => (isValidObject(child[key])
|
|
8
9
|
? walker(child[key]) : { [key]: child[key] })));
|
|
9
10
|
return { ...walker(object) };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fullFlattenObject.js","sourceRoot":"","sources":["../../../../ts/utils/objectUtils/fullFlattenObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAW;IAC3C,MAAM,MAAM,GAAG,CAAC,KAA6B,EAAO,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5I,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAElD,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;AAC/B,CAAC","sourcesContent":["import { isValidObject } from './isValidObject';\n\n/**\n * Like flattenObject, but instead of keeping the path in the new key, replace it.\n * @param object the object to full flatten\n */\nexport function fullFlattenObject(object: any): any {\n const walker = (child: { [key: string]: any }): any => Object.assign({}, ...Object.keys(child).map((key: string) => (isValidObject(child[key])\n ? walker(child[key]) : { [key]: child[key] })));\n\n return { ...walker(object) };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"fullFlattenObject.js","sourceRoot":"","sources":["../../../../ts/utils/objectUtils/fullFlattenObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAW;IAC3C,+DAA+D;IAC/D,MAAM,MAAM,GAAG,CAAC,KAA6B,EAAO,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5I,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAElD,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;AAC/B,CAAC","sourcesContent":["import { isValidObject } from './isValidObject';\n\n/**\n * Like flattenObject, but instead of keeping the path in the new key, replace it.\n * @param object the object to full flatten\n */\nexport function fullFlattenObject(object: any): any {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const walker = (child: { [key: string]: any }): any => Object.assign({}, ...Object.keys(child).map((key: string) => (isValidObject(child[key])\n ? walker(child[key]) : { [key]: child[key] })));\n\n return { ...walker(object) };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unflattenObject.d.ts","sourceRoot":"","sources":["../../../../ts/utils/objectUtils/unflattenObject.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"unflattenObject.d.ts","sourceRoot":"","sources":["../../../../ts/utils/objectUtils/unflattenObject.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAAE,SAAS,SAAM,GAAG,GAAG,CAUpF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unflattenObject.js","sourceRoot":"","sources":["../../../../ts/utils/objectUtils/unflattenObject.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"unflattenObject.js","sourceRoot":"","sources":["../../../../ts/utils/objectUtils/unflattenObject.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,MAA8B,EAAE,SAAS,GAAG,GAAG;IAC7E,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAyB,EAAE,CAAS,EAAE,CAAS,EAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9G,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IACnB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["/**\n * Unflattens a flattened `object`.\n * @param object the flattened object with \"pathed\" keys.\n * @param separator the string on which to separate paths in keys\n */\nexport function unflattenObject(object: { [key: string]: any }, separator = '.'): any {\n const result = {};\n for (const i in object) {\n const keys = i.split(separator);\n keys.reduce((r: { [key: string]: any }, e: string, j: number): any => r[e] || (r[e] = isNaN(Number(keys[j + 1]))\n ? (keys.length - 1 == j ? object[i] : {})\n : []), result);\n }\n\n return result;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../../../ts/utils/payment.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAe,qBAAqB,EAAiB,WAAW,EAA0B,MAAM,UAAU,CAAC;AAK5H,UAAU,gBAAiB,SAAQ,QAAQ;IACzC,IAAI,EAAE,aAAa,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC;IAC7D,YAAY,EAAE,QAAQ,EAAE,CAAA;CACzB;AAED;;;;;;;;;GASG;AACH,QAAA,MAAM,0BAA0B,aAAc,QAAQ,EAAE,UAAS,CAAC,aAAa,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC,EAAE,KAA2D,gBAAgB,EAoCrM,CAAC;AAoBF;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAM,qBAAqB,WAAY,qBAAqB,KAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../../../ts/utils/payment.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAe,qBAAqB,EAAiB,WAAW,EAA0B,MAAM,UAAU,CAAC;AAK5H,UAAU,gBAAiB,SAAQ,QAAQ;IACzC,IAAI,EAAE,aAAa,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC;IAC7D,YAAY,EAAE,QAAQ,EAAE,CAAA;CACzB;AAED;;;;;;;;;GASG;AACH,QAAA,MAAM,0BAA0B,aAAc,QAAQ,EAAE,UAAS,CAAC,aAAa,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC,EAAE,KAA2D,gBAAgB,EAoCrM,CAAC;AAoBF;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAM,qBAAqB,WAAY,qBAAqB,KAAE,WAAW,EAwRxE,CAAC;AAEF,OAAO,EACL,0BAA0B,EAAE,qBAAqB,GAClD,CAAC"}
|
|
@@ -82,12 +82,17 @@ const calculatePaymentsAuto = (params) => {
|
|
|
82
82
|
const { idTypeBrand, isWithApplicationFees, firstExerciceNonExpresssEndDate, idPrestation, idLegalForm, prestationList, idVat, yearlyAmountNonExpress, nextYearlyAmountNonExpress, listPartialExercicePrestationExpress, listRegulations, recoveryDate } = params;
|
|
83
83
|
if (!yearlyAmountNonExpress)
|
|
84
84
|
throw new Error('Le montant annuel des prestations non express ne peut pas être nul.');
|
|
85
|
-
|
|
85
|
+
// Si on est dans les 3 derniers jours du mois actuel,
|
|
86
|
+
// on ne le compte pas et on facture à partir du début de mois suivant
|
|
87
|
+
let initializedPaymentDate = dayjs().endOf('month').diff(dayjs(), 'day') < 3 /* || dayjs().date() >= 14 */
|
|
86
88
|
? dayjs().add(2, 'month').startOf('month').toDate()
|
|
87
89
|
: dayjs().add(1, 'month').startOf('month').toDate();
|
|
88
90
|
//Si date de reprise, alors on initialise à cette date
|
|
89
91
|
if (recoveryDate && dayjs(recoveryDate).isAfter(dayjs(), 'month')) {
|
|
90
92
|
initializedPaymentDate = dayjs(recoveryDate).startOf('month').toDate();
|
|
93
|
+
//Si jour de la date de reprise >= 14, alors on débute la facturation 1 mois plus tard
|
|
94
|
+
if (dayjs(initializedPaymentDate).date() >= 14)
|
|
95
|
+
initializedPaymentDate = dayjs(initializedPaymentDate).add(1, 'month').startOf('month').toDate();
|
|
91
96
|
}
|
|
92
97
|
// On récupère la grille tarifaire pour savoir si les tarifs sont HT ou TTC
|
|
93
98
|
// et pour connaitre le montant du coût de l'app
|