@silexpert/core 1.3.206-esm-2 → 1.3.206

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.
Files changed (134) hide show
  1. package/dist/cjs/types/Enum/TaskResponseType.d.ts.map +1 -1
  2. package/dist/cjs/types/Enum/TaskResponseType.js +0 -11
  3. package/dist/cjs/types/Enum/TaskResponseType.js.map +1 -1
  4. package/dist/cjs/types/Enum/Unit.js +1 -1
  5. package/dist/cjs/types/Enum/Unit.js.map +1 -1
  6. package/dist/cjs/utils/checkup.d.ts.map +1 -1
  7. package/dist/cjs/utils/checkup.js +2 -3
  8. package/dist/cjs/utils/checkup.js.map +1 -1
  9. package/dist/cjs/utils/commercialManagement/document.js +4 -4
  10. package/dist/cjs/utils/commercialManagement/document.js.map +1 -1
  11. package/dist/cjs/utils/commercialManagement/recurrence.js +7 -7
  12. package/dist/cjs/utils/commercialManagement/recurrence.js.map +1 -1
  13. package/dist/cjs/utils/commercialOffer.d.ts.map +1 -1
  14. package/dist/cjs/utils/commercialOffer.js +4 -6
  15. package/dist/cjs/utils/commercialOffer.js.map +1 -1
  16. package/dist/cjs/utils/date.d.ts.map +1 -1
  17. package/dist/cjs/utils/date.js +8 -15
  18. package/dist/cjs/utils/date.js.map +1 -1
  19. package/dist/cjs/utils/documents.js +3 -3
  20. package/dist/cjs/utils/documents.js.map +1 -1
  21. package/dist/cjs/utils/email.js +1 -1
  22. package/dist/cjs/utils/email.js.map +1 -1
  23. package/dist/cjs/utils/exercice.js +7 -7
  24. package/dist/cjs/utils/exercice.js.map +1 -1
  25. package/dist/cjs/utils/payment.js +23 -23
  26. package/dist/cjs/utils/payment.js.map +1 -1
  27. package/dist/cjs/utils/prestation.js +3 -3
  28. package/dist/cjs/utils/prestation.js.map +1 -1
  29. package/dist/cjs/utils/quotation.js +2 -2
  30. package/dist/cjs/utils/quotation.js.map +1 -1
  31. package/dist/cjs/utils/societyApproval.js +7 -7
  32. package/dist/cjs/utils/societyApproval.js.map +1 -1
  33. package/dist/cjs/utils/tests/payment.spec.js +42 -42
  34. package/dist/cjs/utils/tests/payment.spec.js.map +1 -1
  35. package/dist/cjs/utils/vat/3310/century24.js +8 -8
  36. package/dist/cjs/utils/vat/3310/century24.js.map +1 -1
  37. package/dist/cjs/utils/vat/3310/century25.js +8 -8
  38. package/dist/cjs/utils/vat/3310/century25.js.map +1 -1
  39. package/dist/cjs/utils/vat/3310/century26.js +8 -8
  40. package/dist/cjs/utils/vat/3310/century26.js.map +1 -1
  41. package/dist/cjs/utils/vat/3514/century22.js +5 -5
  42. package/dist/cjs/utils/vat/3514/century22.js.map +1 -1
  43. package/dist/cjs/utils/vat/3517/century25.js +66 -66
  44. package/dist/cjs/utils/vat/3517/century25.js.map +1 -1
  45. package/dist/cjs/utils/vat/3517/century26.js +13 -13
  46. package/dist/cjs/utils/vat/3517/century26.js.map +1 -1
  47. package/dist/cjs/utils/vat/3519/century17.js +3 -3
  48. package/dist/cjs/utils/vat/3519/century17.js.map +1 -1
  49. package/dist/cjs/utils/vat/3519/century23.js +3 -3
  50. package/dist/cjs/utils/vat/3519/century23.js.map +1 -1
  51. package/dist/cjs/utils/vat/centuries.js +7 -7
  52. package/dist/cjs/utils/vat/centuries.js.map +1 -1
  53. package/dist/cjs/utils/vat/registration.js +4 -4
  54. package/dist/cjs/utils/vat/registration.js.map +1 -1
  55. package/dist/mjs/types/Enum/TaskResponseType.d.ts.map +1 -1
  56. package/dist/mjs/types/Enum/TaskResponseType.js +0 -11
  57. package/dist/mjs/types/Enum/TaskResponseType.js.map +1 -1
  58. package/dist/mjs/types/Enum/Unit.js +1 -1
  59. package/dist/mjs/types/Enum/Unit.js.map +1 -1
  60. package/dist/mjs/utils/checkup.d.ts.map +1 -1
  61. package/dist/mjs/utils/checkup.js +1 -2
  62. package/dist/mjs/utils/checkup.js.map +1 -1
  63. package/dist/mjs/utils/commercialManagement/document.js +1 -1
  64. package/dist/mjs/utils/commercialManagement/document.js.map +1 -1
  65. package/dist/mjs/utils/commercialManagement/recurrence.js +5 -5
  66. package/dist/mjs/utils/commercialManagement/recurrence.js.map +1 -1
  67. package/dist/mjs/utils/commercialOffer.d.ts.map +1 -1
  68. package/dist/mjs/utils/commercialOffer.js +4 -6
  69. package/dist/mjs/utils/commercialOffer.js.map +1 -1
  70. package/dist/mjs/utils/date.d.ts.map +1 -1
  71. package/dist/mjs/utils/date.js +5 -12
  72. package/dist/mjs/utils/date.js.map +1 -1
  73. package/dist/mjs/utils/documents.js +1 -1
  74. package/dist/mjs/utils/documents.js.map +1 -1
  75. package/dist/mjs/utils/email.js +1 -1
  76. package/dist/mjs/utils/email.js.map +1 -1
  77. package/dist/mjs/utils/exercice.js +1 -1
  78. package/dist/mjs/utils/exercice.js.map +1 -1
  79. package/dist/mjs/utils/payment.js +1 -1
  80. package/dist/mjs/utils/payment.js.map +1 -1
  81. package/dist/mjs/utils/prestation.js +1 -1
  82. package/dist/mjs/utils/prestation.js.map +1 -1
  83. package/dist/mjs/utils/quotation.js +1 -1
  84. package/dist/mjs/utils/quotation.js.map +1 -1
  85. package/dist/mjs/utils/societyApproval.js +1 -1
  86. package/dist/mjs/utils/societyApproval.js.map +1 -1
  87. package/dist/mjs/utils/tests/payment.spec.js +1 -1
  88. package/dist/mjs/utils/tests/payment.spec.js.map +1 -1
  89. package/dist/mjs/utils/vat/3310/century24.js +1 -1
  90. package/dist/mjs/utils/vat/3310/century24.js.map +1 -1
  91. package/dist/mjs/utils/vat/3310/century25.js +1 -1
  92. package/dist/mjs/utils/vat/3310/century25.js.map +1 -1
  93. package/dist/mjs/utils/vat/3310/century26.js +1 -1
  94. package/dist/mjs/utils/vat/3310/century26.js.map +1 -1
  95. package/dist/mjs/utils/vat/3514/century22.js +3 -3
  96. package/dist/mjs/utils/vat/3514/century22.js.map +1 -1
  97. package/dist/mjs/utils/vat/3517/century25.js +54 -54
  98. package/dist/mjs/utils/vat/3517/century25.js.map +1 -1
  99. package/dist/mjs/utils/vat/3517/century26.js +1 -1
  100. package/dist/mjs/utils/vat/3517/century26.js.map +1 -1
  101. package/dist/mjs/utils/vat/3519/century17.js +1 -1
  102. package/dist/mjs/utils/vat/3519/century17.js.map +1 -1
  103. package/dist/mjs/utils/vat/3519/century23.js +1 -1
  104. package/dist/mjs/utils/vat/3519/century23.js.map +1 -1
  105. package/dist/mjs/utils/vat/centuries.js +1 -1
  106. package/dist/mjs/utils/vat/centuries.js.map +1 -1
  107. package/dist/mjs/utils/vat/registration.js +1 -1
  108. package/dist/mjs/utils/vat/registration.js.map +1 -1
  109. package/package.json +3 -3
  110. package/ts/types/Enum/TaskResponseType.ts +0 -11
  111. package/ts/types/Enum/Unit.ts +1 -1
  112. package/ts/utils/checkup.ts +1 -2
  113. package/ts/utils/commercialManagement/document.ts +1 -1
  114. package/ts/utils/commercialManagement/recurrence.ts +5 -5
  115. package/ts/utils/commercialOffer.ts +3 -4
  116. package/ts/utils/date.ts +4 -9
  117. package/ts/utils/documents.ts +1 -1
  118. package/ts/utils/email.ts +1 -1
  119. package/ts/utils/exercice.ts +1 -1
  120. package/ts/utils/payment.ts +1 -1
  121. package/ts/utils/prestation.ts +1 -1
  122. package/ts/utils/quotation.ts +1 -1
  123. package/ts/utils/societyApproval.ts +1 -1
  124. package/ts/utils/tests/payment.spec.ts +1 -1
  125. package/ts/utils/vat/3310/century24.ts +1 -1
  126. package/ts/utils/vat/3310/century25.ts +1 -1
  127. package/ts/utils/vat/3310/century26.ts +1 -1
  128. package/ts/utils/vat/3514/century22.ts +3 -3
  129. package/ts/utils/vat/3517/century25.ts +54 -54
  130. package/ts/utils/vat/3517/century26.ts +1 -1
  131. package/ts/utils/vat/3519/century17.ts +1 -1
  132. package/ts/utils/vat/3519/century23.ts +1 -1
  133. package/ts/utils/vat/centuries.ts +1 -1
  134. package/ts/utils/vat/registration.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"commercialOffer.d.ts","sourceRoot":"","sources":["../../../ts/utils/commercialOffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAS5C,QAAA,MAAM,sBAAsB,GAAI,kBAAkB,MAAM,EAAE,uBAAuB,MAAM,KAAG,OAgBzF,CAAC;AAEF,QAAA,MAAM,sBAAsB,GAC1B,gBAAgB,MAAM,EACtB,iBAAiB,MAAM,EAAE,EACzB,qBAAqB,gBAAgB,EAAE,KACtC,OAKF,CAAC;AAEF,QAAA,MAAM,sBAAsB,GAC1B,uBAAuB,MAAM,EAC7B,cAAc,MAAM,EACpB,WAAW,gBAAgB,EAAE,EAC7B,aAAa,MAAM,EACnB,cAAc,MAAM,EACpB,aAAa,MAAM,KAClB,gBAAgB,EAgBlB,CAAC;AAEF,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,CAAC"}
