@silexpert/core 1.0.123 → 1.0.126

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 (127) hide show
  1. package/es/api/resources/Employee.d.ts.map +1 -1
  2. package/es/api/resources/Employee.js +3 -2
  3. package/es/api/resources/Employee.js.map +1 -1
  4. package/es/api/resources/Mail.d.ts +2 -1
  5. package/es/api/resources/Mail.d.ts.map +1 -1
  6. package/es/api/resources/Mail.js +3 -0
  7. package/es/api/resources/Mail.js.map +1 -1
  8. package/es/api/resources/SocietyConfigBalanceSheet.d.ts +1 -1
  9. package/es/api/resources/SocietyConfigBalanceSheet.d.ts.map +1 -1
  10. package/es/api/resources/SocietyConfigBalanceSheet.js +2 -2
  11. package/es/api/resources/SocietyConfigBalanceSheet.js.map +1 -1
  12. package/es/types/Enum/BalanceSheet.d.ts +1 -1
  13. package/es/types/Enum/BalanceSheet.js +1 -1
  14. package/es/types/Enum/BalanceSheet.js.map +1 -1
  15. package/es/types/Enum/BrandComptalib.js +1 -1
  16. package/es/types/Enum/BrandComptalib.js.map +1 -1
  17. package/es/types/Enum/DepositDocumentType.d.ts +10 -0
  18. package/es/types/Enum/DepositDocumentType.d.ts.map +1 -1
  19. package/es/types/Enum/DepositDocumentType.js +12 -0
  20. package/es/types/Enum/DepositDocumentType.js.map +1 -1
  21. package/es/types/Enum/Ged.d.ts +4 -0
  22. package/es/types/Enum/Ged.d.ts.map +1 -1
  23. package/es/types/Enum/Ged.js +26 -0
  24. package/es/types/Enum/Ged.js.map +1 -1
  25. package/es/types/Enum/MailAuto.d.ts +17 -7
  26. package/es/types/Enum/MailAuto.d.ts.map +1 -1
  27. package/es/types/Enum/MailAuto.js +28 -6
  28. package/es/types/Enum/MailAuto.js.map +1 -1
  29. package/es/types/Enum/RevisionGuide.d.ts +3 -3
  30. package/es/types/Enum/RevisionGuide.d.ts.map +1 -1
  31. package/es/types/Enum/RevisionGuide.js +3 -3
  32. package/es/types/Enum/RevisionGuide.js.map +1 -1
  33. package/es/types/Interface/api/mail/QueryGetSignature.d.ts +6 -0
  34. package/es/types/Interface/api/mail/QueryGetSignature.d.ts.map +1 -0
  35. package/es/types/Interface/api/mail/QueryGetSignature.js +32 -0
  36. package/es/types/Interface/api/mail/QueryGetSignature.js.map +1 -0
  37. package/es/types/Interface/api/societyConfigBalanceSheet/QueryGetAllSocietyConfigBalanceSheet.js +1 -1
  38. package/es/types/Interface/api/societyConfigBalanceSheet/QueryGetAllSocietyConfigBalanceSheet.js.map +1 -1
  39. package/es/types/Interface/models/IGedFile.d.ts +2 -0
  40. package/es/types/Interface/models/IGedFile.d.ts.map +1 -1
  41. package/es/types/Interface/models/IGedFile.js.map +1 -1
  42. package/es/types/Interface/models/IPaymentExpectation.d.ts +1 -0
  43. package/es/types/Interface/models/IPaymentExpectation.d.ts.map +1 -1
  44. package/es/types/Interface/models/IPaymentExpectation.js.map +1 -1
  45. package/es/types/Interface/models/ISociety.d.ts +2 -1
  46. package/es/types/Interface/models/ISociety.d.ts.map +1 -1
  47. package/es/types/Interface/models/ISociety.js.map +1 -1
  48. package/es/types/Interface/models/ISocietyConfigBalanceSheet.d.ts +6 -2
  49. package/es/types/Interface/models/ISocietyConfigBalanceSheet.d.ts.map +1 -1
  50. package/es/types/Interface/models/ISocietyConfigBalanceSheet.js.map +1 -1
  51. package/es/types/index.d.ts +1 -0
  52. package/es/types/index.d.ts.map +1 -1
  53. package/es/types/index.js +1 -0
  54. package/es/types/index.js.map +1 -1
  55. package/es/utils/commercialManagement/templates/body.d.ts.map +1 -1
  56. package/es/utils/commercialManagement/templates/body.js +2 -1
  57. package/es/utils/commercialManagement/templates/body.js.map +1 -1
  58. package/es/utils/commercialManagement/templates/common.js +1 -1
  59. package/es/utils/commercialManagement/templates/common.js.map +1 -1
  60. package/es/utils/email/templates/signature.d.ts +2 -0
  61. package/es/utils/email/templates/signature.d.ts.map +1 -0
  62. package/es/utils/email/templates/signature.js +196 -0
  63. package/es/utils/email/templates/signature.js.map +1 -0
  64. package/es/utils/email.d.ts +2 -0
  65. package/es/utils/email.d.ts.map +1 -0
  66. package/es/utils/email.js +223 -0
  67. package/es/utils/email.js.map +1 -0
  68. package/es/utils/index.d.ts +1 -0
  69. package/es/utils/index.d.ts.map +1 -1
  70. package/es/utils/index.js +1 -0
  71. package/es/utils/index.js.map +1 -1
  72. package/js/api/resources/Employee.js +4 -2
  73. package/js/api/resources/Employee.js.map +1 -1
  74. package/js/api/resources/Mail.js +6 -0
  75. package/js/api/resources/Mail.js.map +1 -1
  76. package/js/api/resources/SocietyConfigBalanceSheet.js +2 -2
  77. package/js/api/resources/SocietyConfigBalanceSheet.js.map +1 -1
  78. package/js/types/Enum/BalanceSheet.js +1 -1
  79. package/js/types/Enum/BalanceSheet.js.map +1 -1
  80. package/js/types/Enum/BrandComptalib.js +1 -1
  81. package/js/types/Enum/BrandComptalib.js.map +1 -1
  82. package/js/types/Enum/DepositDocumentType.js +17 -1
  83. package/js/types/Enum/DepositDocumentType.js.map +1 -1
  84. package/js/types/Enum/Ged.js +19 -0
  85. package/js/types/Enum/Ged.js.map +1 -1
  86. package/js/types/Enum/MailAuto.js +34 -6
  87. package/js/types/Enum/MailAuto.js.map +1 -1
  88. package/js/types/Enum/RevisionGuide.js +3 -3
  89. package/js/types/Enum/RevisionGuide.js.map +1 -1
  90. package/js/types/Interface/api/mail/QueryGetSignature.js +33 -0
  91. package/js/types/Interface/api/mail/QueryGetSignature.js.map +1 -0
  92. package/js/types/Interface/api/societyConfigBalanceSheet/QueryGetAllSocietyConfigBalanceSheet.js +1 -1
  93. package/js/types/Interface/api/societyConfigBalanceSheet/QueryGetAllSocietyConfigBalanceSheet.js.map +1 -1
  94. package/js/types/index.js +12 -0
  95. package/js/types/index.js.map +1 -1
  96. package/js/utils/commercialManagement/templates/body.js +2 -1
  97. package/js/utils/commercialManagement/templates/body.js.map +1 -1
  98. package/js/utils/commercialManagement/templates/common.js +1 -1
  99. package/js/utils/commercialManagement/templates/common.js.map +1 -1
  100. package/js/utils/email/templates/signature.js +201 -0
  101. package/js/utils/email/templates/signature.js.map +1 -0
  102. package/js/utils/email.js +317 -0
  103. package/js/utils/email.js.map +1 -0
  104. package/js/utils/index.js +12 -0
  105. package/js/utils/index.js.map +1 -1
  106. package/package.json +1 -1
  107. package/ts/api/resources/Employee.ts +3 -2
  108. package/ts/api/resources/Mail.ts +5 -0
  109. package/ts/api/resources/SocietyConfigBalanceSheet.ts +2 -2
  110. package/ts/types/Enum/BalanceSheet.ts +1 -1
  111. package/ts/types/Enum/BrandComptalib.ts +1 -1
  112. package/ts/types/Enum/DepositDocumentType.ts +12 -0
  113. package/ts/types/Enum/Ged.ts +27 -0
  114. package/ts/types/Enum/MailAuto.ts +30 -7
  115. package/ts/types/Enum/RevisionGuide.ts +3 -3
  116. package/ts/types/Interface/api/mail/QueryGetSignature.ts +21 -0
  117. package/ts/types/Interface/api/societyConfigBalanceSheet/QueryGetAllSocietyConfigBalanceSheet.ts +1 -1
  118. package/ts/types/Interface/models/IGedFile.ts +2 -0
  119. package/ts/types/Interface/models/IPaymentExpectation.ts +1 -0
  120. package/ts/types/Interface/models/ISociety.ts +2 -0
  121. package/ts/types/Interface/models/ISocietyConfigBalanceSheet.ts +6 -2
  122. package/ts/types/index.ts +1 -0
  123. package/ts/utils/commercialManagement/templates/body.ts +2 -1
  124. package/ts/utils/commercialManagement/templates/common.ts +1 -1
  125. package/ts/utils/email/templates/signature.ts +198 -0
  126. package/ts/utils/email.ts +230 -0
  127. package/ts/utils/index.ts +1 -0
