@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.
Files changed (377) hide show
  1. package/dist/cjs/api/index.d.ts.map +1 -1
  2. package/dist/cjs/api/index.js +8 -3
  3. package/dist/cjs/api/index.js.map +1 -1
  4. package/dist/cjs/api/resources/Employee.d.ts.map +1 -1
  5. package/dist/cjs/api/resources/Employee.js +1 -0
  6. package/dist/cjs/api/resources/Employee.js.map +1 -1
  7. package/dist/cjs/api/resources/Task.d.ts.map +1 -1
  8. package/dist/cjs/api/resources/Task.js +1 -0
  9. package/dist/cjs/api/resources/Task.js.map +1 -1
  10. package/dist/cjs/index.d.ts.map +1 -1
  11. package/dist/cjs/index.js +0 -1
  12. package/dist/cjs/index.js.map +1 -1
  13. package/dist/cjs/types/Enum/Aspone.js +32 -32
  14. package/dist/cjs/types/Enum/Aspone.js.map +1 -1
  15. package/dist/cjs/types/Enum/BalanceSheet.js +1 -1
  16. package/dist/cjs/types/Enum/BalanceSheet.js.map +1 -1
  17. package/dist/cjs/types/Enum/BalanceSheetQuestion.d.ts.map +1 -1
  18. package/dist/cjs/types/Enum/BalanceSheetQuestion.js +2 -0
  19. package/dist/cjs/types/Enum/BalanceSheetQuestion.js.map +1 -1
  20. package/dist/cjs/types/Enum/BalanceSheetQuestionWording.d.ts.map +1 -1
  21. package/dist/cjs/types/Enum/BalanceSheetQuestionWording.js +1 -0
  22. package/dist/cjs/types/Enum/BalanceSheetQuestionWording.js.map +1 -1
  23. package/dist/cjs/types/Enum/RevisionGuide.d.ts.map +1 -1
  24. package/dist/cjs/types/Enum/RevisionGuide.js +5 -0
  25. package/dist/cjs/types/Enum/RevisionGuide.js.map +1 -1
  26. package/dist/cjs/types/Enum/Role.d.ts.map +1 -1
  27. package/dist/cjs/types/Enum/Role.js +1 -0
  28. package/dist/cjs/types/Enum/Role.js.map +1 -1
  29. package/dist/cjs/types/Enum/SalesContractBrandClementine.js +4 -4
  30. package/dist/cjs/types/Enum/SalesContractBrandClementine.js.map +1 -1
  31. package/dist/cjs/types/Enum/SalesContractBrandPourcentage.d.ts +1 -26
  32. package/dist/cjs/types/Enum/SalesContractBrandPourcentage.d.ts.map +1 -1
  33. package/dist/cjs/types/Enum/SalesContractBrandPourcentage.js +6 -6
  34. package/dist/cjs/types/Enum/SalesContractBrandPourcentage.js.map +1 -1
  35. package/dist/cjs/types/Enum/TransactionKind.d.ts.map +1 -1
  36. package/dist/cjs/types/Enum/TransactionKind.js.map +1 -1
  37. package/dist/cjs/types/Enum/TransactionStatus.d.ts.map +1 -1
  38. package/dist/cjs/types/Enum/TransactionStatus.js.map +1 -1
  39. package/dist/cjs/types/Enum/TypePayment.d.ts.map +1 -1
  40. package/dist/cjs/types/Enum/TypePayment.js +1 -0
  41. package/dist/cjs/types/Enum/TypePayment.js.map +1 -1
  42. package/dist/cjs/types/Interface/api/accountingFiles/Ocr.d.ts.map +1 -1
  43. package/dist/cjs/types/Interface/api/accountingFiles/Ocr.js.map +1 -1
  44. package/dist/cjs/types/Interface/api/checklist/Read.d.ts +1 -0
  45. package/dist/cjs/types/Interface/api/checklist/Read.d.ts.map +1 -1
  46. package/dist/cjs/types/Interface/api/checklist/Read.js.map +1 -1
  47. package/dist/cjs/types/Interface/api/config/ConfigType.d.ts +282 -0
  48. package/dist/cjs/types/Interface/api/config/ConfigType.d.ts.map +1 -0
  49. package/dist/cjs/types/Interface/api/config/ConfigType.js +3 -0
  50. package/dist/cjs/types/Interface/api/config/ConfigType.js.map +1 -0
  51. package/dist/cjs/types/Interface/api/crisp/GetCrisp.d.ts.map +1 -1
  52. package/dist/cjs/types/Interface/api/crisp/GetCrisp.js.map +1 -1
  53. package/dist/cjs/types/Interface/api/exerciceQuestion/CreateExerciceQuestion.d.ts.map +1 -1
  54. package/dist/cjs/types/Interface/api/exerciceQuestion/CreateExerciceQuestion.js +3 -1
  55. package/dist/cjs/types/Interface/api/exerciceQuestion/CreateExerciceQuestion.js.map +1 -1
  56. package/dist/cjs/types/Interface/api/journal/Journals.d.ts.map +1 -1
  57. package/dist/cjs/types/Interface/api/journal/Journals.js.map +1 -1
  58. package/dist/cjs/types/Interface/api/kilometricAllowance/CreateKilometricAllowanceValidation.d.ts.map +1 -1
  59. package/dist/cjs/types/Interface/api/kilometricAllowance/CreateKilometricAllowanceValidation.js +3 -1
  60. package/dist/cjs/types/Interface/api/kilometricAllowance/CreateKilometricAllowanceValidation.js.map +1 -1
  61. package/dist/cjs/types/Interface/api/notion/NotionResponse.d.ts +4 -4
  62. package/dist/cjs/types/Interface/api/notion/NotionResponse.d.ts.map +1 -1
  63. package/dist/cjs/types/Interface/api/notion/NotionResponse.js.map +1 -1
  64. package/dist/cjs/types/Interface/api/pappers/QueryPappers.d.ts.map +1 -1
  65. package/dist/cjs/types/Interface/api/pappers/QueryPappers.js.map +1 -1
  66. package/dist/cjs/types/Interface/api/promoCode/CreateDefaultPromoCode.d.ts.map +1 -1
  67. package/dist/cjs/types/Interface/api/promoCode/CreateDefaultPromoCode.js +3 -1
  68. package/dist/cjs/types/Interface/api/promoCode/CreateDefaultPromoCode.js.map +1 -1
  69. package/dist/cjs/types/Interface/api/promoCode/ReadDefaultPromotion.d.ts.map +1 -1
  70. package/dist/cjs/types/Interface/api/promoCode/ReadDefaultPromotion.js.map +1 -1
  71. package/dist/cjs/types/Interface/api/shopify/ShopifyFinancialStatus.d.ts.map +1 -1
  72. package/dist/cjs/types/Interface/api/shopify/ShopifyFinancialStatus.js.map +1 -1
  73. package/dist/cjs/types/Interface/api/shopify/ShopifyOrder.d.ts.map +1 -1
  74. package/dist/cjs/types/Interface/api/shopify/ShopifyOrder.js.map +1 -1
  75. package/dist/cjs/types/Interface/api/shopify/discount_code.d.ts.map +1 -1
  76. package/dist/cjs/types/Interface/api/shopify/discount_code.js.map +1 -1
  77. package/dist/cjs/types/Interface/api/shopify/shipping_line.d.ts.map +1 -1
  78. package/dist/cjs/types/Interface/api/shopify/shipping_line.js.map +1 -1
  79. package/dist/cjs/types/Interface/models/IBalanceSheetQuestion.d.ts.map +1 -1
  80. package/dist/cjs/types/Interface/models/IBalanceSheetQuestion.js.map +1 -1
  81. package/dist/cjs/types/Interface/models/IFecFile.d.ts.map +1 -1
  82. package/dist/cjs/types/Interface/models/IFecFile.js.map +1 -1
  83. package/dist/cjs/types/Interface/models/IRegistration.d.ts.map +1 -1
  84. package/dist/cjs/types/Interface/models/IRegistration.js.map +1 -1
  85. package/dist/cjs/types/Interface/models/IUser.d.ts.map +1 -1
  86. package/dist/cjs/types/Interface/models/IUser.js.map +1 -1
  87. package/dist/cjs/types/index.d.ts +1 -0
  88. package/dist/cjs/types/index.d.ts.map +1 -1
  89. package/dist/cjs/types/index.js +1 -0
  90. package/dist/cjs/types/index.js.map +1 -1
  91. package/dist/cjs/utils/brands.d.ts.map +1 -1
  92. package/dist/cjs/utils/brands.js +5 -0
  93. package/dist/cjs/utils/brands.js.map +1 -1
  94. package/dist/cjs/utils/checkup.d.ts.map +1 -1
  95. package/dist/cjs/utils/checkup.js +5 -0
  96. package/dist/cjs/utils/checkup.js.map +1 -1
  97. package/dist/cjs/utils/commercialManagement/document.d.ts.map +1 -1
  98. package/dist/cjs/utils/commercialManagement/document.js +6 -5
  99. package/dist/cjs/utils/commercialManagement/document.js.map +1 -1
  100. package/dist/cjs/utils/commercialManagement/recurrence.js +2 -2
  101. package/dist/cjs/utils/commercialManagement/recurrence.js.map +1 -1
  102. package/dist/cjs/utils/commercialManagement/vat.d.ts.map +1 -1
  103. package/dist/cjs/utils/commercialManagement/vat.js +1 -0
  104. package/dist/cjs/utils/commercialManagement/vat.js.map +1 -1
  105. package/dist/cjs/utils/date.d.ts.map +1 -1
  106. package/dist/cjs/utils/date.js +9 -0
  107. package/dist/cjs/utils/date.js.map +1 -1
  108. package/dist/cjs/utils/decorators.d.ts.map +1 -1
  109. package/dist/cjs/utils/decorators.js +3 -4
  110. package/dist/cjs/utils/decorators.js.map +1 -1
  111. package/dist/cjs/utils/email.d.ts.map +1 -1
  112. package/dist/cjs/utils/email.js +22 -0
  113. package/dist/cjs/utils/email.js.map +1 -1
  114. package/dist/cjs/utils/isUrl.d.ts.map +1 -1
  115. package/dist/cjs/utils/isUrl.js +1 -2
  116. package/dist/cjs/utils/isUrl.js.map +1 -1
  117. package/dist/cjs/utils/noLodash.d.ts.map +1 -1
  118. package/dist/cjs/utils/noLodash.js +10 -2
  119. package/dist/cjs/utils/noLodash.js.map +1 -1
  120. package/dist/cjs/utils/objectUtils/flattenObject.d.ts.map +1 -1
  121. package/dist/cjs/utils/objectUtils/flattenObject.js +1 -0
  122. package/dist/cjs/utils/objectUtils/flattenObject.js.map +1 -1
  123. package/dist/cjs/utils/objectUtils/fullFlattenObject.d.ts.map +1 -1
  124. package/dist/cjs/utils/objectUtils/fullFlattenObject.js +1 -0
  125. package/dist/cjs/utils/objectUtils/fullFlattenObject.js.map +1 -1
  126. package/dist/cjs/utils/objectUtils/unflattenObject.d.ts.map +1 -1
  127. package/dist/cjs/utils/objectUtils/unflattenObject.js +0 -1
  128. package/dist/cjs/utils/objectUtils/unflattenObject.js.map +1 -1
  129. package/dist/cjs/utils/payment.d.ts.map +1 -1
  130. package/dist/cjs/utils/payment.js +6 -1
  131. package/dist/cjs/utils/payment.js.map +1 -1
  132. package/dist/cjs/utils/phone.d.ts.map +1 -1
  133. package/dist/cjs/utils/phone.js +1 -0
  134. package/dist/cjs/utils/phone.js.map +1 -1
  135. package/dist/cjs/utils/quotation.js +2 -2
  136. package/dist/cjs/utils/quotation.js.map +1 -1
  137. package/dist/cjs/utils/social.js +0 -1
  138. package/dist/cjs/utils/social.js.map +1 -1
  139. package/dist/cjs/utils/statutsGeneration.js +2 -2
  140. package/dist/cjs/utils/statutsGeneration.js.map +1 -1
  141. package/dist/cjs/utils/tests/payment.spec.js +30 -39
  142. package/dist/cjs/utils/tests/payment.spec.js.map +1 -1
  143. package/dist/cjs/utils/transforms/boolean.transform.d.ts.map +1 -1
  144. package/dist/cjs/utils/transforms/boolean.transform.js +3 -1
  145. package/dist/cjs/utils/transforms/boolean.transform.js.map +1 -1
  146. package/dist/cjs/utils/vat/3310/century23.d.ts.map +1 -1
  147. package/dist/cjs/utils/vat/3310/century23.js +23 -0
  148. package/dist/cjs/utils/vat/3310/century23.js.map +1 -1
  149. package/dist/cjs/utils/vat/3310/century24.d.ts.map +1 -1
  150. package/dist/cjs/utils/vat/3310/century24.js +23 -0
  151. package/dist/cjs/utils/vat/3310/century24.js.map +1 -1
  152. package/dist/cjs/utils/vat/3517/century23.d.ts.map +1 -1
  153. package/dist/cjs/utils/vat/3517/century23.js +4 -0
  154. package/dist/cjs/utils/vat/3517/century23.js.map +1 -1
  155. package/dist/cjs/utils/vat/registration.d.ts.map +1 -1
  156. package/dist/cjs/utils/vat/registration.js +0 -1
  157. package/dist/cjs/utils/vat/registration.js.map +1 -1
  158. package/dist/mjs/api/index.d.ts.map +1 -1
  159. package/dist/mjs/api/index.js +7 -1
  160. package/dist/mjs/api/index.js.map +1 -1
  161. package/dist/mjs/api/resources/Employee.d.ts.map +1 -1
  162. package/dist/mjs/api/resources/Employee.js +1 -0
  163. package/dist/mjs/api/resources/Employee.js.map +1 -1
  164. package/dist/mjs/api/resources/Task.d.ts.map +1 -1
  165. package/dist/mjs/api/resources/Task.js +1 -0
  166. package/dist/mjs/api/resources/Task.js.map +1 -1
  167. package/dist/mjs/index.d.ts.map +1 -1
  168. package/dist/mjs/index.js +0 -1
  169. package/dist/mjs/index.js.map +1 -1
  170. package/dist/mjs/types/Enum/Aspone.js +32 -32
  171. package/dist/mjs/types/Enum/Aspone.js.map +1 -1
  172. package/dist/mjs/types/Enum/BalanceSheet.js +1 -1
  173. package/dist/mjs/types/Enum/BalanceSheet.js.map +1 -1
  174. package/dist/mjs/types/Enum/BalanceSheetQuestion.d.ts.map +1 -1
  175. package/dist/mjs/types/Enum/BalanceSheetQuestion.js +2 -0
  176. package/dist/mjs/types/Enum/BalanceSheetQuestion.js.map +1 -1
  177. package/dist/mjs/types/Enum/BalanceSheetQuestionWording.d.ts.map +1 -1
  178. package/dist/mjs/types/Enum/BalanceSheetQuestionWording.js +1 -0
  179. package/dist/mjs/types/Enum/BalanceSheetQuestionWording.js.map +1 -1
  180. package/dist/mjs/types/Enum/RevisionGuide.d.ts.map +1 -1
  181. package/dist/mjs/types/Enum/RevisionGuide.js +5 -0
  182. package/dist/mjs/types/Enum/RevisionGuide.js.map +1 -1
  183. package/dist/mjs/types/Enum/Role.d.ts.map +1 -1
  184. package/dist/mjs/types/Enum/Role.js +1 -0
  185. package/dist/mjs/types/Enum/Role.js.map +1 -1
  186. package/dist/mjs/types/Enum/SalesContractBrandClementine.js +4 -4
  187. package/dist/mjs/types/Enum/SalesContractBrandClementine.js.map +1 -1
  188. package/dist/mjs/types/Enum/SalesContractBrandPourcentage.d.ts +1 -26
  189. package/dist/mjs/types/Enum/SalesContractBrandPourcentage.d.ts.map +1 -1
  190. package/dist/mjs/types/Enum/SalesContractBrandPourcentage.js +6 -6
  191. package/dist/mjs/types/Enum/SalesContractBrandPourcentage.js.map +1 -1
  192. package/dist/mjs/types/Enum/TransactionKind.d.ts.map +1 -1
  193. package/dist/mjs/types/Enum/TransactionKind.js.map +1 -1
  194. package/dist/mjs/types/Enum/TransactionStatus.d.ts.map +1 -1
  195. package/dist/mjs/types/Enum/TransactionStatus.js.map +1 -1
  196. package/dist/mjs/types/Enum/TypePayment.d.ts.map +1 -1
  197. package/dist/mjs/types/Enum/TypePayment.js +1 -0
  198. package/dist/mjs/types/Enum/TypePayment.js.map +1 -1
  199. package/dist/mjs/types/Interface/api/accountingFiles/Ocr.d.ts.map +1 -1
  200. package/dist/mjs/types/Interface/api/accountingFiles/Ocr.js.map +1 -1
  201. package/dist/mjs/types/Interface/api/checklist/Read.d.ts +1 -0
  202. package/dist/mjs/types/Interface/api/checklist/Read.d.ts.map +1 -1
  203. package/dist/mjs/types/Interface/api/checklist/Read.js.map +1 -1
  204. package/dist/mjs/types/Interface/api/config/ConfigType.d.ts +282 -0
  205. package/dist/mjs/types/Interface/api/config/ConfigType.d.ts.map +1 -0
  206. package/dist/mjs/types/Interface/api/config/ConfigType.js +2 -0
  207. package/dist/mjs/types/Interface/api/config/ConfigType.js.map +1 -0
  208. package/dist/mjs/types/Interface/api/crisp/GetCrisp.d.ts.map +1 -1
  209. package/dist/mjs/types/Interface/api/crisp/GetCrisp.js.map +1 -1
  210. package/dist/mjs/types/Interface/api/exerciceQuestion/CreateExerciceQuestion.d.ts.map +1 -1
  211. package/dist/mjs/types/Interface/api/exerciceQuestion/CreateExerciceQuestion.js +3 -1
  212. package/dist/mjs/types/Interface/api/exerciceQuestion/CreateExerciceQuestion.js.map +1 -1
  213. package/dist/mjs/types/Interface/api/journal/Journals.d.ts.map +1 -1
  214. package/dist/mjs/types/Interface/api/journal/Journals.js.map +1 -1
  215. package/dist/mjs/types/Interface/api/kilometricAllowance/CreateKilometricAllowanceValidation.d.ts.map +1 -1
  216. package/dist/mjs/types/Interface/api/kilometricAllowance/CreateKilometricAllowanceValidation.js +3 -1
  217. package/dist/mjs/types/Interface/api/kilometricAllowance/CreateKilometricAllowanceValidation.js.map +1 -1
  218. package/dist/mjs/types/Interface/api/notion/NotionResponse.d.ts +4 -4
  219. package/dist/mjs/types/Interface/api/notion/NotionResponse.d.ts.map +1 -1
  220. package/dist/mjs/types/Interface/api/notion/NotionResponse.js.map +1 -1
  221. package/dist/mjs/types/Interface/api/pappers/QueryPappers.d.ts.map +1 -1
  222. package/dist/mjs/types/Interface/api/pappers/QueryPappers.js +3 -0
  223. package/dist/mjs/types/Interface/api/pappers/QueryPappers.js.map +1 -1
  224. package/dist/mjs/types/Interface/api/promoCode/CreateDefaultPromoCode.d.ts.map +1 -1
  225. package/dist/mjs/types/Interface/api/promoCode/CreateDefaultPromoCode.js +4 -1
  226. package/dist/mjs/types/Interface/api/promoCode/CreateDefaultPromoCode.js.map +1 -1
  227. package/dist/mjs/types/Interface/api/promoCode/ReadDefaultPromotion.d.ts.map +1 -1
  228. package/dist/mjs/types/Interface/api/promoCode/ReadDefaultPromotion.js.map +1 -1
  229. package/dist/mjs/types/Interface/api/shopify/ShopifyFinancialStatus.d.ts.map +1 -1
  230. package/dist/mjs/types/Interface/api/shopify/ShopifyFinancialStatus.js.map +1 -1
  231. package/dist/mjs/types/Interface/api/shopify/ShopifyOrder.d.ts.map +1 -1
  232. package/dist/mjs/types/Interface/api/shopify/ShopifyOrder.js.map +1 -1
  233. package/dist/mjs/types/Interface/api/shopify/discount_code.d.ts.map +1 -1
  234. package/dist/mjs/types/Interface/api/shopify/discount_code.js.map +1 -1
  235. package/dist/mjs/types/Interface/api/shopify/shipping_line.d.ts.map +1 -1
  236. package/dist/mjs/types/Interface/api/shopify/shipping_line.js.map +1 -1
  237. package/dist/mjs/types/Interface/models/IBalanceSheetQuestion.d.ts.map +1 -1
  238. package/dist/mjs/types/Interface/models/IBalanceSheetQuestion.js.map +1 -1
  239. package/dist/mjs/types/Interface/models/IFecFile.d.ts.map +1 -1
  240. package/dist/mjs/types/Interface/models/IFecFile.js.map +1 -1
  241. package/dist/mjs/types/Interface/models/IRegistration.d.ts.map +1 -1
  242. package/dist/mjs/types/Interface/models/IRegistration.js.map +1 -1
  243. package/dist/mjs/types/Interface/models/IUser.d.ts.map +1 -1
  244. package/dist/mjs/types/Interface/models/IUser.js.map +1 -1
  245. package/dist/mjs/types/index.d.ts +1 -0
  246. package/dist/mjs/types/index.d.ts.map +1 -1
  247. package/dist/mjs/types/index.js +1 -0
  248. package/dist/mjs/types/index.js.map +1 -1
  249. package/dist/mjs/utils/brands.d.ts.map +1 -1
  250. package/dist/mjs/utils/brands.js +5 -0
  251. package/dist/mjs/utils/brands.js.map +1 -1
  252. package/dist/mjs/utils/checkup.d.ts.map +1 -1
  253. package/dist/mjs/utils/checkup.js +5 -0
  254. package/dist/mjs/utils/checkup.js.map +1 -1
  255. package/dist/mjs/utils/commercialManagement/document.d.ts.map +1 -1
  256. package/dist/mjs/utils/commercialManagement/document.js +2 -1
  257. package/dist/mjs/utils/commercialManagement/document.js.map +1 -1
  258. package/dist/mjs/utils/commercialManagement/recurrence.js +2 -2
  259. package/dist/mjs/utils/commercialManagement/recurrence.js.map +1 -1
  260. package/dist/mjs/utils/commercialManagement/vat.d.ts.map +1 -1
  261. package/dist/mjs/utils/commercialManagement/vat.js +1 -0
  262. package/dist/mjs/utils/commercialManagement/vat.js.map +1 -1
  263. package/dist/mjs/utils/date.d.ts.map +1 -1
  264. package/dist/mjs/utils/date.js +9 -0
  265. package/dist/mjs/utils/date.js.map +1 -1
  266. package/dist/mjs/utils/decorators.d.ts.map +1 -1
  267. package/dist/mjs/utils/decorators.js +3 -4
  268. package/dist/mjs/utils/decorators.js.map +1 -1
  269. package/dist/mjs/utils/email.d.ts.map +1 -1
  270. package/dist/mjs/utils/email.js +22 -0
  271. package/dist/mjs/utils/email.js.map +1 -1
  272. package/dist/mjs/utils/isUrl.d.ts.map +1 -1
  273. package/dist/mjs/utils/isUrl.js +1 -2
  274. package/dist/mjs/utils/isUrl.js.map +1 -1
  275. package/dist/mjs/utils/noLodash.d.ts.map +1 -1
  276. package/dist/mjs/utils/noLodash.js +8 -1
  277. package/dist/mjs/utils/noLodash.js.map +1 -1
  278. package/dist/mjs/utils/objectUtils/flattenObject.d.ts.map +1 -1
  279. package/dist/mjs/utils/objectUtils/flattenObject.js +1 -0
  280. package/dist/mjs/utils/objectUtils/flattenObject.js.map +1 -1
  281. package/dist/mjs/utils/objectUtils/fullFlattenObject.d.ts.map +1 -1
  282. package/dist/mjs/utils/objectUtils/fullFlattenObject.js +1 -0
  283. package/dist/mjs/utils/objectUtils/fullFlattenObject.js.map +1 -1
  284. package/dist/mjs/utils/objectUtils/unflattenObject.d.ts.map +1 -1
  285. package/dist/mjs/utils/objectUtils/unflattenObject.js +0 -1
  286. package/dist/mjs/utils/objectUtils/unflattenObject.js.map +1 -1
  287. package/dist/mjs/utils/payment.d.ts.map +1 -1
  288. package/dist/mjs/utils/payment.js +6 -1
  289. package/dist/mjs/utils/payment.js.map +1 -1
  290. package/dist/mjs/utils/phone.d.ts.map +1 -1
  291. package/dist/mjs/utils/phone.js +1 -0
  292. package/dist/mjs/utils/phone.js.map +1 -1
  293. package/dist/mjs/utils/quotation.js +1 -1
  294. package/dist/mjs/utils/quotation.js.map +1 -1
  295. package/dist/mjs/utils/social.js +0 -1
  296. package/dist/mjs/utils/social.js.map +1 -1
  297. package/dist/mjs/utils/statutsGeneration.js +2 -2
  298. package/dist/mjs/utils/statutsGeneration.js.map +1 -1
  299. package/dist/mjs/utils/tests/payment.spec.js +15 -15
  300. package/dist/mjs/utils/tests/payment.spec.js.map +1 -1
  301. package/dist/mjs/utils/transforms/boolean.transform.d.ts.map +1 -1
  302. package/dist/mjs/utils/transforms/boolean.transform.js +3 -1
  303. package/dist/mjs/utils/transforms/boolean.transform.js.map +1 -1
  304. package/dist/mjs/utils/vat/3310/century23.d.ts.map +1 -1
  305. package/dist/mjs/utils/vat/3310/century23.js +23 -0
  306. package/dist/mjs/utils/vat/3310/century23.js.map +1 -1
  307. package/dist/mjs/utils/vat/3310/century24.d.ts.map +1 -1
  308. package/dist/mjs/utils/vat/3310/century24.js +23 -0
  309. package/dist/mjs/utils/vat/3310/century24.js.map +1 -1
  310. package/dist/mjs/utils/vat/3517/century23.d.ts.map +1 -1
  311. package/dist/mjs/utils/vat/3517/century23.js +4 -0
  312. package/dist/mjs/utils/vat/3517/century23.js.map +1 -1
  313. package/dist/mjs/utils/vat/registration.d.ts.map +1 -1
  314. package/dist/mjs/utils/vat/registration.js +0 -1
  315. package/dist/mjs/utils/vat/registration.js.map +1 -1
  316. package/eslint.config.mjs +47 -0
  317. package/package.json +7 -10
  318. package/ts/api/index.ts +9 -2
  319. package/ts/api/resources/Employee.ts +1 -0
  320. package/ts/api/resources/Task.ts +1 -0
  321. package/ts/index.ts +0 -1
  322. package/ts/types/Enum/Aspone.ts +32 -32
  323. package/ts/types/Enum/BalanceSheet.ts +1 -1
  324. package/ts/types/Enum/BalanceSheetQuestion.ts +2 -0
  325. package/ts/types/Enum/BalanceSheetQuestionWording.ts +1 -0
  326. package/ts/types/Enum/RevisionGuide.ts +5 -0
  327. package/ts/types/Enum/Role.ts +1 -0
  328. package/ts/types/Enum/SalesContractBrandClementine.ts +4 -4
  329. package/ts/types/Enum/SalesContractBrandPourcentage.ts +7 -7
  330. package/ts/types/Enum/TransactionKind.ts +1 -0
  331. package/ts/types/Enum/TransactionStatus.ts +1 -0
  332. package/ts/types/Enum/TypePayment.ts +1 -0
  333. package/ts/types/Interface/api/accountingFiles/Ocr.ts +1 -0
  334. package/ts/types/Interface/api/checklist/Read.ts +1 -0
  335. package/ts/types/Interface/api/config/ConfigType.ts +325 -0
  336. package/ts/types/Interface/api/crisp/GetCrisp.ts +2 -0
  337. package/ts/types/Interface/api/exerciceQuestion/CreateExerciceQuestion.ts +1 -0
  338. package/ts/types/Interface/api/journal/Journals.ts +0 -1
  339. package/ts/types/Interface/api/kilometricAllowance/CreateKilometricAllowanceValidation.ts +1 -0
  340. package/ts/types/Interface/api/notion/NotionResponse.ts +2 -4
  341. package/ts/types/Interface/api/pappers/QueryPappers.ts +9 -0
  342. package/ts/types/Interface/api/promoCode/CreateDefaultPromoCode.ts +1 -0
  343. package/ts/types/Interface/api/promoCode/ReadDefaultPromotion.ts +1 -0
  344. package/ts/types/Interface/api/shopify/ShopifyFinancialStatus.ts +1 -0
  345. package/ts/types/Interface/api/shopify/ShopifyOrder.ts +2 -0
  346. package/ts/types/Interface/api/shopify/discount_code.ts +1 -0
  347. package/ts/types/Interface/api/shopify/shipping_line.ts +2 -0
  348. package/ts/types/Interface/models/IBalanceSheetQuestion.ts +1 -0
  349. package/ts/types/Interface/models/IFecFile.ts +1 -0
  350. package/ts/types/Interface/models/IRegistration.ts +1 -0
  351. package/ts/types/Interface/models/IUser.ts +1 -0
  352. package/ts/types/index.ts +1 -0
  353. package/ts/utils/brands.ts +5 -0
  354. package/ts/utils/checkup.ts +5 -0
  355. package/ts/utils/commercialManagement/document.ts +3 -2
  356. package/ts/utils/commercialManagement/recurrence.ts +2 -2
  357. package/ts/utils/commercialManagement/vat.ts +1 -0
  358. package/ts/utils/date.ts +9 -0
  359. package/ts/utils/decorators.ts +5 -4
  360. package/ts/utils/email.ts +22 -1
  361. package/ts/utils/isUrl.ts +1 -2
  362. package/ts/utils/noLodash.ts +7 -1
  363. package/ts/utils/objectUtils/flattenObject.ts +1 -0
  364. package/ts/utils/objectUtils/fullFlattenObject.ts +1 -0
  365. package/ts/utils/objectUtils/unflattenObject.ts +0 -1
  366. package/ts/utils/payment.ts +8 -3
  367. package/ts/utils/phone.ts +1 -0
  368. package/ts/utils/quotation.ts +1 -1
  369. package/ts/utils/social.ts +1 -1
  370. package/ts/utils/statutsGeneration.ts +4 -4
  371. package/ts/utils/tests/payment.spec.ts +15 -15
  372. package/ts/utils/transforms/boolean.transform.ts +1 -0
  373. package/ts/utils/vat/3310/century23.ts +24 -0
  374. package/ts/utils/vat/3310/century24.ts +23 -0
  375. package/ts/utils/vat/3517/century23.ts +4 -0
  376. package/ts/utils/vat/registration.ts +0 -1
  377. package/tsconfig-base.json +1 -2