1
+ {"version":3,"file":"commercialOffer.d.ts","sourceRoot":"","sources":["../../../ts/utils/commercialOffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAS5C,QAAA,MAAM,sBAAsB,GAAI,kBAAkB,MAAM,EAAE,uBAAuB,MAAM,KAAG,OAgBzF,CAAC;AAEF,QAAA,MAAM,sBAAsB,GAC1B,gBAAgB,MAAM,EACtB,iBAAiB,MAAM,EAAE,EACzB,qBAAqB,gBAAgB,EAAE,KACtC,OAKF,CAAC;AAEF,QAAA,MAAM,sBAAsB,GAC1B,uBAAuB,MAAM,EAC7B,cAAc,MAAM,EACpB,WAAW,gBAAgB,EAAE,EAC7B,aAAa,MAAM,EACnB,cAAc,MAAM,EACpB,aAAa,MAAM,KAClB,gBAAgB,EAelB,CAAC;AAEF,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,CAAC"}
@@ -4,9 +4,9 @@ exports.getCommercialOfferList = exports.disableCommercialOffer = exports.displa
4
4
  const CommercialOfferType_1 = require("../types/Enum/CommercialOfferType");
5
5
  const PrestationType_1 = require("../types/Enum/PrestationType");
6
6
  const ComptaType_1 = require("../types/Enum/ComptaType");
7
- const dayjs_1 = require("dayjs");
8
- // import * as isBetween from 'dayjs/plugin/isBetween';
9
- // dayjs.extend(isBetween);
7
+ const dayjs = require("dayjs");
8
+ const isBetween = require("dayjs/plugin/isBetween");
9
+ dayjs.extend(isBetween);
10
10
  const displayCommercialOffer = (idPrestationList, idCommercialOfferType) => {
11
11
  const prestationList = Object.values(PrestationType_1.PrestationDetail).find((prestation) => prestation.id === idPrestationList);
12
12
  const commercialOfferType = Object.values(CommercialOfferType_1.CommercialOfferTypeDetail).find((offer) => offer.id === idCommercialOfferType);
@@ -41,9 +41,7 @@ const getCommercialOfferList = (idCommercialOfferType, societyBrand, offerList,
41
41
  (offer.idComptaType === ComptaType_1.ComptaType.CASH_BASED && !(idComptaType % 2 === 0)))) ||
42
42
  true) &&
43
43
  (!offer.legalForm || offer.legalForm.includes(idLegalForm)));
44
- return commercialOfferList.filter((offer) =>
45
- // @ts-expect-error
46
- (0, dayjs_1.default)().isBetween((0, dayjs_1.default)(offer.startDate), (0, dayjs_1.default)(offer.endDate), 'day', '[]'));
44
+ return commercialOfferList.filter((offer) => dayjs().isBetween(dayjs(offer.startDate), dayjs(offer.endDate), 'day', '[]'));
47
45
  };
48
46
  exports.getCommercialOfferList = getCommercialOfferList;
49
47
  //# sourceMappingURL=commercialOffer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"commercialOffer.js","sourceRoot":"","sources":["../../../ts/utils/commercialOffer.ts"],"names":[],"mappings":"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","sourcesContent":["import { ICommercialOffer } from '../types';\nimport { CommercialOfferTypeType, CommercialOfferTypeDetail } from '../types/Enum/CommercialOfferType';\nimport { PrestationDetail } from '../types/Enum/PrestationType';\nimport { ComptaType } from '../types/Enum/ComptaType';\nimport dayjs from 'dayjs';\n// import * as isBetween from 'dayjs/plugin/isBetween';\n\n// dayjs.extend(isBetween);\n\nconst displayCommercialOffer = (idPrestationList: number, idCommercialOfferType: number): boolean => {\n const prestationList = Object.values(PrestationDetail).find((prestation) => prestation.id === idPrestationList);\n const commercialOfferType: CommercialOfferTypeType | undefined = Object.values(CommercialOfferTypeDetail).find(\n (offer) => offer.id === idCommercialOfferType,\n );\n if (commercialOfferType?.idPrestationList.length && commercialOfferType?.idPrestationList.includes(idPrestationList))\n return true;\n else if (\n prestationList &&\n !commercialOfferType?.idPrestationList.length &&\n (!commercialOfferType?.isComptable || commercialOfferType?.isComptable === prestationList?.isComptable) &&\n (!commercialOfferType?.isCatalog || commercialOfferType?.isCatalog === prestationList.isCatalog) &&\n (!commercialOfferType?.isBack || commercialOfferType?.isBack === prestationList.isBack)\n )\n return true;\n else return false;\n};\n\nconst disableCommercialOffer = (\n idCurrentOffer: number,\n idOfferSelected: number[],\n commercialOfferList: ICommercialOffer[],\n): boolean => {\n if (idOfferSelected.length && commercialOfferList.find((offer) => offer.id === idCurrentOffer)?.cumulative === false)\n return true;\n else if (commercialOfferList.find((offer) => offer.id === idOfferSelected[0])?.cumulative === false) return true;\n else return false;\n};\n\nconst getCommercialOfferList = (\n idCommercialOfferType: number,\n societyBrand: number,\n offerList: ICommercialOffer[],\n turnoverMax: number,\n idComptaType: number,\n idLegalForm: number,\n): ICommercialOffer[] => {\n const commercialOfferList: ICommercialOffer[] = offerList.filter(\n (offer) =>\n offer.idCommercialOfferType === idCommercialOfferType &&\n offer.brand.includes(societyBrand) &&\n ((offer.turnoverMax && offer.turnoverMax === turnoverMax) || true) &&\n ((offer.idComptaType &&\n ((offer.idComptaType === ComptaType.ACCRUALS && idComptaType % 2 === 0) ||\n (offer.idComptaType === ComptaType.CASH_BASED && !(idComptaType % 2 === 0)))) ||\n true) &&\n (!offer.legalForm || offer.legalForm.includes(idLegalForm)),\n );\n return commercialOfferList.filter((offer) =>\n // @ts-expect-error\n dayjs().isBetween(dayjs(offer.startDate), dayjs(offer.endDate), 'day', '[]'),\n );\n};\n\nexport { displayCommercialOffer, disableCommercialOffer, getCommercialOfferList };\n"]}