@@ -0,0 +1,196 @@
1
+ const logoClementine = `<% if (brandName === 'Clementine') { %><tr>
2
+ <td
3
+ colspan="3"
4
+ class="logo"
5
+ style=""
6
+ width="850">
7
+ <img
8
+ src="https://clementine-website.s3.eu-west-3.amazonaws.com/logo_2022.png"
9
+ alt="Logo"
10
+ height="32"
11
+ style="padding-bottom: 10px;">
12
+ </td>
13
+ </tr><% } %>`;
14
+ const avatar = `<% if (!forceRole && user?.avatar?.token) { %>
15
+ <td
16
+ class="avatar"
17
+ style="text-align:center; padding: 20px 0 20px 20px; position: relative;"
18
+ width="100">
19
+ <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;">
20
+ <img
21
+ style="max-height: 90px;max-width: 90px; border-radius: 100%; padding-top: 1Opx"
22
+ src="
23
+ <%= hostS3 %>users/<%= user.id %>/<%= user.avatar.token %>
24
+ "
25
+ />
26
+ </p>
27
+ </td>
28
+ <% } %>`;
29
+ const footer = `<% if(brandName === 'Clementine') { %>
30
+ <tr>
31
+ <td
32
+ style="clear:both; padding-top: 20px; font-size:17px; line-height:14px; color:#ADADAD; text-align: justify; font-family: Arial;"
33
+ colspan="4">
34
+ <table style="width: 100%" width="100%">
35
+ <tr>
36
+ <td style="padding:0 10px 0 0" width="120">
37
+ <a href="https://app.compta-clementine.fr/" target="_blank" style="text-decoration: none; color: #6E6E71; white-space: nowrap;">
38
+ <img
39
+ src="https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_connect2.png"
40
+ style="vertical-align: text-top;"
41
+ width="20"
42
+ alt="Connexion"> Connexion
43
+ </a>
44
+ </td>
45
+ <td style="padding:0 10px 0 0" width="170">
46
+ <a href="mailto:<%= supportMail %>" target="_blank" style="text-decoration: none; color: #6E6E71; white-space: nowrap;">
47
+ <img
48
+ src="https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_support2.png"
49
+ style="vertical-align: text-top;"
50
+ width="17"
51
+ alt="Support technique"> Support technique
52
+ </a>
53
+ </td>
54
+ <td style="padding:0 5px 0 0" width="24">
55
+ <a href="https://www.youtube.com/channel/UCVnCpcLdRwuYBLvAphHsvig/" target="_blank" style="vertical-align: middle;"><img
56
+ src="https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_youtube.png"
57
+ alt="YouTube"
58
+ style="width: 20px"></a>
59
+ </td>
60
+ <td style="padding:0 5px 0 0" width="24">
61
+ <a href="https://www.linkedin.com/company/compta-cl%C3%A9mentine/" target="_blank" style="vertical-align: middle;"><img
62
+ src="https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_linkedin.png"
63
+ alt="LinkedIn"
64
+ style="width: 20px"></a>
65
+ </td>
66
+ <td style="padding:0 5px 0 0" width="24">
67
+ <a href="https://www.instagram.com/comptaclementine/" target="_blank" style="vertical-align: middle;"><img
68
+ src="https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_instagram.png"
69
+ alt="Instagram"
70
+ style="width: 20px"></a>
71
+ </td>
72
+ <td style="text-align: right; vertical-align: middle; color: #6E6E71" width="430">
73
+ <span>Télécharger l'app</span>
74
+ <a href="https://apps.apple.com/fr/app/clementine/id1119493780" target="_blank" style="vertical-align: middle; margin-left: 10px"><img
75
+ src="https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_appstore.png"
76
+ alt="App Store"
77
+ style="width: 20px"></a>
78
+ <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
79
+ src="https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_playstore.png"
80
+ alt="Play Store"
81
+ style="width: 20px"></a>
82
+ </td>
83
+ </tr>
84
+ <tr>
85
+ <td colspan="7" style="padding-top: 12px">
86
+ <span style="text-align: left; text-decoration: none; color: #A0A1A6; white-space: nowrap; float: left;">
87
+ Une question ? Découvrez votre <a href="https://www.compta-clementine.fr/aide/" style="color: #FF7E3C">centre d'aide</a>
88
+ </span>
89
+ <span style="text-align: right; text-decoration: none; color: #A0A1A6; white-space: nowrap; float: right;">
90
+ Jusqu’à 500€ avec notre <a href="https://www.compta-clementine.fr/parrainage/?utm_source=signature&utm_medium=email&utm_campaign=signature&utm_content=cta" style="color: #FF7E3C">programme de parrainage</a>
91
+ </span>
92
+ </td>
93
+ </tr>
94
+ </table>
95
+ </td>
96
+ </tr>
97
+ <% } else if(brandName === 'Pourcentage') { %>
98
+ <tr>
99
+ <td
100
+ style="clear:both; padding-top: 20px; font-size:17px; line-height:14px; color:#ADADAD; text-align: justify; font-family: Arial;"
101
+ colspan="4">
102
+ <table style="width: 100%" width="100%">
103
+ <tr>
104
+ <td style="padding:0 10px 0 0" width="120">
105
+ <a href="https://app.pourcentage.fr/" target="_blank" style="text-decoration: none; color: #6E6E71; white-space: nowrap;">
106
+ <img
107
+ src="https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_connect2.png"
108
+ style="vertical-align: text-top;"
109
+ width="20"
110
+ alt="Connexion"> Connexion
111
+ </a>
112
+ </td>
113
+ </table>
114
+ </td>
115
+ </tr>
116
+ <% } %>
117
+ `;
118
+ export const signatureTemplate = `<table
119
+ border="0"
120
+ cellpadding="0"
121
+ cellspacing="0"
122
+ width="850"
123
+ class="signatureClementine">
124
+
125
+ ${logoClementine}
126
+
127
+ <tr style="background: #F4F8FB">
128
+ ${avatar}
129
+ <td
130
+ class="infos"
131
+ style=" padding: 20px 0 20px 30px;font-size: 17px; font-family: Arial; color:#000"
132
+ width="290"
133
+ colspan="2">
134
+ <table
135
+ border="0"
136
+ cellpadding="0"
137
+ cellspacing="0"
138
+ width="290">
139
+ <tr>
140
+ <td width="290">
141
+ <p style="font-size: 17px; margin:0px 0; padding:0">
142
+ <strong><span style="color:<%= primaryColor %>; font-weight: bold;"><%= user?.firstname ?? '' %> <%= user?.lastname ?? '' %></span></strong>
143
+ </p>
144
+
145
+ <% if(roleSignature) { %>
146
+ <p style="font-size: 17px; margin:0px 0; padding:0">
147
+ <span style="color: #6E6E71; font-weight: bold;"><%= roleSignature %></span></p>
148
+ </p>
149
+ <% } %>
150
+ </td>
151
+ </tr>
152
+ </table>
153
+
154
+ <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;"><%= user.roles.map((r) => r.idRoles).includes(22) || (user && user.isAll === true) ? 'Nos' : 'Mes' %> horaires :<br/><%= horaires %></p>
155
+ </td>
156
+
157
+ <td class="infos" style="padding: 20px 20px 20px 0px; font-size: 17px; font-family: Arial; color:#000; <%= !user.calendlyUrl ? 'vertical-align: top;' : '' %>"
158
+ width="370">
159
+ <p style="margin:0px 0; padding:2px 0; color:#6E6E71; padding-left: 10px">
160
+ <span style="float:right">Standard : <%= standardPhoneSignature %></span><br/>
161
+ <% if(phoneSignature && phoneSignature !== standardPhoneSignature) { %>
162
+ <span style="float:right">Ligne directe : <%- phoneSignature %></span><br/>
163
+ <% } %>
164
+ </p>
165
+
166
+ <p style="margin:20px 60px 0 0; padding:0px 0 4px; color:#6E6E71; text-align: right; height: 54px;">
167
+ <% if(user.calendlyUrl) { %>
168
+ <img
169
+ src="https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_rightArrow.png"
170
+ alt="Prenez rendez-vous ici !">
171
+ <% } %>
172
+ </p>
173
+
174
+ <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
175
+ src="https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_smileYourPlanet.png"
176
+ alt="Initiative Smile your planet" height="36"></a>
177
+ <% if(user.calendlyUrl) { %>
178
+ <a href="<%= user.calendlyUrl %>" style="display: inline-block; color:#6E6E71;" target="_blank"><img
179
+ src="https://clementine-website.s3.eu-west-3.amazonaws.com/signaturemail_rdv_tel.png"
180
+ alt="Demande de rdv téléphonique"></a>
181
+ <% } %>
182
+ </p>
183
+ </td>
184
+ </tr>
185
+
186
+ ${footer}
187
+
188
+ <tr>
189
+ <td
190
+ style="clear:both; padding-top: 20px; font-size:14px; line-height:18px; color:#ADADAD; text-align: justify; font-family: Arial;"
191
+ colspan="4">
192
+ 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).
193
+ </td>
194
+ </tr>
195
+ </table>`;
196
+ //# sourceMappingURL=signature.js.map
@@ -0,0 +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;;;;;;;;;;;;;;UAcL,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: 1Opx\"\n src=\"\n <%= hostS3 %>users/<%= user.id %>/<%= user.avatar.token %>\n \"\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.compta-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.compta-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.compta-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;\"><%= user.roles.map((r) => r.idRoles).includes(22) || (user && user.isAll === true) ? 'Nos' : 'Mes' %> 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>`;"]}
@@ -0,0 +1,2 @@
1
+ export declare function generateSignature(params: any): string;
2
+ //# sourceMappingURL=email.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../ts/utils/email.ts"],"names":[],"mappings":"AAgHA,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,CAqHrD"}
@@ -0,0 +1,223 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import * as dayjs from 'dayjs';
13
+ import { orderBy as orderByLodash } from 'lodash';
14
+ import { Role } from '../types/Enum/Role';
15
+ import { getBrandConfig } from './brands';
16
+ import { signatureTemplate } from './email/templates/signature';
17
+ const ejs = require('ejs');
18
+ function intersection(arr) { return arr.reduce((a, b) => a.filter((c) => b.includes(c)), []); }
19
+ function getRoleSignature(user) {
20
+ if (user.positionLabel)
21
+ return user.positionLabel;
22
+ const isStagiaireOrAlternant = user.roles.map((r) => r.id).includes(Role.INTERN) || user.roles.map((r) => r.id).includes(Role.ALTERNATE);
23
+ const isManager = user.roles.map((r) => r.id).includes(Role.MANAGER);
24
+ const isSocial = user.roles.map((r) => r.id).includes(Role.SOCIAL);
25
+ const isJuridic = user.roles.map((r) => r.id).includes(Role.JURIDIC);
26
+ const isFacturation = user.roles.map((r) => r.id).includes(Role.FACTURATION);
27
+ const isExpert = user.roles.map((r) => r.id).includes(Role.EXPERT_ACCOUNTANT);
28
+ const isCS = user.roles.map((r) => r.id).includes(Role.CUSTOMER_SUCCESS);
29
+ const isSales = user.roles.map((r) => r.id).includes(Role.COMMERCIAL);
30
+ const isAdmin = user.roles.map((r) => r.id).includes(Role.ADMIN);
31
+ const isFront = !!intersection([user.roles.map((r) => r.id), [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS]]).length;
32
+ if (isSales && isManager) {
33
+ return 'Responsable commercial';
34
+ }
35
+ if (isSales) {
36
+ return `Chargé${user.idCivility === 2 ? 'e' : ''} de clientèle`;
37
+ }
38
+ if (isCS && isManager) {
39
+ return 'Responsable de clientèle';
40
+ }
41
+ if (isCS) {
42
+ return `Chargé${user.idCivility === 2 ? 'e' : ''} de clientèle`;
43
+ }
44
+ if (isFacturation && isStagiaireOrAlternant) {
45
+ return 'Assistant facturation';
46
+ }
47
+ if (isFacturation && isManager) {
48
+ return 'Responsable facturation';
49
+ }
50
+ if (isFacturation) {
51
+ return `Chargé${user.idCivility === 2 ? 'e' : ''} de facturation`;
52
+ }
53
+ if (isJuridic && isStagiaireOrAlternant) {
54
+ return 'Assistant juridique';
55
+ }
56
+ if (isJuridic && isManager) {
57
+ return 'Responsable juridique';
58
+ }
59
+ if (isJuridic) {
60
+ return 'Juriste';
61
+ }
62
+ if (isSocial && isStagiaireOrAlternant) {
63
+ return 'Assistant paie';
64
+ }
65
+ if (isSocial && isManager) {
66
+ return 'Responsable paie';
67
+ }
68
+ if (isSocial) {
69
+ return 'Gestionnaire de paie';
70
+ }
71
+ if (isExpert) {
72
+ return `Expert${user.idCivility === 2 ? 'e' : ''}-comptable`;
73
+ }
74
+ if (isAdmin) {
75
+ return 'Développeur web';
76
+ }
77
+ if (isFront && isManager)
78
+ return 'Responsable comptable';
79
+ if (isFront && isStagiaireOrAlternant)
80
+ return 'Assistant comptable';
81
+ if (isFront)
82
+ return `Comptable dédié${user.idCivility === 2 ? 'e' : ''}`;
83
+ return `Comptable dédié${user.idCivility === 2 ? 'e' : ''}`;
84
+ }
85
+ function getHoraires(user) {
86
+ if (!intersection([user.roles.map((r) => r.id), [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS, Role.COMMERCIAL]]).length)
87
+ return 'Du lundi au vendredi de 9h à 19h';
88
+ if (!user.workingSchedules.length)
89
+ return 'Du lundi au vendredi de 9h à 19h';
90
+ let reducedSchedules = user.workingSchedules.reduce((acc, e, index) => {
91
+ const name = `${dayjs(e.morningStart, 'HH:mm:ss').format('HH:mm')}-${dayjs(e.afternoonEnd || e.morningEnd, 'HH:mm:ss').format('HH:mm')}`;
92
+ if (!acc[name])
93
+ acc[name] = [index];
94
+ else
95
+ acc[name].push(index);
96
+ return acc;
97
+ }, {});
98
+ reducedSchedules = orderByLodash(reducedSchedules, (elem) => elem.length, ['desc']);
99
+ let resultHoraire = '';
100
+ let startH;
101
+ let startM;
102
+ let endH;
103
+ let endM;
104
+ let firstDayOfWeek;
105
+ let lastDayOfWeek;
106
+ reducedSchedules.forEach((schedule, index) => {
107
+ startH = dayjs(user.workingSchedules[schedule[0]].morningStart ? user.workingSchedules[schedule[0]].morningStart : user.workingSchedules[schedule[0]].afternoonStart, 'HH:mm:ss').get('hour');
108
+ startM = dayjs(user.workingSchedules[schedule[0]].morningStart ? user.workingSchedules[schedule[0]].morningStart : user.workingSchedules[schedule[0]].afternoonStart, 'HH:mm:ss').get('minute');
109
+ endH = dayjs(user.workingSchedules[schedule[0]].afternoonEnd || user.workingSchedules[schedule[0]].morningEnd, 'HH:mm:ss').get('hour');
110
+ endM = dayjs(user.workingSchedules[schedule[0]].afternoonEnd || user.workingSchedules[schedule[0]].morningEnd, 'HH:mm:ss').get('minute');
111
+ firstDayOfWeek = dayjs().locale('fr').day(user.workingSchedules[schedule[0]].idDay).format('dddd');
112
+ if (!index) {
113
+ // pour le premier index, on affiche l'amplitude horaire la plus commune, du XX au XX de Xh à Xh
114
+ lastDayOfWeek = dayjs().locale('fr').day(user.workingSchedules[user.workingSchedules.length - 1].idDay).format('dddd');
115
+ resultHoraire += `Du ${firstDayOfWeek} au ${lastDayOfWeek} de ${startH}h${startM > 0 ? startM : ''} à ${endH}h${endM > 0 ? endM : ''}`;
116
+ }
117
+ else { // Fonctionnel si uniquement un jour par semaine avec des horaires différents
118
+ resultHoraire += `<br/>Le ${firstDayOfWeek} de ${startH}h${startM > 0 ? startM : ''} à ${endH}h${endM > 0 ? endM : ''}`;
119
+ }
120
+ });
121
+ return resultHoraire;
122
+ }
123
+ function getMailSignature(user, idTypeBrand) {
124
+ const informatiqueMail = getBrandConfig(Object.assign(Object.assign({}, (idTypeBrand ? { idTypeBrand } : {})), { objectWaited: 'listMails.informatique' }));
125
+ const bonjourMail = getBrandConfig(Object.assign(Object.assign({}, (idTypeBrand ? { idTypeBrand } : {})), { objectWaited: 'listMails.bonjour' }));
126
+ if (user.roles.map((r) => r.id).includes(Role.ADMIN)) {
127
+ return informatiqueMail;
128
+ }
129
+ if (user && !!intersection([user.roles.map((r) => r.id), [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS, Role.COMMERCIAL]]).length)
130
+ return user.email;
131
+ return bonjourMail;
132
+ }
133
+ function getPhoneSignature(user) {
134
+ if (user.phone !== '0383931414') {
135
+ return user.phone.replace(/\B(?=(\d{2})+(?!\d))/g, '&nbsp;');
136
+ }
137
+ return false;
138
+ }
139
+ export function generateSignature(params) {
140
+ const { forceRole = null, idTypeBrand = 1 } = params, otherParams = __rest(params, ["forceRole", "idTypeBrand"]);
141
+ let { user, } = otherParams;
142
+ const hostS3 = getBrandConfig({
143
+ idTypeBrand,
144
+ objectWaited: 'urlS3',
145
+ });
146
+ const brandName = getBrandConfig(Object.assign(Object.assign({}, (idTypeBrand ? { idTypeBrand } : {})), { objectWaited: 'name' }));
147
+ const bonjourMail = getBrandConfig(Object.assign(Object.assign({}, (idTypeBrand ? { idTypeBrand } : {})), { objectWaited: 'listMails.bonjour' }));
148
+ const socialMail = getBrandConfig(Object.assign(Object.assign({}, (idTypeBrand ? { idTypeBrand } : {})), { objectWaited: 'listMails.social' }));
149
+ const supportMail = getBrandConfig(Object.assign(Object.assign({}, (idTypeBrand ? { idTypeBrand } : {})), { objectWaited: 'listMails.support' }));
150
+ const juridiqueMail = getBrandConfig(Object.assign(Object.assign({}, (idTypeBrand ? { idTypeBrand } : {})), { objectWaited: 'listMails.juridique' }));
151
+ const facturationMail = getBrandConfig(Object.assign(Object.assign({}, (idTypeBrand ? { idTypeBrand } : {})), { objectWaited: 'listMails.facturation' }));
152
+ const primaryColor = getBrandConfig(Object.assign(Object.assign({}, (idTypeBrand ? { idTypeBrand } : {})), { objectWaited: 'colors.primary' }));
153
+ const standardPhoneSignature = getBrandConfig(Object.assign(Object.assign({}, (idTypeBrand ? { idTypeBrand } : {})), { objectWaited: 'listPhones.contact' }));
154
+ const juridiquePhoneSignature = getBrandConfig(Object.assign(Object.assign({}, (idTypeBrand ? { idTypeBrand } : {})), { objectWaited: 'listPhones.juridique' }));
155
+ const socialPhoneSignature = getBrandConfig(Object.assign(Object.assign({}, (idTypeBrand ? { idTypeBrand } : {})), { objectWaited: 'listPhones.social' }));
156
+ let roleSignature;
157
+ let mailSignature;
158
+ let phoneSignature;
159
+ let horaires;
160
+ [roleSignature, mailSignature, phoneSignature, horaires] = ['Expert-Comptable', bonjourMail, false, 'Du lundi au vendredi de 9h à 19h'];
161
+ if (!user) { // Signature Clementine
162
+ user = {
163
+ firstname: `L'équipe ${brandName}`,
164
+ isAll: true,
165
+ };
166
+ roleSignature = '';
167
+ }
168
+ else if (forceRole === 'social') { // Signature social
169
+ user = {
170
+ firstname: 'Service social',
171
+ isAll: true,
172
+ };
173
+ mailSignature = socialMail;
174
+ roleSignature = '';
175
+ phoneSignature = socialPhoneSignature;
176
+ }
177
+ else if (forceRole === 'support') { // Signature support
178
+ user = {
179
+ firstname: 'Service Support',
180
+ isAll: true,
181
+ };
182
+ mailSignature = supportMail;
183
+ roleSignature = null;
184
+ }
185
+ else if (forceRole === 'juridique') { // Signature juridique
186
+ user = {
187
+ firstname: 'Service juridique',
188
+ isAll: true,
189
+ };
190
+ mailSignature = juridiqueMail;
191
+ roleSignature = null;
192
+ phoneSignature = juridiquePhoneSignature;
193
+ }
194
+ else if (forceRole === 'facturation') { // Signature facturation
195
+ user = {
196
+ firstname: 'Service facturation',
197
+ isAll: true,
198
+ };
199
+ mailSignature = facturationMail;
200
+ roleSignature = null;
201
+ phoneSignature = standardPhoneSignature;
202
+ }
203
+ else if (user !== 0) { // Signature par défaut
204
+ roleSignature = getRoleSignature(user);
205
+ mailSignature = getMailSignature(user, idTypeBrand);
206
+ horaires = getHoraires(user);
207
+ phoneSignature = getPhoneSignature(user);
208
+ }
209
+ return ejs.render(signatureTemplate, {
210
+ forceRole,
211
+ brandName,
212
+ hostS3,
213
+ user,
214
+ roleSignature,
215
+ mailSignature,
216
+ phoneSignature,
217
+ standardPhoneSignature,
218
+ horaires,
219
+ primaryColor,
220
+ supportMail,
221
+ });
222
+ }
223
+ //# sourceMappingURL=email.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email.js","sourceRoot":"","sources":["../../ts/utils/email.ts"],"names":[],"mappings":"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","sourcesContent":["import * as dayjs from 'dayjs';\nimport { orderBy as orderByLodash } from 'lodash';\nimport { Role } from '../types/Enum/Role';\nimport { getBrandConfig } from './brands';\nimport { signatureTemplate } from './email/templates/signature';\n\nconst ejs = require('ejs');\n\nfunction intersection<T>(arr: [T[], T[]]) { return arr.reduce((a: T[], b: T[]) => a.filter((c) => b.includes(c)), []); }\n\nfunction getRoleSignature(user:any) {\n if (user.positionLabel) return user.positionLabel;\n\n const isStagiaireOrAlternant = user.roles.map((r: any) => r.id).includes(Role.INTERN) || user.roles.map((r: any) => r.id).includes(Role.ALTERNATE);\n const isManager = user.roles.map((r: any) => r.id).includes(Role.MANAGER);\n\n const isSocial = user.roles.map((r: any) => r.id).includes(Role.SOCIAL);\n const isJuridic = user.roles.map((r: any) => r.id).includes(Role.JURIDIC);\n const isFacturation = user.roles.map((r: any) => r.id).includes(Role.FACTURATION);\n const isExpert = user.roles.map((r: any) => r.id).includes(Role.EXPERT_ACCOUNTANT);\n const isCS = user.roles.map((r: any) => r.id).includes(Role.CUSTOMER_SUCCESS);\n const isSales = user.roles.map((r: any) => r.id).includes(Role.COMMERCIAL);\n const isAdmin = user.roles.map((r: any) => r.id).includes(Role.ADMIN);\n const isFront = !!intersection([user.roles.map((r: any) => r.id), [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS]]).length;\n\n if (isSales && isManager) { return 'Responsable commercial'; }\n if (isSales) { return `Chargé${user.idCivility === 2 ? 'e' : ''} de clientèle`; }\n\n if (isCS && isManager) { return 'Responsable de clientèle'; }\n if (isCS) { return `Chargé${user.idCivility === 2 ? 'e' : ''} de clientèle`; }\n\n if (isFacturation && isStagiaireOrAlternant) { return 'Assistant facturation'; }\n if (isFacturation && isManager) { return 'Responsable facturation'; }\n if (isFacturation) { return `Chargé${user.idCivility === 2 ? 'e' : ''} de facturation`; }\n\n if (isJuridic && isStagiaireOrAlternant) { return 'Assistant juridique'; }\n if (isJuridic && isManager) { return 'Responsable juridique'; }\n if (isJuridic) { return 'Juriste'; }\n\n if (isSocial && isStagiaireOrAlternant) { return 'Assistant paie'; }\n if (isSocial && isManager) { return 'Responsable paie'; }\n if (isSocial) { return 'Gestionnaire de paie'; }\n\n if (isExpert) { return `Expert${user.idCivility === 2 ? 'e' : ''}-comptable`; }\n\n if (isAdmin) { return 'Développeur web'; }\n\n if (isFront && isManager) return 'Responsable comptable';\n if (isFront && isStagiaireOrAlternant) return 'Assistant comptable';\n if (isFront) return `Comptable dédié${user.idCivility === 2 ? 'e' : ''}`;\n return `Comptable dédié${user.idCivility === 2 ? 'e' : ''}`;\n}\n\nfunction getHoraires(user:any) { // On affiche les horaires uniquement pour les front, et pas pour les TVA\n if (!intersection([user.roles.map((r: any) => r.id), [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS, Role.COMMERCIAL]]).length) return 'Du lundi au vendredi de 9h à 19h';\n\n if (!user.workingSchedules.length) return 'Du lundi au vendredi de 9h à 19h';\n\n let reducedSchedules = user.workingSchedules.reduce((acc: any, e:any, index: number) => {\n const name = `${dayjs(e.morningStart, 'HH:mm:ss').format('HH:mm')}-${dayjs(e.afternoonEnd || e.morningEnd, 'HH:mm:ss').format('HH:mm')}`;\n if (!acc[name]) acc[name] = [index];\n else acc[name].push(index);\n return acc;\n }, {});\n\n reducedSchedules = orderByLodash(reducedSchedules, (elem) => elem.length, ['desc']);\n\n let resultHoraire = '';\n let startH;\n let startM;\n let endH;\n let endM;\n let firstDayOfWeek;\n let lastDayOfWeek;\n\n reducedSchedules.forEach((schedule: any, index: number) => {\n startH = dayjs(user.workingSchedules[schedule[0]].morningStart ? user.workingSchedules[schedule[0]].morningStart : user.workingSchedules[schedule[0]].afternoonStart, 'HH:mm:ss').get('hour');\n startM = dayjs(user.workingSchedules[schedule[0]].morningStart ? user.workingSchedules[schedule[0]].morningStart : user.workingSchedules[schedule[0]].afternoonStart, 'HH:mm:ss').get('minute');\n endH = dayjs(user.workingSchedules[schedule[0]].afternoonEnd || user.workingSchedules[schedule[0]].morningEnd, 'HH:mm:ss').get('hour');\n endM = dayjs(user.workingSchedules[schedule[0]].afternoonEnd || user.workingSchedules[schedule[0]].morningEnd, 'HH:mm:ss').get('minute');\n firstDayOfWeek = dayjs().locale('fr').day(user.workingSchedules[schedule[0]].idDay).format('dddd');\n if (!index) {\n // pour le premier index, on affiche l'amplitude horaire la plus commune, du XX au XX de Xh à Xh\n lastDayOfWeek = dayjs().locale('fr').day(user.workingSchedules[user.workingSchedules.length - 1].idDay).format('dddd');\n resultHoraire += `Du ${firstDayOfWeek} au ${lastDayOfWeek} de ${startH}h${startM > 0 ? startM : ''} à ${endH}h${endM > 0 ? endM : ''}`;\n } else { // Fonctionnel si uniquement un jour par semaine avec des horaires différents\n resultHoraire += `<br/>Le ${firstDayOfWeek} de ${startH}h${startM > 0 ? startM : ''} à ${endH}h${endM > 0 ? endM : ''}`;\n }\n });\n return resultHoraire;\n}\n\nfunction getMailSignature(user:any, idTypeBrand:number) {\n const informatiqueMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.informatique',\n }) as unknown as string;\n const bonjourMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.bonjour',\n }) as unknown as string;\n\n if (user.roles.map((r: any) => r.id).includes(Role.ADMIN)) { return informatiqueMail; }\n if (user && !!intersection([user.roles.map((r: any) => r.id), [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS, Role.COMMERCIAL]]).length) return user.email;\n return bonjourMail;\n}\n\nfunction getPhoneSignature(user:any) {\n if (user.phone !== '0383931414') { return user.phone.replace(/\\B(?=(\\d{2})+(?!\\d))/g, '&nbsp;'); }\n return false;\n}\n\nexport function generateSignature(params: any): string {\n const {\n forceRole = null, idTypeBrand = 1, ...otherParams\n } = params;\n let {\n user,\n } = otherParams;\n\n const hostS3 = getBrandConfig({\n idTypeBrand,\n objectWaited: 'urlS3',\n });\n\n const brandName = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'name',\n }) as unknown as string;\n const bonjourMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.bonjour',\n }) as unknown as string;\n const socialMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.social',\n }) as unknown as string;\n const supportMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.support',\n }) as unknown as string;\n const juridiqueMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.juridique',\n }) as unknown as string;\n const facturationMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.facturation',\n }) as unknown as string;\n const primaryColor = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'colors.primary',\n }) as unknown as string;\n const standardPhoneSignature = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listPhones.contact',\n }) as unknown as string;\n const juridiquePhoneSignature = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listPhones.juridique',\n }) as unknown as string;\n const socialPhoneSignature = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listPhones.social',\n }) as unknown as string;\n\n let roleSignature: string | null;\n let mailSignature: string | null;\n let phoneSignature: string | boolean;\n let horaires: string | null;\n [roleSignature, mailSignature, phoneSignature, horaires] = ['Expert-Comptable', bonjourMail, false, 'Du lundi au vendredi de 9h à 19h'];\n\n if (!user) { // Signature Clementine\n user = {\n firstname: `L'équipe ${brandName}`,\n isAll: true,\n };\n roleSignature = '';\n } else if (forceRole === 'social') { // Signature social\n user = {\n firstname: 'Service social',\n isAll: true,\n };\n mailSignature = socialMail;\n roleSignature = '';\n phoneSignature = socialPhoneSignature;\n } else if (forceRole === 'support') { // Signature support\n user = {\n firstname: 'Service Support',\n isAll: true,\n };\n mailSignature = supportMail;\n roleSignature = null;\n } else if (forceRole === 'juridique') { // Signature juridique\n user = {\n firstname: 'Service juridique',\n isAll: true,\n };\n mailSignature = juridiqueMail;\n roleSignature = null;\n phoneSignature = juridiquePhoneSignature;\n } else if (forceRole === 'facturation') { // Signature facturation\n user = {\n firstname: 'Service facturation',\n isAll: true,\n };\n mailSignature = facturationMail;\n roleSignature = null;\n phoneSignature = standardPhoneSignature;\n } else if (user !== 0) { // Signature par défaut\n roleSignature = getRoleSignature(user);\n mailSignature = getMailSignature(user, idTypeBrand);\n horaires = getHoraires(user);\n phoneSignature = getPhoneSignature(user);\n }\n\n return ejs.render(signatureTemplate, {\n forceRole,\n brandName,\n hostS3,\n user,\n roleSignature,\n mailSignature,\n phoneSignature,\n standardPhoneSignature,\n horaires,\n primaryColor,\n supportMail,\n });\n}"]}
@@ -6,6 +6,7 @@ export * from './decorators';
6
6
  export * from './documents';
