@silexpert/core 1.1.182 → 1.1.183

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 (81) hide show
  1. package/dist/cjs/types/Enum/CityOfGreffe.d.ts +327 -0
  2. package/dist/cjs/types/Enum/CityOfGreffe.d.ts.map +1 -0
  3. package/dist/cjs/types/Enum/CityOfGreffe.js +649 -0
  4. package/dist/cjs/types/Enum/CityOfGreffe.js.map +1 -0
  5. package/dist/cjs/types/Enum/PriceGridClementine.d.ts +29 -2
  6. package/dist/cjs/types/Enum/PriceGridClementine.d.ts.map +1 -1
  7. package/dist/cjs/types/Enum/PriceGridClementine.js +116 -86
  8. package/dist/cjs/types/Enum/PriceGridClementine.js.map +1 -1
  9. package/dist/cjs/types/Enum/Supervision.d.ts +2 -1
  10. package/dist/cjs/types/Enum/Supervision.d.ts.map +1 -1
  11. package/dist/cjs/types/Enum/Supervision.js +7 -0
  12. package/dist/cjs/types/Enum/Supervision.js.map +1 -1
  13. package/dist/cjs/types/Interface/api/kilometricAllowance/ReadKilometricAllowance.d.ts +6 -0
  14. package/dist/cjs/types/Interface/api/kilometricAllowance/ReadKilometricAllowance.d.ts.map +1 -1
  15. package/dist/cjs/types/Interface/api/kilometricAllowance/ReadKilometricAllowance.js.map +1 -1
  16. package/dist/cjs/types/Interface/models/ICommercialOffer.d.ts +1 -0
  17. package/dist/cjs/types/Interface/models/ICommercialOffer.d.ts.map +1 -1
  18. package/dist/cjs/types/Interface/models/ICommercialOffer.js.map +1 -1
  19. package/dist/cjs/types/Interface/models/ISociety.d.ts +2 -0
  20. package/dist/cjs/types/Interface/models/ISociety.d.ts.map +1 -1
  21. package/dist/cjs/types/Interface/models/ISociety.js.map +1 -1
  22. package/dist/cjs/types/index.d.ts +1 -0
  23. package/dist/cjs/types/index.d.ts.map +1 -1
  24. package/dist/cjs/types/index.js +1 -0
  25. package/dist/cjs/types/index.js.map +1 -1
  26. package/dist/cjs/utils/commercialOffer.d.ts +1 -1
  27. package/dist/cjs/utils/commercialOffer.d.ts.map +1 -1
  28. package/dist/cjs/utils/commercialOffer.js +2 -2
  29. package/dist/cjs/utils/commercialOffer.js.map +1 -1
  30. package/dist/cjs/utils/email/templates/signature.d.ts.map +1 -1
  31. package/dist/cjs/utils/email/templates/signature.js +5 -3
  32. package/dist/cjs/utils/email/templates/signature.js.map +1 -1
  33. package/dist/cjs/utils/prestation.d.ts.map +1 -1
  34. package/dist/cjs/utils/prestation.js +6 -0
  35. package/dist/cjs/utils/prestation.js.map +1 -1
  36. package/dist/mjs/types/Enum/CityOfGreffe.d.ts +327 -0
  37. package/dist/mjs/types/Enum/CityOfGreffe.d.ts.map +1 -0
  38. package/dist/mjs/types/Enum/CityOfGreffe.js +646 -0
  39. package/dist/mjs/types/Enum/CityOfGreffe.js.map +1 -0
  40. package/dist/mjs/types/Enum/PriceGridClementine.d.ts +29 -2
  41. package/dist/mjs/types/Enum/PriceGridClementine.d.ts.map +1 -1
  42. package/dist/mjs/types/Enum/PriceGridClementine.js +116 -86
  43. package/dist/mjs/types/Enum/PriceGridClementine.js.map +1 -1
  44. package/dist/mjs/types/Enum/Supervision.d.ts +2 -1
  45. package/dist/mjs/types/Enum/Supervision.d.ts.map +1 -1
  46. package/dist/mjs/types/Enum/Supervision.js +7 -0
  47. package/dist/mjs/types/Enum/Supervision.js.map +1 -1
  48. package/dist/mjs/types/Interface/api/kilometricAllowance/ReadKilometricAllowance.d.ts +6 -0
  49. package/dist/mjs/types/Interface/api/kilometricAllowance/ReadKilometricAllowance.d.ts.map +1 -1
  50. package/dist/mjs/types/Interface/api/kilometricAllowance/ReadKilometricAllowance.js.map +1 -1
  51. package/dist/mjs/types/Interface/models/ICommercialOffer.d.ts +1 -0
  52. package/dist/mjs/types/Interface/models/ICommercialOffer.d.ts.map +1 -1
  53. package/dist/mjs/types/Interface/models/ICommercialOffer.js.map +1 -1
  54. package/dist/mjs/types/Interface/models/ISociety.d.ts +2 -0
  55. package/dist/mjs/types/Interface/models/ISociety.d.ts.map +1 -1
  56. package/dist/mjs/types/Interface/models/ISociety.js.map +1 -1
  57. package/dist/mjs/types/index.d.ts +1 -0
  58. package/dist/mjs/types/index.d.ts.map +1 -1
  59. package/dist/mjs/types/index.js +1 -0
  60. package/dist/mjs/types/index.js.map +1 -1
  61. package/dist/mjs/utils/commercialOffer.d.ts +1 -1
  62. package/dist/mjs/utils/commercialOffer.d.ts.map +1 -1
  63. package/dist/mjs/utils/commercialOffer.js +2 -2
  64. package/dist/mjs/utils/commercialOffer.js.map +1 -1
  65. package/dist/mjs/utils/email/templates/signature.d.ts.map +1 -1
  66. package/dist/mjs/utils/email/templates/signature.js +5 -3
  67. package/dist/mjs/utils/email/templates/signature.js.map +1 -1
  68. package/dist/mjs/utils/prestation.d.ts.map +1 -1
  69. package/dist/mjs/utils/prestation.js +6 -0
  70. package/dist/mjs/utils/prestation.js.map +1 -1
  71. package/package.json +1 -1
  72. package/ts/types/Enum/CityOfGreffe.ts +645 -0
  73. package/ts/types/Enum/PriceGridClementine.ts +32 -2
  74. package/ts/types/Enum/Supervision.ts +7 -0
  75. package/ts/types/Interface/api/kilometricAllowance/ReadKilometricAllowance.ts +7 -0
  76. package/ts/types/Interface/models/ICommercialOffer.ts +1 -0
  77. package/ts/types/Interface/models/ISociety.ts +2 -0
  78. package/ts/types/index.ts +1 -0
  79. package/ts/utils/commercialOffer.ts +2 -2
  80. package/ts/utils/email/templates/signature.ts +5 -3
  81. package/ts/utils/prestation.ts +6 -0