@@ -1 +1 @@
1
- {"version":3,"file":"payment.js","sourceRoot":"","sources":["../../../ts/utils/payment.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AAEb,oCAA4H;AAC5H,+BAA+B;AAE/B,6CAAsE;AAOtE;;;;;;;;;GASG;AACH,MAAM,0BAA0B,GAAG,CAAC,QAAoB,EAAE,QAAoE,CAAC,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,CAAC,EAAsB,EAAE;IACzM,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,mBAAC,OAAA,MAAA,MAAA,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,mBAAmB,0CAAE,eAAe,0CAAE,WAAW,mCAAI,KAAK,CAAA,EAAA,CAAC,CAAC;IAChH,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,uBAAC,OAAA,CAAC,CAAA,MAAA,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,mBAAmB,0CAAE,eAAe,0CAAE,WAAW,CAAA,KAAI,MAAA,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,mBAAmB,0CAAE,eAAe,0CAAE,QAAQ,CAAA,CAAA,EAAA,CAAC,CAAC;IAC3J,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,uBAAC,OAAA,CAAC,CAAA,MAAA,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,mBAAmB,0CAAE,eAAe,0CAAE,WAAW,CAAA,KAAI,MAAA,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,mBAAmB,0CAAE,eAAe,0CAAE,WAAW,CAAA,CAAA,EAAA,CAAC,CAAC;IACjK,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,+BAAC,OAAA,CAAC,CAAA,MAAA,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,mBAAmB,0CAAE,eAAe,0CAAE,WAAW,CAAA,IAAI,CAAC,CAAA,MAAA,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,mBAAmB,0CAAE,eAAe,0CAAE,WAAW,CAAA,IAAI,CAAC,CAAA,MAAA,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,mBAAmB,0CAAE,eAAe,0CAAE,QAAQ,CAAA,CAAA,EAAA,CAAC,CAAC;IAErN,MAAM,cAAc,GAAuB,EAAE,CAAC;IAC9C,IAAI,eAAe,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QAC5D,cAAc,CAAC,IAAI,iCACd,eAAe,CAAC,CAAC,CAAC,KACrB,IAAI,EAAE,aAAa,EACnB,YAAY,EAAE,eAAe,IAC7B,CAAC;IACL,CAAC;IACD,IAAI,YAAY,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACtD,cAAc,CAAC,IAAI,iCACd,YAAY,CAAC,CAAC,CAAC,KAClB,IAAI,EAAE,UAAU,EAChB,YAAY,EAAE,YAAY,IAC1B,CAAC;IACL,CAAC;IACD,IAAI,eAAe,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QAC5D,cAAc,CAAC,IAAI,iCACd,eAAe,CAAC,CAAC,CAAC,KACrB,IAAI,EAAE,aAAa,EACnB,YAAY,EAAE,eAAe,IAC7B,CAAC;IACL,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACpD,cAAc,CAAC,IAAI,iCACd,WAAW,CAAC,CAAC,CAAC,KACjB,IAAI,EAAE,SAAS,EACf,YAAY,EAAE,WAAW,IACzB,CAAC;IACL,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAyTA,gEAA0B;AAvT5B,MAAM,aAAa,GAAG,CAAC,MAAc,EAAE,WAAiB,EAAS,EAAE;IACjE,MAAM,qBAAqB,GAAG,MAAM,CAAC;IAErC,2EAA2E;IAC3E,kEAAkE;IAClE,mFAAmF;IAEnF,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;QACnD,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,EAAE,CAAC,IAAI,EAAE,CAAA,yCAAyC,CAAC;QACxG,oCAAoC;QACpC,8GAA8G;QAC9G,8DAA8D;QAC9D,oDAAoD;QACpD,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,WAAW,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,qBAAqB,GAAG,CAAC,MAA6B,EAAgB,EAAE;;IAC5E,MAAM,EAAE,WAAW,EAAE,qBAAqB,EAAE,+BAA+B,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,KAAK,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,oCAAoC,EAAE,eAAe,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;IAElQ,IAAI,CAAC,sBAAsB;QAAE,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;IAEpH,IAAI,sBAAsB,GAAG,KAAK,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA,8BAA8B;QACxG,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE;QACnD,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;IAEtD,sDAAsD;IACtD,IAAI,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC;QAClE,sBAAsB,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;IACzE,CAAC;IAED,4EAA4E;IAC5E,gDAAgD;IAChD,IAAI,CAAC,cAAc,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACrE,MAAM,SAAS,GAAG,IAAA,yBAAY,EAAC,WAAW,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC;IAC/D,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC5F,MAAM,EAAE,eAAe,EAAE,sBAAsB,EAAE,GAAG,SAAS,CAAC;IAC9D,MAAM,uBAAuB,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAA,8BAAsB,EAAC,eAAe,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;IACjI,MAAM,wBAAwB,GAAG,IAAA,qCAAwB,EAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAE9E,IAAI,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,SAAS,KAAI,CAAC,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,WAAW,CAAA;QAAE,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;IACpJ,IAAI,oCAAoC,CAAC,MAAM,KAAI,oCAAoC,aAApC,oCAAoC,uBAApC,oCAAoC,CAAE,IAAI,CAAC,CAAC,EAAoC,EAAE,EAAE,CAAC,CAAC,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,SAAS,CAAA,CAAC,CAAA;QAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAEpN,IAAI,2BAA2B,GAAG,sBAAsB,CAAC;IACzD,IAAI,qBAAqB,EAAE,CAAC;QAC1B,2BAA2B,IAAI,IAAA,qCAAwB,EAAC,WAAW,CAAC,CAAC,CAAC,IAAI;IAC5E,CAAC;IAED,MAAM,YAAY,GAAG,oCAAoC,CAAC,MAAM,CAAC;IACjE,MAAM,YAAY,GAAiB,EAAE,CAAC;IAEtC,gEAAgE;IAChE,8CAA8C;IAC9C,MAAM,cAAc,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,GAAW,EAAE,CAAa,EAAE,EAAE;QAC3E,+EAA+E;QAC/E,qGAAqG;QAErG,4BAA4B;QAC5B,sEAAsE;QACtE,kHAAkH;QAClH,gDAAgD;QAChD;;;;;;;;;;YAUI;QACJ,OAAO,GAAG,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC;IACvC,CAAC,EAAE,CAAC,CAAC,CAAC;IACN,IAAI,eAAe,GAAG,CAAC,cAAc,CAAC,CAAE,KAAK;IAC7C,IAAI,WAAW,GAAG,sBAAsB,CAAC;IAEzC,6DAA6D;IAC7D,oCAAoC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACjD,MAAM,UAAU,GAAG,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,SAAiB,CAAC;QACxC,MAAM,UAAU,GAAG,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,SAAiB,CAAC;QACxC,OAAO,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,qFAAqF;IACrF,IAAI,qBAAqB,EAAE,CAAC;QAC1B,YAAY,CAAC,IAAI,CAAC;YAChB,MAAM,EAAE,wBAAwB,EAAG,KAAK;YACxC,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE;YAC7B,YAAY;YACZ,eAAe,EAAE,MAAA,MAAA,eAAe,CAAC,CAAC,CAAC,0CAAE,eAAe,mCAAI,qBAAa,CAAC,YAAY,CAAC,EAAE;YACrF,WAAW,EAAE,CAAA,oCAAoC,aAApC,oCAAoC,uBAApC,oCAAoC,CAAE,MAAM,EAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,+BAA+B;YAC7I,OAAO,EAAE,kBAAkB;SAC5B,CAAC,CAAC;QACH,eAAe,IAAI,wBAAwB,CAAC;IAC9C,CAAC;IAED,4BAA4B;IAC5B,mBAAmB;IACnB,4BAA4B;IAC5B,oCAAoC,CAAC,OAAO,CAAC,CAAC,kBAAmD,EAAE,OAAe,EAAE,EAAE;;QACpH,MAAM,sBAAsB,GAAG,eAAe,CAAC;QAE/C,eAAe,IAAI,CAAC,sBAAsB;YACxC,CAAC,CAAC,IAAA,8BAAsB,EAAC,kBAAkB,CAAC,WAAW,EAAE,KAAK,CAAC;YAC/D,CAAC,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,KAAK;QAGzC,qEAAqE;QACrE,0DAA0D;QAC1D,IAAI,eAAe,IAAI,CAAC,EAAE,CAAC;YACzB,YAAY,CAAC,IAAI,CAAC;gBAChB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,sBAAsB;oBAC/C,CAAC,CAAC,IAAA,8BAAsB,EAAC,kBAAkB,CAAC,WAAW,EAAE,KAAK,CAAC;oBAC/D,CAAC,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,GAAG,GAAG,EAAG,KAAK;gBAClD,MAAM,EAAE,IAAI;gBACZ,WAAW,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE;gBAC7B,YAAY;gBACZ,eAAe,EAAE,MAAA,MAAA,eAAe,CAAC,CAAC,CAAC,0CAAE,eAAe,mCAAI,qBAAa,CAAC,YAAY,CAAC,EAAE;gBACrF,WAAW,EAAE,kBAAkB,CAAC,OAAO;aACxC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;aAAM,IAAI,sBAAsB,GAAG,CAAC,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;YAC7D,mGAAmG;YACnG,YAAY,CAAC,IAAI,CAAC;gBAChB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,sBAAsB,CAAC,GAAG,GAAG,EAAG,KAAK;gBAC/D,MAAM,EAAE,IAAI;gBACZ,WAAW,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE;gBAC7B,YAAY;gBACZ,eAAe,EAAE,MAAA,MAAA,eAAe,CAAC,CAAC,CAAC,0CAAE,eAAe,mCAAI,qBAAa,CAAC,YAAY,CAAC,EAAE;gBACrF,WAAW,EAAE,kBAAkB,CAAC,OAAO;aACxC,CAAC,CAAC;QACL,CAAC;QAED,sEAAsE;QACtE,IAAI,mCAAmC,GAAG,eAAe,CAAC,CAAC,KAAK;QAChE,IAAI,0BAA0B,GAAG,MAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,0BAA0B,mCAAI,CAAC,CAAC,CAAC,KAAK;QAC3F,0KAA0K;QAC1K,IAAI,OAAO,KAAK,CAAC,IAAI,cAAc,GAAG,CAAC;YAAE,0BAA0B,IAAI,CAAC,CAAC;QAEzE,MAAM,aAAa,GAAG,mCAAmC,GAAG,0BAA0B,CAAC,CAAC,KAAK;QAC7F,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,0BAA0B,EAAE,KAAK,EAAE,EAAE,CAAC;YACjE,gJAAgJ;YAChJ,8CAA8C;YAC9C,MAAM,MAAM,GAAG,KAAK,GAAG,0BAA0B,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAE,KAAK;YAE/G,2GAA2G;YAC3G,IAAI,MAAM,IAAI,KAAK;gBACjB,YAAY,CAAC,IAAI,CAAC;oBAChB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG;oBACtC,WAAW,EAAE,WAAW;oBACxB,YAAY;oBACZ,eAAe,EAAE,qBAAa,CAAC,YAAY,CAAC,EAAE;oBAC9C,WAAW,EAAE,kBAAkB,CAAC,OAAO;iBACxC,CAAC,CAAC;YACL,mCAAmC,IAAI,aAAa,CAAC;YACrD,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;QAC7E,CAAC;QACD,eAAe,GAAG,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,4BAA4B;IAC5B,oBAAoB;IACpB,4BAA4B;IAC5B,sEAAsE;IACtE,kFAAkF;IAClF,yCAAyC;IACzC,IAAI,YAAY,IAAI,CAAC;QAAE,WAAW,GAAG,sBAAsB,CAAC;IAC5D,IAAI,eAAe,GAAG,KAAK,CAAC,+BAA+B,CAAC,CAAC,MAAM,EAAE,CAAC;IAEtE,IAAI,qBAAqB,GAAG,KAAK,CAAC;IAClC,IAAI,iBAAiB,GAAG,IAAI,CAAC;IAC7B,IAAI,wBAAwB,GAAG,CAAC,CAAC;IAEjC,uFAAuF;IACvF,gFAAgF;IAChF,OAAO,CAAC,qBAAqB,IAAI,wBAAwB,GAAG,CAAC,EAAE,CAAC;QAC9D,iHAAiH;QACjH,IAAI,4BAA4B,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;QACvG,IAAI,4BAA4B,GAAG,CAAC;YAAE,4BAA4B,GAAG,CAAC,CAAC;QAEvE,mGAAmG;QACnG,oEAAoE;QACpE,qEAAqE;QACrE,IAAI,4BAA4B,GAAG,EAAE,EAAE,CAAC;YACtC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;YAC3E,SAAS;QACX,CAAC;QAED,MAAM,SAAS,GAAG,iBAAiB,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,0BAA0B,CAAC;QAC/F,MAAM,sBAAsB,GAAG,eAAe,CAAC;QAC/C,eAAe,IAAI,sBAAsB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,8BAAsB,EAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAEjG,qEAAqE;QACrE,0DAA0D;QAC1D,IAAI,eAAe,IAAI,CAAC,EAAE,CAAC;YACzB,YAAY,CAAC,IAAI,CAAC;gBAChB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,8BAAsB,EAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,EAAG,KAAK;gBACvH,MAAM,EAAE,IAAI;gBACZ,WAAW,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE;gBAC7B,YAAY;gBACZ,eAAe,EAAE,MAAA,MAAA,eAAe,CAAC,CAAC,CAAC,0CAAE,eAAe,mCAAI,qBAAa,CAAC,YAAY,CAAC,EAAE;gBACrF,WAAW,EAAE,eAAe;aAC7B,CAAC,CAAC;YACH,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;YACjG,SAAS;QACX,CAAC;aAAM,IAAI,sBAAsB,GAAG,CAAC,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;YAC7D,mGAAmG;YACnG,YAAY,CAAC,IAAI,CAAC;gBAChB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,sBAAsB,CAAC,GAAG,GAAG,EAAG,KAAK;gBAC/D,MAAM,EAAE,IAAI;gBACZ,WAAW,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE;gBAC7B,YAAY;gBACZ,eAAe,EAAE,MAAA,MAAA,eAAe,CAAC,CAAC,CAAC,0CAAE,eAAe,mCAAI,qBAAa,CAAC,YAAY,CAAC,EAAE;gBACrF,WAAW,EAAE,eAAe;aAC7B,CAAC,CAAC;QACL,CAAC;QAED,IAAI,mCAAmC,GAAG,eAAe,CAAC;QAE1D,uDAAuD;QACvD,IAAI,CAAC,iBAAiB;YAAE,mCAAmC,IAAI,uBAAuB,CAAC;QAEvF,MAAM,aAAa,GAAG,mCAAmC,GAAG,4BAA4B,CAAC,CAAE,KAAK;QAEhG,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;YACtB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,4BAA4B,EAAE,KAAK,EAAE,EAAE,CAAC;gBACnE,IAAI,MAAM,GAAG,KAAK,GAAG,4BAA4B,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,mCAAmC,CAAC;gBAExG,iDAAiD;gBACjD,yGAAyG;gBACzG,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;gBAE5C,YAAY,CAAC,IAAI,CAAC;oBAChB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG;oBACtC,WAAW,EAAE,WAAW;oBACxB,YAAY;oBACZ,eAAe,EAAE,qBAAa,CAAC,YAAY,CAAC,EAAE;oBAC9C,WAAW,EAAE,eAAe;iBAC7B,CAAC,CAAC;gBACH,mCAAmC,IAAI,aAAa,CAAC;gBACrD,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;YAC7E,CAAC;YACD,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;QACnG,CAAC;QACD,eAAe,GAAG,CAAC,CAAC;QACpB,IAAI,4BAA4B,KAAK,EAAE;YAAE,qBAAqB,GAAG,IAAI,CAAC;QACtE,iBAAiB,GAAG,KAAK,CAAC;QAC1B,wBAAwB,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,eAAe,GAAG,CAAC,CAAC;IAEpB,4BAA4B;IAC5B,uBAAuB;IACvB,4BAA4B;IAC5B,iFAAiF;IACjF,eAAe,IAAI,sBAAsB,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,IAAA,8BAAsB,EAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;IAEnI,IAAI,mCAAmC,GAAG,eAAe,CAAC;IAC1D,iHAAiH;IACjH,IAAI,4BAA4B,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;IACvG,IAAI,4BAA4B,GAAG,CAAC;QAAE,4BAA4B,GAAG,CAAC,CAAC;IAEvE,uDAAuD;IACvD,mCAAmC,IAAI,uBAAuB,CAAC;IAE/D,MAAM,aAAa,GAAG,mCAAmC,GAAG,4BAA4B,CAAC;IAEzF,yCAAyC;IACzC,IAAI,CAAC,YAAY,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAEpC,OAAO,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC;QACjE,IAAI,MAAM,GAAG,aAAa,CAAC;QAE3B,iDAAiD;QACjD,yGAAyG;QACzG,uDAAuD;QACvD,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAE5C,YAAY,CAAC,IAAI,CAAC;YAChB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG;YACtC,WAAW,EAAE,WAAW;YACxB,YAAY;YACZ,eAAe,EAAE,qBAAa,CAAC,YAAY,CAAC,EAAE;YAC9C,WAAW,EAAE,eAAe;SAC7B,CAAC,CAAC;QACH,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;IAC7E,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAG4B,sDAAqB","sourcesContent":["'use strict';\n\nimport { IPayment, IRegulation, ParamsForPaymentsAuto, PaymentMethod, PaymentAuto, getTaxesIncludedAmount } from '../types';\nimport * as dayjs from 'dayjs';\nimport { PartialExercicePrestationExpress } from '../types/Interface/api/payment/Util';\nimport { getApplicationFeesAmount, getPriceGrid } from './prestation';\n\ninterface PaymentsWithList extends IPayment {\n type: 'isComptable' | 'isJuridique' | 'isSocial' | 'isOther',\n listPayments: IPayment[]\n}\n\n/**\n * A partir d'une liste de payment (avec include jusqu'à prestationList, \n * avec en attributs 'isComptable' | 'isJuridique' | 'isSocial' | 'isOther')\n * permet de récupérer uniquement le premier paiement de chaque type \n * et les autres payments dans listPayments\n * avec possibilité de filtrer avec le tableau de filtres\n * @param payments \n * @param types \n * @returns \n */\nconst groupPaymentsByServiceType = (payments: IPayment[], types: ('isComptable' | 'isJuridique' | 'isSocial' | 'isOther')[] = ['isComptable', 'isJuridique', 'isSocial', 'isOther']): PaymentsWithList[] => {\n const prestaComptable = payments.filter((el) => el?.paymentsPrestations?.prestationsList?.isComptable ?? false);\n const prestaSocial = payments.filter((el) => !el?.paymentsPrestations?.prestationsList?.isComptable && el?.paymentsPrestations?.prestationsList?.isSocial);\n const prestaJuridique = payments.filter((el) => !el?.paymentsPrestations?.prestationsList?.isComptable && el?.paymentsPrestations?.prestationsList?.isJuridique);\n const prestaOther = payments.filter((el) => !el?.paymentsPrestations?.prestationsList?.isComptable && !el?.paymentsPrestations?.prestationsList?.isJuridique && !el?.paymentsPrestations?.prestationsList?.isSocial);\n \n const societyPayment: PaymentsWithList[] = [];\n if (prestaComptable.length && types.includes('isComptable')) {\n societyPayment.push({\n ...prestaComptable[0], // Données de base\n type: 'isComptable',\n listPayments: prestaComptable,\n });\n }\n if (prestaSocial.length && types.includes('isSocial')) {\n societyPayment.push({\n ...prestaSocial[0], // Données de base\n type: 'isSocial',\n listPayments: prestaSocial,\n });\n }\n if (prestaJuridique.length && types.includes('isJuridique')) {\n societyPayment.push({\n ...prestaJuridique[0], // Données de base\n type: 'isJuridique',\n listPayments: prestaJuridique,\n });\n }\n if (prestaOther.length && types.includes('isOther')) {\n societyPayment.push({\n ...prestaOther[0], // Données de base\n type: 'isOther',\n listPayments: prestaOther,\n });\n }\n return societyPayment;\n};\n\nconst calculateFees = (amount: number, paymentDate: Date):number => {\n const yearlyPriceIncreasing = 1.0275;\n\n // Commenté car en fin d'année, pour appliquer le taux d'inflation annuel, \n // un script enlève les 2,75€ appliqués pour appliquer le bon taux\n // const oneYearLessIfIn3LastMonthsOfYear = dayjs(goToClient).month() >= 9 ? 1 : 0;\n\n if (dayjs(paymentDate).year() - dayjs().year() > 0) {\n const nbYearsMore = dayjs(paymentDate).year() - dayjs().year()/* - oneYearLessIfIn3LastMonthsOfYear */;\n // on applique X fois l'augmentation\n // ex. : si on lance l'appel en 2024, et qu'on génére un paiement pour 2026, on applique 2 fois l'augmentation\n // soit amount * yearlyPriceIncreasing * yearlyPriceIncreasing\n // soit amount * yearlyPriceIncreasing ^ nbYearsMore\n amount = amount * Math.pow(yearlyPriceIncreasing, nbYearsMore);\n }\n return amount;\n};\n\n/**\n// * @param {number} firstPaymentAmount - amount of the first payment (first regulation of the customer)\n * @param {Date} firstExerciceNonExpresssEndDate - end date of the first exercice non express\n * @param {number} idPrestation - prestation id\n * @param {number} idLegalForm - legal form id of the society\n * @param {boolean} isWithApplicationFees - if the prestation has application fees to paid\n * @param {IPrestationList} prestationList - type of prestation (hidden: 0, isCatalog: 1, isComptable: 1)\n * @param {number} idVat - vat id of society linked\n * @param {number} yearlyAmountNonExpress - yearly amount of non express prestation (HT)\n * @param {number} nextYearlyAmountNonExpress - yearly amount of non express prestation for next years (HT)\n * @param {PartialExercicePrestationExpress[]} listPartialExercicePrestationExpress - list of exercicePrestation linked to idPrestation -> used to get express\n * @param {IRegulation[]} listRegulations - list of regulations linked to idPrestation (TTC)\n * @param {Date} recoveryDate - date of recovery of the society\n * @returns { IPayment[] } list of payment to create for billing auto, after each presta go to onBoarding\n */\nconst calculatePaymentsAuto = (params: ParamsForPaymentsAuto):PaymentAuto[] => {\n const { idTypeBrand, isWithApplicationFees, firstExerciceNonExpresssEndDate, idPrestation, idLegalForm, prestationList, idVat, yearlyAmountNonExpress, nextYearlyAmountNonExpress, listPartialExercicePrestationExpress, listRegulations, recoveryDate } = params;\n \n if (!yearlyAmountNonExpress) throw new Error('Le montant annuel des prestations non express ne peut pas être nul.');\n\n let initializedPaymentDate = dayjs().endOf('month').diff(dayjs(), 'day') < 3/* || dayjs().date() >= 15 */\n ? dayjs().add(2, 'month').startOf('month').toDate()\n : dayjs().add(1, 'month').startOf('month').toDate();\n \n //Si date de reprise, alors on initialise à cette date\n if (recoveryDate && dayjs(recoveryDate).isAfter(dayjs(), 'month')) {\n initializedPaymentDate = dayjs(recoveryDate).startOf('month').toDate();\n }\n\n // On récupère la grille tarifaire pour savoir si les tarifs sont HT ou TTC \n // et pour connaitre le montant du coût de l'app\n if (!prestationList.id) throw new Error('idPrestationList manquant');\n const priceGrid = getPriceGrid(idTypeBrand, prestationList.id);\n if (!priceGrid) throw new Error('Impossible de trouver la grille tarifaire correspondante');\n const { applicationCost, priceWithTaxesIncluded } = priceGrid;\n const applicationCostTotalTTC = (priceWithTaxesIncluded ? applicationCost : getTaxesIncludedAmount(applicationCost, idVat)) * 12;\n const applicationFeesAmountTTC = getApplicationFeesAmount(idLegalForm, idVat);\n\n if (prestationList?.isCatalog || !prestationList?.isComptable) throw new Error('Ce type de prestation ne correspond pas aux conditions attendues.');\n if (listPartialExercicePrestationExpress.length && listPartialExercicePrestationExpress?.some((ep: PartialExercicePrestationExpress) => !ep?.startDate)) throw new Error('Start date of some exercice are missing');\n \n let yearlyAmountNonExpressClone = yearlyAmountNonExpress;\n if (isWithApplicationFees) {\n yearlyAmountNonExpressClone -= getApplicationFeesAmount(idLegalForm); //HT\n }\n\n const nbExoExpress = listPartialExercicePrestationExpress.length;\n const listPayments:PaymentAuto[] = [];\n\n // on récupère le/les premiers réglements effectués, non alloués\n // const isApplicationFeesAlreadyPaid = false;\n const sumRegulations = listRegulations.reduce((acc: number, r:IRegulation) => {\n //Si la regulation est rattachée à un paymentExpectation, on récupère le détail\n // et on ne prend que les frais de dossier (applicationFee) + le montant de la compta (accountingFee)\n \n // Commenté temporairement :\n // Pour l'instant, on ne prend plus en compte les paymentExpectation :\n // On part du principe que si isWithApplicationFees = true, alors les regulations contiennent les frais de dossier\n // sinon, ils sont offerts et n'apparaissent pas\n /* if (r.paymentsExpectation?.payload) {\n const payload = JSON.parse(r.paymentsExpectation?.payload);\n if (+payload?.applicationFee > 0) {\n isApplicationFeesAlreadyPaid = true;\n acc += +payload?.applicationFee;\n }\n if (+payload?.accountingFee > 0) acc += +payload?.accountingFee;\n return acc;\n } else {\n return acc + r.amount - r.amountUsed;\n } */\n return acc + r.amount - r.amountUsed;\n }, 0);\n let remainingAmount = -sumRegulations; //TTC\n let paymentDate = initializedPaymentDate;\n\n //On order les exercicePrestation par startDate ASC et id ASC\n listPartialExercicePrestationExpress.sort((a, b) => {\n const aStartDate = a?.startDate as Date;\n const bStartDate = b?.startDate as Date;\n return dayjs(aStartDate).diff(bStartDate);\n });\n\n // Si les frais de dossiers sont facturés, on ajoute un paiement sur le mois en cours\n if (isWithApplicationFees) {\n listPayments.push({\n amount: applicationFeesAmountTTC, //TTC\n isPaid: true,\n datePayment: dayjs().toDate(),\n idPrestation,\n idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,\n closingDate: listPartialExercicePrestationExpress?.length ? listPartialExercicePrestationExpress[0].endDate : firstExerciceNonExpresssEndDate,\n comment: 'Frais de dossier',\n });\n remainingAmount += applicationFeesAmountTTC;\n }\n \n // =========================\n // EXPRESS\n // =========================\n listPartialExercicePrestationExpress.forEach((exercicePrestation:PartialExercicePrestationExpress, indexEP: number) => {\n const remainingBeforeThisExo = remainingAmount;\n\n remainingAmount += !priceWithTaxesIncluded \n ? getTaxesIncludedAmount(exercicePrestation.totalAmount, idVat) \n : exercicePrestation.totalAmount; //TTC\n \n \n // Si le premier règlement couvre le coût de cet exercicePrestation, \n // on créé un paiement pour cet exo et on passe au suivant\n if (remainingAmount <= 0) {\n listPayments.push({\n amount: Math.round(100 * (!priceWithTaxesIncluded \n ? getTaxesIncludedAmount(exercicePrestation.totalAmount, idVat) \n : exercicePrestation.totalAmount)) / 100, //TTC\n isPaid: true,\n datePayment: dayjs().toDate(),\n idPrestation,\n idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exercicePrestation.endDate,\n });\n return;\n } else if (remainingBeforeThisExo < 0 && remainingAmount > 0) {\n // Si le paiement couvre une partie du paiement, on créé un paiement pour cette partie lié à l'exo \n listPayments.push({\n amount: Math.round(100 * -remainingBeforeThisExo) / 100, //TTC\n isPaid: true,\n datePayment: dayjs().toDate(),\n idPrestation,\n idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exercicePrestation.endDate,\n });\n }\n \n //express : on étale en countExpressMonthlyPayment (nb de mensualités)\n let remainingAmountByExercicePrestation = remainingAmount; //TTC\n let countExpressMonthlyPayment = exercicePrestation?.countExpressMonthlyPayment ?? 1; //TTC\n //Si un premier règlement est généré avec le montant des regulations, on le considère comme une mensualité (unioquement pour le premier express et la première mensualité)\n if (indexEP === 0 && sumRegulations > 0) countExpressMonthlyPayment -= 1;\n\n const monthlyAmount = remainingAmountByExercicePrestation / countExpressMonthlyPayment; //TTC\n for (let index = 1; index <= countExpressMonthlyPayment; index++) {\n // On arrondis les 11 premières mensualités, mais on récupère le reste pour la dernière mensualité, pour éviter les centimes perdus en arrondis\n // et on applique le taux de tva de la société\n const amount = index < countExpressMonthlyPayment ? monthlyAmount : remainingAmountByExercicePrestation; //TTC\n \n // On évite les paiements de moins d'0,01 € (pour les paymentsExpectations ayant une différence de 1 cents)\n if (amount >= 0.005)\n listPayments.push({\n amount: Math.round(100 * amount) / 100,\n datePayment: paymentDate,\n idPrestation,\n idPaymentMethod: PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exercicePrestation.endDate,\n });\n remainingAmountByExercicePrestation -= monthlyAmount; \n paymentDate = dayjs(paymentDate).add(1, 'month').startOf('month').toDate();\n }\n remainingAmount = 0;\n });\n\n // =========================\n // NON EXPRESS\n // =========================\n // on lisse sur le nb de mois restants (avec au minimum 3 mensualités)\n // Si un seul exo express, alors on met les paiements de l'exo actuel en parallèle\n // sinon, ils sont à la suite des express\n if (nbExoExpress <= 1) paymentDate = initializedPaymentDate;\n let exerciceEndDate = dayjs(firstExerciceNonExpresssEndDate).toDate();\n\n let hasGeneratedWholeYear = false;\n let isFirstNonExpress = true;\n let countNonExpressGenerated = 0;\n \n // On génère des paiements jusqu'à ce qu'un exercice soit entier (12 mois), non express\n // et qu'au moins 13 mois de paiements ont été générés depuis la date de reprise\n while (!hasGeneratedWholeYear || countNonExpressGenerated < 2) {\n //On compte le nb de mois restants entre la date à laquelle le paiement va être créé et la date de fin d'exercice\n let countMonthsBeforeExerciceEnd = Math.ceil(dayjs(exerciceEndDate).diff(paymentDate, 'months', true));\n if (countMonthsBeforeExerciceEnd < 3) countMonthsBeforeExerciceEnd = 3;\n\n // Si un client signe un Express dans les 3 derniers mois de l'année (par exemple en décembre 2024)\n // on ne doit pas générer l'année 2025 sur 13 mois à partir du 12/24\n // mais on doit attendre le début de l'exercice concerné (ici, 01/25)\n if (countMonthsBeforeExerciceEnd > 12) {\n paymentDate = dayjs(paymentDate).add(1, 'month').startOf('month').toDate();\n continue;\n }\n\n const exoAmount = isFirstNonExpress ? yearlyAmountNonExpressClone : nextYearlyAmountNonExpress;\n const remainingBeforeThisExo = remainingAmount;\n remainingAmount += priceWithTaxesIncluded ? exoAmount : getTaxesIncludedAmount(exoAmount, idVat);\n\n // Si le premier règlement couvre le coût de cet exercicePrestation, \n // on créé un paiement pour cet exo et on passe au suivant\n if (remainingAmount <= 0) {\n listPayments.push({\n amount: Math.round(100 * (priceWithTaxesIncluded ? exoAmount : getTaxesIncludedAmount(exoAmount, idVat))) / 100, //TTC\n isPaid: true,\n datePayment: dayjs().toDate(),\n idPrestation,\n idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exerciceEndDate,\n });\n exerciceEndDate = dayjs(exerciceEndDate).startOf('month').add(1, 'year').endOf('month').toDate();\n continue;\n } else if (remainingBeforeThisExo < 0 && remainingAmount > 0) {\n // Si le paiement couvre une partie du paiement, on créé un paiement pour cette partie lié à l'exo \n listPayments.push({\n amount: Math.round(100 * -remainingBeforeThisExo) / 100, //TTC\n isPaid: true,\n datePayment: dayjs().toDate(),\n idPrestation,\n idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exerciceEndDate,\n });\n }\n\n let remainingAmountByExercicePrestation = remainingAmount;\n\n // - frais d'application dès les second exo non express\n if (!isFirstNonExpress) remainingAmountByExercicePrestation += applicationCostTotalTTC;\n\n const monthlyAmount = remainingAmountByExercicePrestation / countMonthsBeforeExerciceEnd; //TTC\n\n if (monthlyAmount > 0) {\n for (let index = 1; index <= countMonthsBeforeExerciceEnd; index++) {\n let amount = index < countMonthsBeforeExerciceEnd ? monthlyAmount : remainingAmountByExercicePrestation;\n \n // Si besoin, on applique les frais nécessaires :\n // - 2,75% d'augmentation chaque année, sauf si souscriptiuon dans les 3 derniers mois de l'année civile)\n amount = calculateFees(amount, paymentDate);\n \n listPayments.push({\n amount: Math.round(100 * amount) / 100,\n datePayment: paymentDate,\n idPrestation,\n idPaymentMethod: PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exerciceEndDate,\n });\n remainingAmountByExercicePrestation -= monthlyAmount; \n paymentDate = dayjs(paymentDate).add(1, 'month').startOf('month').toDate();\n }\n exerciceEndDate = dayjs(exerciceEndDate).startOf('month').add(1, 'year').endOf('month').toDate();\n }\n remainingAmount = 0;\n if (countMonthsBeforeExerciceEnd === 12) hasGeneratedWholeYear = true;\n isFirstNonExpress = false;\n countNonExpressGenerated += 1;\n }\n\n remainingAmount = 0;\n\n // =========================\n // JUSQU'EN DECEMBRE\n // =========================\n // On applique le taux de tva de la société, si besoin, selon la grille tarifaire\n remainingAmount += priceWithTaxesIncluded ? nextYearlyAmountNonExpress : getTaxesIncludedAmount(nextYearlyAmountNonExpress, idVat);\n\n let remainingAmountByExercicePrestation = remainingAmount;\n //On compte le nb de mois restants entre la date à laquelle le paiement va être créé et la date de fin d'exercice\n let countMonthsBeforeExerciceEnd = Math.ceil(dayjs(exerciceEndDate).diff(paymentDate, 'months', true));\n if (countMonthsBeforeExerciceEnd < 3) countMonthsBeforeExerciceEnd = 3;\n\n // - frais d'application dès les second exo non express\n remainingAmountByExercicePrestation += applicationCostTotalTTC;\n \n const monthlyAmount = remainingAmountByExercicePrestation / countMonthsBeforeExerciceEnd;\n \n // Si aucun paiement généré, on stoppe là\n if (!listPayments.length) return [];\n\n while (dayjs(listPayments.slice(-1)[0].datePayment).month() < 11) {\n let amount = monthlyAmount;\n\n // Si besoin, on applique les frais nécessaires :\n // - 2,75% d'augmentation chaque année, sauf si souscriptiuon dans les 3 derniers mois de l'année civile)\n // - frais d'application dès les second exo non express\n amount = calculateFees(amount, paymentDate);\n\n listPayments.push({\n amount: Math.round(100 * amount) / 100,\n datePayment: paymentDate,\n idPrestation,\n idPaymentMethod: PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exerciceEndDate,\n });\n paymentDate = dayjs(paymentDate).add(1, 'month').startOf('month').toDate();\n }\n\n return listPayments;\n};\n\nexport {\n groupPaymentsByServiceType, calculatePaymentsAuto,\n};"]}
1
+ {"version":3,"file":"payment.js","sourceRoot":"","sources":["../../../ts/utils/payment.ts"],"names":[],"mappings":"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","sourcesContent":["'use strict';\n\nimport { IPayment, IRegulation, ParamsForPaymentsAuto, PaymentMethod, PaymentAuto, getTaxesIncludedAmount } from '../types';\nimport * as dayjs from 'dayjs';\nimport { PartialExercicePrestationExpress } from '../types/Interface/api/payment/Util';\nimport { getApplicationFeesAmount, getPriceGrid } from './prestation';\n\ninterface PaymentsWithList extends IPayment {\n type: 'isComptable' | 'isJuridique' | 'isSocial' | 'isOther',\n listPayments: IPayment[]\n}\n\n/**\n * A partir d'une liste de payment (avec include jusqu'à prestationList, \n * avec en attributs 'isComptable' | 'isJuridique' | 'isSocial' | 'isOther')\n * permet de récupérer uniquement le premier paiement de chaque type \n * et les autres payments dans listPayments\n * avec possibilité de filtrer avec le tableau de filtres\n * @param payments \n * @param types \n * @returns \n */\nconst groupPaymentsByServiceType = (payments: IPayment[], types: ('isComptable' | 'isJuridique' | 'isSocial' | 'isOther')[] = ['isComptable', 'isJuridique', 'isSocial', 'isOther']): PaymentsWithList[] => {\n const prestaComptable = payments.filter((el) => el?.paymentsPrestations?.prestationsList?.isComptable ?? false);\n const prestaSocial = payments.filter((el) => !el?.paymentsPrestations?.prestationsList?.isComptable && el?.paymentsPrestations?.prestationsList?.isSocial);\n const prestaJuridique = payments.filter((el) => !el?.paymentsPrestations?.prestationsList?.isComptable && el?.paymentsPrestations?.prestationsList?.isJuridique);\n const prestaOther = payments.filter((el) => !el?.paymentsPrestations?.prestationsList?.isComptable && !el?.paymentsPrestations?.prestationsList?.isJuridique && !el?.paymentsPrestations?.prestationsList?.isSocial);\n \n const societyPayment: PaymentsWithList[] = [];\n if (prestaComptable.length && types.includes('isComptable')) {\n societyPayment.push({\n ...prestaComptable[0], // Données de base\n type: 'isComptable',\n listPayments: prestaComptable,\n });\n }\n if (prestaSocial.length && types.includes('isSocial')) {\n societyPayment.push({\n ...prestaSocial[0], // Données de base\n type: 'isSocial',\n listPayments: prestaSocial,\n });\n }\n if (prestaJuridique.length && types.includes('isJuridique')) {\n societyPayment.push({\n ...prestaJuridique[0], // Données de base\n type: 'isJuridique',\n listPayments: prestaJuridique,\n });\n }\n if (prestaOther.length && types.includes('isOther')) {\n societyPayment.push({\n ...prestaOther[0], // Données de base\n type: 'isOther',\n listPayments: prestaOther,\n });\n }\n return societyPayment;\n};\n\nconst calculateFees = (amount: number, paymentDate: Date):number => {\n const yearlyPriceIncreasing = 1.0275;\n\n // Commenté car en fin d'année, pour appliquer le taux d'inflation annuel, \n // un script enlève les 2,75€ appliqués pour appliquer le bon taux\n // const oneYearLessIfIn3LastMonthsOfYear = dayjs(goToClient).month() >= 9 ? 1 : 0;\n\n if (dayjs(paymentDate).year() - dayjs().year() > 0) {\n const nbYearsMore = dayjs(paymentDate).year() - dayjs().year()/* - oneYearLessIfIn3LastMonthsOfYear */;\n // on applique X fois l'augmentation\n // ex. : si on lance l'appel en 2024, et qu'on génére un paiement pour 2026, on applique 2 fois l'augmentation\n // soit amount * yearlyPriceIncreasing * yearlyPriceIncreasing\n // soit amount * yearlyPriceIncreasing ^ nbYearsMore\n amount = amount * Math.pow(yearlyPriceIncreasing, nbYearsMore);\n }\n return amount;\n};\n\n/**\n// * @param {number} firstPaymentAmount - amount of the first payment (first regulation of the customer)\n * @param {Date} firstExerciceNonExpresssEndDate - end date of the first exercice non express\n * @param {number} idPrestation - prestation id\n * @param {number} idLegalForm - legal form id of the society\n * @param {boolean} isWithApplicationFees - if the prestation has application fees to paid\n * @param {IPrestationList} prestationList - type of prestation (hidden: 0, isCatalog: 1, isComptable: 1)\n * @param {number} idVat - vat id of society linked\n * @param {number} yearlyAmountNonExpress - yearly amount of non express prestation (HT)\n * @param {number} nextYearlyAmountNonExpress - yearly amount of non express prestation for next years (HT)\n * @param {PartialExercicePrestationExpress[]} listPartialExercicePrestationExpress - list of exercicePrestation linked to idPrestation -> used to get express\n * @param {IRegulation[]} listRegulations - list of regulations linked to idPrestation (TTC)\n * @param {Date} recoveryDate - date of recovery of the society\n * @returns { IPayment[] } list of payment to create for billing auto, after each presta go to onBoarding\n */\nconst calculatePaymentsAuto = (params: ParamsForPaymentsAuto):PaymentAuto[] => {\n const { idTypeBrand, isWithApplicationFees, firstExerciceNonExpresssEndDate, idPrestation, idLegalForm, prestationList, idVat, yearlyAmountNonExpress, nextYearlyAmountNonExpress, listPartialExercicePrestationExpress, listRegulations, recoveryDate } = params;\n \n if (!yearlyAmountNonExpress) throw new Error('Le montant annuel des prestations non express ne peut pas être nul.');\n\n // Si on est dans les 3 derniers jours du mois actuel,\n // on ne le compte pas et on facture à partir du début de mois suivant\n let initializedPaymentDate = dayjs().endOf('month').diff(dayjs(), 'day') < 3/* || dayjs().date() >= 14 */\n ? dayjs().add(2, 'month').startOf('month').toDate()\n : dayjs().add(1, 'month').startOf('month').toDate();\n \n //Si date de reprise, alors on initialise à cette date\n if (recoveryDate && dayjs(recoveryDate).isAfter(dayjs(), 'month')) {\n initializedPaymentDate = dayjs(recoveryDate).startOf('month').toDate();\n\n //Si jour de la date de reprise >= 14, alors on débute la facturation 1 mois plus tard\n if (dayjs(initializedPaymentDate).date() >= 14) initializedPaymentDate = dayjs(initializedPaymentDate).add(1, 'month').startOf('month').toDate();\n }\n\n // On récupère la grille tarifaire pour savoir si les tarifs sont HT ou TTC \n // et pour connaitre le montant du coût de l'app\n if (!prestationList.id) throw new Error('idPrestationList manquant');\n const priceGrid = getPriceGrid(idTypeBrand, prestationList.id);\n if (!priceGrid) throw new Error('Impossible de trouver la grille tarifaire correspondante');\n const { applicationCost, priceWithTaxesIncluded } = priceGrid;\n const applicationCostTotalTTC = (priceWithTaxesIncluded ? applicationCost : getTaxesIncludedAmount(applicationCost, idVat)) * 12;\n const applicationFeesAmountTTC = getApplicationFeesAmount(idLegalForm, idVat);\n\n if (prestationList?.isCatalog || !prestationList?.isComptable) throw new Error('Ce type de prestation ne correspond pas aux conditions attendues.');\n if (listPartialExercicePrestationExpress.length && listPartialExercicePrestationExpress?.some((ep: PartialExercicePrestationExpress) => !ep?.startDate)) throw new Error('Start date of some exercice are missing');\n \n let yearlyAmountNonExpressClone = yearlyAmountNonExpress;\n if (isWithApplicationFees) {\n yearlyAmountNonExpressClone -= getApplicationFeesAmount(idLegalForm); //HT\n }\n\n const nbExoExpress = listPartialExercicePrestationExpress.length;\n const listPayments:PaymentAuto[] = [];\n\n // on récupère le/les premiers réglements effectués, non alloués\n // const isApplicationFeesAlreadyPaid = false;\n const sumRegulations = listRegulations.reduce((acc: number, r:IRegulation) => {\n //Si la regulation est rattachée à un paymentExpectation, on récupère le détail\n // et on ne prend que les frais de dossier (applicationFee) + le montant de la compta (accountingFee)\n \n // Commenté temporairement :\n // Pour l'instant, on ne prend plus en compte les paymentExpectation :\n // On part du principe que si isWithApplicationFees = true, alors les regulations contiennent les frais de dossier\n // sinon, ils sont offerts et n'apparaissent pas\n /* if (r.paymentsExpectation?.payload) {\n const payload = JSON.parse(r.paymentsExpectation?.payload);\n if (+payload?.applicationFee > 0) {\n isApplicationFeesAlreadyPaid = true;\n acc += +payload?.applicationFee;\n }\n if (+payload?.accountingFee > 0) acc += +payload?.accountingFee;\n return acc;\n } else {\n return acc + r.amount - r.amountUsed;\n } */\n return acc + r.amount - r.amountUsed;\n }, 0);\n let remainingAmount = -sumRegulations; //TTC\n let paymentDate = initializedPaymentDate;\n\n //On order les exercicePrestation par startDate ASC et id ASC\n listPartialExercicePrestationExpress.sort((a, b) => {\n const aStartDate = a?.startDate;\n const bStartDate = b?.startDate;\n return dayjs(aStartDate).diff(bStartDate);\n });\n\n // Si les frais de dossiers sont facturés, on ajoute un paiement sur le mois en cours\n if (isWithApplicationFees) {\n listPayments.push({\n amount: applicationFeesAmountTTC, //TTC\n isPaid: true,\n datePayment: dayjs().toDate(),\n idPrestation,\n idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,\n closingDate: listPartialExercicePrestationExpress?.length ? listPartialExercicePrestationExpress[0].endDate : firstExerciceNonExpresssEndDate,\n comment: 'Frais de dossier',\n });\n remainingAmount += applicationFeesAmountTTC;\n }\n \n // =========================\n // EXPRESS\n // =========================\n listPartialExercicePrestationExpress.forEach((exercicePrestation:PartialExercicePrestationExpress, indexEP: number) => {\n const remainingBeforeThisExo = remainingAmount;\n\n remainingAmount += !priceWithTaxesIncluded \n ? getTaxesIncludedAmount(exercicePrestation.totalAmount, idVat) \n : exercicePrestation.totalAmount; //TTC\n \n \n // Si le premier règlement couvre le coût de cet exercicePrestation, \n // on créé un paiement pour cet exo et on passe au suivant\n if (remainingAmount <= 0) {\n listPayments.push({\n amount: Math.round(100 * (!priceWithTaxesIncluded \n ? getTaxesIncludedAmount(exercicePrestation.totalAmount, idVat) \n : exercicePrestation.totalAmount)) / 100, //TTC\n isPaid: true,\n datePayment: dayjs().toDate(),\n idPrestation,\n idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exercicePrestation.endDate,\n });\n return;\n } else if (remainingBeforeThisExo < 0 && remainingAmount > 0) {\n // Si le paiement couvre une partie du paiement, on créé un paiement pour cette partie lié à l'exo \n listPayments.push({\n amount: Math.round(100 * -remainingBeforeThisExo) / 100, //TTC\n isPaid: true,\n datePayment: dayjs().toDate(),\n idPrestation,\n idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exercicePrestation.endDate,\n });\n }\n \n //express : on étale en countExpressMonthlyPayment (nb de mensualités)\n let remainingAmountByExercicePrestation = remainingAmount; //TTC\n let countExpressMonthlyPayment = exercicePrestation?.countExpressMonthlyPayment ?? 1; //TTC\n //Si un premier règlement est généré avec le montant des regulations, on le considère comme une mensualité (unioquement pour le premier express et la première mensualité)\n if (indexEP === 0 && sumRegulations > 0) countExpressMonthlyPayment -= 1;\n\n const monthlyAmount = remainingAmountByExercicePrestation / countExpressMonthlyPayment; //TTC\n for (let index = 1; index <= countExpressMonthlyPayment; index++) {\n // On arrondis les 11 premières mensualités, mais on récupère le reste pour la dernière mensualité, pour éviter les centimes perdus en arrondis\n // et on applique le taux de tva de la société\n const amount = index < countExpressMonthlyPayment ? monthlyAmount : remainingAmountByExercicePrestation; //TTC\n \n // On évite les paiements de moins d'0,01 € (pour les paymentsExpectations ayant une différence de 1 cents)\n if (amount >= 0.005)\n listPayments.push({\n amount: Math.round(100 * amount) / 100,\n datePayment: paymentDate,\n idPrestation,\n idPaymentMethod: PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exercicePrestation.endDate,\n });\n remainingAmountByExercicePrestation -= monthlyAmount; \n paymentDate = dayjs(paymentDate).add(1, 'month').startOf('month').toDate();\n }\n remainingAmount = 0;\n });\n\n // =========================\n // NON EXPRESS\n // =========================\n // on lisse sur le nb de mois restants (avec au minimum 3 mensualités)\n // Si un seul exo express, alors on met les paiements de l'exo actuel en parallèle\n // sinon, ils sont à la suite des express\n if (nbExoExpress <= 1) paymentDate = initializedPaymentDate;\n let exerciceEndDate = dayjs(firstExerciceNonExpresssEndDate).toDate();\n\n let hasGeneratedWholeYear = false;\n let isFirstNonExpress = true;\n let countNonExpressGenerated = 0;\n \n // On génère des paiements jusqu'à ce qu'un exercice soit entier (12 mois), non express\n // et qu'au moins 13 mois de paiements ont été générés depuis la date de reprise\n while (!hasGeneratedWholeYear || countNonExpressGenerated < 2) {\n //On compte le nb de mois restants entre la date à laquelle le paiement va être créé et la date de fin d'exercice\n let countMonthsBeforeExerciceEnd = Math.ceil(dayjs(exerciceEndDate).diff(paymentDate, 'months', true));\n if (countMonthsBeforeExerciceEnd < 3) countMonthsBeforeExerciceEnd = 3;\n\n // Si un client signe un Express dans les 3 derniers mois de l'année (par exemple en décembre 2024)\n // on ne doit pas générer l'année 2025 sur 13 mois à partir du 12/24\n // mais on doit attendre le début de l'exercice concerné (ici, 01/25)\n if (countMonthsBeforeExerciceEnd > 12) {\n paymentDate = dayjs(paymentDate).add(1, 'month').startOf('month').toDate();\n continue;\n }\n\n const exoAmount = isFirstNonExpress ? yearlyAmountNonExpressClone : nextYearlyAmountNonExpress;\n const remainingBeforeThisExo = remainingAmount;\n remainingAmount += priceWithTaxesIncluded ? exoAmount : getTaxesIncludedAmount(exoAmount, idVat);\n\n // Si le premier règlement couvre le coût de cet exercicePrestation, \n // on créé un paiement pour cet exo et on passe au suivant\n if (remainingAmount <= 0) {\n listPayments.push({\n amount: Math.round(100 * (priceWithTaxesIncluded ? exoAmount : getTaxesIncludedAmount(exoAmount, idVat))) / 100, //TTC\n isPaid: true,\n datePayment: dayjs().toDate(),\n idPrestation,\n idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exerciceEndDate,\n });\n exerciceEndDate = dayjs(exerciceEndDate).startOf('month').add(1, 'year').endOf('month').toDate();\n continue;\n } else if (remainingBeforeThisExo < 0 && remainingAmount > 0) {\n // Si le paiement couvre une partie du paiement, on créé un paiement pour cette partie lié à l'exo \n listPayments.push({\n amount: Math.round(100 * -remainingBeforeThisExo) / 100, //TTC\n isPaid: true,\n datePayment: dayjs().toDate(),\n idPrestation,\n idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exerciceEndDate,\n });\n }\n\n let remainingAmountByExercicePrestation = remainingAmount;\n\n // - frais d'application dès les second exo non express\n if (!isFirstNonExpress) remainingAmountByExercicePrestation += applicationCostTotalTTC;\n\n const monthlyAmount = remainingAmountByExercicePrestation / countMonthsBeforeExerciceEnd; //TTC\n\n if (monthlyAmount > 0) {\n for (let index = 1; index <= countMonthsBeforeExerciceEnd; index++) {\n let amount = index < countMonthsBeforeExerciceEnd ? monthlyAmount : remainingAmountByExercicePrestation;\n \n // Si besoin, on applique les frais nécessaires :\n // - 2,75% d'augmentation chaque année, sauf si souscriptiuon dans les 3 derniers mois de l'année civile)\n amount = calculateFees(amount, paymentDate);\n \n listPayments.push({\n amount: Math.round(100 * amount) / 100,\n datePayment: paymentDate,\n idPrestation,\n idPaymentMethod: PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exerciceEndDate,\n });\n remainingAmountByExercicePrestation -= monthlyAmount; \n paymentDate = dayjs(paymentDate).add(1, 'month').startOf('month').toDate();\n }\n exerciceEndDate = dayjs(exerciceEndDate).startOf('month').add(1, 'year').endOf('month').toDate();\n }\n remainingAmount = 0;\n if (countMonthsBeforeExerciceEnd === 12) hasGeneratedWholeYear = true;\n isFirstNonExpress = false;\n countNonExpressGenerated += 1;\n }\n\n remainingAmount = 0;\n\n // =========================\n // JUSQU'EN DECEMBRE\n // =========================\n // On applique le taux de tva de la société, si besoin, selon la grille tarifaire\n remainingAmount += priceWithTaxesIncluded ? nextYearlyAmountNonExpress : getTaxesIncludedAmount(nextYearlyAmountNonExpress, idVat);\n\n let remainingAmountByExercicePrestation = remainingAmount;\n //On compte le nb de mois restants entre la date à laquelle le paiement va être créé et la date de fin d'exercice\n let countMonthsBeforeExerciceEnd = Math.ceil(dayjs(exerciceEndDate).diff(paymentDate, 'months', true));\n if (countMonthsBeforeExerciceEnd < 3) countMonthsBeforeExerciceEnd = 3;\n\n // - frais d'application dès les second exo non express\n remainingAmountByExercicePrestation += applicationCostTotalTTC;\n \n const monthlyAmount = remainingAmountByExercicePrestation / countMonthsBeforeExerciceEnd;\n \n // Si aucun paiement généré, on stoppe là\n if (!listPayments.length) return [];\n\n while (dayjs(listPayments.slice(-1)[0].datePayment).month() < 11) {\n let amount = monthlyAmount;\n\n // Si besoin, on applique les frais nécessaires :\n // - 2,75% d'augmentation chaque année, sauf si souscriptiuon dans les 3 derniers mois de l'année civile)\n // - frais d'application dès les second exo non express\n amount = calculateFees(amount, paymentDate);\n\n listPayments.push({\n amount: Math.round(100 * amount) / 100,\n datePayment: paymentDate,\n idPrestation,\n idPaymentMethod: PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exerciceEndDate,\n });\n paymentDate = dayjs(paymentDate).add(1, 'month').startOf('month').toDate();\n }\n\n return listPayments;\n};\n\nexport {\n groupPaymentsByServiceType, calculatePaymentsAuto,\n};"]}
@@ -1 +1 @@
1
- {"version":3,"file":"phone.d.ts","sourceRoot":"","sources":["../../../ts/utils/phone.ts"],"names":[],"mappings":"AAKA,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,SAAQ,GAAG,MAAM,GAAG,IAAI,CAcjG;AAED,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAOvE;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,GAAE,aAAa,GAAG,wBAAwB,GAAG,2BAA2C,GAAG,MAAM,GAAG,IAAI,CA8BzK;AAED,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAUvE"}
1
+ {"version":3,"file":"phone.d.ts","sourceRoot":"","sources":["../../../ts/utils/phone.ts"],"names":[],"mappings":"AAKA,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,SAAQ,GAAG,MAAM,GAAG,IAAI,CAcjG;AAED,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAQvE;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,GAAE,aAAa,GAAG,wBAAwB,GAAG,2BAA2C,GAAG,MAAM,GAAG,IAAI,CA8BzK;AAED,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAUvE"}
@@ -29,6 +29,7 @@ function formatPhoneNumberToE164(phoneNumber, prefix = '+33') {
29
29
  function getPhoneNumberWithoutPrefix(phoneNumber) {
30
30
  let number = phoneNumber;
31
31
  // @ts-ignore
32
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
32
33
  Object.keys(Phone_1.PhonePrefix).map((index) => Phone_1.PhonePrefix[index].prefix).forEach((prefix) => {
33
34
  number = number.replace(prefix, '');
34
35
  });
@@ -1 +1 @@
1
- {"version":3,"file":"phone.js","sourceRoot":"","sources":["../../../ts/utils/phone.ts"],"names":[],"mappings":"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","sourcesContent":["import { SegmentedMessage } from 'sms-segments-calculator';\nimport { PhonePrefix } from '../types/Enum/Phone';\nimport { Role } from '../types/Enum/Role';\nimport { RoleDetail } from '../types/Enum/RoleDetail';\n\nexport function formatPhoneNumberToE164(phoneNumber: string | null, prefix = '+33'): string | null {\n if (!phoneNumber) return null;\n if (phoneNumber.charAt(0) !== '+') {\n const numberInt = phoneNumber.replace(/\\D/g, '');\n if (prefix) {\n if (numberInt.length === 10 && numberInt.charAt(0) === '0') {\n return `${prefix}${numberInt.substring(1)}`;\n }\n return `${prefix}${numberInt}`;\n }\n if (numberInt.charAt(0) === '0' && numberInt.length === 10) return `+33${numberInt.substring(1)}`;\n return numberInt;\n }\n return phoneNumber;\n}\n\nexport function getPhoneNumberWithoutPrefix(phoneNumber: string): string {\n let number = phoneNumber;\n // @ts-ignore\n Object.keys(PhonePrefix).map((index) => PhonePrefix[index].prefix).forEach((prefix) => {\n number = number.replace(prefix, '');\n });\n return number;\n}\n\nexport function countSegmentsFromMessage(message: string): number {\n return new SegmentedMessage(message, 'auto').segmentsCount;\n}\n\nexport function getPhoneNumberFromRoles(roles: number[], attribute: 'phoneNumber' | 'phoneNumberPourcentage' | 'phoneNumberStatutsExpress' = 'phoneNumber'): string | null {\n if (roles.some((role) => [Role.FRONT_OFFICE, Role.EXPERT_ACCOUNTANT].includes(role))) {\n return RoleDetail.FRONT_OFFICE[attribute];\n }\n\n if (roles.some((role) => [Role.FRONT_OFFICE_EXPRESS].includes(role))) {\n return RoleDetail.FRONT_OFFICE_EXPRESS[attribute];\n }\n\n if (roles.some((role) => [Role.COMMERCIAL].includes(role))) {\n return RoleDetail.COMMERCIAL[attribute];\n }\n\n if (roles.some((role) => [Role.FACTURATION].includes(role))) {\n return RoleDetail.FACTURATION[attribute];\n }\n\n if (roles.some((role) => [Role.CUSTOMER_SUCCESS].includes(role))) {\n return RoleDetail.CUSTOMER_SUCCESS[attribute];\n }\n\n if (roles.some((role) => [Role.JURIDIC, Role.JURIDICAL_SUPPORT].includes(role))) {\n return RoleDetail.JURIDIC[attribute];\n }\n\n if (roles.some((role) => [Role.SOCIAL].includes(role))) {\n return RoleDetail.SOCIAL[attribute];\n }\n\n return null;\n}\n\nexport function formatPhoneNumberToNational(phoneNumber: string): string {\n\n const phoneWithoutSpace = phoneNumber.replace(/ /g, '');\n\n if (phoneWithoutSpace?.startsWith('+33')) {\n return phoneWithoutSpace.replace('+33', '0');\n }\n\n // Fonction à mettre à jour en fonction des cas de notre bdd\n return phoneWithoutSpace;\n}"]}
1
+ {"version":3,"file":"phone.js","sourceRoot":"","sources":["../../../ts/utils/phone.ts"],"names":[],"mappings":";;AAKA,0DAcC;AAED,kEAQC;AAED,4DAEC;AAED,0DA8BC;AAED,kEAUC;AA7ED,qEAA2D;AAC3D,+CAAkD;AAClD,6CAA0C;AAC1C,yDAAsD;AAEtD,SAAgB,uBAAuB,CAAC,WAA0B,EAAE,MAAM,GAAG,KAAK;IAChF,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAC9B,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACjD,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,SAAS,CAAC,MAAM,KAAK,EAAE,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC3D,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9C,CAAC;YACD,OAAO,GAAG,MAAM,GAAG,SAAS,EAAE,CAAC;QACjC,CAAC;QACD,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,SAAS,CAAC,MAAM,KAAK,EAAE;YAAE,OAAO,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAClG,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAgB,2BAA2B,CAAC,WAAmB;IAC7D,IAAI,MAAM,GAAG,WAAW,CAAC;IACzB,aAAa;IACb,+DAA+D;IAC/D,MAAM,CAAC,IAAI,CAAC,mBAAW,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAW,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QACpF,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,wBAAwB,CAAC,OAAe;IACtD,OAAO,IAAI,0CAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,aAAa,CAAC;AAC7D,CAAC;AAED,SAAgB,uBAAuB,CAAC,KAAe,EAAE,YAAoF,aAAa;IACxJ,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAI,CAAC,YAAY,EAAE,WAAI,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACrF,OAAO,uBAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAI,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACrE,OAAO,uBAAU,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAC3D,OAAO,uBAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAC5D,OAAO,uBAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAI,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACjE,OAAO,uBAAU,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAI,CAAC,OAAO,EAAE,WAAI,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAChF,OAAO,uBAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACvD,OAAO,uBAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,2BAA2B,CAAC,WAAmB;IAE7D,MAAM,iBAAiB,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAExD,IAAI,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACzC,OAAO,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC/C,CAAC;IAED,4DAA4D;IAC5D,OAAO,iBAAiB,CAAC;AAC3B,CAAC","sourcesContent":["import { SegmentedMessage } from 'sms-segments-calculator';\nimport { PhonePrefix } from '../types/Enum/Phone';\nimport { Role } from '../types/Enum/Role';\nimport { RoleDetail } from '../types/Enum/RoleDetail';\n\nexport function formatPhoneNumberToE164(phoneNumber: string | null, prefix = '+33'): string | null {\n if (!phoneNumber) return null;\n if (phoneNumber.charAt(0) !== '+') {\n const numberInt = phoneNumber.replace(/\\D/g, '');\n if (prefix) {\n if (numberInt.length === 10 && numberInt.charAt(0) === '0') {\n return `${prefix}${numberInt.substring(1)}`;\n }\n return `${prefix}${numberInt}`;\n }\n if (numberInt.charAt(0) === '0' && numberInt.length === 10) return `+33${numberInt.substring(1)}`;\n return numberInt;\n }\n return phoneNumber;\n}\n\nexport function getPhoneNumberWithoutPrefix(phoneNumber: string): string {\n let number = phoneNumber;\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n Object.keys(PhonePrefix).map((index) => PhonePrefix[index].prefix).forEach((prefix) => {\n number = number.replace(prefix, '');\n });\n return number;\n}\n\nexport function countSegmentsFromMessage(message: string): number {\n return new SegmentedMessage(message, 'auto').segmentsCount;\n}\n\nexport function getPhoneNumberFromRoles(roles: number[], attribute: 'phoneNumber' | 'phoneNumberPourcentage' | 'phoneNumberStatutsExpress' = 'phoneNumber'): string | null {\n if (roles.some((role) => [Role.FRONT_OFFICE, Role.EXPERT_ACCOUNTANT].includes(role))) {\n return RoleDetail.FRONT_OFFICE[attribute];\n }\n\n if (roles.some((role) => [Role.FRONT_OFFICE_EXPRESS].includes(role))) {\n return RoleDetail.FRONT_OFFICE_EXPRESS[attribute];\n }\n\n if (roles.some((role) => [Role.COMMERCIAL].includes(role))) {\n return RoleDetail.COMMERCIAL[attribute];\n }\n\n if (roles.some((role) => [Role.FACTURATION].includes(role))) {\n return RoleDetail.FACTURATION[attribute];\n }\n\n if (roles.some((role) => [Role.CUSTOMER_SUCCESS].includes(role))) {\n return RoleDetail.CUSTOMER_SUCCESS[attribute];\n }\n\n if (roles.some((role) => [Role.JURIDIC, Role.JURIDICAL_SUPPORT].includes(role))) {\n return RoleDetail.JURIDIC[attribute];\n }\n\n if (roles.some((role) => [Role.SOCIAL].includes(role))) {\n return RoleDetail.SOCIAL[attribute];\n }\n\n return null;\n}\n\nexport function formatPhoneNumberToNational(phoneNumber: string): string {\n\n const phoneWithoutSpace = phoneNumber.replace(/ /g, '');\n\n if (phoneWithoutSpace?.startsWith('+33')) {\n return phoneWithoutSpace.replace('+33', '0');\n }\n\n // Fonction à mettre à jour en fonction des cas de notre bdd\n return phoneWithoutSpace;\n}"]}
@@ -113,7 +113,7 @@ function getLeadQuotation(params) {
113
113
  }
114
114
  /* besoin en entré de la société concerné avec les différents imports (society), ainsi que la liste des autres sociétés ou l'owner est owner (otherSocieties) */
115
115
  function getClientQuotation(society, otherSocieties, lastNotice, unpaidDetails, reports, societyProcedings, tabBankAccount, firstPaiement) {
116
- var _a, _b, _c, _d, _e, _f;
116
+ var _a, _b, _c, _d, _e, _f, _g;
117
117
  let quotationPositive = 0;
118
118
  let quotationNegative = 0;
119
119
  let quotation = 0;
@@ -257,7 +257,7 @@ function getClientQuotation(society, otherSocieties, lastNotice, unpaidDetails,
257
257
  return {
258
258
  cotation: quotation,
259
259
  data: detailQuotation,
260
- idSociety: society.id,
260
+ idSociety: (_g = society.id) !== null && _g !== void 0 ? _g : 0,
261
261
  };
262
262
  }
263
263
  function compareTwoCotation(cotations) {
@@ -1 +1 @@
1
- {"version":3,"file":"quotation.js","sourceRoot":"","sources":["../../../ts/utils/quotation.ts"],"names":[],"mappings":"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","sourcesContent":["import * as dayjs from 'dayjs';\nimport { ForbidenDomain, BasicDomain } from '../types/Enum/MailDomainType';\nimport { Activity } from '../types/Enum/Activity';\nimport { ComptaType } from '../types/Enum/ComptaType';\nimport { ISociety } from '../types/Interface/models/ISociety';\nimport { ICotation } from '../types/Interface/models/ICotation';\nimport {\n BasePaginate,\n IPayment,\n IRating, IReport, ISocietyProceding, ReadClientQuotation,\n} from '../types';\n\ntype getLeadQuotationParams = {\n firstname: string,\n lastname: string,\n phone: string,\n mail: string,\n annualTurnover: number,\n source: number,\n alreadyExist: boolean,\n activitySector: number,\n};\n\nexport function getLeadQuotation(params: getLeadQuotationParams):number {\n const {\n firstname, lastname, phone, mail, annualTurnover, source, alreadyExist, activitySector,\n } = params;\n if (\n firstname === 'test'\n || lastname === 'test'\n || mail?.includes('test')\n || ['606060606', '707070707', '612345678', '712345678', '687654321', '787654321'].includes(phone)\n ) {\n return 0;\n }\n let quotation = 0;\n\n /* cotation du prénom */\n if (firstname) quotation += 5;\n\n /* cotation du nom */\n if (lastname) quotation += 5;\n\n /* cotation du numéro de téléphone */\n if (phone && ['6', '7'].includes(phone.substr(0, 1))) {\n quotation += 15;\n } else {\n quotation += 5;\n }\n\n /* cotation de l'adresse email */\n if (BasicDomain.find((domain) => mail?.includes(domain))) {\n quotation += 5;\n } else\n if (!ForbidenDomain.find((domain) => mail?.includes(domain))) {\n quotation += 15;\n }\n\n /* cotation du CA annuel */\n if ([0, 150000, 400000, 783000, 783001].includes(annualTurnover)) {\n quotation += 10;\n } else if ([50000, 234000].includes(annualTurnover)) {\n quotation += 5;\n }\n\n /* cotation de la date d'ajout */\n if ([1, 2, 3, 4, 5].includes(new Date().getDay())) {\n const dateTime = new Date();\n const year = dateTime.getFullYear();\n const month = dateTime.getMonth();\n const day = dateTime.getDate();\n const startTime = new Date(`${year}-${month + 1}-${day} 08:45:00`);\n const endTime = new Date(`${year}-${month + 1}-${day} 18:45:00`);\n if ((startTime.getTime() <= dateTime.getTime()) && (endTime.getTime() >= dateTime.getTime())) {\n quotation += 15;\n } else {\n quotation += 5;\n }\n } else {\n quotation += 5;\n }\n\n /* cotation de la source */\n /* Parrainage */\n if (source === 49) {\n quotation += 10;\n\n /* calendly, appel entrant */\n } else if (source === 2) {\n quotation += 8;\n\n /* adWords, Bing, Formulaire */\n } else if (source === 4) {\n quotation += 6;\n\n /* Chat, Whatsapp */\n } else if ([29, 92].includes(source)) {\n quotation += 2;\n }\n\n /* cotation de la qualité (nombre de champs remplis) */\n const fieldNumber = [firstname, lastname, phone, mail, annualTurnover, activitySector].filter((data) => !!data).length;\n switch (fieldNumber) {\n case 6:\n quotation += 10;\n break;\n case 5:\n quotation += 8;\n break;\n case 4:\n quotation += 6;\n break;\n case 3:\n quotation += 4;\n break;\n case 2:\n quotation += 2;\n break;\n default:\n break;\n }\n\n /* cotation de l'existence du lead (déjà existant ou non) */\n if (alreadyExist) quotation += 8;\n\n /* cotation du secteur d'activité */\n if ([Activity.INFORMATIQUE, Activity.CONSEIL].includes(activitySector)) {\n quotation += 10;\n } else if ([Activity.TRANSPORT, Activity.BTP, Activity.RESTAURATION, Activity.COMMERCANT, Activity.MEDICAL, Activity.PROF_LIB].includes(activitySector)) {\n quotation += 5;\n }\n\n return quotation;\n}\n\n/* besoin en entré de la société concerné avec les différents imports (society), ainsi que la liste des autres sociétés ou l'owner est owner (otherSocieties) */\nexport function getClientQuotation(society: ISociety, otherSocieties: ISociety[], lastNotice: BasePaginate<IRating>, unpaidDetails: [], reports: IReport[], societyProcedings: ISocietyProceding[], tabBankAccount: any, firstPaiement: IPayment[]): ReadClientQuotation {\n let quotationPositive = 0;\n let quotationNegative = 0;\n let quotation = 0;\n const detailQuotation = {\n signature: 0,\n seniority: 0,\n additionalBenefits: 0,\n additionalCompanies: 0,\n unpayed: 0,\n updatedAnnotations: 0,\n bankSynchronization: 0,\n rating: 0,\n labRefused: 0,\n ongoingProceedings: 0,\n report: 0,\n termination: 0,\n created: 0,\n };\n\n // calcul de l'ancienneté de la société\n const anciennete = firstPaiement?.length > 0 ? dayjs().diff(dayjs(firstPaiement[0].datePayment, 'YYYY-MM-DD'), 'years') : 0;\n const ponderation = (anciennete * 0.1) + 1;\n\n /* Type de comptabilité du client (Tresorerie (+10) / Engagement (+15)) */\n if (society.idComptaType) {\n if ([ComptaType.CASH_BASED, ComptaType.CASH_BASED_ASSISTANCE, ComptaType.CASH_BASED_SEIZURE].includes(society.idComptaType)) {\n quotationPositive += 10;\n detailQuotation.signature += 10;\n } else if ([ComptaType.ACCRUALS, ComptaType.ACCRUALS_ASSISTANCE, ComptaType.ACCRUALS_SEIZURE].includes(society.idComptaType)) {\n quotationPositive += 15;\n detailQuotation.signature += 15;\n }\n }\n\n /* Ancienneté (1 ans < firstPaiement < 2 ans (+10) / 2 ans < firstPaiement (+20 / année)) */\n if (firstPaiement?.length > 0) {\n const yearAsClient = Number(new Date().getFullYear()) - Number(new Date(firstPaiement[0].datePayment).getFullYear());\n if (yearAsClient === 1) {\n quotationPositive += 10;\n detailQuotation.seniority += 10;\n } else if (yearAsClient > 1) {\n quotationPositive += (20 * (yearAsClient - 1) + 10);\n detailQuotation.seniority += (20 * (yearAsClient - 1) + 10);\n }\n }\n\n /* Prestations Complémentaires (+5 / prestation) */\n if (society.prestationsSocieties?.length) {\n const prestationsCompl = society.prestationsSocieties.filter((prestation) => prestation.idPrestationComplementary);\n prestationsCompl.forEach(() => {\n quotationPositive += Math.ceil(5 * ponderation);\n detailQuotation.additionalBenefits += Math.ceil(5 * ponderation);\n });\n }\n\n /* Sociétés supplémentaires (+8 / société) */\n if (otherSocieties.length) {\n quotationPositive += Math.ceil(8 * otherSocieties.length * ponderation);\n detailQuotation.additionalCompanies += Math.ceil(8 * otherSocieties.length * ponderation);\n }\n\n /* Impayés (-15 / mois) */\n if (unpaidDetails.length) {\n quotationNegative -= Math.ceil(15 * unpaidDetails.length * ponderation);\n detailQuotation.unpayed -= Math.ceil(15 * unpaidDetails.length * ponderation);\n }\n\n /* annotations à jour */\n if (tabBankAccount.societyAccountingTransactions?.length) {\n // on check s'il y a 80% des lignes annotées (dateLocked)\n let countNotAnnoted = 0;\n let percentageAnnotations = 100;\n tabBankAccount.societyAccountingTransactions.map((na:any) => {\n if (na.dateLocked === null) {\n countNotAnnoted += 1;\n }\n return countNotAnnoted;\n });\n if (countNotAnnoted !== 0) percentageAnnotations = (countNotAnnoted / tabBankAccount.societyAccountingTransactions?.length) * 100;\n if (percentageAnnotations >= 80) {\n quotationPositive += Math.ceil(12 * ponderation);\n detailQuotation.updatedAnnotations += Math.ceil(12 * ponderation);\n } else {\n quotationNegative -= Math.ceil(12 * ponderation);\n detailQuotation.updatedAnnotations -= Math.ceil(12 * ponderation);\n }\n }\n\n /* synchronisation bancaire */\n if (tabBankAccount.societyActivatedBankAccounts?.length) {\n // comptes synchro\n const synchro = tabBankAccount.societyActivatedBankAccounts.length - tabBankAccount.desactivatedBankAccount.length;\n quotationPositive += Math.ceil(12 * synchro * ponderation);\n detailQuotation.bankSynchronization += Math.ceil(12 * synchro * ponderation);\n\n // comptes desynchro\n quotationNegative -= Math.ceil(12 * tabBankAccount.desactivatedBankAccount.length * ponderation);\n detailQuotation.bankSynchronization -= Math.ceil(12 * tabBankAccount.desactivatedBankAccount.length * ponderation);\n }\n\n /* avis */\n if (lastNotice && lastNotice.data.length === 1) {\n if (lastNotice.data[0].average === 5) {\n quotationPositive += Math.ceil(10 * ponderation);\n detailQuotation.rating += Math.ceil(10 * ponderation);\n } else {\n quotationNegative -= 10;\n detailQuotation.rating -= 10;\n }\n }\n\n /* LAB refusée */\n if (society?.societyDetail) {\n if (!society.societyDetail?.acceptation) {\n quotationNegative -= 10;\n detailQuotation.labRefused -= 10;\n }\n }\n\n /* Cessation de paiement - redressement judiciaire - procédure en cours / signalements / résiliation */\n if (societyProcedings?.length) {\n quotationNegative -= 5 * societyProcedings.length;\n detailQuotation.ongoingProceedings -= 5 * societyProcedings.length;\n }\n\n if (reports?.length) {\n quotationNegative -= 10;\n detailQuotation.report -= 10;\n }\n\n if (society.isWaitingEnd) {\n quotationNegative -= 50;\n detailQuotation.termination -= 50;\n }\n\n /* Création chez nous */\n if (society.prestationsSocieties?.length) {\n const prestationsCreation = society.prestationsSocieties.filter((prestation) => prestation.idPrestationList === 15); // creation pas d'enum\n prestationsCreation.forEach(() => {\n quotationPositive += 10;\n detailQuotation.created += 10;\n });\n }\n\n if (quotationPositive > 100) quotationPositive = 100;\n if (quotationNegative > 100) quotationNegative = 100;\n\n quotation = quotationPositive + quotationNegative;\n\n if (quotation < 0) quotation = 0;\n\n return {\n cotation: quotation,\n data: detailQuotation,\n idSociety: society.id as number,\n };\n}\n\nexport function compareTwoCotation(cotations: ICotation[]):boolean | null {\n // on recupere les 2 dernieres cotations de la societe\n const higher = false;\n if (cotations[0].cotation === cotations[1].cotation) {\n return null;\n } if (cotations[0].cotation > cotations[1].cotation) {\n return true;\n }\n return higher;\n}"]}
1
+ {"version":3,"file":"quotation.js","sourceRoot":"","sources":["../../../ts/utils/quotation.ts"],"names":[],"mappings":"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","sourcesContent":["import * as dayjs from 'dayjs';\nimport { ForbidenDomain, BasicDomain } from '../types/Enum/MailDomainType';\nimport { Activity } from '../types/Enum/Activity';\nimport { ComptaType } from '../types/Enum/ComptaType';\nimport { ISociety } from '../types/Interface/models/ISociety';\nimport { ICotation } from '../types/Interface/models/ICotation';\nimport {\n BasePaginate,\n IPayment,\n IRating, IReport, ISocietyProceding, ReadClientQuotation,\n} from '../types';\n\ntype getLeadQuotationParams = {\n firstname: string,\n lastname: string,\n phone: string,\n mail: string,\n annualTurnover: number,\n source: number,\n alreadyExist: boolean,\n activitySector: number,\n};\n\nexport function getLeadQuotation(params: getLeadQuotationParams):number {\n const {\n firstname, lastname, phone, mail, annualTurnover, source, alreadyExist, activitySector,\n } = params;\n if (\n firstname === 'test'\n || lastname === 'test'\n || mail?.includes('test')\n || ['606060606', '707070707', '612345678', '712345678', '687654321', '787654321'].includes(phone)\n ) {\n return 0;\n }\n let quotation = 0;\n\n /* cotation du prénom */\n if (firstname) quotation += 5;\n\n /* cotation du nom */\n if (lastname) quotation += 5;\n\n /* cotation du numéro de téléphone */\n if (phone && ['6', '7'].includes(phone.substr(0, 1))) {\n quotation += 15;\n } else {\n quotation += 5;\n }\n\n /* cotation de l'adresse email */\n if (BasicDomain.find((domain) => mail?.includes(domain))) {\n quotation += 5;\n } else\n if (!ForbidenDomain.find((domain) => mail?.includes(domain))) {\n quotation += 15;\n }\n\n /* cotation du CA annuel */\n if ([0, 150000, 400000, 783000, 783001].includes(annualTurnover)) {\n quotation += 10;\n } else if ([50000, 234000].includes(annualTurnover)) {\n quotation += 5;\n }\n\n /* cotation de la date d'ajout */\n if ([1, 2, 3, 4, 5].includes(new Date().getDay())) {\n const dateTime = new Date();\n const year = dateTime.getFullYear();\n const month = dateTime.getMonth();\n const day = dateTime.getDate();\n const startTime = new Date(`${year}-${month + 1}-${day} 08:45:00`);\n const endTime = new Date(`${year}-${month + 1}-${day} 18:45:00`);\n if ((startTime.getTime() <= dateTime.getTime()) && (endTime.getTime() >= dateTime.getTime())) {\n quotation += 15;\n } else {\n quotation += 5;\n }\n } else {\n quotation += 5;\n }\n\n /* cotation de la source */\n /* Parrainage */\n if (source === 49) {\n quotation += 10;\n\n /* calendly, appel entrant */\n } else if (source === 2) {\n quotation += 8;\n\n /* adWords, Bing, Formulaire */\n } else if (source === 4) {\n quotation += 6;\n\n /* Chat, Whatsapp */\n } else if ([29, 92].includes(source)) {\n quotation += 2;\n }\n\n /* cotation de la qualité (nombre de champs remplis) */\n const fieldNumber = [firstname, lastname, phone, mail, annualTurnover, activitySector].filter((data) => !!data).length;\n switch (fieldNumber) {\n case 6:\n quotation += 10;\n break;\n case 5:\n quotation += 8;\n break;\n case 4:\n quotation += 6;\n break;\n case 3:\n quotation += 4;\n break;\n case 2:\n quotation += 2;\n break;\n default:\n break;\n }\n\n /* cotation de l'existence du lead (déjà existant ou non) */\n if (alreadyExist) quotation += 8;\n\n /* cotation du secteur d'activité */\n if ([Activity.INFORMATIQUE, Activity.CONSEIL].includes(activitySector)) {\n quotation += 10;\n } else if ([Activity.TRANSPORT, Activity.BTP, Activity.RESTAURATION, Activity.COMMERCANT, Activity.MEDICAL, Activity.PROF_LIB].includes(activitySector)) {\n quotation += 5;\n }\n\n return quotation;\n}\n\n/* besoin en entré de la société concerné avec les différents imports (society), ainsi que la liste des autres sociétés ou l'owner est owner (otherSocieties) */\nexport function getClientQuotation(society: ISociety, otherSocieties: ISociety[], lastNotice: BasePaginate<IRating>, unpaidDetails: [], reports: IReport[], societyProcedings: ISocietyProceding[], tabBankAccount: any, firstPaiement: IPayment[]): ReadClientQuotation {\n let quotationPositive = 0;\n let quotationNegative = 0;\n let quotation = 0;\n const detailQuotation = {\n signature: 0,\n seniority: 0,\n additionalBenefits: 0,\n additionalCompanies: 0,\n unpayed: 0,\n updatedAnnotations: 0,\n bankSynchronization: 0,\n rating: 0,\n labRefused: 0,\n ongoingProceedings: 0,\n report: 0,\n termination: 0,\n created: 0,\n };\n\n // calcul de l'ancienneté de la société\n const anciennete = firstPaiement?.length > 0 ? dayjs().diff(dayjs(firstPaiement[0].datePayment, 'YYYY-MM-DD'), 'years') : 0;\n const ponderation = (anciennete * 0.1) + 1;\n\n /* Type de comptabilité du client (Tresorerie (+10) / Engagement (+15)) */\n if (society.idComptaType) {\n if ([ComptaType.CASH_BASED, ComptaType.CASH_BASED_ASSISTANCE, ComptaType.CASH_BASED_SEIZURE].includes(society.idComptaType)) {\n quotationPositive += 10;\n detailQuotation.signature += 10;\n } else if ([ComptaType.ACCRUALS, ComptaType.ACCRUALS_ASSISTANCE, ComptaType.ACCRUALS_SEIZURE].includes(society.idComptaType)) {\n quotationPositive += 15;\n detailQuotation.signature += 15;\n }\n }\n\n /* Ancienneté (1 ans < firstPaiement < 2 ans (+10) / 2 ans < firstPaiement (+20 / année)) */\n if (firstPaiement?.length > 0) {\n const yearAsClient = Number(new Date().getFullYear()) - Number(new Date(firstPaiement[0].datePayment).getFullYear());\n if (yearAsClient === 1) {\n quotationPositive += 10;\n detailQuotation.seniority += 10;\n } else if (yearAsClient > 1) {\n quotationPositive += (20 * (yearAsClient - 1) + 10);\n detailQuotation.seniority += (20 * (yearAsClient - 1) + 10);\n }\n }\n\n /* Prestations Complémentaires (+5 / prestation) */\n if (society.prestationsSocieties?.length) {\n const prestationsCompl = society.prestationsSocieties.filter((prestation) => prestation.idPrestationComplementary);\n prestationsCompl.forEach(() => {\n quotationPositive += Math.ceil(5 * ponderation);\n detailQuotation.additionalBenefits += Math.ceil(5 * ponderation);\n });\n }\n\n /* Sociétés supplémentaires (+8 / société) */\n if (otherSocieties.length) {\n quotationPositive += Math.ceil(8 * otherSocieties.length * ponderation);\n detailQuotation.additionalCompanies += Math.ceil(8 * otherSocieties.length * ponderation);\n }\n\n /* Impayés (-15 / mois) */\n if (unpaidDetails.length) {\n quotationNegative -= Math.ceil(15 * unpaidDetails.length * ponderation);\n detailQuotation.unpayed -= Math.ceil(15 * unpaidDetails.length * ponderation);\n }\n\n /* annotations à jour */\n if (tabBankAccount.societyAccountingTransactions?.length) {\n // on check s'il y a 80% des lignes annotées (dateLocked)\n let countNotAnnoted = 0;\n let percentageAnnotations = 100;\n tabBankAccount.societyAccountingTransactions.map((na:any) => {\n if (na.dateLocked === null) {\n countNotAnnoted += 1;\n }\n return countNotAnnoted;\n });\n if (countNotAnnoted !== 0) percentageAnnotations = (countNotAnnoted / tabBankAccount.societyAccountingTransactions?.length) * 100;\n if (percentageAnnotations >= 80) {\n quotationPositive += Math.ceil(12 * ponderation);\n detailQuotation.updatedAnnotations += Math.ceil(12 * ponderation);\n } else {\n quotationNegative -= Math.ceil(12 * ponderation);\n detailQuotation.updatedAnnotations -= Math.ceil(12 * ponderation);\n }\n }\n\n /* synchronisation bancaire */\n if (tabBankAccount.societyActivatedBankAccounts?.length) {\n // comptes synchro\n const synchro = tabBankAccount.societyActivatedBankAccounts.length - tabBankAccount.desactivatedBankAccount.length;\n quotationPositive += Math.ceil(12 * synchro * ponderation);\n detailQuotation.bankSynchronization += Math.ceil(12 * synchro * ponderation);\n\n // comptes desynchro\n quotationNegative -= Math.ceil(12 * tabBankAccount.desactivatedBankAccount.length * ponderation);\n detailQuotation.bankSynchronization -= Math.ceil(12 * tabBankAccount.desactivatedBankAccount.length * ponderation);\n }\n\n /* avis */\n if (lastNotice && lastNotice.data.length === 1) {\n if (lastNotice.data[0].average === 5) {\n quotationPositive += Math.ceil(10 * ponderation);\n detailQuotation.rating += Math.ceil(10 * ponderation);\n } else {\n quotationNegative -= 10;\n detailQuotation.rating -= 10;\n }\n }\n\n /* LAB refusée */\n if (society?.societyDetail) {\n if (!society.societyDetail?.acceptation) {\n quotationNegative -= 10;\n detailQuotation.labRefused -= 10;\n }\n }\n\n /* Cessation de paiement - redressement judiciaire - procédure en cours / signalements / résiliation */\n if (societyProcedings?.length) {\n quotationNegative -= 5 * societyProcedings.length;\n detailQuotation.ongoingProceedings -= 5 * societyProcedings.length;\n }\n\n if (reports?.length) {\n quotationNegative -= 10;\n detailQuotation.report -= 10;\n }\n\n if (society.isWaitingEnd) {\n quotationNegative -= 50;\n detailQuotation.termination -= 50;\n }\n\n /* Création chez nous */\n if (society.prestationsSocieties?.length) {\n const prestationsCreation = society.prestationsSocieties.filter((prestation) => prestation.idPrestationList === 15); // creation pas d'enum\n prestationsCreation.forEach(() => {\n quotationPositive += 10;\n detailQuotation.created += 10;\n });\n }\n\n if (quotationPositive > 100) quotationPositive = 100;\n if (quotationNegative > 100) quotationNegative = 100;\n\n quotation = quotationPositive + quotationNegative;\n\n if (quotation < 0) quotation = 0;\n\n return {\n cotation: quotation,\n data: detailQuotation,\n idSociety: society.id ?? 0,\n };\n}\n\nexport function compareTwoCotation(cotations: ICotation[]):boolean | null {\n // on recupere les 2 dernieres cotations de la societe\n const higher = false;\n if (cotations[0].cotation === cotations[1].cotation) {\n return null;\n } if (cotations[0].cotation > cotations[1].cotation) {\n return true;\n }\n return higher;\n}"]}
@@ -9,7 +9,6 @@ const diffHours = (start, end) => {
9
9
  function getBusinessDatesCount(startDate, endDate) {
10
10
  const day = startDate;
11
11
  let businessDays = 0;
12
- // eslint-disable-next-line no-unmodified-loop-condition
13
12
  while (day <= endDate) {
14
13
  if (day.getDay() !== 0 && day.getDay() !== 6) {
15
14
  if (diffHours(day, endDate) <= 4) {
@@ -1 +1 @@
1
- {"version":3,"file":"social.js","sourceRoot":"","sources":["../../../ts/utils/social.ts"],"names":[],"mappings":";;AAMA,sDAeC;AArBD,MAAM,SAAS,GAAG,CAAC,KAAW,EAAE,GAAS,EAAU,EAAE;IACnD,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;IACpD,IAAI,IAAI,EAAE,GAAG,EAAE,CAAC;IAChB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF,SAAgB,qBAAqB,CAAC,SAAe,EAAE,OAAa;IAClE,MAAM,GAAG,GAAG,SAAS,CAAC;IACtB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,wDAAwD;IACxD,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QACtB,IAAI,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;YAC7C,IAAI,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,YAAY,IAAI,GAAG,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,YAAY,IAAI,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;QACD,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC","sourcesContent":["const diffHours = (start: Date, end: Date): number => {\n let diff = (start.getTime() - end.getTime()) / 1000;\n diff /= 60 * 60;\n return Math.abs(Math.round(diff));\n};\n\nexport function getBusinessDatesCount(startDate: Date, endDate: Date): number {\n const day = startDate;\n let businessDays = 0;\n // eslint-disable-next-line no-unmodified-loop-condition\n while (day <= endDate) {\n if (day.getDay() !== 0 && day.getDay() !== 6) {\n if (diffHours(day, endDate) <= 4) {\n businessDays += 0.5;\n } else {\n businessDays += 1;\n }\n }\n day.setDate(day.getDate() + 1);\n }\n return businessDays;\n}"]}
1
+ {"version":3,"file":"social.js","sourceRoot":"","sources":["../../../ts/utils/social.ts"],"names":[],"mappings":";;AAMA,sDAeC;AArBD,MAAM,SAAS,GAAG,CAAC,KAAW,EAAE,GAAS,EAAU,EAAE;IACnD,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;IACpD,IAAI,IAAI,EAAE,GAAG,EAAE,CAAC;IAChB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF,SAAgB,qBAAqB,CAAC,SAAe,EAAE,OAAa;IAClE,MAAM,GAAG,GAAG,SAAS,CAAC;IACtB,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QACtB,IAAI,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;YAC7C,IAAI,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,YAAY,IAAI,GAAG,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,YAAY,IAAI,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;QACD,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC","sourcesContent":["const diffHours = (start: Date, end: Date): number => {\n let diff = (start.getTime() - end.getTime()) / 1000;\n diff /= 60 * 60;\n return Math.abs(Math.round(diff));\n};\n\nexport function getBusinessDatesCount(startDate: Date, endDate: Date): number {\n const day = startDate;\n let businessDays = 0;\n \n while (day <= endDate) {\n if (day.getDay() !== 0 && day.getDay() !== 6) {\n if (diffHours(day, endDate) <= 4) {\n businessDays += 0.5;\n } else {\n businessDays += 1;\n }\n }\n day.setDate(day.getDate() + 1);\n }\n return businessDays;\n}"]}
@@ -104,9 +104,9 @@ exports.creaEIMicro = {
104
104
  exports.offers = [exports.justCreation, exports.creaEIMicro, exports.justStatuts, exports.creaSociete];
105
105
  const getStatutsAmount = (idLegalForm, idPrestationList) => {
106
106
  const offer = exports.offers.find((e) => e.id === idPrestationList);
107
- const price = typeof offer.price === 'object'
107
+ const price = typeof (offer === null || offer === void 0 ? void 0 : offer.price) === 'object'
108
108
  ? offer.price[idLegalForm]
109
- : offer.price;
109
+ : (offer === null || offer === void 0 ? void 0 : offer.price) || 0;
110
110
  return price +
111
111
  exports.legalNoticesCosts[idLegalForm] +
112
112
  exports.courtCosts[idLegalForm];
@@ -1 +1 @@
1
- {"version":3,"file":"statutsGeneration.js","sourceRoot":"","sources":["../../../ts/utils/statutsGeneration.ts"],"names":[],"mappings":"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","sourcesContent":["import { LegalFormTypeEnum } from '../types/Enum/LegalForm';\nimport { PrestationType } from '../types/Enum/PrestationType';\n\nexport const legalNoticesCosts: Record<number, number> = {\n [LegalFormTypeEnum.SASU]: 138,\n [LegalFormTypeEnum.SAS]: 193,\n [LegalFormTypeEnum.EURL]: 121,\n [LegalFormTypeEnum.SARL]: 144,\n [LegalFormTypeEnum.AUTO_ENTREPRENEUR]: 0,\n [LegalFormTypeEnum.EI]: 0,\n};\n\nexport const courtCosts: Record<number, number> = {\n [LegalFormTypeEnum.SASU]: 77.23,\n [LegalFormTypeEnum.SAS]: 77.23,\n [LegalFormTypeEnum.EURL]: 77.23,\n [LegalFormTypeEnum.SARL]: 77.23,\n [LegalFormTypeEnum.AUTO_ENTREPRENEUR]: 39,\n [LegalFormTypeEnum.EI]: 39,\n};\n\nexport const features = [\n {\n text: 'Statuts + dossier complet',\n detail: null,\n offers: [PrestationType.STATUTS_OPTION_1, PrestationType.STATUTS_OPTION_2],\n hidden: [PrestationType.STATUTS_FREE, PrestationType.STATUTS_OPTION_AE],\n },\n {\n text: 'Dossier complet',\n detail: null,\n offers: [PrestationType.STATUTS_OPTION_AE],\n hidden: [PrestationType.STATUTS_FREE, PrestationType.STATUTS_OPTION_1, PrestationType.STATUTS_OPTION_2],\n },\n {\n text: 'Statuts',\n detail: null,\n offers: [PrestationType.STATUTS_FREE],\n hidden: [PrestationType.STATUTS_OPTION_1, PrestationType.STATUTS_OPTION_2, PrestationType.STATUTS_OPTION_AE],\n },\n {\n text: 'Assistance mail et téléphonique',\n detail: null,\n offers: [PrestationType.STATUTS_FREE, PrestationType.STATUTS_OPTION_1, PrestationType.STATUTS_OPTION_2, PrestationType.STATUTS_OPTION_AE],\n },\n { text: 'Suivi par nos formalistes', detail: null, offers: [PrestationType.STATUTS_OPTION_2, PrestationType.STATUTS_OPTION_AE] },\n {\n text: 'Immatriculation',\n detail: '(sous réserve du guichet unique)',\n offers: [PrestationType.STATUTS_OPTION_2, PrestationType.STATUTS_OPTION_AE],\n },\n { text: 'Assurance anti-rejet', detail: null, offers: [PrestationType.STATUTS_OPTION_2] },\n { text: 'Vérification du dossier', detail: null, offers: [PrestationType.STATUTS_OPTION_2] },\n];\n\nexport const justCreation = {\n id: PrestationType.STATUTS_OPTION_1,\n tag: null,\n title: 'Just’ Création',\n description: 'Une création en quelques clics',\n price: 0,\n priceInformation: 'HT',\n additionalCosts: '+ Frais de greffe + frais d’annonce légale',\n features: features.filter((f) => f.offers.includes(PrestationType.STATUTS_FREE)),\n legalForms: [LegalFormTypeEnum.SASU, LegalFormTypeEnum.SAS, LegalFormTypeEnum.EURL, LegalFormTypeEnum.SARL],\n};\n \nexport const justStatuts = {\n id: PrestationType.STATUTS_FREE,\n tag: null,\n title: 'Just’ Statuts',\n description: 'Editer vos statuts n’a jamais été aussi simple et rapide.',\n price: 79,\n priceInformation: 'HT',\n additionalCosts: 'Annonce légale et frais de greffe non inclus',\n features: features.filter((f) => f.offers.includes(PrestationType.STATUTS_FREE)),\n legalForms: [LegalFormTypeEnum.SASU, LegalFormTypeEnum.SAS, LegalFormTypeEnum.EURL, LegalFormTypeEnum.SARL],\n};\n \nexport const creaSociete = {\n id: PrestationType.STATUTS_OPTION_2,\n tag: 'Populaire',\n title: 'Full\\'Créa',\n description: 'Création de société de A à Z, réalisée en toute conformité.',\n price: {\n [LegalFormTypeEnum.SASU]: 179,\n [LegalFormTypeEnum.SAS]: 219,\n [LegalFormTypeEnum.EURL]: 179,\n [LegalFormTypeEnum.SARL]: 219,\n } as Record<number, number>,\n priceInformation: 'HT',\n additionalCosts: '+ frais de greffe + frais d’annonce légale',\n features: features.filter((f) => f.offers.includes(PrestationType.STATUTS_OPTION_2)),\n legalForms: [LegalFormTypeEnum.SASU, LegalFormTypeEnum.SAS, LegalFormTypeEnum.EURL, LegalFormTypeEnum.SARL],\n};\n \nexport const creaEIMicro = {\n id: PrestationType.STATUTS_OPTION_AE,\n tag: null,\n title: 'Créa EI et Micro',\n description:\n 'Créer votre entreprise individuelle ou votre micro-entreprise en quelques clics.',\n price: 60,\n priceInformation: 'HT',\n additionalCosts: '+ 39€ HT de frais de greffe',\n features: features.filter((f) => f.offers.includes(PrestationType.STATUTS_OPTION_AE)),\n legalForms: [LegalFormTypeEnum.AUTO_ENTREPRENEUR, LegalFormTypeEnum.EI],\n};\n \nexport const offers = [justCreation, creaEIMicro, justStatuts, creaSociete];\n\nexport const getStatutsAmount = (idLegalForm: LegalFormTypeEnum, idPrestationList: PrestationType): number => {\n const offer = offers.find((e) => e.id === idPrestationList)!;\n \n const price =\n typeof offer.price === 'object'\n ? offer.price[idLegalForm]\n : offer.price;\n\n return price +\n legalNoticesCosts[idLegalForm] +\n courtCosts[idLegalForm];\n};"]}
1
+ {"version":3,"file":"statutsGeneration.js","sourceRoot":"","sources":["../../../ts/utils/statutsGeneration.ts"],"names":[],"mappings":";;;AAAA,uDAA4D;AAC5D,iEAA8D;AAEjD,QAAA,iBAAiB,GAA2B;IACvD,CAAC,6BAAiB,CAAC,IAAI,CAAC,EAAE,GAAG;IAC7B,CAAC,6BAAiB,CAAC,GAAG,CAAC,EAAE,GAAG;IAC5B,CAAC,6BAAiB,CAAC,IAAI,CAAC,EAAE,GAAG;IAC7B,CAAC,6BAAiB,CAAC,IAAI,CAAC,EAAE,GAAG;IAC7B,CAAC,6BAAiB,CAAC,iBAAiB,CAAC,EAAE,CAAC;IACxC,CAAC,6BAAiB,CAAC,EAAE,CAAC,EAAE,CAAC;CAC1B,CAAC;AAEW,QAAA,UAAU,GAA2B;IAChD,CAAC,6BAAiB,CAAC,IAAI,CAAC,EAAE,KAAK;IAC/B,CAAC,6BAAiB,CAAC,GAAG,CAAC,EAAE,KAAK;IAC9B,CAAC,6BAAiB,CAAC,IAAI,CAAC,EAAE,KAAK;IAC/B,CAAC,6BAAiB,CAAC,IAAI,CAAC,EAAE,KAAK;IAC/B,CAAC,6BAAiB,CAAC,iBAAiB,CAAC,EAAE,EAAE;IACzC,CAAC,6BAAiB,CAAC,EAAE,CAAC,EAAE,EAAE;CAC3B,CAAC;AAEW,QAAA,QAAQ,GAAG;IACtB;QACE,IAAI,EAAE,2BAA2B;QACjC,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,CAAC,+BAAc,CAAC,gBAAgB,EAAE,+BAAc,CAAC,gBAAgB,CAAC;QAC1E,MAAM,EAAE,CAAC,+BAAc,CAAC,YAAY,EAAE,+BAAc,CAAC,iBAAiB,CAAC;KACxE;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,CAAC,+BAAc,CAAC,iBAAiB,CAAC;QAC1C,MAAM,EAAE,CAAC,+BAAc,CAAC,YAAY,EAAE,+BAAc,CAAC,gBAAgB,EAAE,+BAAc,CAAC,gBAAgB,CAAC;KACxG;IACD;QACE,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,CAAC,+BAAc,CAAC,YAAY,CAAC;QACrC,MAAM,EAAE,CAAC,+BAAc,CAAC,gBAAgB,EAAE,+BAAc,CAAC,gBAAgB,EAAE,+BAAc,CAAC,iBAAiB,CAAC;KAC7G;IACD;QACE,IAAI,EAAE,iCAAiC;QACvC,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,CAAC,+BAAc,CAAC,YAAY,EAAE,+BAAc,CAAC,gBAAgB,EAAE,+BAAc,CAAC,gBAAgB,EAAE,+BAAc,CAAC,iBAAiB,CAAC;KAC1I;IACD,EAAE,IAAI,EAAE,2BAA2B,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,+BAAc,CAAC,gBAAgB,EAAE,+BAAc,CAAC,iBAAiB,CAAC,EAAE;IAChI;QACE,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,kCAAkC;QAC1C,MAAM,EAAE,CAAC,+BAAc,CAAC,gBAAgB,EAAE,+BAAc,CAAC,iBAAiB,CAAC;KAC5E;IACD,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,+BAAc,CAAC,gBAAgB,CAAC,EAAE;IACzF,EAAE,IAAI,EAAE,yBAAyB,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,+BAAc,CAAC,gBAAgB,CAAC,EAAE;CAC7F,CAAC;AAEW,QAAA,YAAY,GAAG;IAC1B,EAAE,EAAE,+BAAc,CAAC,gBAAgB;IACnC,GAAG,EAAE,IAAI;IACT,KAAK,EAAE,gBAAgB;IACvB,WAAW,EAAE,gCAAgC;IAC7C,KAAK,EAAE,CAAC;IACR,gBAAgB,EAAE,IAAI;IACtB,eAAe,EAAE,4CAA4C;IAC7D,QAAQ,EAAE,gBAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,+BAAc,CAAC,YAAY,CAAC,CAAC;IAChF,UAAU,EAAE,CAAC,6BAAiB,CAAC,IAAI,EAAE,6BAAiB,CAAC,GAAG,EAAE,6BAAiB,CAAC,IAAI,EAAE,6BAAiB,CAAC,IAAI,CAAC;CAC5G,CAAC;AAEW,QAAA,WAAW,GAAG;IACzB,EAAE,EAAE,+BAAc,CAAC,YAAY;IAC/B,GAAG,EAAE,IAAI;IACT,KAAK,EAAE,eAAe;IACtB,WAAW,EAAE,2DAA2D;IACxE,KAAK,EAAE,EAAE;IACT,gBAAgB,EAAE,IAAI;IACtB,eAAe,EAAE,8CAA8C;IAC/D,QAAQ,EAAE,gBAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,+BAAc,CAAC,YAAY,CAAC,CAAC;IAChF,UAAU,EAAE,CAAC,6BAAiB,CAAC,IAAI,EAAE,6BAAiB,CAAC,GAAG,EAAE,6BAAiB,CAAC,IAAI,EAAE,6BAAiB,CAAC,IAAI,CAAC;CAC5G,CAAC;AAEW,QAAA,WAAW,GAAG;IACzB,EAAE,EAAE,+BAAc,CAAC,gBAAgB;IACnC,GAAG,EAAE,WAAW;IAChB,KAAK,EAAE,YAAY;IACnB,WAAW,EAAE,6DAA6D;IAC1E,KAAK,EAAE;QACL,CAAC,6BAAiB,CAAC,IAAI,CAAC,EAAE,GAAG;QAC7B,CAAC,6BAAiB,CAAC,GAAG,CAAC,EAAE,GAAG;QAC5B,CAAC,6BAAiB,CAAC,IAAI,CAAC,EAAE,GAAG;QAC7B,CAAC,6BAAiB,CAAC,IAAI,CAAC,EAAE,GAAG;KACJ;IAC3B,gBAAgB,EAAE,IAAI;IACtB,eAAe,EAAE,4CAA4C;IAC7D,QAAQ,EAAE,gBAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,+BAAc,CAAC,gBAAgB,CAAC,CAAC;IACpF,UAAU,EAAE,CAAC,6BAAiB,CAAC,IAAI,EAAE,6BAAiB,CAAC,GAAG,EAAE,6BAAiB,CAAC,IAAI,EAAE,6BAAiB,CAAC,IAAI,CAAC;CAC5G,CAAC;AAEW,QAAA,WAAW,GAAG;IACzB,EAAE,EAAE,+BAAc,CAAC,iBAAiB;IACpC,GAAG,EAAE,IAAI;IACT,KAAK,EAAE,kBAAkB;IACzB,WAAW,EACP,kFAAkF;IACtF,KAAK,EAAE,EAAE;IACT,gBAAgB,EAAE,IAAI;IACtB,eAAe,EAAE,6BAA6B;IAC9C,QAAQ,EAAE,gBAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,+BAAc,CAAC,iBAAiB,CAAC,CAAC;IACrF,UAAU,EAAE,CAAC,6BAAiB,CAAC,iBAAiB,EAAE,6BAAiB,CAAC,EAAE,CAAC;CACxE,CAAC;AAEW,QAAA,MAAM,GAAG,CAAC,oBAAY,EAAE,mBAAW,EAAE,mBAAW,EAAE,mBAAW,CAAC,CAAC;AAErE,MAAM,gBAAgB,GAAG,CAAC,WAA8B,EAAE,gBAAgC,EAAU,EAAE;IAC3G,MAAM,KAAK,GAAG,cAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,gBAAgB,CAAC,CAAC;IAE5D,MAAM,KAAK,GACP,OAAO,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAA,KAAK,QAAQ;QAC9B,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC;QAC1B,CAAC,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,KAAI,CAAC,CAAC;IAE1B,OAAO,KAAK;QACR,yBAAiB,CAAC,WAAW,CAAC;QAC9B,kBAAU,CAAC,WAAW,CAAC,CAAC;AAC9B,CAAC,CAAC;AAXW,QAAA,gBAAgB,oBAW3B","sourcesContent":["import { LegalFormTypeEnum } from '../types/Enum/LegalForm';\nimport { PrestationType } from '../types/Enum/PrestationType';\n\nexport const legalNoticesCosts: Record<number, number> = {\n [LegalFormTypeEnum.SASU]: 138,\n [LegalFormTypeEnum.SAS]: 193,\n [LegalFormTypeEnum.EURL]: 121,\n [LegalFormTypeEnum.SARL]: 144,\n [LegalFormTypeEnum.AUTO_ENTREPRENEUR]: 0,\n [LegalFormTypeEnum.EI]: 0,\n};\n\nexport const courtCosts: Record<number, number> = {\n [LegalFormTypeEnum.SASU]: 77.23,\n [LegalFormTypeEnum.SAS]: 77.23,\n [LegalFormTypeEnum.EURL]: 77.23,\n [LegalFormTypeEnum.SARL]: 77.23,\n [LegalFormTypeEnum.AUTO_ENTREPRENEUR]: 39,\n [LegalFormTypeEnum.EI]: 39,\n};\n\nexport const features = [\n {\n text: 'Statuts + dossier complet',\n detail: null,\n offers: [PrestationType.STATUTS_OPTION_1, PrestationType.STATUTS_OPTION_2],\n hidden: [PrestationType.STATUTS_FREE, PrestationType.STATUTS_OPTION_AE],\n },\n {\n text: 'Dossier complet',\n detail: null,\n offers: [PrestationType.STATUTS_OPTION_AE],\n hidden: [PrestationType.STATUTS_FREE, PrestationType.STATUTS_OPTION_1, PrestationType.STATUTS_OPTION_2],\n },\n {\n text: 'Statuts',\n detail: null,\n offers: [PrestationType.STATUTS_FREE],\n hidden: [PrestationType.STATUTS_OPTION_1, PrestationType.STATUTS_OPTION_2, PrestationType.STATUTS_OPTION_AE],\n },\n {\n text: 'Assistance mail et téléphonique',\n detail: null,\n offers: [PrestationType.STATUTS_FREE, PrestationType.STATUTS_OPTION_1, PrestationType.STATUTS_OPTION_2, PrestationType.STATUTS_OPTION_AE],\n },\n { text: 'Suivi par nos formalistes', detail: null, offers: [PrestationType.STATUTS_OPTION_2, PrestationType.STATUTS_OPTION_AE] },\n {\n text: 'Immatriculation',\n detail: '(sous réserve du guichet unique)',\n offers: [PrestationType.STATUTS_OPTION_2, PrestationType.STATUTS_OPTION_AE],\n },\n { text: 'Assurance anti-rejet', detail: null, offers: [PrestationType.STATUTS_OPTION_2] },\n { text: 'Vérification du dossier', detail: null, offers: [PrestationType.STATUTS_OPTION_2] },\n];\n\nexport const justCreation = {\n id: PrestationType.STATUTS_OPTION_1,\n tag: null,\n title: 'Just’ Création',\n description: 'Une création en quelques clics',\n price: 0,\n priceInformation: 'HT',\n additionalCosts: '+ Frais de greffe + frais d’annonce légale',\n features: features.filter((f) => f.offers.includes(PrestationType.STATUTS_FREE)),\n legalForms: [LegalFormTypeEnum.SASU, LegalFormTypeEnum.SAS, LegalFormTypeEnum.EURL, LegalFormTypeEnum.SARL],\n};\n \nexport const justStatuts = {\n id: PrestationType.STATUTS_FREE,\n tag: null,\n title: 'Just’ Statuts',\n description: 'Editer vos statuts n’a jamais été aussi simple et rapide.',\n price: 79,\n priceInformation: 'HT',\n additionalCosts: 'Annonce légale et frais de greffe non inclus',\n features: features.filter((f) => f.offers.includes(PrestationType.STATUTS_FREE)),\n legalForms: [LegalFormTypeEnum.SASU, LegalFormTypeEnum.SAS, LegalFormTypeEnum.EURL, LegalFormTypeEnum.SARL],\n};\n \nexport const creaSociete = {\n id: PrestationType.STATUTS_OPTION_2,\n tag: 'Populaire',\n title: 'Full\\'Créa',\n description: 'Création de société de A à Z, réalisée en toute conformité.',\n price: {\n [LegalFormTypeEnum.SASU]: 179,\n [LegalFormTypeEnum.SAS]: 219,\n [LegalFormTypeEnum.EURL]: 179,\n [LegalFormTypeEnum.SARL]: 219,\n } as Record<number, number>,\n priceInformation: 'HT',\n additionalCosts: '+ frais de greffe + frais d’annonce légale',\n features: features.filter((f) => f.offers.includes(PrestationType.STATUTS_OPTION_2)),\n legalForms: [LegalFormTypeEnum.SASU, LegalFormTypeEnum.SAS, LegalFormTypeEnum.EURL, LegalFormTypeEnum.SARL],\n};\n \nexport const creaEIMicro = {\n id: PrestationType.STATUTS_OPTION_AE,\n tag: null,\n title: 'Créa EI et Micro',\n description:\n 'Créer votre entreprise individuelle ou votre micro-entreprise en quelques clics.',\n price: 60,\n priceInformation: 'HT',\n additionalCosts: '+ 39€ HT de frais de greffe',\n features: features.filter((f) => f.offers.includes(PrestationType.STATUTS_OPTION_AE)),\n legalForms: [LegalFormTypeEnum.AUTO_ENTREPRENEUR, LegalFormTypeEnum.EI],\n};\n \nexport const offers = [justCreation, creaEIMicro, justStatuts, creaSociete];\n\nexport const getStatutsAmount = (idLegalForm: LegalFormTypeEnum, idPrestationList: PrestationType): number => {\n const offer = offers.find((e) => e.id === idPrestationList);\n \n const price: number =\n typeof offer?.price === 'object'\n ? offer.price[idLegalForm]\n : offer?.price || 0;\n\n return price +\n legalNoticesCosts[idLegalForm] +\n courtCosts[idLegalForm];\n};"]}
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  const dayjs = require("dayjs");
13
4
  const types_1 = require("../../types");
@@ -107,7 +98,7 @@ describe('Payment', () => {
107
98
  // logical
108
99
  // =====================
109
100
  // express
110
- test('if only one express, monthly payments of actual exo should be in parallel of express monthly payments, smoothed in number of remaining months (mini 3 months) (if not in 3 last month)', () => __awaiter(void 0, void 0, void 0, function* () {
101
+ test('if only one express, monthly payments of actual exo should be in parallel of express monthly payments, smoothed in number of remaining months (mini 3 months) (if not in 3 last month)', () => {
111
102
  const payments = (0, payment_1.calculatePaymentsAuto)({
112
103
  idTypeBrand: 1,
113
104
  firstExerciceNonExpresssEndDate,
@@ -124,8 +115,8 @@ describe('Payment', () => {
124
115
  const firstExpressDatePayment = payments.filter(p => dayjs(p.closingDate).diff(firstExerciceNonExpresssEndDate) < 0)[0].datePayment;
125
116
  const firstNonExpressDatePayment = payments.filter(p => dayjs(p.closingDate).diff(firstExerciceNonExpresssEndDate) === 0)[0].datePayment;
126
117
  expect(dayjs(firstNonExpressDatePayment).diff(firstExpressDatePayment, 'month')).toStrictEqual(0);
127
- }));
128
- test('if more than one express, monthly payments of actual exo should be in a row of express monthly payments and smoothed, smoothed in number of remaining months after express monthly payments (mini 3 months) (if in 3 last month of exercice)', () => __awaiter(void 0, void 0, void 0, function* () {
118
+ });
119
+ test('if more than one express, monthly payments of actual exo should be in a row of express monthly payments and smoothed, smoothed in number of remaining months after express monthly payments (mini 3 months) (if in 3 last month of exercice)', () => {
129
120
  var _a, _b, _c, _d;
130
121
  const payments = (0, payment_1.calculatePaymentsAuto)({
131
122
  idTypeBrand: 1,
@@ -143,9 +134,9 @@ describe('Payment', () => {
143
134
  const lastExpressDatePayment = (_b = (_a = payments.filter(p => dayjs(p.closingDate).diff(firstExerciceNonExpresssEndDate) < 0).splice(-1)) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.datePayment;
144
135
  const firstNonExpressDatePayment = (_d = (_c = payments.filter(p => dayjs(p.closingDate).diff(firstExerciceNonExpresssEndDate) === 0)) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.datePayment;
145
136
  expect(dayjs(firstNonExpressDatePayment).diff(lastExpressDatePayment, 'month')).toStrictEqual(1);
146
- }));
137
+ });
147
138
  // non express
148
- test('should return a number of payments equal to nb of remaining months in exercice (if not in 3 last months)', () => __awaiter(void 0, void 0, void 0, function* () {
139
+ test('should return a number of payments equal to nb of remaining months in exercice (if not in 3 last months)', () => {
149
140
  const mockedDate = dayjs('2024-05-15').toDate();
150
141
  mockdate_1.default.set(mockedDate);
151
142
  const nbMonthDelay = 6;
@@ -170,8 +161,8 @@ describe('Payment', () => {
170
161
  const listNonExpressPayments = payments.filter(p => dayjs(p.closingDate).diff(newFirstExerciceNonExpresssEndDate) === 0);
171
162
  expect(listNonExpressPayments.length).toStrictEqual(1 + nbMonthDelay); //On ajoute 1 pour les frais de dossier
172
163
  mockdate_1.default.reset();
173
- }));
174
- test('should return a number of payments equal to 3 (if in 3 last month of exercice)', () => __awaiter(void 0, void 0, void 0, function* () {
164
+ });
165
+ test('should return a number of payments equal to 3 (if in 3 last month of exercice)', () => {
175
166
  const nbMonthDelay = 1;
176
167
  const newFirstExerciceNonExpresssEndDate = dayjs().add(nbMonthDelay, 'month').endOf('month').toDate();
177
168
  const payments = (0, payment_1.calculatePaymentsAuto)({
@@ -192,8 +183,8 @@ describe('Payment', () => {
192
183
  });
193
184
  const listNonExpressPayments = payments.filter(p => dayjs(p.closingDate).diff(newFirstExerciceNonExpresssEndDate) === 0);
194
185
  expect(listNonExpressPayments.length).toStrictEqual(1 + 3); //On ajoute 1 pour les frais de dossier
195
- }));
196
- test('should (yearlyAmountNonExpress - sum of listRegulations) / count of monthly payments be equal to monthly payment amount (if not in 3 last month)', () => __awaiter(void 0, void 0, void 0, function* () {
186
+ });
187
+ test('should (yearlyAmountNonExpress - sum of listRegulations) / count of monthly payments be equal to monthly payment amount (if not in 3 last month)', () => {
197
188
  const mockedDate = dayjs('2024-05-15').toDate();
198
189
  mockdate_1.default.set(mockedDate);
199
190
  const nbMonthDelay = 6;
@@ -219,8 +210,8 @@ describe('Payment', () => {
219
210
  const amount = Math.round(100 * diff / nbMonthDelay) / 100;
220
211
  expect(payments[1].amount).toStrictEqual(amount);
221
212
  mockdate_1.default.reset();
222
- }));
223
- test('should (totalAmount - firstPaymentAmount) / 3 be equal to monthly payment amount (if in 3 last month of exercice)', () => __awaiter(void 0, void 0, void 0, function* () {
213
+ });
214
+ test('should (totalAmount - firstPaymentAmount) / 3 be equal to monthly payment amount (if in 3 last month of exercice)', () => {
224
215
  const nbMonthDelay = 1;
225
216
  const newFirstExerciceNonExpresssEndDate = dayjs().add(nbMonthDelay, 'month').endOf('month').toDate();
226
217
  const newListRegulations = [{
@@ -243,9 +234,9 @@ describe('Payment', () => {
243
234
  const diff = (0, types_1.getTaxesIncludedAmount)(yearlyAmountNonExpress, idVat) - newListRegulations.reduce((acc, r) => acc + r.amount - r.amountUsed, 0);
244
235
  const amount = Math.round(100 * diff / 3) / 100;
245
236
  expect(payments[1].amount).toStrictEqual(amount);
246
- }));
237
+ });
247
238
  // annual price increase
248
- test('should apply annual price increase (2,75%) if signed before last 3 months of civil year', () => __awaiter(void 0, void 0, void 0, function* () {
239
+ test('should apply annual price increase (2,75%) if signed before last 3 months of civil year', () => {
249
240
  const mockedDate = dayjs('2024-08-15').toDate();
250
241
  mockdate_1.default.set(mockedDate);
251
242
  const newFirstExerciceNonExpresssEndDate = dayjs().add(11, 'month').endOf('month').toDate();
@@ -269,8 +260,8 @@ describe('Payment', () => {
269
260
  const firstPaymentWithTaxRateForced = listNonExpressPayments[1].amount * 1.0275;
270
261
  expect(firstPaymentWithTaxRateForced - listNonExpressPayments.splice(-2)[0].amount).toBeLessThanOrEqual(0.01); //Permet de gérer le pb d'arrondi
271
262
  mockdate_1.default.reset();
272
- }));
273
- test('should not apply annual price increase (2,75%) if signed in last 3 months of civil year', () => __awaiter(void 0, void 0, void 0, function* () {
263
+ });
264
+ test('should not apply annual price increase (2,75%) if signed in last 3 months of civil year', () => {
274
265
  const mockedDate = dayjs('2024-11-15').toDate();
275
266
  mockdate_1.default.set(mockedDate);
276
267
  const newFirstExerciceNonExpresssEndDate = dayjs().add(11, 'month').endOf('month').toDate();
@@ -293,8 +284,8 @@ describe('Payment', () => {
293
284
  const listNonExpressPayments = payments.filter(p => dayjs(p.datePayment).diff(dayjs('2025-06-01')) === 0);
294
285
  expect(listNonExpressPayments[0].amount).toStrictEqual(listNonExpressPayments.splice(-2)[0].amount);
295
286
  mockdate_1.default.reset();
296
- }));
297
- test('should apply 14,9€ HT increase for the second exercice created (only offered on first exo) (no rules for 3 last months)', () => __awaiter(void 0, void 0, void 0, function* () {
287
+ });
288
+ test('should apply 14,9€ HT increase for the second exercice created (only offered on first exo) (no rules for 3 last months)', () => {
298
289
  var _a, _b;
299
290
  const mockedDate = dayjs('2024-06-15').toDate();
300
291
  mockdate_1.default.set(mockedDate);
@@ -319,9 +310,9 @@ describe('Payment', () => {
319
310
  const paymentsOfSecondExo = (_b = payments.filter(p => dayjs(p.datePayment).diff(dayjs('2025-07-01')) === 0).splice(-1)[0].amount) !== null && _b !== void 0 ? _b : 0;
320
311
  expect(Math.round(100 * (paymentsOfFirstExo + (0, types_1.getTaxesIncludedAmount)(appCost, idVat) * 1.0275)) / 100).toStrictEqual(paymentsOfSecondExo);
321
312
  mockdate_1.default.reset();
322
- }));
313
+ });
323
314
  // misc
324
- test('should payments been generated sorted by exercices start date', () => __awaiter(void 0, void 0, void 0, function* () {
315
+ test('should payments been generated sorted by exercices start date', () => {
325
316
  var _a;
326
317
  const listPartialExercicePrestationExpressCloned = [...listPartialExercicePrestationExpress];
327
318
  listPartialExercicePrestationExpressCloned[0] = Object.assign(Object.assign({}, listPartialExercicePrestationExpress[0]), { startDate: dayjs().add(1, 'year').startOf('month').toDate() });
@@ -341,8 +332,8 @@ describe('Payment', () => {
341
332
  });
342
333
  expect(payments.length).toBeGreaterThanOrEqual(4);
343
334
  expect(dayjs(payments[payments.length - 1].datePayment).diff(dayjs((_a = payments === null || payments === void 0 ? void 0 : payments[0]) === null || _a === void 0 ? void 0 : _a.datePayment), 'month')).toBeGreaterThan(0);
344
- }));
345
- test('if regulations are bigger than sum exercice prestation amounts, should pass some exercice payments', () => __awaiter(void 0, void 0, void 0, function* () {
335
+ });
336
+ test('if regulations are bigger than sum exercice prestation amounts, should pass some exercice payments', () => {
346
337
  const mockedDate = dayjs('2024-03-15').toDate();
347
338
  mockdate_1.default.set(mockedDate);
348
339
  const payments = (0, payment_1.calculatePaymentsAuto)({
@@ -377,8 +368,8 @@ describe('Payment', () => {
377
368
  idPaymentMethod: types_1.PaymentMethod.BANK_CARD.id,
378
369
  });
379
370
  mockdate_1.default.reset();
380
- }));
381
- test('should not consider actual month if signed in last 3 days of month', () => __awaiter(void 0, void 0, void 0, function* () {
371
+ });
372
+ test('should not consider actual month if signed in last 3 days of month', () => {
382
373
  var _a;
383
374
  const mockedDate = dayjs('2024-03-29').toDate();
384
375
  mockdate_1.default.set(mockedDate);
@@ -398,8 +389,8 @@ describe('Payment', () => {
398
389
  expect(payments.length).toBeGreaterThanOrEqual(4);
399
390
  expect((_a = payments === null || payments === void 0 ? void 0 : payments[1]) === null || _a === void 0 ? void 0 : _a.datePayment).toStrictEqual(dayjs().add(2, 'month').startOf('month').toDate());
400
391
  mockdate_1.default.reset();
401
- }));
402
- test('last payment returned should be last of a year (12/XX)', () => __awaiter(void 0, void 0, void 0, function* () {
392
+ });
393
+ test('last payment returned should be last of a year (12/XX)', () => {
403
394
  const mockedDate = dayjs('2024-03-29').toDate();
404
395
  mockdate_1.default.set(mockedDate);
405
396
  const payments = (0, payment_1.calculatePaymentsAuto)({
@@ -417,8 +408,8 @@ describe('Payment', () => {
417
408
  });
418
409
  expect(payments.length).toBeGreaterThanOrEqual(4);
419
410
  expect(dayjs(payments[payments.length - 1].datePayment).month()).toStrictEqual(11);
420
- }));
421
- test('first payment and last payment should have at least one year difference (ex. : 23 - 24)', () => __awaiter(void 0, void 0, void 0, function* () {
411
+ });
412
+ test('first payment and last payment should have at least one year difference (ex. : 23 - 24)', () => {
422
413
  var _a, _b, _c;
423
414
  const payments = (0, payment_1.calculatePaymentsAuto)({
424
415
  idTypeBrand: 1,
@@ -434,8 +425,8 @@ describe('Payment', () => {
434
425
  nextYearlyAmountNonExpress
435
426
  });
436
427
  expect(dayjs((_b = (_a = payments.slice(-1)) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.datePayment).diff(dayjs((_c = payments === null || payments === void 0 ? void 0 : payments[0]) === null || _c === void 0 ? void 0 : _c.datePayment), 'year', true)).toBeGreaterThan(1);
437
- }));
438
- test('real case : idSociety 114440', () => __awaiter(void 0, void 0, void 0, function* () {
428
+ });
429
+ test('real case : idSociety 114440', () => {
439
430
  var _a, _b, _c;
440
431
  const payments = (0, payment_1.calculatePaymentsAuto)({
441
432
  idTypeBrand: 1,
@@ -457,7 +448,7 @@ describe('Payment', () => {
457
448
  yearlyAmountNonExpress: 1433, nextYearlyAmountNonExpress: 1433
458
449
  });
459
450
  expect(dayjs((_b = (_a = payments.slice(-1)) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.datePayment).diff(dayjs((_c = payments === null || payments === void 0 ? void 0 : payments[0]) === null || _c === void 0 ? void 0 : _c.datePayment), 'year', true)).toBeGreaterThan(1);
460
- }));
451
+ });
461
452
  });
462
453
  });
463
454
  //# sourceMappingURL=payment.spec.js.map