7
7
  export * from './balanceSheetModule';
8
8
  export * from './siretValidation';
9
+ export * from './email';
9
10
  export * from './prestation';
10
11
  export * from './task';
11
12
  export * from './social';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../ts/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../ts/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC"}
package/es/utils/index.js CHANGED
@@ -6,6 +6,7 @@ export * from './decorators';
6
6
  export * from './documents';
7
7
  export * from './balanceSheetModule';
8
8
  export * from './siretValidation';
9
+ export * from './email';
9
10
  export * from './prestation';
10
11
  export * from './task';
11
12
  export * from './social';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC","sourcesContent":["export * from './objectUtils';\nexport * from './stringUtils';\nexport * from './brands';\nexport * from './webmail';\nexport * from './decorators';\nexport * from './documents';\nexport * from './balanceSheetModule';\nexport * from './siretValidation';\nexport * from './prestation';\nexport * from './task';\nexport * from './social';\nexport * from './commercialManagement/document';\nexport * from './commercialManagement/recurrence';\nexport * from './amount';\nexport * from './quotation';"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC","sourcesContent":["export * from './objectUtils';\nexport * from './stringUtils';\nexport * from './brands';\nexport * from './webmail';\nexport * from './decorators';\nexport * from './documents';\nexport * from './balanceSheetModule';\nexport * from './siretValidation';\nexport * from './email';\nexport * from './prestation';\nexport * from './task';\nexport * from './social';\nexport * from './commercialManagement/document';\nexport * from './commercialManagement/recurrence';\nexport * from './amount';\nexport * from './quotation';"]}