1
+ {"version":3,"file":"commercialOffer.js","sourceRoot":"","sources":["../../../ts/utils/commercialOffer.ts"],"names":[],"mappings":";;;AACA,2EAAuG;AACvG,iEAAgE;AAChE,yDAAsD;AACtD,+BAA+B;AAC/B,oDAAoD;AAEpD,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAExB,MAAM,sBAAsB,GAAG,CAAC,gBAAwB,EAAE,qBAA6B,EAAW,EAAE;IAClG,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,iCAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,gBAAgB,CAAC,CAAC;IAChH,MAAM,mBAAmB,GAAwC,MAAM,CAAC,MAAM,CAAC,+CAAyB,CAAC,CAAC,IAAI,CAC5G,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,qBAAqB,CAC9C,CAAC;IACF,IAAI,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,gBAAgB,CAAC,MAAM,MAAI,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,gBAAgB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAA;QAClH,OAAO,IAAI,CAAC;SACT,IACH,cAAc;QACd,CAAC,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,gBAAgB,CAAC,MAAM,CAAA;QAC7C,CAAC,CAAC,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,WAAW,CAAA,IAAI,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,WAAW,OAAK,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,WAAW,CAAA,CAAC;QACvG,CAAC,CAAC,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,SAAS,CAAA,IAAI,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,SAAS,MAAK,cAAc,CAAC,SAAS,CAAC;QAChG,CAAC,CAAC,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,MAAM,CAAA,IAAI,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,MAAM,MAAK,cAAc,CAAC,MAAM,CAAC;QAEvF,OAAO,IAAI,CAAC;;QACT,OAAO,KAAK,CAAC;AACpB,CAAC,CAAC;AAqCO,wDAAsB;AAnC/B,MAAM,sBAAsB,GAAG,CAC7B,cAAsB,EACtB,eAAyB,EACzB,mBAAuC,EAC9B,EAAE;;IACX,IAAI,eAAe,CAAC,MAAM,IAAI,CAAA,MAAA,mBAAmB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,cAAc,CAAC,0CAAE,UAAU,MAAK,KAAK;QAClH,OAAO,IAAI,CAAC;SACT,IAAI,CAAA,MAAA,mBAAmB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC,0CAAE,UAAU,MAAK,KAAK;QAAE,OAAO,IAAI,CAAC;;QAC5G,OAAO,KAAK,CAAC;AACpB,CAAC,CAAC;AA0B+B,wDAAsB;AAxBvD,MAAM,sBAAsB,GAAG,CAC7B,qBAA6B,EAC7B,YAAoB,EACpB,SAA6B,EAC7B,WAAmB,EACnB,YAAoB,EACpB,WAAmB,EACC,EAAE;IACtB,MAAM,mBAAmB,GAAuB,SAAS,CAAC,MAAM,CAC9D,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,qBAAqB,KAAK,qBAAqB;QACrD,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC;QAClC,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,KAAK,WAAW,CAAC,IAAI,IAAI,CAAC;QAClE,CAAC,CAAC,KAAK,CAAC,YAAY;YAClB,CAAC,CAAC,KAAK,CAAC,YAAY,KAAK,uBAAU,CAAC,QAAQ,IAAI,YAAY,GAAG,CAAC,KAAK,CAAC,CAAC;gBACrE,CAAC,KAAK,CAAC,YAAY,KAAK,uBAAU,CAAC,UAAU,IAAI,CAAC,CAAC,YAAY,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/E,IAAI,CAAC;QACP,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAC9D,CAAC;IACF,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAC1C,KAAK,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAC7E,CAAC;AACJ,CAAC,CAAC;AAEuD,wDAAsB","sourcesContent":["import { ICommercialOffer } from '../types';\nimport { CommercialOfferTypeType, CommercialOfferTypeDetail } from '../types/Enum/CommercialOfferType';\nimport { PrestationDetail } from '../types/Enum/PrestationType';\nimport { ComptaType } from '../types/Enum/ComptaType';\nimport * as dayjs from 'dayjs';\nimport * as isBetween from 'dayjs/plugin/isBetween';\n\ndayjs.extend(isBetween);\n\nconst displayCommercialOffer = (idPrestationList: number, idCommercialOfferType: number): boolean => {\n const prestationList = Object.values(PrestationDetail).find((prestation) => prestation.id === idPrestationList);\n const commercialOfferType: CommercialOfferTypeType | undefined = Object.values(CommercialOfferTypeDetail).find(\n (offer) => offer.id === idCommercialOfferType,\n );\n if (commercialOfferType?.idPrestationList.length && commercialOfferType?.idPrestationList.includes(idPrestationList))\n return true;\n else if (\n prestationList &&\n !commercialOfferType?.idPrestationList.length &&\n (!commercialOfferType?.isComptable || commercialOfferType?.isComptable === prestationList?.isComptable) &&\n (!commercialOfferType?.isCatalog || commercialOfferType?.isCatalog === prestationList.isCatalog) &&\n (!commercialOfferType?.isBack || commercialOfferType?.isBack === prestationList.isBack)\n )\n return true;\n else return false;\n};\n\nconst disableCommercialOffer = (\n idCurrentOffer: number,\n idOfferSelected: number[],\n commercialOfferList: ICommercialOffer[],\n): boolean => {\n if (idOfferSelected.length && commercialOfferList.find((offer) => offer.id === idCurrentOffer)?.cumulative === false)\n return true;\n else if (commercialOfferList.find((offer) => offer.id === idOfferSelected[0])?.cumulative === false) return true;\n else return false;\n};\n\nconst getCommercialOfferList = (\n idCommercialOfferType: number,\n societyBrand: number,\n offerList: ICommercialOffer[],\n turnoverMax: number,\n idComptaType: number,\n idLegalForm: number,\n): ICommercialOffer[] => {\n const commercialOfferList: ICommercialOffer[] = offerList.filter(\n (offer) =>\n offer.idCommercialOfferType === idCommercialOfferType &&\n offer.brand.includes(societyBrand) &&\n ((offer.turnoverMax && offer.turnoverMax === turnoverMax) || true) &&\n ((offer.idComptaType &&\n ((offer.idComptaType === ComptaType.ACCRUALS && idComptaType % 2 === 0) ||\n (offer.idComptaType === ComptaType.CASH_BASED && !(idComptaType % 2 === 0)))) ||\n true) &&\n (!offer.legalForm || offer.legalForm.includes(idLegalForm)),\n );\n return commercialOfferList.filter((offer) =>\n dayjs().isBetween(dayjs(offer.startDate), dayjs(offer.endDate), 'day', '[]'),\n );\n};\n\nexport { displayCommercialOffer, disableCommercialOffer, getCommercialOfferList };\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../../ts/utils/date.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAMtD,wBAAgB,+BAA+B,CAAC,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,YAAY,CA4EpH;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,IAAI,GAAG,MAAM,CAgBnE"}
1
+ {"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../../ts/utils/date.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAMtD,wBAAgB,+BAA+B,CAAC,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,YAAY,CA4EpH;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,IAAI,GAAG,MAAM,CAWnE"}
@@ -2,9 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.putIntervalBetweenOtherInterval = putIntervalBetweenOtherInterval;
4
4
  exports.getUtcOffsetDiffWithNow = getUtcOffsetDiffWithNow;
5
- const dayjs_1 = require("dayjs");
6
- // import * as timezone from 'dayjs/plugin/timezone';
7
- // dayjs.extend(timezone);
5
+ const dayjs = require("dayjs");
6
+ const timezone = require("dayjs/plugin/timezone");
7
+ dayjs.extend(timezone);
8
8
  // TODO:UT
9
9
  function putIntervalBetweenOtherInterval(customPayload, listHours) {
10
10
  const res = Object.assign({}, customPayload);
@@ -84,20 +84,13 @@ function putIntervalBetweenOtherInterval(customPayload, listHours) {
84
84
  * @returns
85
85
  */
86
86
  function getUtcOffsetDiffWithNow(dateToCompare) {
87
- const dateToCompareUtc =
88
- // @ts-expect-error
89
- (0, dayjs_1.default)(dateToCompare).tz('Europe/Paris').utcOffset() /
90
- // @ts-expect-error
91
- ((0, dayjs_1.default)(dateToCompare).tz('Europe/Paris').utcOffset() > 16 ||
92
- // @ts-expect-error
93
- (0, dayjs_1.default)(dateToCompare).tz('Europe/Paris').utcOffset() < 16
87
+ const dateToCompareUtc = dayjs(dateToCompare).tz('Europe/Paris').utcOffset() /
88
+ (dayjs(dateToCompare).tz('Europe/Paris').utcOffset() > 16 ||
89
+ dayjs(dateToCompare).tz('Europe/Paris').utcOffset() < 16
94
90
  ? 60
95
91
  : 1);
96
- const nowUtc =
97
- // @ts-expect-error
98
- (0, dayjs_1.default)().tz('Europe/Paris').utcOffset() /
99
- // @ts-expect-error
100
- ((0, dayjs_1.default)().tz('Europe/Paris').utcOffset() > 16 || (0, dayjs_1.default)().tz('Europe/Paris').utcOffset() < 16 ? 60 : 1);
92
+ const nowUtc = dayjs().tz('Europe/Paris').utcOffset() /
93
+ (dayjs().tz('Europe/Paris').utcOffset() > 16 || dayjs().tz('Europe/Paris').utcOffset() < 16 ? 60 : 1);
101
94
  return nowUtc - dateToCompareUtc;
102
95
  }
103
96
  //# sourceMappingURL=date.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"date.js","sourceRoot":"","sources":["../../../ts/utils/date.ts"],"names":[],"mappings":";;AAWA,0EA4EC;AAOD,0DAgBC;AAxGD,iCAA0B;AAC1B,qDAAqD;AACrD,0BAA0B;AAE1B,UAAU;AACV,SAAgB,+BAA+B,CAAC,aAA2B,EAAE,SAAyB;IACpG,MAAM,GAAG,qBAAsB,aAAa,CAAE,CAAC;IAC/C,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,KAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,CAAA,KAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,OAAO,CAAA,EAAE,CAAC;QAC/E,MAAM,kBAAkB,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;QACvE,MAAM,gBAAgB,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;QACnE,MAAM,WAAW,GAAG,SAAS,CAAC;QAC9B,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,WAAW,EAAE,IAAI,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QAE1J,6DAA6D;QAE7D,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CACtC,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,OAAO;YACT,4EAA4E;YAC5E,kBAAkB,GAAG,IAAI,IAAI,CAAC,GAAG,QAAQ,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC;YACxE,CAAC,CAAC,SAAS;YACX,4EAA4E;YAC5E,gBAAgB,GAAG,IAAI,IAAI,CAAC,GAAG,QAAQ,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAC3E,CAAC;QAEF,IAAI,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,IAAG,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YACxF,4EAA4E;YAC5E,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,QAAQ,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;YAClF,4EAA4E;YAC5E,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,GAAG,QAAQ,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;YAE9E,0IAA0I;YAC1I,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,kBAAkB,GAAG,SAAS,IAAI,CAAC,IAAI,kBAAkB,GAAG,OAAO,IAAI,CAAC,CAAC;gBACzF,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC;gBACrB,CAAC,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACjC,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,gBAAgB,GAAG,SAAS,IAAI,CAAC,IAAI,gBAAgB,GAAG,OAAO,IAAI,CAAC,CAAC;gBACnF,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC;gBACnB,CAAC,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACjC,CAAC;aAAM,IAAI,CAAC,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,CAAA,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,EAAE,CAAC;YACrB,gDAAgD;YAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7C,wGAAwG;gBACxG,SAAS,CAAC,IAAI,CAAC;oBACb,EAAE,EAAE,CAAC;oBACL,KAAK,EAAE,IAAI;oBACX,GAAG,EAAE,KAAK;oBACV,4EAA4E;oBAC5E,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,kBAAkB,GAAG,IAAI,IAAI,CAAC,GAAG,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;iBACjG,CAAC,CAAC;gBACH,sGAAsG;gBACtG,SAAS,CAAC,IAAI,CAAC;oBACb,EAAE,EAAE,CAAC;oBACL,KAAK,EAAE,KAAK;oBACZ,GAAG,EAAE,IAAI;oBACT,4EAA4E;oBAC5E,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,kBAAkB,GAAG,IAAI,IAAI,CAAC,GAAG,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;iBAC/F,CAAC,CAAC;YACL,CAAC;YACD,iCAAiC;YACjC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;YAC1C,kCAAkC;YAClC,8CAA8C;YAC9C,sDAAsD;YACtD,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;gBACvB,4EAA4E;gBAC5E,GAAG,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,QAAQ,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;gBAChF,4EAA4E;gBAC5E,GAAG,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,QAAQ,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC;gBAC5G,gCAAgC;gBAChC,sDAAsD;gBACtD,0CAA0C;YAC5C,CAAC;iBAAM,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;gBAC5B,4EAA4E;gBAC5E,GAAG,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,QAAQ,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC;gBAC5G,4EAA4E;gBAC5E,GAAG,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,GAAG,QAAQ,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,SAAgB,uBAAuB,CAAC,aAAmB;IACzD,MAAM,gBAAgB;IACpB,mBAAmB;IACnB,IAAA,eAAK,EAAC,aAAa,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,SAAS,EAAE;QACnD,mBAAmB;QACnB,CAAC,IAAA,eAAK,EAAC,aAAa,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE;YACzD,mBAAmB;YACnB,IAAA,eAAK,EAAC,aAAa,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE;YACtD,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,CAAC,CAAC,CAAC;IACT,MAAM,MAAM;IACV,mBAAmB;IACnB,IAAA,eAAK,GAAE,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,SAAS,EAAE;QACtC,mBAAmB;QACnB,CAAC,IAAA,eAAK,GAAE,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,IAAA,eAAK,GAAE,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxG,OAAO,MAAM,GAAG,gBAAgB,CAAC;AACnC,CAAC","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 { DateInterval, TimeInterval } from '../types';\nimport dayjs from 'dayjs';\n// import * as timezone from 'dayjs/plugin/timezone';\n// dayjs.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\n const hoursOfPeriod = hoursObject.filter(\n (h) =>\n h.endTime &&\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n dateToCompareStart - new Date(`${textDate} ${h.endTime}`).getTime() <= 0 &&\n h.startTime &&\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n dateToCompareEnd - new Date(`${textDate} ${h.startTime}`).getTime() >= 0,\n );\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)\n ? new Date(dateStart)\n : new Date(dateToCompareStart);\n res.dateEnd = !(dateToCompareEnd - dateStart >= 0 && dateToCompareEnd - dateEnd <= 0)\n ? new Date(dateEnd)\n : 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 // @ts-expect-error\n dayjs(dateToCompare).tz('Europe/Paris').utcOffset() /\n // @ts-expect-error\n (dayjs(dateToCompare).tz('Europe/Paris').utcOffset() > 16 ||\n // @ts-expect-error\n dayjs(dateToCompare).tz('Europe/Paris').utcOffset() < 16\n ? 60\n : 1);\n const nowUtc =\n // @ts-expect-error\n dayjs().tz('Europe/Paris').utcOffset() /\n // @ts-expect-error\n (dayjs().tz('Europe/Paris').utcOffset() > 16 || dayjs().tz('Europe/Paris').utcOffset() < 16 ? 60 : 1);\n return nowUtc - dateToCompareUtc;\n}\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 { DateInterval, TimeInterval } 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\n const hoursOfPeriod = hoursObject.filter(\n (h) =>\n h.endTime &&\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n dateToCompareStart - new Date(`${textDate} ${h.endTime}`).getTime() <= 0 &&\n h.startTime &&\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n dateToCompareEnd - new Date(`${textDate} ${h.startTime}`).getTime() >= 0,\n );\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)\n ? new Date(dateStart)\n : new Date(dateToCompareStart);\n res.dateEnd = !(dateToCompareEnd - dateStart >= 0 && dateToCompareEnd - dateEnd <= 0)\n ? new Date(dateEnd)\n : 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).tz('Europe/Paris').utcOffset() /\n (dayjs(dateToCompare).tz('Europe/Paris').utcOffset() > 16 ||\n dayjs(dateToCompare).tz('Europe/Paris').utcOffset() < 16\n ? 60\n : 1);\n const nowUtc =\n dayjs().tz('Europe/Paris').utcOffset() /\n (dayjs().tz('Europe/Paris').utcOffset() > 16 || dayjs().tz('Europe/Paris').utcOffset() < 16 ? 60 : 1);\n return nowUtc - dateToCompareUtc;\n}\n"]}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.requiredListDocs = void 0;
4
4
  const Ged_1 = require("../types/Enum/Ged");
5
5
  const LegalForm_1 = require("../types/Enum/LegalForm");
6
- const dayjs_1 = require("dayjs");
6
+ const dayjs = require("dayjs");
7
7
  const requiredListDocs = (params) => {
8
8
  const { society, oldExpertInfo, isOnlyPrevi, isOnlyJuridic, isOnlySocial, isCreation, isConsultingHour, goToClient } = params;
9
9
  const { dontHaveOldExpert, recoveryDate } = oldExpertInfo || {};
@@ -36,8 +36,8 @@ const requiredListDocs = (params) => {
36
36
  if (dontHaveOldExpert &&
37
37
  recoveryDate &&
38
38
  dateOfRegistration &&
39
- (0, dayjs_1.default)(recoveryDate).add(4, 'months').diff(goToClient) < 0 &&
40
- (0, dayjs_1.default)(recoveryDate).isAfter(dateOfRegistration)) {
39
+ dayjs(recoveryDate).add(4, 'months').diff(goToClient) < 0 &&
40
+ dayjs(recoveryDate).isAfter(dateOfRegistration)) {
41
41
  generique.push(Ged_1.GedFileType.FISCAL_BUNDLE);
42
42
  }
43
43
  if ([LegalForm_1.LegalForm.SAS.id, LegalForm_1.LegalForm.SA.id].includes(idLegalForm)) {
@@ -1 +1 @@
1
- {"version":3,"file":"documents.js","sourceRoot":"","sources":["../../../ts/utils/documents.ts"],"names":[],"mappings":"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","sourcesContent":["import { RequiredDocsType } from '../types';\nimport { GedFileType } from '../types/Enum/Ged';\nimport { LegalForm } from '../types/Enum/LegalForm';\nimport dayjs from 'dayjs';\n\nconst requiredListDocs = (params: RequiredDocsType): GedFileType[] => {\n const { society, oldExpertInfo, isOnlyPrevi, isOnlyJuridic, isOnlySocial, isCreation, isConsultingHour, goToClient } =\n params;\n const { dontHaveOldExpert, recoveryDate } = oldExpertInfo || {};\n const { idLegalForm, dateOfRegistration } = society || {};\n\n // Ceci est un hack pour forcer le retour de doc pour la création en ligne\n // Ce cas de figure arrive pour un lead qui stipule qu'il est en création\n // mais n'a pas renseigné de status juridique\n if (isCreation && !idLegalForm) {\n return [GedFileType.IDENTITY_CARD, GedFileType.PERSONNAL_RIB, GedFileType.PLAQUETTE];\n }\n\n if (!idLegalForm) return [];\n\n if (isConsultingHour) {\n return [GedFileType.PLAQUETTE];\n }\n if (isOnlyPrevi) {\n return [GedFileType.IDENTITY_CARD, GedFileType.PLAQUETTE];\n }\n if (isCreation) {\n return [GedFileType.IDENTITY_CARD, GedFileType.PERSONNAL_RIB, GedFileType.PLAQUETTE];\n }\n if (isOnlyJuridic || isOnlySocial) {\n return [GedFileType.RIB, GedFileType.PLAQUETTE];\n }\n\n const generique = [GedFileType.IDENTITY_CARD, GedFileType.RIB, GedFileType.PLAQUETTE];\n\n // Si le client faisait sa compta lui-même\n // et que le goToClient est supérieur à la date de reprise + 4 mois\n // et que la date de reprise est après la date de création de la société\n // alors liasse fiscale N-1 obligatoire !\n if (\n dontHaveOldExpert &&\n recoveryDate &&\n dateOfRegistration &&\n dayjs(recoveryDate).add(4, 'months').diff(goToClient) < 0 &&\n dayjs(recoveryDate).isAfter(dateOfRegistration)\n ) {\n generique.push(GedFileType.FISCAL_BUNDLE);\n }\n\n if ([LegalForm.SAS.id, LegalForm.SA.id].includes(idLegalForm)) {\n generique.push(GedFileType.DISTRIBUTION_OF_SHARE);\n }\n\n if (\n [\n LegalForm.SELARLU.id,\n LegalForm.EURL.id,\n LegalForm.SASU.id,\n LegalForm.SA.id,\n LegalForm.SAS.id,\n LegalForm.SARL.id,\n LegalForm.SCI.id,\n LegalForm.SCCV.id,\n LegalForm.EARL.id,\n LegalForm.GIE.id,\n LegalForm.SELASU.id,\n LegalForm.SOCIETE_CIVILE.id,\n ].includes(idLegalForm)\n ) {\n return [...generique, GedFileType.KBIS, GedFileType.STATUTES, GedFileType.DBE2, GedFileType.SEPA];\n }\n if ([LegalForm.SELARL.id].includes(idLegalForm)) {\n return [...generique, GedFileType.KBIS, GedFileType.STATUTES, GedFileType.SEPA];\n }\n if ([LegalForm.EI.id, LegalForm.AUTO_ENTREPRENEUR.id].includes(idLegalForm)) {\n return [...generique, GedFileType.SIRENE, GedFileType.SEPA];\n }\n if ([LegalForm.EIRL.id].includes(idLegalForm)) {\n return [...generique, GedFileType.SIRENE, GedFileType.SEPA, GedFileType.PATRIMONY];\n }\n if ([LegalForm.ASSOCIATION.id].includes(idLegalForm)) {\n return [\n ...generique,\n GedFileType.RULES_OF_PROCEDURE,\n GedFileType.REGISTRATION_OF_THE_ASSOCIATION_AT_THE_PREFECTURE,\n GedFileType.REPRESENTATIVE_OF_THE_ASSOCIATION,\n GedFileType.DBE2,\n ];\n }\n\n return generique;\n};\n\nexport { requiredListDocs };\n"]}
1
+ {"version":3,"file":"documents.js","sourceRoot":"","sources":["../../../ts/utils/documents.ts"],"names":[],"mappings":";;;AACA,2CAAgD;AAChD,uDAAoD;AACpD,+BAA+B;AAE/B,MAAM,gBAAgB,GAAG,CAAC,MAAwB,EAAiB,EAAE;IACnE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAE,GAClH,MAAM,CAAC;IACT,MAAM,EAAE,iBAAiB,EAAE,YAAY,EAAE,GAAG,aAAa,IAAI,EAAE,CAAC;IAChE,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IAE1D,0EAA0E;IAC1E,yEAAyE;IACzE,6CAA6C;IAC7C,IAAI,UAAU,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/B,OAAO,CAAC,iBAAW,CAAC,aAAa,EAAE,iBAAW,CAAC,aAAa,EAAE,iBAAW,CAAC,SAAS,CAAC,CAAC;IACvF,CAAC;IAED,IAAI,CAAC,WAAW;QAAE,OAAO,EAAE,CAAC;IAE5B,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,CAAC,iBAAW,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CAAC,iBAAW,CAAC,aAAa,EAAE,iBAAW,CAAC,SAAS,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,iBAAW,CAAC,aAAa,EAAE,iBAAW,CAAC,aAAa,EAAE,iBAAW,CAAC,SAAS,CAAC,CAAC;IACvF,CAAC;IACD,IAAI,aAAa,IAAI,YAAY,EAAE,CAAC;QAClC,OAAO,CAAC,iBAAW,CAAC,GAAG,EAAE,iBAAW,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,SAAS,GAAG,CAAC,iBAAW,CAAC,aAAa,EAAE,iBAAW,CAAC,GAAG,EAAE,iBAAW,CAAC,SAAS,CAAC,CAAC;IAEtF,0CAA0C;IAC1C,mEAAmE;IACnE,wEAAwE;IACxE,yCAAyC;IACzC,IACE,iBAAiB;QACjB,YAAY;QACZ,kBAAkB;QAClB,KAAK,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QACzD,KAAK,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAC/C,CAAC;QACD,SAAS,CAAC,IAAI,CAAC,iBAAW,CAAC,aAAa,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,CAAC,qBAAS,CAAC,GAAG,CAAC,EAAE,EAAE,qBAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9D,SAAS,CAAC,IAAI,CAAC,iBAAW,CAAC,qBAAqB,CAAC,CAAC;IACpD,CAAC;IAED,IACE;QACE,qBAAS,CAAC,OAAO,CAAC,EAAE;QACpB,qBAAS,CAAC,IAAI,CAAC,EAAE;QACjB,qBAAS,CAAC,IAAI,CAAC,EAAE;QACjB,qBAAS,CAAC,EAAE,CAAC,EAAE;QACf,qBAAS,CAAC,GAAG,CAAC,EAAE;QAChB,qBAAS,CAAC,IAAI,CAAC,EAAE;QACjB,qBAAS,CAAC,GAAG,CAAC,EAAE;QAChB,qBAAS,CAAC,IAAI,CAAC,EAAE;QACjB,qBAAS,CAAC,IAAI,CAAC,EAAE;QACjB,qBAAS,CAAC,GAAG,CAAC,EAAE;QAChB,qBAAS,CAAC,MAAM,CAAC,EAAE;QACnB,qBAAS,CAAC,cAAc,CAAC,EAAE;KAC5B,CAAC,QAAQ,CAAC,WAAW,CAAC,EACvB,CAAC;QACD,OAAO,CAAC,GAAG,SAAS,EAAE,iBAAW,CAAC,IAAI,EAAE,iBAAW,CAAC,QAAQ,EAAE,iBAAW,CAAC,IAAI,EAAE,iBAAW,CAAC,IAAI,CAAC,CAAC;IACpG,CAAC;IACD,IAAI,CAAC,qBAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAChD,OAAO,CAAC,GAAG,SAAS,EAAE,iBAAW,CAAC,IAAI,EAAE,iBAAW,CAAC,QAAQ,EAAE,iBAAW,CAAC,IAAI,CAAC,CAAC;IAClF,CAAC;IACD,IAAI,CAAC,qBAAS,CAAC,EAAE,CAAC,EAAE,EAAE,qBAAS,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5E,OAAO,CAAC,GAAG,SAAS,EAAE,iBAAW,CAAC,MAAM,EAAE,iBAAW,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,CAAC,qBAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9C,OAAO,CAAC,GAAG,SAAS,EAAE,iBAAW,CAAC,MAAM,EAAE,iBAAW,CAAC,IAAI,EAAE,iBAAW,CAAC,SAAS,CAAC,CAAC;IACrF,CAAC;IACD,IAAI,CAAC,qBAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACrD,OAAO;YACL,GAAG,SAAS;YACZ,iBAAW,CAAC,kBAAkB;YAC9B,iBAAW,CAAC,iDAAiD;YAC7D,iBAAW,CAAC,iCAAiC;YAC7C,iBAAW,CAAC,IAAI;SACjB,CAAC;IACJ,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEO,4CAAgB","sourcesContent":["import { RequiredDocsType } from '../types';\nimport { GedFileType } from '../types/Enum/Ged';\nimport { LegalForm } from '../types/Enum/LegalForm';\nimport * as dayjs from 'dayjs';\n\nconst requiredListDocs = (params: RequiredDocsType): GedFileType[] => {\n const { society, oldExpertInfo, isOnlyPrevi, isOnlyJuridic, isOnlySocial, isCreation, isConsultingHour, goToClient } =\n params;\n const { dontHaveOldExpert, recoveryDate } = oldExpertInfo || {};\n const { idLegalForm, dateOfRegistration } = society || {};\n\n // Ceci est un hack pour forcer le retour de doc pour la création en ligne\n // Ce cas de figure arrive pour un lead qui stipule qu'il est en création\n // mais n'a pas renseigné de status juridique\n if (isCreation && !idLegalForm) {\n return [GedFileType.IDENTITY_CARD, GedFileType.PERSONNAL_RIB, GedFileType.PLAQUETTE];\n }\n\n if (!idLegalForm) return [];\n\n if (isConsultingHour) {\n return [GedFileType.PLAQUETTE];\n }\n if (isOnlyPrevi) {\n return [GedFileType.IDENTITY_CARD, GedFileType.PLAQUETTE];\n }\n if (isCreation) {\n return [GedFileType.IDENTITY_CARD, GedFileType.PERSONNAL_RIB, GedFileType.PLAQUETTE];\n }\n if (isOnlyJuridic || isOnlySocial) {\n return [GedFileType.RIB, GedFileType.PLAQUETTE];\n }\n\n const generique = [GedFileType.IDENTITY_CARD, GedFileType.RIB, GedFileType.PLAQUETTE];\n\n // Si le client faisait sa compta lui-même\n // et que le goToClient est supérieur à la date de reprise + 4 mois\n // et que la date de reprise est après la date de création de la société\n // alors liasse fiscale N-1 obligatoire !\n if (\n dontHaveOldExpert &&\n recoveryDate &&\n dateOfRegistration &&\n dayjs(recoveryDate).add(4, 'months').diff(goToClient) < 0 &&\n dayjs(recoveryDate).isAfter(dateOfRegistration)\n ) {\n generique.push(GedFileType.FISCAL_BUNDLE);\n }\n\n if ([LegalForm.SAS.id, LegalForm.SA.id].includes(idLegalForm)) {\n generique.push(GedFileType.DISTRIBUTION_OF_SHARE);\n }\n\n if (\n [\n LegalForm.SELARLU.id,\n LegalForm.EURL.id,\n LegalForm.SASU.id,\n LegalForm.SA.id,\n LegalForm.SAS.id,\n LegalForm.SARL.id,\n LegalForm.SCI.id,\n LegalForm.SCCV.id,\n LegalForm.EARL.id,\n LegalForm.GIE.id,\n LegalForm.SELASU.id,\n LegalForm.SOCIETE_CIVILE.id,\n ].includes(idLegalForm)\n ) {\n return [...generique, GedFileType.KBIS, GedFileType.STATUTES, GedFileType.DBE2, GedFileType.SEPA];\n }\n if ([LegalForm.SELARL.id].includes(idLegalForm)) {\n return [...generique, GedFileType.KBIS, GedFileType.STATUTES, GedFileType.SEPA];\n }\n if ([LegalForm.EI.id, LegalForm.AUTO_ENTREPRENEUR.id].includes(idLegalForm)) {\n return [...generique, GedFileType.SIRENE, GedFileType.SEPA];\n }\n if ([LegalForm.EIRL.id].includes(idLegalForm)) {\n return [...generique, GedFileType.SIRENE, GedFileType.SEPA, GedFileType.PATRIMONY];\n }\n if ([LegalForm.ASSOCIATION.id].includes(idLegalForm)) {\n return [\n ...generique,\n GedFileType.RULES_OF_PROCEDURE,\n GedFileType.REGISTRATION_OF_THE_ASSOCIATION_AT_THE_PREFECTURE,\n GedFileType.REPRESENTATIVE_OF_THE_ASSOCIATION,\n GedFileType.DBE2,\n ];\n }\n\n return generique;\n};\n\nexport { requiredListDocs };\n"]}
@@ -13,7 +13,7 @@ var __rest = (this && this.__rest) || function (s, e) {
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
14
  exports.getHoraires = getHoraires;
15
15
  exports.generateSignature = generateSignature;
16
- // import dayjs from 'dayjs';
16
+ // import * as dayjs from 'dayjs';
17
17
  // import { orderBy as orderByLodash } from 'lodash';
18
18
  const Role_1 = require("../types/Enum/Role");
19
19
  const TimeSlot_1 = require("../types/Enum/TimeSlot");
@@ -1 +1 @@
1
- {"version":3,"file":"email.js","sourceRoot":"","sources":["../../../ts/utils/email.ts"],"names":[],"mappings":"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","sourcesContent":["// import dayjs from 'dayjs';\n// import { orderBy as orderByLodash } from 'lodash';\nimport { Role } from '../types/Enum/Role';\nimport { TimeSlot } from '../types/Enum/TimeSlot';\nimport { IUser } from '../types/Interface/models/IUser';\nimport { getBrandConfig } from './brands';\nimport { signatureTemplate } from './email/templates/signature';\nimport { intersection } from './noLodash';\n\n// eslint-disable-next-line @typescript-eslint/no-require-imports\nconst ejs = require('ejs');\n\nfunction getRoleSignature(user: any) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n if (user.positionLabel) return user.positionLabel;\n\n const isStagiaireOrAlternant =\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n user.roles.map((r: any) => r.id).includes(Role.INTERN) || user.roles.map((r: any) => r.id).includes(Role.ALTERNATE);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isManager = user.roles.map((r: any) => r.id).includes(Role.MANAGER);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isSocial = user.roles.map((r: any) => r.id).includes(Role.SOCIAL);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isJuridic = user.roles.map((r: any) => r.id).includes(Role.JURIDIC);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isFacturation = user.roles.map((r: any) => r.id).includes(Role.FACTURATION);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isExpert = user.roles.map((r: any) => r.id).includes(Role.EXPERT_ACCOUNTANT);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isCS = user.roles.map((r: any) => r.id).includes(Role.CUSTOMER_SUCCESS);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isOnBoarder = user.roles.map((r: any) => r.id).includes(Role.ON_BOARDER);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isSatisfaction = user.roles.map((r: any) => r.id).includes(Role.SATISFACTION);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isDataOfficer = user.roles.map((r: any) => r.id).includes(Role.DATA_OFFICER);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isSales = user.roles.map((r: any) => r.id).includes(Role.COMMERCIAL);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isAdmin = user.roles.map((r: any) => r.id).includes(Role.ADMIN);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isTechnicalAdvisor = user.roles.map((r: any) => r.id).includes(Role.TECHNICAL_ADVISOR);\n\n const isFront = !!intersection(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n user.roles.map((r: any) => r.id),\n [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS],\n ).length;\n\n if (isSales && isManager) {\n return 'Responsable commercial';\n }\n if (isSales) {\n return `Chargé${user.idCivility === 2 ? 'e' : ''} de clientèle`;\n }\n\n if (isCS && isManager) {\n return 'Responsable relations clients';\n }\n if (isCS) {\n return `Conseill${user.idCivility === 2 ? 'ère' : 'er'} comptable`;\n }\n\n if (isTechnicalAdvisor) {\n return `Référent${user.idCivility === 2 ? 'e' : ''} technique`;\n }\n\n if (isOnBoarder && isManager) {\n return `Responsable chargé${user.idCivility === 2 ? 'e' : ''} accueil clients`;\n }\n if (isOnBoarder) {\n return `Chargé${user.idCivility === 2 ? 'e' : ''} accueil clients`;\n }\n\n if (isSatisfaction && isManager) {\n return `Responsable chargé${user.idCivility === 2 ? 'e' : ''} de la satisfaction clients`;\n }\n if (isSatisfaction) {\n return `Chargé${user.idCivility === 2 ? 'e' : ''} de la satisfaction clients`;\n }\n\n if (isDataOfficer && isManager) {\n return 'Responsable aide comptable';\n }\n if (isDataOfficer) {\n return 'Aide comptable';\n }\n\n if (isFacturation && isStagiaireOrAlternant) {\n return 'Assistant facturation';\n }\n if (isFacturation && isManager) {\n return 'Responsable facturation';\n }\n if (isFacturation) {\n return `Chargé${user.idCivility === 2 ? 'e' : ''} de facturation`;\n }\n\n if (isJuridic && isStagiaireOrAlternant) {\n return 'Assistant juridique';\n }\n if (isJuridic && isManager) {\n return 'Responsable juridique';\n }\n if (isJuridic) {\n return 'Juriste';\n }\n\n if (isSocial && isStagiaireOrAlternant) {\n return 'Assistant paie';\n }\n if (isSocial && isManager) {\n return 'Responsable paie';\n }\n if (isSocial) {\n return 'Gestionnaire de paie';\n }\n\n if (isExpert) {\n return `Expert${user.idCivility === 2 ? 'e' : ''}-comptable`;\n }\n\n if (isAdmin) {\n return 'Développeur web';\n }\n\n if (isFront && isManager) return 'Responsable comptable';\n if (isFront && isStagiaireOrAlternant) return 'Assistant comptable';\n // if (isFront) return `Comptable dédié${user.idCivility === 2 ? 'e' : ''}`;\n // return `Comptable dédié${user.idCivility === 2 ? 'e' : ''}`;\n // if (isFront) return `Comptable`;\n return 'Comptable';\n}\n\nexport function getHoraires(user: IUser) {\n // On affiche les horaires uniquement pour les front, et pas pour les TVA\n\n // if (\n // isItThisEnv('Pourcentage') &&\n // user?.entity &&\n // [EntityType.COMPTALIB, EntityType.AMEX, EntityType.CABINET_RONCHIERI_LANDRA].includes(user.entity)\n // ) {\n // return 'Du lundi au vendredi de 9h à 18h';\n // }\n\n return 'Du lundi au vendredi de 9h à 18h';\n\n // if (!intersection([user.roles.map((r: any) => r.id), [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS, Role.COMMERCIAL]]).length) return 'Du lundi au vendredi de 9h à 18h';\n\n // if (!user.workingSchedules.length) return 'Du lundi au vendredi de 9h à 18h';\n\n // let reducedSchedules = user.workingSchedules.reduce((acc: any, e:any, index: number) => {\n // const name = `${dayjs(e.morningStart, 'HH:mm:ss').format('HH:mm')}-${dayjs(e.afternoonEnd || e.morningEnd, 'HH:mm:ss').format('HH:mm')}`;\n // if (!acc[name]) acc[name] = [index];\n // else acc[name].push(index);\n // return acc;\n // }, {});\n\n // reducedSchedules = orderByLodash(reducedSchedules, (elem) => elem.length, ['desc']);\n\n // let resultHoraire = '';\n // let startH;\n // let startM;\n // let endH;\n // let endM;\n // let firstDayOfWeek;\n // let lastDayOfWeek;\n\n // reducedSchedules.forEach((schedule: any, index: number) => {\n // startH = dayjs(user.workingSchedules[schedule[0]].morningStart ? user.workingSchedules[schedule[0]].morningStart : user.workingSchedules[schedule[0]].afternoonStart, 'HH:mm:ss').get('hour');\n // startM = dayjs(user.workingSchedules[schedule[0]].morningStart ? user.workingSchedules[schedule[0]].morningStart : user.workingSchedules[schedule[0]].afternoonStart, 'HH:mm:ss').get('minute');\n // endH = dayjs(user.workingSchedules[schedule[0]].afternoonEnd || user.workingSchedules[schedule[0]].morningEnd, 'HH:mm:ss').get('hour');\n // endM = dayjs(user.workingSchedules[schedule[0]].afternoonEnd || user.workingSchedules[schedule[0]].morningEnd, 'HH:mm:ss').get('minute');\n // firstDayOfWeek = dayjs().locale('fr').day(user.workingSchedules[schedule[0]].idDay).format('dddd');\n // if (!index) {\n // // pour le premier index, on affiche l'amplitude horaire la plus commune, du XX au XX de Xh à Xh\n // lastDayOfWeek = dayjs().locale('fr').day(user.workingSchedules[user.workingSchedules.length - 1].idDay).format('dddd');\n // resultHoraire += `Du ${firstDayOfWeek} au ${lastDayOfWeek} de ${startH}h${startM > 0 ? startM : ''} à ${endH}h${endM > 0 ? endM : ''}`;\n // } else { // Fonctionnel si uniquement un jour par semaine avec des horaires différents\n // resultHoraire += `<br/>Le ${firstDayOfWeek} de ${startH}h${startM > 0 ? startM : ''} à ${endH}h${endM > 0 ? endM : ''}`;\n // }\n // });\n // return resultHoraire;\n}\n\nfunction getMailSignature(user: any, idTypeBrand: number) {\n const informatiqueMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.informatique',\n }) as unknown as string;\n const bonjourMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.bonjour',\n }) as unknown as string;\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n if (user.roles.map((r: any) => r.id).includes(Role.ADMIN)) {\n return informatiqueMail;\n }\n\n if (\n user &&\n !!intersection(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n user.roles.map((r: any) => r.id),\n [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS, Role.DATA_OFFICER, Role.COMMERCIAL, Role.TECHNICAL_ADVISOR],\n ).length\n )\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return user.email;\n return bonjourMail;\n}\n\nfunction getPhoneSignature(user: any) {\n if (user.phone && user.phone !== '0383931414') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return user.phone.replace(/\\B(?=(\\d{2})+(?!\\d))/g, '&nbsp;');\n }\n return null;\n}\n\nexport function generateSignature(params: any): string {\n const { fromAddress = null, idTypeBrand = 1, society, ...otherParams } = params;\n let { user, forceRole = null } = otherParams;\n\n const hostS3 = getBrandConfig({\n idTypeBrand,\n objectWaited: 'urlS3',\n });\n\n const brandName = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'name',\n }) as unknown as string;\n const brandPostalAddress = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'companyInformation.postalAddress',\n }) as unknown as string;\n const brandCity = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'companyInformation.city',\n }) as unknown as string;\n const commercialName = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'commercialName',\n }) as unknown as string;\n const iban = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'bank.IBAN',\n }) as unknown as string;\n const bic = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'bank.BIC',\n }) as unknown as string;\n const bonjourMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.bonjour',\n }) as unknown as string;\n const socialMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.social',\n }) as unknown as string;\n const dataOfficerMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.gestion',\n }) as unknown as string;\n const satisfactionMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.satisfaction',\n }) as unknown as string;\n const resiliationMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.resiliation',\n }) as unknown as string;\n const supportMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.support',\n }) as unknown as string;\n const juridiqueMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.juridique',\n }) as unknown as string;\n const facturationMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.facturation',\n }) as unknown as string;\n const primaryColor = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'colors.primary',\n }) as unknown as string;\n const standardPhoneSignature = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listPhones.contact',\n }) as unknown as string;\n const juridiquePhoneSignature = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listPhones.juridique',\n }) as unknown as string;\n const socialPhoneSignature = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listPhones.social',\n }) as unknown as string;\n\n // Pour les cas hybrides des personnes ayant plusieurs rôles\n // Comme Morgane (Facturation + Satisfaction) et qui peut choisir plusieurs emails d'expédition\n // Il faut que la signature corresponde à l'adresse d'expédition\n // donc actuellement, on ne gère que satisfaction/resiliation/facturation\n const listGenericEmails: { email: string; forceRole: string }[] = [\n { email: satisfactionMail, forceRole: 'satisfaction' },\n { email: resiliationMail, forceRole: 'resiliation' },\n { email: facturationMail, forceRole: 'facturation' },\n ];\n const genericEmailUsed = listGenericEmails.find((e) => e.email === fromAddress);\n if (genericEmailUsed) {\n forceRole = genericEmailUsed.forceRole;\n }\n\n let roleSignature: string | null;\n let mailSignature: string | null;\n let phoneSignature: string | null;\n let horaires: string | null;\n [roleSignature, mailSignature, phoneSignature, horaires] = [\n 'Expert-Comptable',\n bonjourMail,\n null,\n 'Du lundi au vendredi de 9h à 18h',\n ];\n\n if (user?.roles && user.roles.some((r: any) => r.id === Role.DATA_OFFICER)) {\n // Signature data_officer\n user = {\n firstname: `L'équipe ${commercialName}`,\n isAll: true,\n };\n mailSignature = dataOfficerMail;\n roleSignature = '';\n } else if (\n intersection(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n (user?.roles ?? []).map((r: any) => r.id),\n [Role.FRONT_OFFICE, Role.SENIOR],\n ).length === 2\n ) {\n // Signature front senior\n user = {\n firstname: `L'équipe ${commercialName}`,\n isAll: true,\n };\n mailSignature = bonjourMail;\n roleSignature = '';\n } else if (forceRole === 'satisfaction') {\n // Signature satisfaction\n user = {\n firstname: 'Service satisfaction clients',\n isAll: true,\n };\n mailSignature = satisfactionMail;\n roleSignature = '';\n phoneSignature = standardPhoneSignature;\n } else if (forceRole === 'resiliation') {\n // Signature resiliation\n user = {\n firstname: 'Service satisfaction clients',\n isAll: true,\n };\n mailSignature = resiliationMail;\n roleSignature = '';\n phoneSignature = standardPhoneSignature;\n } else if (forceRole === 'social') {\n // Signature social\n user = {\n firstname: 'Service social',\n isAll: true,\n };\n mailSignature = socialMail;\n roleSignature = '';\n phoneSignature = socialPhoneSignature;\n } else if (forceRole === 'support') {\n // Signature support\n user = {\n firstname: 'Service Support',\n isAll: true,\n };\n mailSignature = supportMail;\n roleSignature = null;\n } else if (forceRole === 'juridique') {\n // Signature juridique\n user = {\n firstname: 'Service juridique',\n isAll: true,\n };\n mailSignature = juridiqueMail;\n roleSignature = null;\n phoneSignature = juridiquePhoneSignature;\n } else if (forceRole === 'facturation') {\n // Signature facturation\n user = {\n firstname: 'Service facturation',\n isAll: true,\n };\n mailSignature = facturationMail;\n roleSignature = null;\n phoneSignature = standardPhoneSignature;\n } else if (!user || forceRole === 'generique') {\n // Signature Clementine\n user = {\n firstname: `L'équipe ${commercialName}`,\n isAll: true,\n };\n roleSignature = '';\n } else if (user !== 0) {\n // Signature par défaut\n roleSignature = getRoleSignature(user);\n mailSignature = getMailSignature(user, idTypeBrand);\n horaires = getHoraires(user);\n phoneSignature = getPhoneSignature(user);\n }\n\n // Si on a une société, alors on remplace le lien calendly de base par le lien calendly interne\n // on n'affiche uniquement si le collaboreatur a bien des créneaux horaires\n if (\n society?.id &&\n user?.roles?.some((r: any) =>\n [Role.FRONT_OFFICE, Role.FACTURATION, Role.JURIDIC, Role.COMMERCIAL].includes(r.id),\n ) &&\n user?.usersTimeSlots?.length\n ) {\n const isJuridic = user?.roles?.some((r: any) => [Role.JURIDIC].includes(r.id));\n const isFactu = user?.roles?.some((r: any) => [Role.FACTURATION].includes(r.id));\n const isCommercial = user?.roles?.some((r: any) => [Role.COMMERCIAL].includes(r.id));\n let idType = TimeSlot.BILAN;\n if (isJuridic) idType = TimeSlot.EDIT_SOCIETY;\n if (isFactu) idType = TimeSlot.BILLING;\n if (isCommercial) idType = TimeSlot.SALES;\n const urlApp = getBrandConfig({ objectWaited: 'urlApp' }) as unknown as string;\n user.calendlyUrl = `${urlApp}/appointment?uuid=${society?.externalId ? society.externalId : ''}&idType=${idType}`;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return ejs.render(signatureTemplate, {\n forceRole,\n isFacturation: user.roles ? user.roles.some((r: any) => r.id === Role.FACTURATION) : false,\n isDataOfficer: user.roles ? user.roles.some((r: any) => r.id === Role.DATA_OFFICER) : true,\n brandName,\n brandPostalAddress,\n brandCity,\n idTypeBrand,\n commercialName,\n iban,\n bic,\n hostS3,\n user,\n roleSignature,\n mailSignature,\n phoneSignature: phoneSignature ? phoneSignature.replace(/\\s+/gm, '&nbsp;') : null,\n standardPhoneSignature: standardPhoneSignature.replace(/\\s+/gm, '&nbsp;'),\n horaires,\n primaryColor,\n supportMail,\n });\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 { Role } from '../types/Enum/Role';\nimport { TimeSlot } from '../types/Enum/TimeSlot';\nimport { IUser } from '../types/Interface/models/IUser';\nimport { getBrandConfig } from './brands';\nimport { signatureTemplate } from './email/templates/signature';\nimport { intersection } from './noLodash';\n\n// eslint-disable-next-line @typescript-eslint/no-require-imports\nconst ejs = require('ejs');\n\nfunction getRoleSignature(user: any) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n if (user.positionLabel) return user.positionLabel;\n\n const isStagiaireOrAlternant =\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n user.roles.map((r: any) => r.id).includes(Role.INTERN) || user.roles.map((r: any) => r.id).includes(Role.ALTERNATE);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isManager = user.roles.map((r: any) => r.id).includes(Role.MANAGER);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isSocial = user.roles.map((r: any) => r.id).includes(Role.SOCIAL);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isJuridic = user.roles.map((r: any) => r.id).includes(Role.JURIDIC);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isFacturation = user.roles.map((r: any) => r.id).includes(Role.FACTURATION);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isExpert = user.roles.map((r: any) => r.id).includes(Role.EXPERT_ACCOUNTANT);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isCS = user.roles.map((r: any) => r.id).includes(Role.CUSTOMER_SUCCESS);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isOnBoarder = user.roles.map((r: any) => r.id).includes(Role.ON_BOARDER);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isSatisfaction = user.roles.map((r: any) => r.id).includes(Role.SATISFACTION);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isDataOfficer = user.roles.map((r: any) => r.id).includes(Role.DATA_OFFICER);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isSales = user.roles.map((r: any) => r.id).includes(Role.COMMERCIAL);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isAdmin = user.roles.map((r: any) => r.id).includes(Role.ADMIN);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n const isTechnicalAdvisor = user.roles.map((r: any) => r.id).includes(Role.TECHNICAL_ADVISOR);\n\n const isFront = !!intersection(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n user.roles.map((r: any) => r.id),\n [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS],\n ).length;\n\n if (isSales && isManager) {\n return 'Responsable commercial';\n }\n if (isSales) {\n return `Chargé${user.idCivility === 2 ? 'e' : ''} de clientèle`;\n }\n\n if (isCS && isManager) {\n return 'Responsable relations clients';\n }\n if (isCS) {\n return `Conseill${user.idCivility === 2 ? 'ère' : 'er'} comptable`;\n }\n\n if (isTechnicalAdvisor) {\n return `Référent${user.idCivility === 2 ? 'e' : ''} technique`;\n }\n\n if (isOnBoarder && isManager) {\n return `Responsable chargé${user.idCivility === 2 ? 'e' : ''} accueil clients`;\n }\n if (isOnBoarder) {\n return `Chargé${user.idCivility === 2 ? 'e' : ''} accueil clients`;\n }\n\n if (isSatisfaction && isManager) {\n return `Responsable chargé${user.idCivility === 2 ? 'e' : ''} de la satisfaction clients`;\n }\n if (isSatisfaction) {\n return `Chargé${user.idCivility === 2 ? 'e' : ''} de la satisfaction clients`;\n }\n\n if (isDataOfficer && isManager) {\n return 'Responsable aide comptable';\n }\n if (isDataOfficer) {\n return 'Aide comptable';\n }\n\n if (isFacturation && isStagiaireOrAlternant) {\n return 'Assistant facturation';\n }\n if (isFacturation && isManager) {\n return 'Responsable facturation';\n }\n if (isFacturation) {\n return `Chargé${user.idCivility === 2 ? 'e' : ''} de facturation`;\n }\n\n if (isJuridic && isStagiaireOrAlternant) {\n return 'Assistant juridique';\n }\n if (isJuridic && isManager) {\n return 'Responsable juridique';\n }\n if (isJuridic) {\n return 'Juriste';\n }\n\n if (isSocial && isStagiaireOrAlternant) {\n return 'Assistant paie';\n }\n if (isSocial && isManager) {\n return 'Responsable paie';\n }\n if (isSocial) {\n return 'Gestionnaire de paie';\n }\n\n if (isExpert) {\n return `Expert${user.idCivility === 2 ? 'e' : ''}-comptable`;\n }\n\n if (isAdmin) {\n return 'Développeur web';\n }\n\n if (isFront && isManager) return 'Responsable comptable';\n if (isFront && isStagiaireOrAlternant) return 'Assistant comptable';\n // if (isFront) return `Comptable dédié${user.idCivility === 2 ? 'e' : ''}`;\n // return `Comptable dédié${user.idCivility === 2 ? 'e' : ''}`;\n // if (isFront) return `Comptable`;\n return 'Comptable';\n}\n\nexport function getHoraires(user: IUser) {\n // On affiche les horaires uniquement pour les front, et pas pour les TVA\n\n // if (\n // isItThisEnv('Pourcentage') &&\n // user?.entity &&\n // [EntityType.COMPTALIB, EntityType.AMEX, EntityType.CABINET_RONCHIERI_LANDRA].includes(user.entity)\n // ) {\n // return 'Du lundi au vendredi de 9h à 18h';\n // }\n\n return 'Du lundi au vendredi de 9h à 18h';\n\n // if (!intersection([user.roles.map((r: any) => r.id), [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS, Role.COMMERCIAL]]).length) return 'Du lundi au vendredi de 9h à 18h';\n\n // if (!user.workingSchedules.length) return 'Du lundi au vendredi de 9h à 18h';\n\n // let reducedSchedules = user.workingSchedules.reduce((acc: any, e:any, index: number) => {\n // const name = `${dayjs(e.morningStart, 'HH:mm:ss').format('HH:mm')}-${dayjs(e.afternoonEnd || e.morningEnd, 'HH:mm:ss').format('HH:mm')}`;\n // if (!acc[name]) acc[name] = [index];\n // else acc[name].push(index);\n // return acc;\n // }, {});\n\n // reducedSchedules = orderByLodash(reducedSchedules, (elem) => elem.length, ['desc']);\n\n // let resultHoraire = '';\n // let startH;\n // let startM;\n // let endH;\n // let endM;\n // let firstDayOfWeek;\n // let lastDayOfWeek;\n\n // reducedSchedules.forEach((schedule: any, index: number) => {\n // startH = dayjs(user.workingSchedules[schedule[0]].morningStart ? user.workingSchedules[schedule[0]].morningStart : user.workingSchedules[schedule[0]].afternoonStart, 'HH:mm:ss').get('hour');\n // startM = dayjs(user.workingSchedules[schedule[0]].morningStart ? user.workingSchedules[schedule[0]].morningStart : user.workingSchedules[schedule[0]].afternoonStart, 'HH:mm:ss').get('minute');\n // endH = dayjs(user.workingSchedules[schedule[0]].afternoonEnd || user.workingSchedules[schedule[0]].morningEnd, 'HH:mm:ss').get('hour');\n // endM = dayjs(user.workingSchedules[schedule[0]].afternoonEnd || user.workingSchedules[schedule[0]].morningEnd, 'HH:mm:ss').get('minute');\n // firstDayOfWeek = dayjs().locale('fr').day(user.workingSchedules[schedule[0]].idDay).format('dddd');\n // if (!index) {\n // // pour le premier index, on affiche l'amplitude horaire la plus commune, du XX au XX de Xh à Xh\n // lastDayOfWeek = dayjs().locale('fr').day(user.workingSchedules[user.workingSchedules.length - 1].idDay).format('dddd');\n // resultHoraire += `Du ${firstDayOfWeek} au ${lastDayOfWeek} de ${startH}h${startM > 0 ? startM : ''} à ${endH}h${endM > 0 ? endM : ''}`;\n // } else { // Fonctionnel si uniquement un jour par semaine avec des horaires différents\n // resultHoraire += `<br/>Le ${firstDayOfWeek} de ${startH}h${startM > 0 ? startM : ''} à ${endH}h${endM > 0 ? endM : ''}`;\n // }\n // });\n // return resultHoraire;\n}\n\nfunction getMailSignature(user: any, idTypeBrand: number) {\n const informatiqueMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.informatique',\n }) as unknown as string;\n const bonjourMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.bonjour',\n }) as unknown as string;\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n if (user.roles.map((r: any) => r.id).includes(Role.ADMIN)) {\n return informatiqueMail;\n }\n\n if (\n user &&\n !!intersection(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n user.roles.map((r: any) => r.id),\n [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS, Role.DATA_OFFICER, Role.COMMERCIAL, Role.TECHNICAL_ADVISOR],\n ).length\n )\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return user.email;\n return bonjourMail;\n}\n\nfunction getPhoneSignature(user: any) {\n if (user.phone && user.phone !== '0383931414') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return user.phone.replace(/\\B(?=(\\d{2})+(?!\\d))/g, '&nbsp;');\n }\n return null;\n}\n\nexport function generateSignature(params: any): string {\n const { fromAddress = null, idTypeBrand = 1, society, ...otherParams } = params;\n let { user, forceRole = null } = otherParams;\n\n const hostS3 = getBrandConfig({\n idTypeBrand,\n objectWaited: 'urlS3',\n });\n\n const brandName = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'name',\n }) as unknown as string;\n const brandPostalAddress = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'companyInformation.postalAddress',\n }) as unknown as string;\n const brandCity = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'companyInformation.city',\n }) as unknown as string;\n const commercialName = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'commercialName',\n }) as unknown as string;\n const iban = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'bank.IBAN',\n }) as unknown as string;\n const bic = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'bank.BIC',\n }) as unknown as string;\n const bonjourMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.bonjour',\n }) as unknown as string;\n const socialMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.social',\n }) as unknown as string;\n const dataOfficerMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.gestion',\n }) as unknown as string;\n const satisfactionMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.satisfaction',\n }) as unknown as string;\n const resiliationMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.resiliation',\n }) as unknown as string;\n const supportMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.support',\n }) as unknown as string;\n const juridiqueMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.juridique',\n }) as unknown as string;\n const facturationMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.facturation',\n }) as unknown as string;\n const primaryColor = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'colors.primary',\n }) as unknown as string;\n const standardPhoneSignature = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listPhones.contact',\n }) as unknown as string;\n const juridiquePhoneSignature = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listPhones.juridique',\n }) as unknown as string;\n const socialPhoneSignature = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listPhones.social',\n }) as unknown as string;\n\n // Pour les cas hybrides des personnes ayant plusieurs rôles\n // Comme Morgane (Facturation + Satisfaction) et qui peut choisir plusieurs emails d'expédition\n // Il faut que la signature corresponde à l'adresse d'expédition\n // donc actuellement, on ne gère que satisfaction/resiliation/facturation\n const listGenericEmails: { email: string; forceRole: string }[] = [\n { email: satisfactionMail, forceRole: 'satisfaction' },\n { email: resiliationMail, forceRole: 'resiliation' },\n { email: facturationMail, forceRole: 'facturation' },\n ];\n const genericEmailUsed = listGenericEmails.find((e) => e.email === fromAddress);\n if (genericEmailUsed) {\n forceRole = genericEmailUsed.forceRole;\n }\n\n let roleSignature: string | null;\n let mailSignature: string | null;\n let phoneSignature: string | null;\n let horaires: string | null;\n [roleSignature, mailSignature, phoneSignature, horaires] = [\n 'Expert-Comptable',\n bonjourMail,\n null,\n 'Du lundi au vendredi de 9h à 18h',\n ];\n\n if (user?.roles && user.roles.some((r: any) => r.id === Role.DATA_OFFICER)) {\n // Signature data_officer\n user = {\n firstname: `L'équipe ${commercialName}`,\n isAll: true,\n };\n mailSignature = dataOfficerMail;\n roleSignature = '';\n } else if (\n intersection(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n (user?.roles ?? []).map((r: any) => r.id),\n [Role.FRONT_OFFICE, Role.SENIOR],\n ).length === 2\n ) {\n // Signature front senior\n user = {\n firstname: `L'équipe ${commercialName}`,\n isAll: true,\n };\n mailSignature = bonjourMail;\n roleSignature = '';\n } else if (forceRole === 'satisfaction') {\n // Signature satisfaction\n user = {\n firstname: 'Service satisfaction clients',\n isAll: true,\n };\n mailSignature = satisfactionMail;\n roleSignature = '';\n phoneSignature = standardPhoneSignature;\n } else if (forceRole === 'resiliation') {\n // Signature resiliation\n user = {\n firstname: 'Service satisfaction clients',\n isAll: true,\n };\n mailSignature = resiliationMail;\n roleSignature = '';\n phoneSignature = standardPhoneSignature;\n } else if (forceRole === 'social') {\n // Signature social\n user = {\n firstname: 'Service social',\n isAll: true,\n };\n mailSignature = socialMail;\n roleSignature = '';\n phoneSignature = socialPhoneSignature;\n } else if (forceRole === 'support') {\n // Signature support\n user = {\n firstname: 'Service Support',\n isAll: true,\n };\n mailSignature = supportMail;\n roleSignature = null;\n } else if (forceRole === 'juridique') {\n // Signature juridique\n user = {\n firstname: 'Service juridique',\n isAll: true,\n };\n mailSignature = juridiqueMail;\n roleSignature = null;\n phoneSignature = juridiquePhoneSignature;\n } else if (forceRole === 'facturation') {\n // Signature facturation\n user = {\n firstname: 'Service facturation',\n isAll: true,\n };\n mailSignature = facturationMail;\n roleSignature = null;\n phoneSignature = standardPhoneSignature;\n } else if (!user || forceRole === 'generique') {\n // Signature Clementine\n user = {\n firstname: `L'équipe ${commercialName}`,\n isAll: true,\n };\n roleSignature = '';\n } else if (user !== 0) {\n // Signature par défaut\n roleSignature = getRoleSignature(user);\n mailSignature = getMailSignature(user, idTypeBrand);\n horaires = getHoraires(user);\n phoneSignature = getPhoneSignature(user);\n }\n\n // Si on a une société, alors on remplace le lien calendly de base par le lien calendly interne\n // on n'affiche uniquement si le collaboreatur a bien des créneaux horaires\n if (\n society?.id &&\n user?.roles?.some((r: any) =>\n [Role.FRONT_OFFICE, Role.FACTURATION, Role.JURIDIC, Role.COMMERCIAL].includes(r.id),\n ) &&\n user?.usersTimeSlots?.length\n ) {\n const isJuridic = user?.roles?.some((r: any) => [Role.JURIDIC].includes(r.id));\n const isFactu = user?.roles?.some((r: any) => [Role.FACTURATION].includes(r.id));\n const isCommercial = user?.roles?.some((r: any) => [Role.COMMERCIAL].includes(r.id));\n let idType = TimeSlot.BILAN;\n if (isJuridic) idType = TimeSlot.EDIT_SOCIETY;\n if (isFactu) idType = TimeSlot.BILLING;\n if (isCommercial) idType = TimeSlot.SALES;\n const urlApp = getBrandConfig({ objectWaited: 'urlApp' }) as unknown as string;\n user.calendlyUrl = `${urlApp}/appointment?uuid=${society?.externalId ? society.externalId : ''}&idType=${idType}`;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return ejs.render(signatureTemplate, {\n forceRole,\n isFacturation: user.roles ? user.roles.some((r: any) => r.id === Role.FACTURATION) : false,\n isDataOfficer: user.roles ? user.roles.some((r: any) => r.id === Role.DATA_OFFICER) : true,\n brandName,\n brandPostalAddress,\n brandCity,\n idTypeBrand,\n commercialName,\n iban,\n bic,\n hostS3,\n user,\n roleSignature,\n mailSignature,\n phoneSignature: phoneSignature ? phoneSignature.replace(/\\s+/gm, '&nbsp;') : null,\n standardPhoneSignature: standardPhoneSignature.replace(/\\s+/gm, '&nbsp;'),\n horaires,\n primaryColor,\n supportMail,\n });\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getNbExerciceMonths = exports.isExerciceAfterRecoveryDate = exports.exerciceNumber = void 0;
4
- const dayjs_1 = require("dayjs");
4
+ const dayjs = require("dayjs");
5
5
  /**
6
6
  * Check if the recovery date is before the exercice start date (with a 3 month tolerance)
7
7
  * @param recoveryDate - The recovery date from old expert info
@@ -9,17 +9,17 @@ const dayjs_1 = require("dayjs");
9
9
  * @returns true if the recovery date is before the exercice start date + 3 months
10
10
  */
11
11
  const isExerciceAfterRecoveryDate = (recoveryDate, exercice) => {
12
- return (0, dayjs_1.default)(recoveryDate).isBefore((0, dayjs_1.default)(exercice.startDate).add(3, 'month'), 'day');
12
+ return dayjs(recoveryDate).isBefore(dayjs(exercice.startDate).add(3, 'month'), 'day');
13
13
  };
14
14
  exports.isExerciceAfterRecoveryDate = isExerciceAfterRecoveryDate;
15
15
  const exerciceNumber = (endDate, exerciceList) => {
16
16
  let currentExercice = 0;
17
17
  exerciceList
18
18
  .sort((a, b) => {
19
- if ((0, dayjs_1.default)(a.startDate).format('YYYY-MM-DD') > (0, dayjs_1.default)(b.startDate).format('YYYY-MM-DD')) {
19
+ if (dayjs(a.startDate).format('YYYY-MM-DD') > dayjs(b.startDate).format('YYYY-MM-DD')) {
20
20
  return 1;
21
21
  }
22
- else if ((0, dayjs_1.default)(a.startDate).format('YYYY-MM-DD') < (0, dayjs_1.default)(b.startDate).format('YYYY-MM-DD')) {
22
+ else if (dayjs(a.startDate).format('YYYY-MM-DD') < dayjs(b.startDate).format('YYYY-MM-DD')) {
23
23
  return -1;
24
24
  }
25
25
  else {
@@ -27,7 +27,7 @@ const exerciceNumber = (endDate, exerciceList) => {
27
27
  }
28
28
  })
29
29
  .forEach((exercice, index) => {
30
- if ((0, dayjs_1.default)(endDate).isSame((0, dayjs_1.default)(exercice.endDate))) {
30
+ if (dayjs(endDate).isSame(dayjs(exercice.endDate))) {
31
31
  currentExercice = index + 1;
32
32
  }
33
33
  });
@@ -43,8 +43,8 @@ exports.exerciceNumber = exerciceNumber;
43
43
  * @returns Number of months in the exercice
44
44
  */
45
45
  const getNbExerciceMonths = (startDate, endDate) => {
46
- const start = (0, dayjs_1.default)(startDate);
47
- const end = (0, dayjs_1.default)(endDate).add(1, 'day');
46
+ const start = dayjs(startDate);
47
+ const end = dayjs(endDate).add(1, 'day');
48
48
  return Math.round(end.diff(start, 'months', true));
49
49
  };
50
50
  exports.getNbExerciceMonths = getNbExerciceMonths;
@@ -1 +1 @@
1
- {"version":3,"file":"exercice.js","sourceRoot":"","sources":["../../../ts/utils/exercice.ts"],"names":[],"mappings":";;;AACA,iCAA0B;AAE1B;;;;;GAKG;AACH,MAAM,2BAA2B,GAAG,CAAC,YAAkB,EAAE,QAAmB,EAAW,EAAE;IACvF,OAAO,IAAA,eAAK,EAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAA,eAAK,EAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;AACxF,CAAC,CAAC;AAsBuB,kEAA2B;AApBpD,MAAM,cAAc,GAAG,CAAC,OAAa,EAAE,YAAyB,EAAU,EAAE;IAC1E,IAAI,eAAe,GAAW,CAAC,CAAC;IAChC,YAAY;SACT,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,IAAI,IAAA,eAAK,EAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,IAAA,eAAK,EAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;YACtF,OAAO,CAAC,CAAC;QACX,CAAC;aAAM,IAAI,IAAA,eAAK,EAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,IAAA,eAAK,EAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7F,OAAO,CAAC,CAAC,CAAC;QACZ,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC,CAAC;SACD,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;QAC3B,IAAI,IAAA,eAAK,EAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAA,eAAK,EAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YACnD,eAAe,GAAG,KAAK,GAAG,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CAAC,CAAC;IACL,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC;AAEO,wCAAc;AAEvB;;;;;;;GAOG;AACI,MAAM,mBAAmB,GAAG,CAAC,SAAe,EAAE,OAAa,EAAU,EAAE;IAC5E,MAAM,KAAK,GAAG,IAAA,eAAK,EAAC,SAAS,CAAC,CAAC;IAC/B,MAAM,GAAG,GAAG,IAAA,eAAK,EAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC;AAJW,QAAA,mBAAmB,uBAI9B","sourcesContent":["import { IExercice } from '../types';\nimport dayjs from 'dayjs';\n\n/**\n * Check if the recovery date is before the exercice start date (with a 3 month tolerance)\n * @param recoveryDate - The recovery date from old expert info\n * @param exercice - The exercice to check\n * @returns true if the recovery date is before the exercice start date + 3 months\n */\nconst isExerciceAfterRecoveryDate = (recoveryDate: Date, exercice: IExercice): boolean => {\n return dayjs(recoveryDate).isBefore(dayjs(exercice.startDate).add(3, 'month'), 'day');\n};\n\nconst exerciceNumber = (endDate: Date, exerciceList: IExercice[]): number => {\n let currentExercice: number = 0;\n exerciceList\n .sort((a, b) => {\n if (dayjs(a.startDate).format('YYYY-MM-DD') > dayjs(b.startDate).format('YYYY-MM-DD')) {\n return 1;\n } else if (dayjs(a.startDate).format('YYYY-MM-DD') < dayjs(b.startDate).format('YYYY-MM-DD')) {\n return -1;\n } else {\n return 0;\n }\n })\n .forEach((exercice, index) => {\n if (dayjs(endDate).isSame(dayjs(exercice.endDate))) {\n currentExercice = index + 1;\n }\n });\n return currentExercice;\n};\n\nexport { exerciceNumber, isExerciceAfterRecoveryDate };\n\n/**\n * Compute the real number of months in an exercice, inclusive of the last day.\n * For accounting correctness, we include the end day in the diff.\n *\n * @param startDate - Exercice start date\n * @param endDate - Exercice end date\n * @returns Number of months in the exercice\n */\nexport const getNbExerciceMonths = (startDate: Date, endDate: Date): number => {\n const start = dayjs(startDate);\n const end = dayjs(endDate).add(1, 'day');\n return Math.round(end.diff(start, 'months', true));\n};\n"]}
1
+ {"version":3,"file":"exercice.js","sourceRoot":"","sources":["../../../ts/utils/exercice.ts"],"names":[],"mappings":";;;AACA,+BAA+B;AAE/B;;;;;GAKG;AACH,MAAM,2BAA2B,GAAG,CAAC,YAAkB,EAAE,QAAmB,EAAW,EAAE;IACvF,OAAO,KAAK,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;AACxF,CAAC,CAAC;AAsBuB,kEAA2B;AApBpD,MAAM,cAAc,GAAG,CAAC,OAAa,EAAE,YAAyB,EAAU,EAAE;IAC1E,IAAI,eAAe,GAAW,CAAC,CAAC;IAChC,YAAY;SACT,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,IAAI,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;YACtF,OAAO,CAAC,CAAC;QACX,CAAC;aAAM,IAAI,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7F,OAAO,CAAC,CAAC,CAAC;QACZ,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC,CAAC;SACD,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;QAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YACnD,eAAe,GAAG,KAAK,GAAG,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CAAC,CAAC;IACL,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC;AAEO,wCAAc;AAEvB;;;;;;;GAOG;AACI,MAAM,mBAAmB,GAAG,CAAC,SAAe,EAAE,OAAa,EAAU,EAAE;IAC5E,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/B,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC;AAJW,QAAA,mBAAmB,uBAI9B","sourcesContent":["import { IExercice } from '../types';\nimport * as dayjs from 'dayjs';\n\n/**\n * Check if the recovery date is before the exercice start date (with a 3 month tolerance)\n * @param recoveryDate - The recovery date from old expert info\n * @param exercice - The exercice to check\n * @returns true if the recovery date is before the exercice start date + 3 months\n */\nconst isExerciceAfterRecoveryDate = (recoveryDate: Date, exercice: IExercice): boolean => {\n return dayjs(recoveryDate).isBefore(dayjs(exercice.startDate).add(3, 'month'), 'day');\n};\n\nconst exerciceNumber = (endDate: Date, exerciceList: IExercice[]): number => {\n let currentExercice: number = 0;\n exerciceList\n .sort((a, b) => {\n if (dayjs(a.startDate).format('YYYY-MM-DD') > dayjs(b.startDate).format('YYYY-MM-DD')) {\n return 1;\n } else if (dayjs(a.startDate).format('YYYY-MM-DD') < dayjs(b.startDate).format('YYYY-MM-DD')) {\n return -1;\n } else {\n return 0;\n }\n })\n .forEach((exercice, index) => {\n if (dayjs(endDate).isSame(dayjs(exercice.endDate))) {\n currentExercice = index + 1;\n }\n });\n return currentExercice;\n};\n\nexport { exerciceNumber, isExerciceAfterRecoveryDate };\n\n/**\n * Compute the real number of months in an exercice, inclusive of the last day.\n * For accounting correctness, we include the end day in the diff.\n *\n * @param startDate - Exercice start date\n * @param endDate - Exercice end date\n * @returns Number of months in the exercice\n */\nexport const getNbExerciceMonths = (startDate: Date, endDate: Date): number => {\n const start = dayjs(startDate);\n const end = dayjs(endDate).add(1, 'day');\n return Math.round(end.diff(start, 'months', true));\n};\n"]}