@@ -1 +1 @@
1
- {"version":3,"file":"signature.js","sourceRoot":"","sources":["../../../../../ts/utils/email/templates/signature.ts"],"names":[],"mappings":"AAAA,MAAM,cAAc,GAAG;;;;;;;;;;;;aAYV,CAAC;AAEd,MAAM,MAAM,GAAG;;;;;;;;;;;;;UAaL,CAAC;AAEX,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwFd,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;EAO/B,cAAc;;;IAGZ,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA0DN,MAAM;;;;;;;;;SASD,CAAC","sourcesContent":["const logoClementine = `<% if (brandName === 'Clementine') { %><tr>\n<td\ncolspan=\"3\"\nclass=\"logo\"\nstyle=\"\"\nwidth=\"850\">\n <img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/logo_2022.png\"\n alt=\"Logo\"\n height=\"32\"\n style=\"padding-bottom: 10px;\">\n</td>\n</tr><% } %>`;\n\nconst avatar = `<% if (!forceRole && user?.avatar?.token) { %>\n <td\n class=\"avatar\"\n style=\"text-align:center; padding: 20px 0 20px 20px; position: relative;\"\n width=\"100\">\n <p style=\"padding: 20px;background-image: url('https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_quotes.png');background-size: 26%;background-position: 81% -3%;background-repeat: no-repeat;\">\n <img\n style=\"max-height: 90px;max-width: 90px; border-radius: 100%; padding-top: 10px\"\n alt=\"Avatar\"\n src=\"<%= hostS3 %>users/<%= user.id %>/<%= user.avatar.token %>\"\n />\n </p>\n </td>\n <% } %>`;\n\nconst footer = `<% if(brandName === 'Clementine') { %>\n <tr>\n <td\n style=\"clear:both; padding-top: 20px; font-size:17px; line-height:14px; color:#ADADAD; text-align: justify; font-family: Arial;\"\n colspan=\"4\">\n <table style=\"width: 100%\" width=\"100%\">\n <tr>\n <td style=\"padding:0 10px 0 0\" width=\"120\">\n <a href=\"https://app.clementine.fr/\" target=\"_blank\" style=\"text-decoration: none; color: #6E6E71; white-space: nowrap;\">\n <img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_connect2.png\"\n style=\"vertical-align: text-top;\"\n width=\"20\"\n alt=\"Connexion\"> Connexion\n </a>\n </td>\n <td style=\"padding:0 10px 0 0\" width=\"170\">\n <a href=\"mailto:<%= supportMail %>\" target=\"_blank\" style=\"text-decoration: none; color: #6E6E71; white-space: nowrap;\">\n <img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_support2.png\"\n style=\"vertical-align: text-top;\"\n width=\"17\"\n alt=\"Support technique\"> Support technique\n </a>\n </td>\n <td style=\"padding:0 5px 0 0\" width=\"24\">\n <a href=\"https://www.youtube.com/channel/UCVnCpcLdRwuYBLvAphHsvig/\" target=\"_blank\" style=\"vertical-align: middle;\"><img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_youtube.png\"\n alt=\"YouTube\"\n style=\"width: 20px\"></a>\n </td>\n <td style=\"padding:0 5px 0 0\" width=\"24\">\n <a href=\"https://www.linkedin.com/company/compta-cl%C3%A9mentine/\" target=\"_blank\" style=\"vertical-align: middle;\"><img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_linkedin.png\"\n alt=\"LinkedIn\"\n style=\"width: 20px\"></a>\n </td>\n <td style=\"padding:0 5px 0 0\" width=\"24\">\n <a href=\"https://www.instagram.com/comptaclementine/\" target=\"_blank\" style=\"vertical-align: middle;\"><img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_instagram.png\"\n alt=\"Instagram\"\n style=\"width: 20px\"></a>\n </td>\n <td style=\"text-align: right; vertical-align: middle; color: #6E6E71\" width=\"430\">\n <span>Télécharger l'app</span>\n <a href=\"https://apps.apple.com/fr/app/clementine/id1119493780\" target=\"_blank\" style=\"vertical-align: middle; margin-left: 10px\"><img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_appstore.png\"\n alt=\"App Store\"\n style=\"width: 20px\"></a>\n <a href=\"https://play.google.com/store/apps/details?id=com.clementine.myclementine&hl=fr\" target=\"_blank\" style=\"vertical-align: middle; margin-left: 10px\"><img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_playstore.png\"\n alt=\"Play Store\"\n style=\"width: 20px\"></a>\n </td>\n </tr>\n <tr>\n <td colspan=\"7\" style=\"padding-top: 12px\">\n <span style=\"text-align: left; text-decoration: none; color: #A0A1A6; white-space: nowrap; float: left;\">\n Une question ? Découvrez votre <a href=\"https://www.clementine.fr/aide/\" style=\"color: #FF7E3C\">centre d'aide</a>\n </span>\n <span style=\"text-align: right; text-decoration: none; color: #A0A1A6; white-space: nowrap; float: right;\">\n Jusqu’à 500€ avec notre <a href=\"https://www.clementine.fr/parrainage/?utm_source=signature&utm_medium=email&utm_campaign=signature&utm_content=cta\" style=\"color: #FF7E3C\">programme de parrainage</a>\n </span>\n </td>\n </tr>\n </table>\n </td>\n </tr>\n <% } else if(brandName === 'Pourcentage') { %>\n <tr>\n <td\n style=\"clear:both; padding-top: 20px; font-size:17px; line-height:14px; color:#ADADAD; text-align: justify; font-family: Arial;\"\n colspan=\"4\">\n <table style=\"width: 100%\" width=\"100%\">\n <tr>\n <td style=\"padding:0 10px 0 0\" width=\"120\">\n <a href=\"https://app.pourcentage.fr/\" target=\"_blank\" style=\"text-decoration: none; color: #6E6E71; white-space: nowrap;\">\n <img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_connect2.png\"\n style=\"vertical-align: text-top;\"\n width=\"20\"\n alt=\"Connexion\"> Connexion\n </a>\n </td>\n </table>\n </td>\n </tr>\n <% } %>\n`;\n\nexport const signatureTemplate = `<table\nborder=\"0\"\ncellpadding=\"0\"\ncellspacing=\"0\"\nwidth=\"850\"\nclass=\"signatureClementine\">\n\n${logoClementine}\n\n<tr style=\"background: #F4F8FB\">\n ${avatar}\n <td\n class=\"infos\"\n style=\" padding: 20px 0 20px 30px;font-size: 17px; font-family: Arial; color:#000\"\n width=\"290\"\n colspan=\"2\">\n <table\n border=\"0\"\n cellpadding=\"0\"\n cellspacing=\"0\"\n width=\"290\">\n <tr>\n <td width=\"290\">\n <p style=\"font-size: 17px; margin:0px 0; padding:0\">\n <strong><span style=\"color:<%= primaryColor %>; font-weight: bold;\"><%= user?.firstname ?? '' %> <%= user?.lastname ?? '' %></span></strong>\n </p>\n\n <% if(roleSignature) { %>\n <p style=\"font-size: 17px; margin:0px 0; padding:0\">\n <span style=\"color: #6E6E71; font-weight: bold;\"><%= roleSignature %></span></p>\n </p>\n <% } %>\n </td>\n </tr>\n </table>\n\n <p style=\"margin:16px 0; color:#6E6E71; border-top: 2px solid #6E6E71; width: 100px; opacity: 0.2\"><!-- --></p><p style=\"margin:0; padding:0px 0 4px; color:#6E6E71;\">Nos horaires :<br/><%= horaires %></p>\n </td>\n \n <td class=\"infos\" style=\"padding: 20px 20px 20px 0px; font-size: 17px; font-family: Arial; color:#000; <%= !user.calendlyUrl ? 'vertical-align: top;' : '' %>\"\n width=\"370\">\n <p style=\"margin:0px 0; padding:2px 0; color:#6E6E71; padding-left: 10px\">\n <span style=\"float:right\">Standard : <%= standardPhoneSignature %></span><br/>\n <% if(phoneSignature && phoneSignature !== standardPhoneSignature) { %>\n <span style=\"float:right\">Ligne directe : <%- phoneSignature %></span><br/>\n <% } %>\n </p>\n \n <p style=\"margin:20px 60px 0 0; padding:0px 0 4px; color:#6E6E71; text-align: right; height: 54px;\">\n <% if(user.calendlyUrl) { %>\n <img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_rightArrow.png\"\n alt=\"Prenez rendez-vous ici !\">\n <% } %>\n </p>\n \n <p style=\"margin:0; padding:0px 0 4px; color:#6E6E71; text-align: right\"><a href=\"https://www.smileyourpla.net/\" style=\"display: inline-block; color:#6E6E71;\" target=\"_blank\"><img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_smileYourPlanet.png\"\n alt=\"Initiative Smile your planet\" height=\"36\"></a>\n <% if(user.calendlyUrl) { %>\n <a href=\"<%= user.calendlyUrl %>\" style=\"display: inline-block; color:#6E6E71;\" target=\"_blank\"><img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_rdv_tel.png\"\n alt=\"Demande de rdv téléphonique\"></a>\n <% } %>\n </p>\n </td>\n </tr>\n \n ${footer}\n\n <tr>\n <td\n style=\"clear:both; padding-top: 20px; font-size:14px; line-height:18px; color:#ADADAD; text-align: justify; font-family: Arial;\"\n colspan=\"4\">\n Les informations contenues dans ce courrier électronique et ses pièces jointes sont confidentielles et couvertes par le secret professionnel. Si vous n'êtes pas le(s) destinataire(s) ou avez reçu ce courrier électronique par erreur, merci de bien vouloir supprimer l'email et d'en informer l'expéditeur dès que possible. Ce courrier électronique ne peut pas être divulgué, utilisé ou copié par quelqu'un d'autre que le(s) destinataire(s).\n </td>\n</tr>\n</table>`;"]}
1
+ {"version":3,"file":"signature.js","sourceRoot":"","sources":["../../../../../ts/utils/email/templates/signature.ts"],"names":[],"mappings":"AAAA,MAAM,cAAc,GAAG;;;;;;;;;;;;aAYV,CAAC;AAEd,MAAM,MAAM,GAAG;;;;;;;;;;;;;UAaL,CAAC;AAEX,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwFd,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;EAO/B,cAAc;;;IAGZ,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA4DN,MAAM;;;;;;;;;SASD,CAAC","sourcesContent":["const logoClementine = `<% if (brandName === 'Clementine') { %><tr>\n<td\ncolspan=\"3\"\nclass=\"logo\"\nstyle=\"\"\nwidth=\"850\">\n <img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/logo_2022.png\"\n alt=\"Logo\"\n height=\"32\"\n style=\"padding-bottom: 10px;\">\n</td>\n</tr><% } %>`;\n\nconst avatar = `<% if (!forceRole && user?.avatar?.token) { %>\n <td\n class=\"avatar\"\n style=\"text-align:center; padding: 20px 0 20px 20px; position: relative;\"\n width=\"100\">\n <p style=\"padding: 20px;background-image: url('https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_quotes.png');background-size: 26%;background-position: 81% -3%;background-repeat: no-repeat;\">\n <img\n style=\"max-height: 90px;max-width: 90px; border-radius: 100%; padding-top: 10px\"\n alt=\"Avatar\"\n src=\"<%= hostS3 %>users/<%= user.id %>/<%= user.avatar.token %>\"\n />\n </p>\n </td>\n <% } %>`;\n\nconst footer = `<% if(brandName === 'Clementine') { %>\n <tr>\n <td\n style=\"clear:both; padding-top: 20px; font-size:17px; line-height:14px; color:#ADADAD; text-align: justify; font-family: Arial;\"\n colspan=\"4\">\n <table style=\"width: 100%\" width=\"100%\">\n <tr>\n <td style=\"padding:0 10px 0 0\" width=\"120\">\n <a href=\"https://app.clementine.fr/\" target=\"_blank\" style=\"text-decoration: none; color: #6E6E71; white-space: nowrap;\">\n <img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_connect2.png\"\n style=\"vertical-align: text-top;\"\n width=\"20\"\n alt=\"Connexion\"> Connexion\n </a>\n </td>\n <td style=\"padding:0 10px 0 0\" width=\"170\">\n <a href=\"mailto:<%= supportMail %>\" target=\"_blank\" style=\"text-decoration: none; color: #6E6E71; white-space: nowrap;\">\n <img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_support2.png\"\n style=\"vertical-align: text-top;\"\n width=\"17\"\n alt=\"Support technique\"> Support technique\n </a>\n </td>\n <td style=\"padding:0 5px 0 0\" width=\"24\">\n <a href=\"https://www.youtube.com/channel/UCVnCpcLdRwuYBLvAphHsvig/\" target=\"_blank\" style=\"vertical-align: middle;\"><img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_youtube.png\"\n alt=\"YouTube\"\n style=\"width: 20px\"></a>\n </td>\n <td style=\"padding:0 5px 0 0\" width=\"24\">\n <a href=\"https://www.linkedin.com/company/compta-cl%C3%A9mentine/\" target=\"_blank\" style=\"vertical-align: middle;\"><img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_linkedin.png\"\n alt=\"LinkedIn\"\n style=\"width: 20px\"></a>\n </td>\n <td style=\"padding:0 5px 0 0\" width=\"24\">\n <a href=\"https://www.instagram.com/comptaclementine/\" target=\"_blank\" style=\"vertical-align: middle;\"><img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_instagram.png\"\n alt=\"Instagram\"\n style=\"width: 20px\"></a>\n </td>\n <td style=\"text-align: right; vertical-align: middle; color: #6E6E71\" width=\"430\">\n <span>Télécharger l'app</span>\n <a href=\"https://apps.apple.com/fr/app/clementine/id1119493780\" target=\"_blank\" style=\"vertical-align: middle; margin-left: 10px\"><img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_appstore.png\"\n alt=\"App Store\"\n style=\"width: 20px\"></a>\n <a href=\"https://play.google.com/store/apps/details?id=com.clementine.myclementine&hl=fr\" target=\"_blank\" style=\"vertical-align: middle; margin-left: 10px\"><img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_playstore.png\"\n alt=\"Play Store\"\n style=\"width: 20px\"></a>\n </td>\n </tr>\n <tr>\n <td colspan=\"7\" style=\"padding-top: 12px\">\n <span style=\"text-align: left; text-decoration: none; color: #A0A1A6; white-space: nowrap; float: left;\">\n Une question ? Découvrez votre <a href=\"https://www.clementine.fr/aide/\" style=\"color: #FF7E3C\">centre d'aide</a>\n </span>\n <span style=\"text-align: right; text-decoration: none; color: #A0A1A6; white-space: nowrap; float: right;\">\n Jusqu’à 500€ avec notre <a href=\"https://www.clementine.fr/parrainage/?utm_source=signature&utm_medium=email&utm_campaign=signature&utm_content=cta\" style=\"color: #FF7E3C\">programme de parrainage</a>\n </span>\n </td>\n </tr>\n </table>\n </td>\n </tr>\n <% } else if(brandName === 'Pourcentage') { %>\n <tr>\n <td\n style=\"clear:both; padding-top: 20px; font-size:17px; line-height:14px; color:#ADADAD; text-align: justify; font-family: Arial;\"\n colspan=\"4\">\n <table style=\"width: 100%\" width=\"100%\">\n <tr>\n <td style=\"padding:0 10px 0 0\" width=\"120\">\n <a href=\"https://app.pourcentage.fr/\" target=\"_blank\" style=\"text-decoration: none; color: #6E6E71; white-space: nowrap;\">\n <img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_connect2.png\"\n style=\"vertical-align: text-top;\"\n width=\"20\"\n alt=\"Connexion\"> Connexion\n </a>\n </td>\n </table>\n </td>\n </tr>\n <% } %>\n`;\n\nexport const signatureTemplate = `<table\nborder=\"0\"\ncellpadding=\"0\"\ncellspacing=\"0\"\nwidth=\"850\"\nclass=\"signatureClementine\">\n\n${logoClementine}\n\n<tr style=\"background: #F4F8FB\">\n ${avatar}\n <td\n class=\"infos\"\n style=\" padding: 20px 0 20px 30px;font-size: 17px; font-family: Arial; color:#000\"\n width=\"290\"\n colspan=\"2\">\n <table\n border=\"0\"\n cellpadding=\"0\"\n cellspacing=\"0\"\n width=\"290\">\n <tr>\n <td width=\"290\">\n <p style=\"font-size: 17px; margin:0px 0; padding:0\">\n <strong><span style=\"color:<%= primaryColor %>; font-weight: bold;\"><%= user?.firstname ?? '' %> <%= user?.lastname ?? '' %></span></strong>\n </p>\n\n <% if(roleSignature) { %>\n <p style=\"font-size: 17px; margin:0px 0; padding:0\">\n <span style=\"color: #6E6E71; font-weight: bold;\"><%= roleSignature %></span></p>\n </p>\n <% } %>\n </td>\n </tr>\n </table>\n\n <p style=\"margin:16px 0; color:#6E6E71; border-top: 2px solid #6E6E71; width: 100px; opacity: 0.2\"><!-- --></p><p style=\"margin:0; padding:0px 0 4px; color:#6E6E71;\">Nos horaires :<br/><%= horaires %></p>\n </td>\n \n <td class=\"infos\" style=\"padding: 20px 20px 20px 0px; font-size: 17px; font-family: Arial; color:#000; <%= !user.calendlyUrl ? 'vertical-align: top;' : '' %>\"\n width=\"370\">\n <p style=\"margin:0px 0; padding:2px 0; color:#6E6E71; padding-left: 10px\">\n <span style=\"float:right\">Standard : <%= standardPhoneSignature %></span><br/>\n <% if(phoneSignature && phoneSignature !== standardPhoneSignature) { %>\n <span style=\"float:right\">Ligne directe : <%- phoneSignature %></span><br/>\n <% } %>\n </p>\n \n <p style=\"margin:20px 60px 0 0; padding:0px 0 4px; color:#6E6E71; text-align: right; height: 54px;\">\n <% if(user.calendlyUrl) { %>\n <img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_rightArrow.png\"\n alt=\"Prenez rendez-vous ici !\">\n <% } %>\n </p>\n \n <p style=\"margin:0; padding:0px 0 4px; color:#6E6E71; text-align: right\"><a href=\"https://www.smileyourpla.net/\" style=\"display: inline-block; color:#6E6E71;\" target=\"_blank\"><img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_smileYourPlanet.png\"\n alt=\"Initiative Smile your planet\" height=\"36\"></a>\n <% if(user.calendlyUrl) { %>\n <a href=\"<%= user.calendlyUrl %>\" style=\"display: inline-block; color:#6E6E71;\" target=\"_blank\">\n <img\n src=\"https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_rdv_tel<%= brandName === 'Pourcentage' ? '_pourcentage' : '' %>.png\"\n alt=\"Demande de rdv téléphonique\">\n </a>\n <% } %>\n </p>\n </td>\n </tr>\n \n ${footer}\n\n <tr>\n <td\n style=\"clear:both; padding-top: 20px; font-size:14px; line-height:18px; color:#ADADAD; text-align: justify; font-family: Arial;\"\n colspan=\"4\">\n Les informations contenues dans ce courrier électronique et ses pièces jointes sont confidentielles et couvertes par le secret professionnel. Si vous n'êtes pas le(s) destinataire(s) ou avez reçu ce courrier électronique par erreur, merci de bien vouloir supprimer l'email et d'en informer l'expéditeur dès que possible. Ce courrier électronique ne peut pas être divulgué, utilisé ou copié par quelqu'un d'autre que le(s) destinataire(s).\n </td>\n</tr>\n</table>`;"]}
@@ -1 +1 @@
1
- {"version":3,"file":"prestation.d.ts","sourceRoot":"","sources":["../../../ts/utils/prestation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAExD,OAAO,EAAoB,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAoB,MAAM,gCAAgC,CAAC;AA4DxF,QAAA,MAAM,yBAAyB,qBAAsB,MAAM,KAAG,OAOC,CAAC;AAEhE,QAAA,MAAM,wBAAwB,gBAAgB,OAAO,aAAY,OAAO,oBAAoB,MAAM,KAAG,OAA4F,CAAC;AAElM,QAAA,MAAM,oBAAoB,qBAAsB,MAAM,KAAG,OAA8E,CAAC;AAExI,QAAA,MAAM,kBAAkB,WAAW,OAAO,aAAY,OAAO,KAAG,OAA+B,CAAC;AAEhG,QAAA,MAAM,WAAW,qBAAsB,MAAM,EAAE,KAAE,OAAmK,CAAC;AAErN,QAAA,MAAM,YAAY,qBAAsB,MAAM,EAAE,KAAE,OAA+H,CAAC;AAElL,QAAA,MAAM,aAAa,qBAAsB,MAAM,EAAE,KAAE,OAA+G,CAAC;AAEnK,QAAA,MAAM,UAAU,qBAAsB,MAAM,EAAE,KAAE,OAAsN,CAAC;AAEvQ,QAAA,MAAM,SAAS,qBAAsB,MAAM,KAAE,OAI5C,CAAC;AAEF,QAAA,MAAM,4BAA4B,qBAAsB,cAAc,eAAe,WAAW,EAAE,KAAG,MAmBpG,CAAC;AAoFF,QAAA,MAAM,wBAAwB,qBAAsB,MAAM,kBAAkB,eAAe,WAAW,MAAM,YAAY,MAAM,YAAY,MAAM,eAAe,MAAM,mBAAmB,MAAM,oBAAoB,MAAM,eAAe,MAAM,eAAe,MAAM,oBAAoB,OAAO,eAAe,MAAM,EAAE,mBAAmB,MAAM,eAAe,MAAM,cAAc,MAAM,yBAAyB,OAAO,eAAe,MAAM,aAAY,OAAO;qBAA8B,MAAM;iBAAe,MAAM;kBAAgB,OAAO;kBAAgB,MAAM;kBAAgB,MAAM;WAAS,MAAM;CAwDxkB,CAAC;AAEF,QAAA,MAAM,oBAAoB,qBAAsB,MAAM,KAAG,oBAAoB,EAG5E,CAAC;AAEF,QAAA,MAAM,mBAAmB,gBAAiB,MAAM,oBAAoB,MAAM,YAAY,MAAM,oBAAoB,OAAO,KAAG,OAgBzH,CAAC;AAEF,OAAO,EACL,yBAAyB,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,mBAAmB,GAClQ,CAAC"}
1
+ {"version":3,"file":"prestation.d.ts","sourceRoot":"","sources":["../../../ts/utils/prestation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAExD,OAAO,EAAoB,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAoB,MAAM,gCAAgC,CAAC;AA4DxF,QAAA,MAAM,yBAAyB,qBAAsB,MAAM,KAAG,OAOC,CAAC;AAEhE,QAAA,MAAM,wBAAwB,gBAAgB,OAAO,aAAY,OAAO,oBAAoB,MAAM,KAAG,OAA4F,CAAC;AAElM,QAAA,MAAM,oBAAoB,qBAAsB,MAAM,KAAG,OAA8E,CAAC;AAExI,QAAA,MAAM,kBAAkB,WAAW,OAAO,aAAY,OAAO,KAAG,OAA+B,CAAC;AAEhG,QAAA,MAAM,WAAW,qBAAsB,MAAM,EAAE,KAAE,OAAmK,CAAC;AAErN,QAAA,MAAM,YAAY,qBAAsB,MAAM,EAAE,KAAE,OAA+H,CAAC;AAElL,QAAA,MAAM,aAAa,qBAAsB,MAAM,EAAE,KAAE,OAA+G,CAAC;AAEnK,QAAA,MAAM,UAAU,qBAAsB,MAAM,EAAE,KAAE,OAAsN,CAAC;AAEvQ,QAAA,MAAM,SAAS,qBAAsB,MAAM,KAAE,OAI5C,CAAC;AAEF,QAAA,MAAM,4BAA4B,qBAAsB,cAAc,eAAe,WAAW,EAAE,KAAG,MAmBpG,CAAC;AAoFF,QAAA,MAAM,wBAAwB,qBAAsB,MAAM,kBAAkB,eAAe,WAAW,MAAM,YAAY,MAAM,YAAY,MAAM,eAAe,MAAM,mBAAmB,MAAM,oBAAoB,MAAM,eAAe,MAAM,eAAe,MAAM,oBAAoB,OAAO,eAAe,MAAM,EAAE,mBAAmB,MAAM,eAAe,MAAM,cAAc,MAAM,yBAAyB,OAAO,eAAe,MAAM,aAAY,OAAO;qBAA8B,MAAM;iBAAe,MAAM;kBAAgB,OAAO;kBAAgB,MAAM;kBAAgB,MAAM;WAAS,MAAM;CA8DxkB,CAAC;AAEF,QAAA,MAAM,oBAAoB,qBAAsB,MAAM,KAAG,oBAAoB,EAG5E,CAAC;AAEF,QAAA,MAAM,mBAAmB,gBAAiB,MAAM,oBAAoB,MAAM,YAAY,MAAM,oBAAoB,OAAO,KAAG,OAgBzH,CAAC;AAEF,OAAO,EACL,yBAAyB,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,mBAAmB,GAClQ,CAAC"}
@@ -153,6 +153,12 @@ const calculatePrestationPrice = (idPrestationList, prestationList, endDate, Nbr
153
153
  PrestationType.GESTION_JURIDIQUE,
154
154
  PrestationType.COMPTA_PRO_COMPTASTART,
155
155
  PrestationType.COMPTA_PRO_COMPTASTART_EXPRESS,
156
+ PrestationType.COMPTA_EI_KLEMS,
157
+ PrestationType.COMPTA_EI_KLEMS_EXPRESS,
158
+ PrestationType.COMPTA_MICRO_KLEMS,
159
+ PrestationType.COMPTA_MICRO_KLEMS_EXPRESS,
160
+ PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS,
161
+ PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS_EXPRESS,
156
162
  ].includes(idPrestationList)) {
157
163
  totalWithReduce = calculatePrestationPriceWithPriceGrid(idPrestationList, endDate, NbrMonth, turnover, rentsNumber, employeesNumber, associatesNumber, idTypeBrand, idVatRegime, pastBalanceSheet, isYearly, totalMonth, idTaxSystem);
158
164
  totalPrestation = totalWithReduce.totalPrestation;
@@ -1 +1 @@
1
- {"version":3,"file":"prestation.js","sourceRoot":"","sources":["../../../ts/utils/prestation.ts"],"names":[],"mappings":"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","sourcesContent":["import { IPrestation, IPrestationList } from '../types';\nimport { intersection } from './noLodash';\nimport { PrestationDetail, PrestationType } from '../types/Enum/PrestationType';\nimport { PrestationOptionType, PrestationOption } from '../types/Enum/PrestationOption';\nimport { PriceGridClementine } from '../types/Enum/PriceGridClementine';\nimport { PriceGridPourcentage } from '../types/Enum/PriceGridPourcentage';\nimport { PriceGridLegalstart } from '../types/Enum/PriceGridLegalstart';\nimport { ClosingType } from '../types/Enum/ClosingType';\nimport { getBrandNameByNodeEnv } from './brands';\nimport * as dayjs from 'dayjs';\n\ntype priceGridBrand = {\n idTypeBrand: number,\n price: priceGrid[]\n};\n\ntype priceGrid = {\n idPrestationList: number[],\n minimumMonthlyPayment?: monthlyPayment[],\n maximumMonthlyPayment?: monthlyPayment[],\n turnoverCreatedYear?: turnover[],\n turnoverPastYear?: turnover[],\n turnoverMonthly?: turnover[],\n turnoverYearly?: turnover[],\n employee?: employee[],\n partner?: employee[],\n properties?: propertie[],\n vatRegimeMonthly?: vatRegime[],\n vatRegimeYearly?: vatRegime[],\n taxSystem?: taxSystem[],\n};\n\ntype monthlyPayment = {\n id: number,\n month: number,\n};\n\ntype turnover = {\n turnoverValue: number,\n price: number,\n};\n\ntype employee = {\n amountMinimum: number,\n amountMaximum: number,\n price: number,\n};\n\ntype propertie = {\n amount: number,\n price: number,\n};\n\ntype vatRegime = {\n type: number,\n price: number,\n};\n\ntype taxSystem = {\n id: number,\n price: number,\n};\n\nconst isOtherAccountingMissions = (idPrestationList: number): boolean => [\n PrestationType.PREVISIONNEL,\n PrestationType.BILAN_INTERMEDIAIRE,\n PrestationType.AVANCE_OU_ABANDON_COMPTE_COURANT_ASSOCIE,\n PrestationType.AUTRE_MISSION_COMPTABLE,\n PrestationType.TVS,\n PrestationType.ETUDE_FISCALE,\n PrestationType.BILAN_PREVISIONNEL].includes(idPrestationList);\n\nconst isOtherJuridicalMissions = (isJuridique:boolean, isCatalog:boolean, idPrestationList: number): boolean => idPrestationList !== PrestationType.GESTION_JURIDIQUE && isCatalog && isJuridique;\n\nconst isOtherSocialMission = (idPrestationList: number): boolean => idPrestationList === PrestationType.AUTRE_MISSION_SOCIALE_HORS_PAIE;\n\nconst isAdditionalPresta = (hidden:boolean, isCatalog:boolean): boolean => !hidden && isCatalog;\n\nconst isOnlyPrevi = (idPrestationList: number[]):boolean => !idPrestationList.filter((idPL:number) => ![PrestationType.PREVISIONNEL, PrestationType.BILAN_PREVISIONNEL, PrestationType.PV_AG].includes(idPL)).length;\n\nconst isOnlySocial = (idPrestationList: number[]):boolean => !idPrestationList.filter((idPL:number) => ![PrestationType.FRUCTUPAIE, PrestationType.SOCIAL].includes(idPL)).length;\n\nconst isOnlyJuridic = (idPrestationList: number[]):boolean => !idPrestationList.filter((idPL:number) => ![PrestationType.GESTION_JURIDIQUE].includes(idPL)).length;\n\nconst isCreation = (idPrestationList: number[]):boolean => !!intersection(idPrestationList, [PrestationType.CREATION_SOCIETE, PrestationType.STATUTS_FREE, PrestationType.STATUTS_OPTION_1, PrestationType.STATUTS_OPTION_2, PrestationType.STATUTS_OPTION_AE]).length;\n\nconst isExpress = (idPrestationList: number):boolean => {\n const prestationDetailValues = Object.values(PrestationDetail) as any;\n const prestaList = prestationDetailValues.find((pr:any) => pr.id === idPrestationList);\n return !!prestaList.isBack;\n};\n\nconst calculateScoringOfPrestation = (idPrestationType: PrestationType, prestations: IPrestation[]): number => {\n const prestationsSignedPaid = prestations.filter((prestation) => prestation.paid && prestation.signed && prestation.terminationList === null);\n\n // Get the list of prestations that are half price\n const prestationHalfPriceList = Object.values(PrestationDetail).filter((p) => p.isComptable && !p.isCatalog);\n const prestationHalfPriceIds = prestationHalfPriceList.map((t) => t.id);\n\n // Get the number of points for the new prestation\n const prestaDetails = Object.values(PrestationDetail).find((prestaDetail) => prestaDetail.id === idPrestationType);\n const numberPoint = prestaDetails?.point || 0;\n\n // Get list of prestations that are already done and check if one of them is in the list of prestations that are half price\n const prestationsExistIds = prestationsSignedPaid.map((prestation) => prestation.idPrestationList);\n const prestationHalfPriceAlreadyDoneIds = prestationsExistIds.filter((id) => prestationHalfPriceIds.includes(id));\n\n // If one of the prestations already done is in the list of prestations that are half price and if the idPrestationType is in prestationHalfPriceIds, return 50% of points\n if (prestationHalfPriceAlreadyDoneIds.length && prestationHalfPriceIds.includes(idPrestationType)) return Math.floor(numberPoint * 0.3);\n\n return numberPoint;\n};\n\nconst getPriceGrid = (idTypeBrand: number, idPrestationList: number): priceGrid | undefined => {\n let currentBrandPriceGrid: priceGridBrand | undefined;\n let currentPriceGrid: priceGrid | undefined;\n\n const currentEnvName = getBrandNameByNodeEnv(process.env.NODE_ENV);\n const listEnvEnum = {\n PriceGridClementine, PriceGridPourcentage, PriceGridLegalstart,\n };\n // @ts-ignore\n const currentPriceGridFile: priceGridBrand[] = listEnvEnum[`PriceGrid${currentEnvName}`];\n if (currentPriceGridFile) currentBrandPriceGrid = currentPriceGridFile.find((priceGrid: priceGridBrand) => priceGrid.idTypeBrand === idTypeBrand);\n if (currentBrandPriceGrid) currentPriceGrid = currentBrandPriceGrid?.price.find((price: priceGrid) => price.idPrestationList.includes(idPrestationList));\n return currentPriceGrid;\n};\n\nconst calculatePrestationPriceWithPriceGrid = (idPrestationList: number, endDate: string, NbrMonth: number, turnover: number, rentsNumber: number, employeesNumber: number, associatesNumber: number, idTypeBrand: number, idVatRegime: number, pastBalanceSheet: boolean, isYearly: boolean, totalMonth: number, idTaxSystem: number): { totalPrestation: number, reduceMonth: number, canBeCreated: boolean, monthNbr: number, price: number } => {\n let totalPrestation: number = 0;\n let reduceMonth: number = 0;\n let monthNbr: number = NbrMonth;\n let yearlyPrice: number | undefined;\n let finalMonthlyPrice: number | undefined;\n let canBeCreated: boolean = true;\n let recalculateMonthly: boolean = false;\n\n /* Récupération de la grille tarifaire */\n const currentPriceGrid: priceGrid | undefined = getPriceGrid(idTypeBrand, idPrestationList);\n \n if (currentPriceGrid) {\n let monthlyPrice: number | undefined;\n let vatRegimePrice: number | undefined;\n let taxSystemPrice: number | undefined;\n\n /* Gestion du régime de TVA */\n if (currentPriceGrid.vatRegimeMonthly && !isYearly) vatRegimePrice = currentPriceGrid.vatRegimeMonthly?.find(regime => regime.type === idVatRegime)?.price;\n else if (currentPriceGrid.vatRegimeYearly && isYearly) vatRegimePrice = currentPriceGrid.vatRegimeYearly?.find(regime => regime.type === idVatRegime)?.price;\n\n /* Gestion du Régime d'imposition */\n if (currentPriceGrid.taxSystem && idTaxSystem) taxSystemPrice = currentPriceGrid.taxSystem?.find(tax => tax.id === idTaxSystem)?.price;\n\n /* Gestion des montants */\n if (currentPriceGrid.turnoverMonthly && !isYearly) monthlyPrice = currentPriceGrid.turnoverMonthly?.find(turn => turnover < turn.turnoverValue)?.price;\n else if (currentPriceGrid.properties) monthlyPrice = currentPriceGrid.properties?.find(property => property.amount === rentsNumber)?.price;\n else if (currentPriceGrid.employee) monthlyPrice = currentPriceGrid.employee?.find(emp => emp.amountMinimum <= employeesNumber && emp.amountMaximum >= employeesNumber)?.price;\n else if (currentPriceGrid.turnoverYearly && isYearly) yearlyPrice = currentPriceGrid.turnoverYearly?.find(turn => turnover < turn.turnoverValue)?.price;\n else if (!pastBalanceSheet && currentPriceGrid.turnoverCreatedYear) yearlyPrice = currentPriceGrid.turnoverCreatedYear?.find(turn => turnover < turn.turnoverValue)?.price;\n else if (pastBalanceSheet && currentPriceGrid.turnoverPastYear) yearlyPrice = currentPriceGrid.turnoverPastYear?.find(turn => turnover < turn.turnoverValue)?.price;\n else if (currentPriceGrid.partner) yearlyPrice = currentPriceGrid.partner?.find(part => part.amountMinimum <= associatesNumber && part.amountMaximum >= associatesNumber)?.price;\n finalMonthlyPrice = (monthlyPrice ? monthlyPrice : 0) + (vatRegimePrice ? vatRegimePrice : 0) + (taxSystemPrice ? taxSystemPrice : 0);\n\n /* Gestion des mois */\n let cloturedPast: boolean = false;\n if (dayjs(endDate, 'YYYY-MM-DD').subtract(15, 'day').isBefore(dayjs())) cloturedPast = true;\n const minimumMonth: number | undefined = currentPriceGrid.minimumMonthlyPayment?.find(monthlyPayment => monthlyPayment.id === (cloturedPast ? ClosingType.OUTDATED : ClosingType.IN_PROGRESS))?.month;\n const maximumMonth: number | undefined = currentPriceGrid.maximumMonthlyPayment?.find(monthlyPayment => monthlyPayment.id === (cloturedPast ? ClosingType.OUTDATED : ClosingType.IN_PROGRESS))?.month;\n if (totalMonth > 0) monthNbr = monthNbr - totalMonth;\n if (minimumMonth && monthNbr < minimumMonth) {\n monthNbr = minimumMonth;\n recalculateMonthly = true;\n if (totalMonth > 0) canBeCreated = false;\n }\n if (maximumMonth && monthNbr > maximumMonth) {\n monthNbr = maximumMonth;\n recalculateMonthly = true;\n if (totalMonth > 0) canBeCreated = false;\n }\n\n reduceMonth = (monthNbr === NbrMonth - totalMonth ? totalMonth : 0);\n \n /* Prix Final */\n totalPrestation = (yearlyPrice ? yearlyPrice : finalMonthlyPrice * monthNbr);\n }\n return { totalPrestation, reduceMonth, canBeCreated, monthNbr: yearlyPrice ? 0 : recalculateMonthly ? NbrMonth : monthNbr, price: yearlyPrice ? yearlyPrice : recalculateMonthly ? (totalPrestation / NbrMonth) : (finalMonthlyPrice ? finalMonthlyPrice : 0) };\n};\n\nconst calculatePrestationPriceWithPrestationList = (prestationList: IPrestationList): number => {\n let totalPrestation: number = 0;\n\n totalPrestation = prestationList.price || 0;\n\n return totalPrestation;\n};\n\nconst calculatePrestationPrice = (idPrestationList: number, prestationList: IPrestationList, endDate: string, NbrMonth: number, turnover: number, rentsNumber: number, employeesNumber: number, associatesNumber: number, idTypeBrand: number, idVatRegime: number, pastBalanceSheet: boolean, optionsList: number[], totalPercentage: number, totalAmount: number, totalMonth: number, isWithApplicationFees: boolean, idTaxSystem: number, isYearly: boolean = false): { totalPrestation: number, reduceMonth: number, canBeCreated: boolean, calculDetail: string, monthlyPrice: string, price: number } => {\n let totalPrestation: number = 0;\n let reduceMonth: number = 0;\n let canBeCreated: boolean = true;\n let monthNbr: number = 0;\n let price: number = 0;\n let totalWithReduce: { totalPrestation: number, reduceMonth: number, canBeCreated: boolean, monthNbr: number, price: number } = { totalPrestation: 0, reduceMonth: 0, canBeCreated: true, monthNbr: 0, price: 0 };\n\n /* Gestion du prix en fonction de la prestation */\n if (\n [\n PrestationType.COMPTA_PRO,\n PrestationType.COMPTA_PRO_EXPRESS,\n PrestationType.COMPTA_ENTREPRISE,\n PrestationType.COMPTA_ENTREPRISE_EXPRESS,\n PrestationType.COMPTA_SCI,\n PrestationType.COMPTA_SCI_EXPRESS,\n PrestationType.BILAN_PREVISIONNEL,\n PrestationType.COMPTA_PREMIUM,\n PrestationType.COMPTA_POURCENTAGE_PREMIUM,\n PrestationType.COMPTA_POURCENTAGE_PREMIUM_EXPRESS,\n PrestationType.COMPTA_POURCENTAGE,\n PrestationType.COMPTA_POURCENTAGE_EXPRESS,\n PrestationType.SOCIAL,\n PrestationType.GESTION_JURIDIQUE,\n PrestationType.COMPTA_PRO_COMPTASTART,\n PrestationType.COMPTA_PRO_COMPTASTART_EXPRESS,\n ].includes(idPrestationList)\n ) {\n totalWithReduce = calculatePrestationPriceWithPriceGrid(idPrestationList, endDate, NbrMonth, turnover, rentsNumber, employeesNumber, associatesNumber, idTypeBrand, idVatRegime, pastBalanceSheet, isYearly, totalMonth, idTaxSystem);\n totalPrestation = totalWithReduce.totalPrestation;\n reduceMonth = totalWithReduce.reduceMonth;\n canBeCreated = totalWithReduce.canBeCreated;\n monthNbr = totalWithReduce.monthNbr;\n price = totalWithReduce.price;\n } else {\n totalPrestation = calculatePrestationPriceWithPrestationList(prestationList);\n }\n if (totalAmount > 0) totalPrestation = totalPrestation - totalAmount;\n if (totalPercentage > 0) totalPrestation = totalPrestation - (totalPrestation * (totalPercentage / 100));\n if (prestationList.minimumPrice && totalPrestation < prestationList.minimumPrice) totalPrestation = prestationList.minimumPrice;\n /* Gestion des options */\n let OptionTotalPrice: number = 0;\n if (optionsList.length) {\n optionsList.forEach((optionId) => {\n const optionPrice: number | undefined = Object.values(PrestationOption).find((option) => option.id === optionId)?.price;\n if (optionPrice) OptionTotalPrice += optionPrice;\n });\n }\n totalPrestation += (OptionTotalPrice ? OptionTotalPrice : 0);\n\n if (isWithApplicationFees) totalPrestation += 50;\n\n const calculDetail = `${monthNbr > 0 ? monthNbr + ' mois x ' + (Math.round(price * 100) / 100) + '€' : (Math.round(price * 100) / 100) + '€'} ${totalAmount > 0 ? '- ' + totalAmount + '€' : ''} ${totalPercentage > 0 ? '- ' + totalPercentage + '%' : ''} ${isWithApplicationFees ? '+ 50€' : ''}`;\n\n return { totalPrestation, reduceMonth, canBeCreated, calculDetail, monthlyPrice: monthNbr > 0 ? (Math.round(price * 100) / 100) + '€/mois' : (Math.round(price * 100) / 100) + '€', price };\n};\n\nconst getPrestationOptions = (idPrestationList: number): PrestationOptionType[] => {\n const PrestationOptionList: PrestationOptionType[] = Object.values(PrestationOption).filter(option => option.brand.includes(getBrandNameByNodeEnv(process.env.NODE_ENV)));\n return PrestationOptionList.filter(option => option.prestationList.includes(idPrestationList));\n};\n\nconst isAbleToUpdatePrice = (idTypeBrand: number, idPrestationList: number, turnover: number, pastBalanceSheet: boolean): boolean => {\n /* Récupération de la grille tarifaire */\n const currentPriceGrid: priceGrid | undefined = getPriceGrid(idTypeBrand, idPrestationList);\n if (currentPriceGrid) {\n // @ts-ignore\n if ([PrestationType.COMPTA_PREMIUM, PrestationType.COMPTA_POURCENTAGE_PREMIUM, PrestationType.COMPTA_POURCENTAGE_PREMIUM_EXPRESS].includes(idPrestationList) && currentPriceGrid.turnoverMonthly[currentPriceGrid.turnoverMonthly.length - 2].turnoverValue < turnover) return true;\n // @ts-ignore\n else if ([PrestationType.COMPTA_POURCENTAGE, PrestationType.COMPTA_POURCENTAGE_EXPRESS].includes(idPrestationList) && currentPriceGrid.turnoverMonthly[currentPriceGrid.turnoverMonthly.length - 1].turnoverValue < turnover) return true;\n // @ts-ignore\n else if ([PrestationType.BILAN_PREVISIONNEL].includes(idPrestationList) && !pastBalanceSheet && currentPriceGrid.turnoverCreatedYear[currentPriceGrid.turnoverCreatedYear.length - 1].turnoverValue < turnover) return true;\n // @ts-ignore\n else if ([PrestationType.BILAN_PREVISIONNEL].includes(idPrestationList) && pastBalanceSheet && currentPriceGrid.turnoverPastYear[currentPriceGrid.turnoverPastYear.length - 1].turnoverValue < turnover) return true;\n else return false;\n }\n return false;\n\n};\n\nexport {\n isOtherAccountingMissions, isOtherJuridicalMissions, isAdditionalPresta, isOtherSocialMission, isOnlyPrevi, isOnlySocial, isOnlyJuridic, isCreation, isExpress, calculateScoringOfPrestation, calculatePrestationPrice, getPrestationOptions, isAbleToUpdatePrice,\n};"]}
1
+ {"version":3,"file":"prestation.js","sourceRoot":"","sources":["../../../ts/utils/prestation.ts"],"names":[],"mappings":"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","sourcesContent":["import { IPrestation, IPrestationList } from '../types';\nimport { intersection } from './noLodash';\nimport { PrestationDetail, PrestationType } from '../types/Enum/PrestationType';\nimport { PrestationOptionType, PrestationOption } from '../types/Enum/PrestationOption';\nimport { PriceGridClementine } from '../types/Enum/PriceGridClementine';\nimport { PriceGridPourcentage } from '../types/Enum/PriceGridPourcentage';\nimport { PriceGridLegalstart } from '../types/Enum/PriceGridLegalstart';\nimport { ClosingType } from '../types/Enum/ClosingType';\nimport { getBrandNameByNodeEnv } from './brands';\nimport * as dayjs from 'dayjs';\n\ntype priceGridBrand = {\n idTypeBrand: number,\n price: priceGrid[]\n};\n\ntype priceGrid = {\n idPrestationList: number[],\n minimumMonthlyPayment?: monthlyPayment[],\n maximumMonthlyPayment?: monthlyPayment[],\n turnoverCreatedYear?: turnover[],\n turnoverPastYear?: turnover[],\n turnoverMonthly?: turnover[],\n turnoverYearly?: turnover[],\n employee?: employee[],\n partner?: employee[],\n properties?: propertie[],\n vatRegimeMonthly?: vatRegime[],\n vatRegimeYearly?: vatRegime[],\n taxSystem?: taxSystem[],\n};\n\ntype monthlyPayment = {\n id: number,\n month: number,\n};\n\ntype turnover = {\n turnoverValue: number,\n price: number,\n};\n\ntype employee = {\n amountMinimum: number,\n amountMaximum: number,\n price: number,\n};\n\ntype propertie = {\n amount: number,\n price: number,\n};\n\ntype vatRegime = {\n type: number,\n price: number,\n};\n\ntype taxSystem = {\n id: number,\n price: number,\n};\n\nconst isOtherAccountingMissions = (idPrestationList: number): boolean => [\n PrestationType.PREVISIONNEL,\n PrestationType.BILAN_INTERMEDIAIRE,\n PrestationType.AVANCE_OU_ABANDON_COMPTE_COURANT_ASSOCIE,\n PrestationType.AUTRE_MISSION_COMPTABLE,\n PrestationType.TVS,\n PrestationType.ETUDE_FISCALE,\n PrestationType.BILAN_PREVISIONNEL].includes(idPrestationList);\n\nconst isOtherJuridicalMissions = (isJuridique:boolean, isCatalog:boolean, idPrestationList: number): boolean => idPrestationList !== PrestationType.GESTION_JURIDIQUE && isCatalog && isJuridique;\n\nconst isOtherSocialMission = (idPrestationList: number): boolean => idPrestationList === PrestationType.AUTRE_MISSION_SOCIALE_HORS_PAIE;\n\nconst isAdditionalPresta = (hidden:boolean, isCatalog:boolean): boolean => !hidden && isCatalog;\n\nconst isOnlyPrevi = (idPrestationList: number[]):boolean => !idPrestationList.filter((idPL:number) => ![PrestationType.PREVISIONNEL, PrestationType.BILAN_PREVISIONNEL, PrestationType.PV_AG].includes(idPL)).length;\n\nconst isOnlySocial = (idPrestationList: number[]):boolean => !idPrestationList.filter((idPL:number) => ![PrestationType.FRUCTUPAIE, PrestationType.SOCIAL].includes(idPL)).length;\n\nconst isOnlyJuridic = (idPrestationList: number[]):boolean => !idPrestationList.filter((idPL:number) => ![PrestationType.GESTION_JURIDIQUE].includes(idPL)).length;\n\nconst isCreation = (idPrestationList: number[]):boolean => !!intersection(idPrestationList, [PrestationType.CREATION_SOCIETE, PrestationType.STATUTS_FREE, PrestationType.STATUTS_OPTION_1, PrestationType.STATUTS_OPTION_2, PrestationType.STATUTS_OPTION_AE]).length;\n\nconst isExpress = (idPrestationList: number):boolean => {\n const prestationDetailValues = Object.values(PrestationDetail) as any;\n const prestaList = prestationDetailValues.find((pr:any) => pr.id === idPrestationList);\n return !!prestaList.isBack;\n};\n\nconst calculateScoringOfPrestation = (idPrestationType: PrestationType, prestations: IPrestation[]): number => {\n const prestationsSignedPaid = prestations.filter((prestation) => prestation.paid && prestation.signed && prestation.terminationList === null);\n\n // Get the list of prestations that are half price\n const prestationHalfPriceList = Object.values(PrestationDetail).filter((p) => p.isComptable && !p.isCatalog);\n const prestationHalfPriceIds = prestationHalfPriceList.map((t) => t.id);\n\n // Get the number of points for the new prestation\n const prestaDetails = Object.values(PrestationDetail).find((prestaDetail) => prestaDetail.id === idPrestationType);\n const numberPoint = prestaDetails?.point || 0;\n\n // Get list of prestations that are already done and check if one of them is in the list of prestations that are half price\n const prestationsExistIds = prestationsSignedPaid.map((prestation) => prestation.idPrestationList);\n const prestationHalfPriceAlreadyDoneIds = prestationsExistIds.filter((id) => prestationHalfPriceIds.includes(id));\n\n // If one of the prestations already done is in the list of prestations that are half price and if the idPrestationType is in prestationHalfPriceIds, return 50% of points\n if (prestationHalfPriceAlreadyDoneIds.length && prestationHalfPriceIds.includes(idPrestationType)) return Math.floor(numberPoint * 0.3);\n\n return numberPoint;\n};\n\nconst getPriceGrid = (idTypeBrand: number, idPrestationList: number): priceGrid | undefined => {\n let currentBrandPriceGrid: priceGridBrand | undefined;\n let currentPriceGrid: priceGrid | undefined;\n\n const currentEnvName = getBrandNameByNodeEnv(process.env.NODE_ENV);\n const listEnvEnum = {\n PriceGridClementine, PriceGridPourcentage, PriceGridLegalstart,\n };\n // @ts-ignore\n const currentPriceGridFile: priceGridBrand[] = listEnvEnum[`PriceGrid${currentEnvName}`];\n if (currentPriceGridFile) currentBrandPriceGrid = currentPriceGridFile.find((priceGrid: priceGridBrand) => priceGrid.idTypeBrand === idTypeBrand);\n if (currentBrandPriceGrid) currentPriceGrid = currentBrandPriceGrid?.price.find((price: priceGrid) => price.idPrestationList.includes(idPrestationList));\n return currentPriceGrid;\n};\n\nconst calculatePrestationPriceWithPriceGrid = (idPrestationList: number, endDate: string, NbrMonth: number, turnover: number, rentsNumber: number, employeesNumber: number, associatesNumber: number, idTypeBrand: number, idVatRegime: number, pastBalanceSheet: boolean, isYearly: boolean, totalMonth: number, idTaxSystem: number): { totalPrestation: number, reduceMonth: number, canBeCreated: boolean, monthNbr: number, price: number } => {\n let totalPrestation: number = 0;\n let reduceMonth: number = 0;\n let monthNbr: number = NbrMonth;\n let yearlyPrice: number | undefined;\n let finalMonthlyPrice: number | undefined;\n let canBeCreated: boolean = true;\n let recalculateMonthly: boolean = false;\n\n /* Récupération de la grille tarifaire */\n const currentPriceGrid: priceGrid | undefined = getPriceGrid(idTypeBrand, idPrestationList);\n \n if (currentPriceGrid) {\n let monthlyPrice: number | undefined;\n let vatRegimePrice: number | undefined;\n let taxSystemPrice: number | undefined;\n\n /* Gestion du régime de TVA */\n if (currentPriceGrid.vatRegimeMonthly && !isYearly) vatRegimePrice = currentPriceGrid.vatRegimeMonthly?.find(regime => regime.type === idVatRegime)?.price;\n else if (currentPriceGrid.vatRegimeYearly && isYearly) vatRegimePrice = currentPriceGrid.vatRegimeYearly?.find(regime => regime.type === idVatRegime)?.price;\n\n /* Gestion du Régime d'imposition */\n if (currentPriceGrid.taxSystem && idTaxSystem) taxSystemPrice = currentPriceGrid.taxSystem?.find(tax => tax.id === idTaxSystem)?.price;\n\n /* Gestion des montants */\n if (currentPriceGrid.turnoverMonthly && !isYearly) monthlyPrice = currentPriceGrid.turnoverMonthly?.find(turn => turnover < turn.turnoverValue)?.price;\n else if (currentPriceGrid.properties) monthlyPrice = currentPriceGrid.properties?.find(property => property.amount === rentsNumber)?.price;\n else if (currentPriceGrid.employee) monthlyPrice = currentPriceGrid.employee?.find(emp => emp.amountMinimum <= employeesNumber && emp.amountMaximum >= employeesNumber)?.price;\n else if (currentPriceGrid.turnoverYearly && isYearly) yearlyPrice = currentPriceGrid.turnoverYearly?.find(turn => turnover < turn.turnoverValue)?.price;\n else if (!pastBalanceSheet && currentPriceGrid.turnoverCreatedYear) yearlyPrice = currentPriceGrid.turnoverCreatedYear?.find(turn => turnover < turn.turnoverValue)?.price;\n else if (pastBalanceSheet && currentPriceGrid.turnoverPastYear) yearlyPrice = currentPriceGrid.turnoverPastYear?.find(turn => turnover < turn.turnoverValue)?.price;\n else if (currentPriceGrid.partner) yearlyPrice = currentPriceGrid.partner?.find(part => part.amountMinimum <= associatesNumber && part.amountMaximum >= associatesNumber)?.price;\n finalMonthlyPrice = (monthlyPrice ? monthlyPrice : 0) + (vatRegimePrice ? vatRegimePrice : 0) + (taxSystemPrice ? taxSystemPrice : 0);\n\n /* Gestion des mois */\n let cloturedPast: boolean = false;\n if (dayjs(endDate, 'YYYY-MM-DD').subtract(15, 'day').isBefore(dayjs())) cloturedPast = true;\n const minimumMonth: number | undefined = currentPriceGrid.minimumMonthlyPayment?.find(monthlyPayment => monthlyPayment.id === (cloturedPast ? ClosingType.OUTDATED : ClosingType.IN_PROGRESS))?.month;\n const maximumMonth: number | undefined = currentPriceGrid.maximumMonthlyPayment?.find(monthlyPayment => monthlyPayment.id === (cloturedPast ? ClosingType.OUTDATED : ClosingType.IN_PROGRESS))?.month;\n if (totalMonth > 0) monthNbr = monthNbr - totalMonth;\n if (minimumMonth && monthNbr < minimumMonth) {\n monthNbr = minimumMonth;\n recalculateMonthly = true;\n if (totalMonth > 0) canBeCreated = false;\n }\n if (maximumMonth && monthNbr > maximumMonth) {\n monthNbr = maximumMonth;\n recalculateMonthly = true;\n if (totalMonth > 0) canBeCreated = false;\n }\n\n reduceMonth = (monthNbr === NbrMonth - totalMonth ? totalMonth : 0);\n \n /* Prix Final */\n totalPrestation = (yearlyPrice ? yearlyPrice : finalMonthlyPrice * monthNbr);\n }\n return { totalPrestation, reduceMonth, canBeCreated, monthNbr: yearlyPrice ? 0 : recalculateMonthly ? NbrMonth : monthNbr, price: yearlyPrice ? yearlyPrice : recalculateMonthly ? (totalPrestation / NbrMonth) : (finalMonthlyPrice ? finalMonthlyPrice : 0) };\n};\n\nconst calculatePrestationPriceWithPrestationList = (prestationList: IPrestationList): number => {\n let totalPrestation: number = 0;\n\n totalPrestation = prestationList.price || 0;\n\n return totalPrestation;\n};\n\nconst calculatePrestationPrice = (idPrestationList: number, prestationList: IPrestationList, endDate: string, NbrMonth: number, turnover: number, rentsNumber: number, employeesNumber: number, associatesNumber: number, idTypeBrand: number, idVatRegime: number, pastBalanceSheet: boolean, optionsList: number[], totalPercentage: number, totalAmount: number, totalMonth: number, isWithApplicationFees: boolean, idTaxSystem: number, isYearly: boolean = false): { totalPrestation: number, reduceMonth: number, canBeCreated: boolean, calculDetail: string, monthlyPrice: string, price: number } => {\n let totalPrestation: number = 0;\n let reduceMonth: number = 0;\n let canBeCreated: boolean = true;\n let monthNbr: number = 0;\n let price: number = 0;\n let totalWithReduce: { totalPrestation: number, reduceMonth: number, canBeCreated: boolean, monthNbr: number, price: number } = { totalPrestation: 0, reduceMonth: 0, canBeCreated: true, monthNbr: 0, price: 0 };\n\n /* Gestion du prix en fonction de la prestation */\n if (\n [\n PrestationType.COMPTA_PRO,\n PrestationType.COMPTA_PRO_EXPRESS,\n PrestationType.COMPTA_ENTREPRISE,\n PrestationType.COMPTA_ENTREPRISE_EXPRESS,\n PrestationType.COMPTA_SCI,\n PrestationType.COMPTA_SCI_EXPRESS,\n PrestationType.BILAN_PREVISIONNEL,\n PrestationType.COMPTA_PREMIUM,\n PrestationType.COMPTA_POURCENTAGE_PREMIUM,\n PrestationType.COMPTA_POURCENTAGE_PREMIUM_EXPRESS,\n PrestationType.COMPTA_POURCENTAGE,\n PrestationType.COMPTA_POURCENTAGE_EXPRESS,\n PrestationType.SOCIAL,\n PrestationType.GESTION_JURIDIQUE,\n PrestationType.COMPTA_PRO_COMPTASTART,\n PrestationType.COMPTA_PRO_COMPTASTART_EXPRESS,\n PrestationType.COMPTA_EI_KLEMS,\n PrestationType.COMPTA_EI_KLEMS_EXPRESS,\n PrestationType.COMPTA_MICRO_KLEMS,\n PrestationType.COMPTA_MICRO_KLEMS_EXPRESS,\n PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS,\n PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS_EXPRESS,\n ].includes(idPrestationList)\n ) {\n totalWithReduce = calculatePrestationPriceWithPriceGrid(idPrestationList, endDate, NbrMonth, turnover, rentsNumber, employeesNumber, associatesNumber, idTypeBrand, idVatRegime, pastBalanceSheet, isYearly, totalMonth, idTaxSystem);\n totalPrestation = totalWithReduce.totalPrestation;\n reduceMonth = totalWithReduce.reduceMonth;\n canBeCreated = totalWithReduce.canBeCreated;\n monthNbr = totalWithReduce.monthNbr;\n price = totalWithReduce.price;\n } else {\n totalPrestation = calculatePrestationPriceWithPrestationList(prestationList);\n }\n if (totalAmount > 0) totalPrestation = totalPrestation - totalAmount;\n if (totalPercentage > 0) totalPrestation = totalPrestation - (totalPrestation * (totalPercentage / 100));\n if (prestationList.minimumPrice && totalPrestation < prestationList.minimumPrice) totalPrestation = prestationList.minimumPrice;\n /* Gestion des options */\n let OptionTotalPrice: number = 0;\n if (optionsList.length) {\n optionsList.forEach((optionId) => {\n const optionPrice: number | undefined = Object.values(PrestationOption).find((option) => option.id === optionId)?.price;\n if (optionPrice) OptionTotalPrice += optionPrice;\n });\n }\n totalPrestation += (OptionTotalPrice ? OptionTotalPrice : 0);\n\n if (isWithApplicationFees) totalPrestation += 50;\n\n const calculDetail = `${monthNbr > 0 ? monthNbr + ' mois x ' + (Math.round(price * 100) / 100) + '€' : (Math.round(price * 100) / 100) + '€'} ${totalAmount > 0 ? '- ' + totalAmount + '€' : ''} ${totalPercentage > 0 ? '- ' + totalPercentage + '%' : ''} ${isWithApplicationFees ? '+ 50€' : ''}`;\n\n return { totalPrestation, reduceMonth, canBeCreated, calculDetail, monthlyPrice: monthNbr > 0 ? (Math.round(price * 100) / 100) + '€/mois' : (Math.round(price * 100) / 100) + '€', price };\n};\n\nconst getPrestationOptions = (idPrestationList: number): PrestationOptionType[] => {\n const PrestationOptionList: PrestationOptionType[] = Object.values(PrestationOption).filter(option => option.brand.includes(getBrandNameByNodeEnv(process.env.NODE_ENV)));\n return PrestationOptionList.filter(option => option.prestationList.includes(idPrestationList));\n};\n\nconst isAbleToUpdatePrice = (idTypeBrand: number, idPrestationList: number, turnover: number, pastBalanceSheet: boolean): boolean => {\n /* Récupération de la grille tarifaire */\n const currentPriceGrid: priceGrid | undefined = getPriceGrid(idTypeBrand, idPrestationList);\n if (currentPriceGrid) {\n // @ts-ignore\n if ([PrestationType.COMPTA_PREMIUM, PrestationType.COMPTA_POURCENTAGE_PREMIUM, PrestationType.COMPTA_POURCENTAGE_PREMIUM_EXPRESS].includes(idPrestationList) && currentPriceGrid.turnoverMonthly[currentPriceGrid.turnoverMonthly.length - 2].turnoverValue < turnover) return true;\n // @ts-ignore\n else if ([PrestationType.COMPTA_POURCENTAGE, PrestationType.COMPTA_POURCENTAGE_EXPRESS].includes(idPrestationList) && currentPriceGrid.turnoverMonthly[currentPriceGrid.turnoverMonthly.length - 1].turnoverValue < turnover) return true;\n // @ts-ignore\n else if ([PrestationType.BILAN_PREVISIONNEL].includes(idPrestationList) && !pastBalanceSheet && currentPriceGrid.turnoverCreatedYear[currentPriceGrid.turnoverCreatedYear.length - 1].turnoverValue < turnover) return true;\n // @ts-ignore\n else if ([PrestationType.BILAN_PREVISIONNEL].includes(idPrestationList) && pastBalanceSheet && currentPriceGrid.turnoverPastYear[currentPriceGrid.turnoverPastYear.length - 1].turnoverValue < turnover) return true;\n else return false;\n }\n return false;\n\n};\n\nexport {\n isOtherAccountingMissions, isOtherJuridicalMissions, isAdditionalPresta, isOtherSocialMission, isOnlyPrevi, isOnlySocial, isOnlyJuridic, isCreation, isExpress, calculateScoringOfPrestation, calculatePrestationPrice, getPrestationOptions, isAbleToUpdatePrice,\n};"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@silexpert/core",
3
- "version": "1.1.182",
3
+ "version": "1.1.183",
4
4
  "description": "Silex Core perform HTTP Request and object binding. Silex core helps developers to retrieve and return formatted object",
5
5
  "homepage": "https://gitlab.compta-clementine.fr/dev/silex-api",
6
6
  "main": "dist/cjs/index.js",