@@ -7,13 +7,15 @@ exports.Employee = undefined;
7
7
 
8
8
  var _lodash = require("lodash");
9
9
 
10
+ var _classValidator = require("class-validator");
11
+
10
12
  var _Resource = require("../Resource");
11
13
 
12
14
  class Employee extends _Resource.Resource {
13
15
  create(payload) {
14
16
  const formData = new FormData();
15
17
  (0, _lodash.forEach)(payload, (value, key) => {
16
- if (value) {
18
+ if ((0, _classValidator.isDefined)(value) || key === 'writeDpae') {
17
19
  if (['dpaeFile', 'contractFile'].includes(key)) {
18
20
  formData.append(key, value);
19
21
  } else {
@@ -39,7 +41,7 @@ class Employee extends _Resource.Resource {
39
41
  update(id, payload) {
40
42
  const formData = new FormData();
41
43
  (0, _lodash.forEach)(payload, (value, key) => {
42
- if (value) {
44
+ if ((0, _classValidator.isDefined)(value) || key === 'writeDpae') {
43
45
  if (['dpaeFile', 'contractFile'].includes(key)) {
44
46
  formData.append(key, value);
45
47
  } else {
@@ -1 +1 @@
1
- {"version":3,"file":"Employee.js","mappings":";;;;;;;AACA;;AAUA;;AAEM,MAAOA,QAAP,SAAwBC,kBAAxB,CAAgC;EAC7BC,MAAM,CAACC,OAAD,EAAiC;IAC5C,MAAMC,QAAQ,GAAG,IAAIC,QAAJ,EAAjB;IACA,qBAAQF,OAAR,EAAiB,CAACG,KAAD,EAAQC,GAAR,KAAe;MAC9B,IAAID,KAAJ,EAAW;QACT,IAAI,CAAC,UAAD,EAAa,cAAb,EAA6BE,QAA7B,CAAsCD,GAAtC,CAAJ,EAAgD;UAC9CH,QAAQ,CAACK,MAAT,CAAgBF,GAAhB,EAAqBD,KAArB;QACD,CAFD,MAEO;UACLF,QAAQ,CAACK,MAAT,CAAgBF,GAAhB,EAAqB,GAAGD,KAAK,EAA7B;QACD;MACF;IACF,CARD;IASA,OAAO,KAAKI,KAAL,CAAWC,KAAX,CAAiB,YAAjB,EAA+BP,QAA/B,EAAyC;MAC9CQ,OAAO,EAAE;QAAE,gBAAgB;MAAlB;IADqC,CAAzC,CAAP;EAGD;;EAEMC,MAAM,CAACC,SAAD,EAAkB;IAC7B,OAAO,KAAKJ,KAAL,CAAWK,IAAX,CAAgB,cAAcD,SAAS,YAAvC,CAAP;EACD;;EAEME,GAAG,CAACC,EAAD,EAAW;IACnB,OAAO,KAAKP,KAAL,CAAWK,IAAX,CAAgB,cAAcE,EAAE,EAAhC,CAAP;EACD;;EAEMC,MAAM,CACXD,EADW,EAEXd,OAFW,EAEqB;IAEhC,MAAMC,QAAQ,GAAG,IAAIC,QAAJ,EAAjB;IACA,qBAAQF,OAAR,EAAiB,CAACG,KAAD,EAAQC,GAAR,KAAe;MAC9B,IAAID,KAAJ,EAAW;QACT,IAAI,CAAC,UAAD,EAAa,cAAb,EAA6BE,QAA7B,CAAsCD,GAAtC,CAAJ,EAAgD;UAC9CH,QAAQ,CAACK,MAAT,CAAgBF,GAAhB,EAAqBD,KAArB;QACD,CAFD,MAEO;UACLF,QAAQ,CAACK,MAAT,CAAgBF,GAAhB,EAAqB,GAAGD,KAAK,EAA7B;QACD;MACF;IACF,CARD;IASA,OAAO,KAAKI,KAAL,CAAWS,IAAX,CAAgB,cAAcF,EAAE,EAAhC,EAAoCb,QAApC,EAA8C;MACnDQ,OAAO,EAAE;QAAE,gBAAgB;MAAlB;IAD0C,CAA9C,CAAP;EAGD;;EAEMQ,MAAM,CAACH,EAAD,EAAW;IACtB,OAAO,KAAKP,KAAL,CAAWW,OAAX,CAAmB,cAAcJ,EAAE,EAAnC,CAAP;EACD;;EAEMK,WAAW,CAChBR,SADgB,EAEhBS,MAFgB,EAGhBC,WAHgB,EAGS;IAEzB,OAAO,KAAKd,KAAL,CAAWK,IAAX,CAAgB,cAAcD,SAAS,YAAvC,EAAmDW,gCACpDD,WAAW,GAAG;MAAEA;IAAF,CAAH,GAAqB,EADoB,GACjB;MACvCD,MAAM,kCAAOA,MAAP,GAAa;QAAEG,UAAU,EAAE;MAAd,CAAb;IADiC,CADiB,CAAnD,CAAP;EAID;;EAEMC,6BAA6B,CAClCC,UADkC,EAElCzB,OAFkC,EAEK;IAEvC,OAAO,KAAKO,KAAL,CAAWC,KAAX,CACL,aAAaiB,UAAU,oBADlB,EAELzB,OAFK,CAAP;EAID;;EAEM0B,qBAAqB,CAC1BD,UAD0B,EAE1BE,iBAF0B,EAED;IAEzB,OAAO,KAAKpB,KAAL,CAAWW,OAAX,CACL,aAAaO,UAAU,sBAAsBE,iBAAiB,EADzD,CAAP;EAGD;;AA5EmC;;QAAzB9B,Q,GAAAA,Q","names":["Employee","Resource","create","payload","formData","FormData","value","key","includes","append","axios","$post","headers","getAll","idSociety","$get","get","id","update","$put","delete","$delete","getPaginate","params","cancelToken","Object","isPaginate","updateOrCreateWorkingSchedule","idEmployee","deleteWorkingSchedule","idWorkingSchedule"],"sourceRoot":"","sources":["../../../ts/api/resources/Employee.ts"],"sourcesContent":["import { CancelToken } from 'axios';\nimport { forEach } from 'lodash';\nimport {\n BasePaginate,\n IEmployee,\n IWorkingSchedule,\n CreateEmployee,\n QueryEmployeeSearch,\n UpdateEmployee,\n UpdateOrCreateWorkingSchedule,\n} from '../../types';\nimport { Resource } from '../Resource';\n\nexport class Employee extends Resource {\n public create(payload: Partial<CreateEmployee>): Promise<IEmployee> {\n const formData = new FormData();\n forEach(payload, (value, key) => {\n if (value) {\n if (['dpaeFile', 'contractFile'].includes(key)) {\n formData.append(key, value as File);\n } else {\n formData.append(key, `${value}`);\n }\n }\n });\n return this.axios.$post('/employees', formData, {\n headers: { 'Content-Type': 'multipart/form-data' },\n });\n }\n\n public getAll(idSociety: number): Promise<IEmployee[]> {\n return this.axios.$get(`/societies/${idSociety}/employees`);\n }\n\n public get(id: number): Promise<IEmployee> {\n return this.axios.$get(`/employees/${id}`);\n }\n\n public update(\n id: number,\n payload: Partial<UpdateEmployee>,\n ): Promise<IEmployee> {\n const formData = new FormData();\n forEach(payload, (value, key) => {\n if (value) {\n if (['dpaeFile', 'contractFile'].includes(key)) {\n formData.append(key, value as File);\n } else {\n formData.append(key, `${value}`);\n }\n }\n });\n return this.axios.$put(`/employees/${id}`, formData, {\n headers: { 'Content-Type': 'multipart/form-data' },\n });\n }\n\n public delete(id: number): Promise<true> {\n return this.axios.$delete(`/employees/${id}`);\n }\n\n public getPaginate(\n idSociety: number,\n params?: QueryEmployeeSearch,\n cancelToken?: CancelToken,\n ): Promise<BasePaginate<Employee>> {\n return this.axios.$get(`/societies/${idSociety}/employees`, {\n ...(cancelToken ? { cancelToken } : {}),\n params: { ...params, isPaginate: true },\n });\n }\n\n public updateOrCreateWorkingSchedule(\n idEmployee: number,\n payload?: UpdateOrCreateWorkingSchedule,\n ): Promise<IWorkingSchedule> {\n return this.axios.$post(\n `employees/${idEmployee}/working-schedules`,\n payload,\n );\n }\n\n public deleteWorkingSchedule(\n idEmployee: number,\n idWorkingSchedule: number,\n ): Promise<true> {\n return this.axios.$delete(\n `employees/${idEmployee}/working-schedules/${idWorkingSchedule}`,\n );\n }\n}\n"]}
1
+ {"version":3,"file":"Employee.js","mappings":";;;;;;;AACA;;AACA;;AAUA;;AAEM,MAAOA,QAAP,SAAwBC,kBAAxB,CAAgC;EAC7BC,MAAM,CAACC,OAAD,EAAiC;IAC5C,MAAMC,QAAQ,GAAG,IAAIC,QAAJ,EAAjB;IACA,qBAAQF,OAAR,EAAiB,CAACG,KAAD,EAAQC,GAAR,KAAe;MAC9B,IAAI,+BAAUD,KAAV,KAAoBC,GAAG,KAAK,WAAhC,EAA6C;QAC3C,IAAI,CAAC,UAAD,EAAa,cAAb,EAA6BC,QAA7B,CAAsCD,GAAtC,CAAJ,EAAgD;UAC9CH,QAAQ,CAACK,MAAT,CAAgBF,GAAhB,EAAqBD,KAArB;QACD,CAFD,MAEO;UACLF,QAAQ,CAACK,MAAT,CAAgBF,GAAhB,EAAqB,GAAGD,KAAK,EAA7B;QACD;MACF;IACF,CARD;IASA,OAAO,KAAKI,KAAL,CAAWC,KAAX,CAAiB,YAAjB,EAA+BP,QAA/B,EAAyC;MAC9CQ,OAAO,EAAE;QAAE,gBAAgB;MAAlB;IADqC,CAAzC,CAAP;EAGD;;EAEMC,MAAM,CAACC,SAAD,EAAkB;IAC7B,OAAO,KAAKJ,KAAL,CAAWK,IAAX,CAAgB,cAAcD,SAAS,YAAvC,CAAP;EACD;;EAEME,GAAG,CAACC,EAAD,EAAW;IACnB,OAAO,KAAKP,KAAL,CAAWK,IAAX,CAAgB,cAAcE,EAAE,EAAhC,CAAP;EACD;;EAEMC,MAAM,CACXD,EADW,EAEXd,OAFW,EAEqB;IAEhC,MAAMC,QAAQ,GAAG,IAAIC,QAAJ,EAAjB;IACA,qBAAQF,OAAR,EAAiB,CAACG,KAAD,EAAQC,GAAR,KAAe;MAC9B,IAAI,+BAAUD,KAAV,KAAoBC,GAAG,KAAK,WAAhC,EAA6C;QAC3C,IAAI,CAAC,UAAD,EAAa,cAAb,EAA6BC,QAA7B,CAAsCD,GAAtC,CAAJ,EAAgD;UAC9CH,QAAQ,CAACK,MAAT,CAAgBF,GAAhB,EAAqBD,KAArB;QACD,CAFD,MAEO;UACLF,QAAQ,CAACK,MAAT,CAAgBF,GAAhB,EAAqB,GAAGD,KAAK,EAA7B;QACD;MACF;IACF,CARD;IASA,OAAO,KAAKI,KAAL,CAAWS,IAAX,CAAgB,cAAcF,EAAE,EAAhC,EAAoCb,QAApC,EAA8C;MACnDQ,OAAO,EAAE;QAAE,gBAAgB;MAAlB;IAD0C,CAA9C,CAAP;EAGD;;EAEMQ,MAAM,CAACH,EAAD,EAAW;IACtB,OAAO,KAAKP,KAAL,CAAWW,OAAX,CAAmB,cAAcJ,EAAE,EAAnC,CAAP;EACD;;EAEMK,WAAW,CAChBR,SADgB,EAEhBS,MAFgB,EAGhBC,WAHgB,EAGS;IAEzB,OAAO,KAAKd,KAAL,CAAWK,IAAX,CAAgB,cAAcD,SAAS,YAAvC,EAAmDW,gCACpDD,WAAW,GAAG;MAAEA;IAAF,CAAH,GAAqB,EADoB,GACjB;MACvCD,MAAM,kCAAOA,MAAP,GAAa;QAAEG,UAAU,EAAE;MAAd,CAAb;IADiC,CADiB,CAAnD,CAAP;EAID;;EAEMC,6BAA6B,CAClCC,UADkC,EAElCzB,OAFkC,EAEK;IAEvC,OAAO,KAAKO,KAAL,CAAWC,KAAX,CACL,aAAaiB,UAAU,oBADlB,EAELzB,OAFK,CAAP;EAID;;EAEM0B,qBAAqB,CAC1BD,UAD0B,EAE1BE,iBAF0B,EAED;IAEzB,OAAO,KAAKpB,KAAL,CAAWW,OAAX,CACL,aAAaO,UAAU,sBAAsBE,iBAAiB,EADzD,CAAP;EAGD;;AA5EmC;;QAAzB9B,Q,GAAAA,Q","names":["Employee","Resource","create","payload","formData","FormData","value","key","includes","append","axios","$post","headers","getAll","idSociety","$get","get","id","update","$put","delete","$delete","getPaginate","params","cancelToken","Object","isPaginate","updateOrCreateWorkingSchedule","idEmployee","deleteWorkingSchedule","idWorkingSchedule"],"sourceRoot":"","sources":["../../../ts/api/resources/Employee.ts"],"sourcesContent":["import { CancelToken } from 'axios';\nimport { forEach } from 'lodash';\nimport { isDefined } from 'class-validator';\nimport {\n BasePaginate,\n IEmployee,\n IWorkingSchedule,\n CreateEmployee,\n QueryEmployeeSearch,\n UpdateEmployee,\n UpdateOrCreateWorkingSchedule,\n} from '../../types';\nimport { Resource } from '../Resource';\n\nexport class Employee extends Resource {\n public create(payload: Partial<CreateEmployee>): Promise<IEmployee> {\n const formData = new FormData();\n forEach(payload, (value, key) => {\n if (isDefined(value) || key === 'writeDpae') {\n if (['dpaeFile', 'contractFile'].includes(key)) {\n formData.append(key, value as File);\n } else {\n formData.append(key, `${value}`);\n }\n }\n });\n return this.axios.$post('/employees', formData, {\n headers: { 'Content-Type': 'multipart/form-data' },\n });\n }\n\n public getAll(idSociety: number): Promise<IEmployee[]> {\n return this.axios.$get(`/societies/${idSociety}/employees`);\n }\n\n public get(id: number): Promise<IEmployee> {\n return this.axios.$get(`/employees/${id}`);\n }\n\n public update(\n id: number,\n payload: Partial<UpdateEmployee>,\n ): Promise<IEmployee> {\n const formData = new FormData();\n forEach(payload, (value, key) => {\n if (isDefined(value) || key === 'writeDpae') {\n if (['dpaeFile', 'contractFile'].includes(key)) {\n formData.append(key, value as File);\n } else {\n formData.append(key, `${value}`);\n }\n }\n });\n return this.axios.$put(`/employees/${id}`, formData, {\n headers: { 'Content-Type': 'multipart/form-data' },\n });\n }\n\n public delete(id: number): Promise<true> {\n return this.axios.$delete(`/employees/${id}`);\n }\n\n public getPaginate(\n idSociety: number,\n params?: QueryEmployeeSearch,\n cancelToken?: CancelToken,\n ): Promise<BasePaginate<Employee>> {\n return this.axios.$get(`/societies/${idSociety}/employees`, {\n ...(cancelToken ? { cancelToken } : {}),\n params: { ...params, isPaginate: true },\n });\n }\n\n public updateOrCreateWorkingSchedule(\n idEmployee: number,\n payload?: UpdateOrCreateWorkingSchedule,\n ): Promise<IWorkingSchedule> {\n return this.axios.$post(\n `employees/${idEmployee}/working-schedules`,\n payload,\n );\n }\n\n public deleteWorkingSchedule(\n idEmployee: number,\n idWorkingSchedule: number,\n ): Promise<true> {\n return this.axios.$delete(\n `employees/${idEmployee}/working-schedules/${idWorkingSchedule}`,\n );\n }\n}\n"]}
@@ -226,6 +226,12 @@ class Mail extends _Resource.Resource {
226
226
  });
227
227
  }
228
228
 
229
+ getUserSignature(idUser, params) {
230
+ return this.axios.$get(`/mails/${idUser}/signature`, {
231
+ params
232
+ });
233
+ }
234
+
229
235
  }
230
236
 
231
237
  exports.Mail = Mail;