@silexpert/core 1.0.131 → 1.0.135

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 (99) hide show
  1. package/es/api/resources/Authenticate.d.ts +0 -5
  2. package/es/api/resources/Authenticate.d.ts.map +1 -1
  3. package/es/api/resources/Authenticate.js +0 -3
  4. package/es/api/resources/Authenticate.js.map +1 -1
  5. package/es/api/resources/Mail.d.ts +1 -0
  6. package/es/api/resources/Mail.d.ts.map +1 -1
  7. package/es/api/resources/Mail.js +6 -0
  8. package/es/api/resources/Mail.js.map +1 -1
  9. package/es/types/Enum/AccountType.d.ts +10 -0
  10. package/es/types/Enum/AccountType.d.ts.map +1 -1
  11. package/es/types/Enum/AccountType.js +33 -23
  12. package/es/types/Enum/AccountType.js.map +1 -1
  13. package/es/types/Enum/ConstitutionState.js +10 -10
  14. package/es/types/Enum/ConstitutionState.js.map +1 -1
  15. package/es/types/Enum/IncomeStatement.js +2 -2
  16. package/es/types/Enum/IncomeStatement.js.map +1 -1
  17. package/es/types/Enum/JobTitle.d.ts +26 -0
  18. package/es/types/Enum/JobTitle.d.ts.map +1 -0
  19. package/es/types/Enum/JobTitle.js +114 -0
  20. package/es/types/Enum/JobTitle.js.map +1 -0
  21. package/es/types/Interface/api/commercial/QueryGetStats.d.ts +1 -1
  22. package/es/types/Interface/api/commercial/QueryGetStats.d.ts.map +1 -1
  23. package/es/types/Interface/api/commercial/QueryGetStats.js +2 -2
  24. package/es/types/Interface/api/commercial/QueryGetStats.js.map +1 -1
  25. package/es/types/Interface/api/commercial/QueryPaginatedSocietyWithStatsCa.d.ts +1 -1
  26. package/es/types/Interface/api/commercial/QueryPaginatedSocietyWithStatsCa.d.ts.map +1 -1
  27. package/es/types/Interface/api/commercial/QueryPaginatedSocietyWithStatsCa.js +2 -2
  28. package/es/types/Interface/api/commercial/QueryPaginatedSocietyWithStatsCa.js.map +1 -1
  29. package/es/types/Interface/api/iDocus/iDocus.d.ts +9 -0
  30. package/es/types/Interface/api/iDocus/iDocus.d.ts.map +1 -1
  31. package/es/types/Interface/api/iDocus/iDocus.js.map +1 -1
  32. package/es/types/Interface/api/mail/QueryCountMail.d.ts +11 -0
  33. package/es/types/Interface/api/mail/QueryCountMail.d.ts.map +1 -0
  34. package/es/types/Interface/api/mail/{QueryCountUnprocessedMail.js → QueryCountMail.js} +36 -6
  35. package/es/types/Interface/api/mail/QueryCountMail.js.map +1 -0
  36. package/es/types/Interface/api/vatDeclaration/ResultFormatToEntries.d.ts +1 -0
  37. package/es/types/Interface/api/vatDeclaration/ResultFormatToEntries.d.ts.map +1 -1
  38. package/es/types/Interface/api/vatDeclaration/ResultFormatToEntries.js.map +1 -1
  39. package/es/types/index.d.ts +2 -3
  40. package/es/types/index.d.ts.map +1 -1
  41. package/es/types/index.js +2 -3
  42. package/es/types/index.js.map +1 -1
  43. package/es/utils/email.d.ts.map +1 -1
  44. package/es/utils/email.js +34 -40
  45. package/es/utils/email.js.map +1 -1
  46. package/js/api/resources/Authenticate.js +1 -6
  47. package/js/api/resources/Authenticate.js.map +1 -1
  48. package/js/api/resources/Mail.js +11 -0
  49. package/js/api/resources/Mail.js.map +1 -1
  50. package/js/types/Enum/AccountType.js +33 -23
  51. package/js/types/Enum/AccountType.js.map +1 -1
  52. package/js/types/Enum/ConstitutionState.js +10 -10
  53. package/js/types/Enum/ConstitutionState.js.map +1 -1
  54. package/js/types/Enum/IncomeStatement.js +2 -2
  55. package/js/types/Enum/IncomeStatement.js.map +1 -1
  56. package/js/types/Enum/JobTitle.js +102 -0
  57. package/js/types/Enum/JobTitle.js.map +1 -0
  58. package/js/types/Interface/api/commercial/QueryGetStats.js +3 -1
  59. package/js/types/Interface/api/commercial/QueryGetStats.js.map +1 -1
  60. package/js/types/Interface/api/commercial/QueryPaginatedSocietyWithStatsCa.js +3 -1
  61. package/js/types/Interface/api/commercial/QueryPaginatedSocietyWithStatsCa.js.map +1 -1
  62. package/js/types/Interface/api/mail/{QueryCountUnprocessedMail.js → QueryCountMail.js} +28 -8
  63. package/js/types/Interface/api/mail/QueryCountMail.js.map +1 -0
  64. package/js/types/index.js +15 -27
  65. package/js/types/index.js.map +1 -1
  66. package/js/utils/email.js +34 -44
  67. package/js/utils/email.js.map +1 -1
  68. package/package.json +1 -1
  69. package/ts/api/resources/Authenticate.ts +0 -3
  70. package/ts/api/resources/Mail.ts +11 -0
  71. package/ts/types/Enum/AccountType.ts +33 -23
  72. package/ts/types/Enum/ConstitutionState.ts +10 -10
  73. package/ts/types/Enum/IncomeStatement.ts +3 -3
  74. package/ts/types/Enum/JobTitle.ts +113 -0
  75. package/ts/types/Interface/api/commercial/QueryGetStats.ts +2 -2
  76. package/ts/types/Interface/api/commercial/QueryPaginatedSocietyWithStatsCa.ts +2 -2
  77. package/ts/types/Interface/api/iDocus/iDocus.ts +9 -0
  78. package/ts/types/Interface/api/mail/{QueryCountUnprocessedMail.ts → QueryCountMail.ts} +23 -1
  79. package/ts/types/Interface/api/vatDeclaration/ResultFormatToEntries.ts +1 -0
  80. package/ts/types/index.ts +2 -3
  81. package/ts/utils/email.ts +40 -39
  82. package/es/types/Interface/api/balanceSheetModule/PrepareModulesAndCompletions.d.ts +0 -6
  83. package/es/types/Interface/api/balanceSheetModule/PrepareModulesAndCompletions.d.ts.map +0 -1
  84. package/es/types/Interface/api/balanceSheetModule/PrepareModulesAndCompletions.js +0 -27
  85. package/es/types/Interface/api/balanceSheetModule/PrepareModulesAndCompletions.js.map +0 -1
  86. package/es/types/Interface/api/balanceSheetModule/ReadPrepareModulesAndCompletions.d.ts +0 -8
  87. package/es/types/Interface/api/balanceSheetModule/ReadPrepareModulesAndCompletions.d.ts.map +0 -1
  88. package/es/types/Interface/api/balanceSheetModule/ReadPrepareModulesAndCompletions.js +0 -2
  89. package/es/types/Interface/api/balanceSheetModule/ReadPrepareModulesAndCompletions.js.map +0 -1
  90. package/es/types/Interface/api/mail/QueryCountUnprocessedMail.d.ts +0 -7
  91. package/es/types/Interface/api/mail/QueryCountUnprocessedMail.d.ts.map +0 -1
  92. package/es/types/Interface/api/mail/QueryCountUnprocessedMail.js.map +0 -1
  93. package/js/types/Interface/api/balanceSheetModule/PrepareModulesAndCompletions.js +0 -33
  94. package/js/types/Interface/api/balanceSheetModule/PrepareModulesAndCompletions.js.map +0 -1
  95. package/js/types/Interface/api/balanceSheetModule/ReadPrepareModulesAndCompletions.js +0 -6
  96. package/js/types/Interface/api/balanceSheetModule/ReadPrepareModulesAndCompletions.js.map +0 -1
  97. package/js/types/Interface/api/mail/QueryCountUnprocessedMail.js.map +0 -1
  98. package/ts/types/Interface/api/balanceSheetModule/PrepareModulesAndCompletions.ts +0 -14
  99. package/ts/types/Interface/api/balanceSheetModule/ReadPrepareModulesAndCompletions.ts +0 -7
package/js/utils/email.js CHANGED
@@ -5,22 +5,12 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.generateSignature = generateSignature;
7
7
 
8
- var _dayjs = require("dayjs");
9
-
10
- var dayjs = _interopRequireWildcard(_dayjs);
11
-
12
- var _lodash = require("lodash");
13
-
14
8
  var _Role = require("../types/Enum/Role");
15
9
 
16
10
  var _brands = require("./brands");
17
11
 
18
12
  var _signature = require("./email/templates/signature");
19
13
 
20
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
-
22
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
-
24
14
  var __rest = undefined && undefined.__rest || function (s, e) {
25
15
  var t = {};
26
16
 
@@ -30,7 +20,9 @@ var __rest = undefined && undefined.__rest || function (s, e) {
30
20
  if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
31
21
  }
32
22
  return t;
33
- };
23
+ }; // import * as dayjs from 'dayjs';
24
+ // import { orderBy as orderByLodash } from 'lodash';
25
+
34
26
 
35
27
  const ejs = require('ejs');
36
28
 
@@ -118,39 +110,37 @@ function getRoleSignature(user) {
118
110
  }
119
111
 
120
112
  function getHoraires(user) {
121
- if (intersection([user.roles.map(r => r.id), [_Role.Role.JURIDIC]]).length) return 'Du lundi au vendredi de 9h à 18h';
122
- if (!intersection([user.roles.map(r => r.id), [_Role.Role.FRONT_OFFICE, _Role.Role.FRONT_OFFICE_EXPRESS, _Role.Role.COMMERCIAL]]).length) return 'Du lundi au vendredi de 9h à 19h';
123
- if (!user.workingSchedules.length) return 'Du lundi au vendredi de 9h à 19h';
124
- let reducedSchedules = user.workingSchedules.reduce((acc, e, index) => {
125
- const name = `${dayjs(e.morningStart, 'HH:mm:ss').format('HH:mm')}-${dayjs(e.afternoonEnd || e.morningEnd, 'HH:mm:ss').format('HH:mm')}`;
126
- if (!acc[name]) acc[name] = [index];else acc[name].push(index);
127
- return acc;
128
- }, {});
129
- reducedSchedules = (0, _lodash.orderBy)(reducedSchedules, elem => elem.length, ['desc']);
130
- let resultHoraire = '';
131
- let startH;
132
- let startM;
133
- let endH;
134
- let endM;
135
- let firstDayOfWeek;
136
- let lastDayOfWeek;
137
- reducedSchedules.forEach((schedule, index) => {
138
- startH = dayjs(user.workingSchedules[schedule[0]].morningStart ? user.workingSchedules[schedule[0]].morningStart : user.workingSchedules[schedule[0]].afternoonStart, 'HH:mm:ss').get('hour');
139
- startM = dayjs(user.workingSchedules[schedule[0]].morningStart ? user.workingSchedules[schedule[0]].morningStart : user.workingSchedules[schedule[0]].afternoonStart, 'HH:mm:ss').get('minute');
140
- endH = dayjs(user.workingSchedules[schedule[0]].afternoonEnd || user.workingSchedules[schedule[0]].morningEnd, 'HH:mm:ss').get('hour');
141
- endM = dayjs(user.workingSchedules[schedule[0]].afternoonEnd || user.workingSchedules[schedule[0]].morningEnd, 'HH:mm:ss').get('minute');
142
- firstDayOfWeek = dayjs().locale('fr').day(user.workingSchedules[schedule[0]].idDay).format('dddd');
143
-
144
- if (!index) {
145
- // pour le premier index, on affiche l'amplitude horaire la plus commune, du XX au XX de Xh à Xh
146
- lastDayOfWeek = dayjs().locale('fr').day(user.workingSchedules[user.workingSchedules.length - 1].idDay).format('dddd');
147
- resultHoraire += `Du ${firstDayOfWeek} au ${lastDayOfWeek} de ${startH}h${startM > 0 ? startM : ''} à ${endH}h${endM > 0 ? endM : ''}`;
148
- } else {
149
- // Fonctionnel si uniquement un jour par semaine avec des horaires différents
150
- resultHoraire += `<br/>Le ${firstDayOfWeek} de ${startH}h${startM > 0 ? startM : ''} à ${endH}h${endM > 0 ? endM : ''}`;
151
- }
152
- });
153
- return resultHoraire;
113
+ return 'Du lundi au vendredi de 9h à 19h'; // 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';
114
+ // if (!user.workingSchedules.length) return 'Du lundi au vendredi de 9h à 19h';
115
+ // let reducedSchedules = user.workingSchedules.reduce((acc: any, e:any, index: number) => {
116
+ // const name = `${dayjs(e.morningStart, 'HH:mm:ss').format('HH:mm')}-${dayjs(e.afternoonEnd || e.morningEnd, 'HH:mm:ss').format('HH:mm')}`;
117
+ // if (!acc[name]) acc[name] = [index];
118
+ // else acc[name].push(index);
119
+ // return acc;
120
+ // }, {});
121
+ // reducedSchedules = orderByLodash(reducedSchedules, (elem) => elem.length, ['desc']);
122
+ // let resultHoraire = '';
123
+ // let startH;
124
+ // let startM;
125
+ // let endH;
126
+ // let endM;
127
+ // let firstDayOfWeek;
128
+ // let lastDayOfWeek;
129
+ // reducedSchedules.forEach((schedule: any, index: number) => {
130
+ // startH = dayjs(user.workingSchedules[schedule[0]].morningStart ? user.workingSchedules[schedule[0]].morningStart : user.workingSchedules[schedule[0]].afternoonStart, 'HH:mm:ss').get('hour');
131
+ // startM = dayjs(user.workingSchedules[schedule[0]].morningStart ? user.workingSchedules[schedule[0]].morningStart : user.workingSchedules[schedule[0]].afternoonStart, 'HH:mm:ss').get('minute');
132
+ // endH = dayjs(user.workingSchedules[schedule[0]].afternoonEnd || user.workingSchedules[schedule[0]].morningEnd, 'HH:mm:ss').get('hour');
133
+ // endM = dayjs(user.workingSchedules[schedule[0]].afternoonEnd || user.workingSchedules[schedule[0]].morningEnd, 'HH:mm:ss').get('minute');
134
+ // firstDayOfWeek = dayjs().locale('fr').day(user.workingSchedules[schedule[0]].idDay).format('dddd');
135
+ // if (!index) {
136
+ // // pour le premier index, on affiche l'amplitude horaire la plus commune, du XX au XX de Xh à Xh
137
+ // lastDayOfWeek = dayjs().locale('fr').day(user.workingSchedules[user.workingSchedules.length - 1].idDay).format('dddd');
138
+ // resultHoraire += `Du ${firstDayOfWeek} au ${lastDayOfWeek} de ${startH}h${startM > 0 ? startM : ''} à ${endH}h${endM > 0 ? endM : ''}`;
139
+ // } else { // Fonctionnel si uniquement un jour par semaine avec des horaires différents
140
+ // resultHoraire += `<br/>Le ${firstDayOfWeek} de ${startH}h${startM > 0 ? startM : ''} à ${endH}h${endM > 0 ? endM : ''}`;
141
+ // }
142
+ // });
143
+ // return resultHoraire;
154
144
  }
155
145
 
156
146
  function getMailSignature(user, idTypeBrand) {
@@ -1 +1 @@
1
- {"version":3,"file":"email.js","mappings":"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","names":["generateSignature","dayjs","ejs","require","intersection","arr","reduce","a","b","filter","c","includes","getRoleSignature","user","positionLabel","isStagiaireOrAlternant","roles","map","r","id","Role","INTERN","ALTERNATE","isManager","MANAGER","isSocial","SOCIAL","isJuridic","JURIDIC","isFacturation","FACTURATION","isExpert","EXPERT_ACCOUNTANT","isCS","CUSTOMER_SUCCESS","isSales","COMMERCIAL","isAdmin","ADMIN","isFront","FRONT_OFFICE","FRONT_OFFICE_EXPRESS","length","idCivility","getHoraires","workingSchedules","reducedSchedules","acc","e","index","name","morningStart","format","afternoonEnd","morningEnd","push","elem","resultHoraire","startH","startM","endH","endM","firstDayOfWeek","lastDayOfWeek","forEach","schedule","afternoonStart","get","locale","day","idDay","getMailSignature","idTypeBrand","informatiqueMail","Object","objectWaited","bonjourMail","email","getPhoneSignature","phone","replace","params","forceRole","otherParams","hostS3","brandName","socialMail","supportMail","juridiqueMail","facturationMail","primaryColor","standardPhoneSignature","juridiquePhoneSignature","socialPhoneSignature","roleSignature","mailSignature","phoneSignature","horaires","firstname","isAll","render","signatureTemplate"],"sourceRoot":"","sources":["../../ts/utils/email.ts"],"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.JURIDIC]]).length) return 'Du lundi au vendredi de 9h à 18h';\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}"]}
1
+ {"version":3,"file":"email.js","mappings":";;;;;QAkHgBA,iB,GAAAA,iB;;AAhHhB;;AACA;;AACA;;;;;;;;;;;GAJA;AACA;;;AAKA,MAAMC,GAAG,GAAGC,OAAO,CAAC,KAAD,CAAnB;;AAEA,SAASC,YAAT,CAAyBC,GAAzB,EAAwC;EAAI,OAAOA,GAAG,CAACC,MAAJ,CAAW,CAACC,CAAD,EAASC,CAAT,KAAoBD,CAAC,CAACE,MAAF,CAAUC,CAAD,IAAOF,CAAC,CAACG,QAAF,CAAWD,CAAX,CAAhB,CAA/B,EAA+D,EAA/D,CAAP;AAA4E;;AAExH,SAASE,gBAAT,CAA0BC,IAA1B,EAAkC;EAChC,IAAIA,IAAI,CAACC,aAAT,EAAwB,OAAOD,IAAI,CAACC,aAAZ;EAExB,MAAMC,sBAAsB,GAAGF,IAAI,CAACG,KAAL,CAAWC,GAAX,CAAgBC,CAAD,IAAYA,CAAC,CAACC,EAA7B,EAAiCR,QAAjC,CAA0CS,WAAKC,MAA/C,KAA0DR,IAAI,CAACG,KAAL,CAAWC,GAAX,CAAgBC,CAAD,IAAYA,CAAC,CAACC,EAA7B,EAAiCR,QAAjC,CAA0CS,WAAKE,SAA/C,CAAzF;EACA,MAAMC,SAAS,GAAGV,IAAI,CAACG,KAAL,CAAWC,GAAX,CAAgBC,CAAD,IAAYA,CAAC,CAACC,EAA7B,EAAiCR,QAAjC,CAA0CS,WAAKI,OAA/C,CAAlB;EAEA,MAAMC,QAAQ,GAAGZ,IAAI,CAACG,KAAL,CAAWC,GAAX,CAAgBC,CAAD,IAAYA,CAAC,CAACC,EAA7B,EAAiCR,QAAjC,CAA0CS,WAAKM,MAA/C,CAAjB;EACA,MAAMC,SAAS,GAAGd,IAAI,CAACG,KAAL,CAAWC,GAAX,CAAgBC,CAAD,IAAYA,CAAC,CAACC,EAA7B,EAAiCR,QAAjC,CAA0CS,WAAKQ,OAA/C,CAAlB;EACA,MAAMC,aAAa,GAAGhB,IAAI,CAACG,KAAL,CAAWC,GAAX,CAAgBC,CAAD,IAAYA,CAAC,CAACC,EAA7B,EAAiCR,QAAjC,CAA0CS,WAAKU,WAA/C,CAAtB;EACA,MAAMC,QAAQ,GAAGlB,IAAI,CAACG,KAAL,CAAWC,GAAX,CAAgBC,CAAD,IAAYA,CAAC,CAACC,EAA7B,EAAiCR,QAAjC,CAA0CS,WAAKY,iBAA/C,CAAjB;EACA,MAAMC,IAAI,GAAGpB,IAAI,CAACG,KAAL,CAAWC,GAAX,CAAgBC,CAAD,IAAYA,CAAC,CAACC,EAA7B,EAAiCR,QAAjC,CAA0CS,WAAKc,gBAA/C,CAAb;EACA,MAAMC,OAAO,GAAGtB,IAAI,CAACG,KAAL,CAAWC,GAAX,CAAgBC,CAAD,IAAYA,CAAC,CAACC,EAA7B,EAAiCR,QAAjC,CAA0CS,WAAKgB,UAA/C,CAAhB;EACA,MAAMC,OAAO,GAAGxB,IAAI,CAACG,KAAL,CAAWC,GAAX,CAAgBC,CAAD,IAAYA,CAAC,CAACC,EAA7B,EAAiCR,QAAjC,CAA0CS,WAAKkB,KAA/C,CAAhB;EACA,MAAMC,OAAO,GAAG,CAAC,CAACnC,YAAY,CAAC,CAACS,IAAI,CAACG,KAAL,CAAWC,GAAX,CAAgBC,CAAD,IAAYA,CAAC,CAACC,EAA7B,CAAD,EAAmC,CAACC,WAAKoB,YAAN,EAAoBpB,WAAKqB,oBAAzB,CAAnC,CAAD,CAAZ,CAAiGC,MAAnH;;EAEA,IAAIP,OAAO,IAAIZ,SAAf,EAA0B;IAAE,OAAO,wBAAP;EAAkC;;EAC9D,IAAIY,OAAJ,EAAa;IAAE,OAAO,SAAStB,IAAI,CAAC8B,UAAL,KAAoB,CAApB,GAAwB,GAAxB,GAA8B,EAAE,eAAhD;EAAkE;;EAEjF,IAAIV,IAAI,IAAIV,SAAZ,EAAuB;IAAE,OAAO,0BAAP;EAAoC;;EAC7D,IAAIU,IAAJ,EAAU;IAAE,OAAO,SAASpB,IAAI,CAAC8B,UAAL,KAAoB,CAApB,GAAwB,GAAxB,GAA8B,EAAE,eAAhD;EAAkE;;EAE9E,IAAId,aAAa,IAAId,sBAArB,EAA6C;IAAE,OAAO,uBAAP;EAAiC;;EAChF,IAAIc,aAAa,IAAIN,SAArB,EAAgC;IAAE,OAAO,yBAAP;EAAmC;;EACrE,IAAIM,aAAJ,EAAmB;IAAE,OAAO,SAAShB,IAAI,CAAC8B,UAAL,KAAoB,CAApB,GAAwB,GAAxB,GAA8B,EAAE,iBAAhD;EAAoE;;EAEzF,IAAIhB,SAAS,IAAIZ,sBAAjB,EAAyC;IAAE,OAAO,qBAAP;EAA+B;;EAC1E,IAAIY,SAAS,IAAIJ,SAAjB,EAA4B;IAAE,OAAO,uBAAP;EAAiC;;EAC/D,IAAII,SAAJ,EAAe;IAAE,OAAO,SAAP;EAAmB;;EAEpC,IAAIF,QAAQ,IAAIV,sBAAhB,EAAwC;IAAE,OAAO,gBAAP;EAA0B;;EACpE,IAAIU,QAAQ,IAAIF,SAAhB,EAA2B;IAAE,OAAO,kBAAP;EAA4B;;EACzD,IAAIE,QAAJ,EAAc;IAAE,OAAO,sBAAP;EAAgC;;EAEhD,IAAIM,QAAJ,EAAc;IAAE,OAAO,SAASlB,IAAI,CAAC8B,UAAL,KAAoB,CAApB,GAAwB,GAAxB,GAA8B,EAAE,YAAhD;EAA+D;;EAE/E,IAAIN,OAAJ,EAAa;IAAE,OAAO,iBAAP;EAA2B;;EAE1C,IAAIE,OAAO,IAAIhB,SAAf,EAA0B,OAAO,uBAAP;EAC1B,IAAIgB,OAAO,IAAIxB,sBAAf,EAAuC,OAAO,qBAAP;EACvC,IAAIwB,OAAJ,EAAa,OAAO,kBAAkB1B,IAAI,CAAC8B,UAAL,KAAoB,CAApB,GAAwB,GAAxB,GAA8B,EAAE,EAAzD;EACb,OAAO,kBAAkB9B,IAAI,CAAC8B,UAAL,KAAoB,CAApB,GAAwB,GAAxB,GAA8B,EAAE,EAAzD;AACD;;AAED,SAASC,WAAT,CAAqB/B,IAArB,EAA6B;EAC3B,OAAO,kCAAP,CAD2B,CAG3B;EAEA;EAEA;EACA;EACA;EACA;EACA;EACA;EAEA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACD;;AAED,SAASgC,gBAAT,CAA0BhC,IAA1B,EAAoCiC,WAApC,EAAsD;EACpD,MAAMC,gBAAgB,GAAG,4BAAcC,gCACjCF,WAAW,GAAG;IAAEA;EAAF,CAAH,GAAqB,EADC,GACE;IACvCG,YAAY,EAAE;EADyB,CADF,CAAd,CAAzB;EAIA,MAAMC,WAAW,GAAG,4BAAcF,gCAC5BF,WAAW,GAAG;IAAEA;EAAF,CAAH,GAAqB,EADJ,GACO;IACvCG,YAAY,EAAE;EADyB,CADP,CAAd,CAApB;;EAKA,IAAIpC,IAAI,CAACG,KAAL,CAAWC,GAAX,CAAgBC,CAAD,IAAYA,CAAC,CAACC,EAA7B,EAAiCR,QAAjC,CAA0CS,WAAKkB,KAA/C,CAAJ,EAA2D;IAAE,OAAOS,gBAAP;EAA0B;;EACvF,IAAIlC,IAAI,IAAI,CAAC,CAACT,YAAY,CAAC,CAACS,IAAI,CAACG,KAAL,CAAWC,GAAX,CAAgBC,CAAD,IAAYA,CAAC,CAACC,EAA7B,CAAD,EAAmC,CAACC,WAAKoB,YAAN,EAAoBpB,WAAKqB,oBAAzB,EAA+CrB,WAAKgB,UAApD,CAAnC,CAAD,CAAZ,CAAkHM,MAAhI,EAAwI,OAAO7B,IAAI,CAACsC,KAAZ;EACxI,OAAOD,WAAP;AACD;;AAED,SAASE,iBAAT,CAA2BvC,IAA3B,EAAmC;EACjC,IAAIA,IAAI,CAACwC,KAAL,KAAe,YAAnB,EAAiC;IAAE,OAAOxC,IAAI,CAACwC,KAAL,CAAWC,OAAX,CAAmB,uBAAnB,EAA4C,QAA5C,CAAP;EAA+D;;EAClG,OAAO,KAAP;AACD;;AAEK,SAAUrD,iBAAV,CAA4BsD,MAA5B,EAAuC;EAC3C,MAAM;IACJC,SAAS,GAAG,IADR;IACcV,WAAW,GAAG;EAD5B,IAEFS,MAFJ;EAAA,MACwCE,WAAW,UAC/CF,MAD+C,EAD7C,4BAC6C,CADnD;;EAGA,IAAI;IACF1C;EADE,IAEA4C,WAFJ;EAIA,MAAMC,MAAM,GAAG,4BAAe;IAC5BZ,WAD4B;IAE5BG,YAAY,EAAE;EAFc,CAAf,CAAf;EAKA,MAAMU,SAAS,GAAG,4BAAcX,gCAC1BF,WAAW,GAAG;IAAEA;EAAF,CAAH,GAAqB,EADN,GACS;IACvCG,YAAY,EAAE;EADyB,CADT,CAAd,CAAlB;EAIA,MAAMC,WAAW,GAAG,4BAAcF,gCAC5BF,WAAW,GAAG;IAAEA;EAAF,CAAH,GAAqB,EADJ,GACO;IACvCG,YAAY,EAAE;EADyB,CADP,CAAd,CAApB;EAIA,MAAMW,UAAU,GAAG,4BAAcZ,gCAC3BF,WAAW,GAAG;IAAEA;EAAF,CAAH,GAAqB,EADL,GACQ;IACvCG,YAAY,EAAE;EADyB,CADR,CAAd,CAAnB;EAIA,MAAMY,WAAW,GAAG,4BAAcb,gCAC5BF,WAAW,GAAG;IAAEA;EAAF,CAAH,GAAqB,EADJ,GACO;IACvCG,YAAY,EAAE;EADyB,CADP,CAAd,CAApB;EAIA,MAAMa,aAAa,GAAG,4BAAcd,gCAC9BF,WAAW,GAAG;IAAEA;EAAF,CAAH,GAAqB,EADF,GACK;IACvCG,YAAY,EAAE;EADyB,CADL,CAAd,CAAtB;EAIA,MAAMc,eAAe,GAAG,4BAAcf,gCAChCF,WAAW,GAAG;IAAEA;EAAF,CAAH,GAAqB,EADA,GACG;IACvCG,YAAY,EAAE;EADyB,CADH,CAAd,CAAxB;EAIA,MAAMe,YAAY,GAAG,4BAAchB,gCAC7BF,WAAW,GAAG;IAAEA;EAAF,CAAH,GAAqB,EADH,GACM;IACvCG,YAAY,EAAE;EADyB,CADN,CAAd,CAArB;EAIA,MAAMgB,sBAAsB,GAAG,4BAAcjB,gCACvCF,WAAW,GAAG;IAAEA;EAAF,CAAH,GAAqB,EADO,GACJ;IACvCG,YAAY,EAAE;EADyB,CADI,CAAd,CAA/B;EAIA,MAAMiB,uBAAuB,GAAG,4BAAclB,gCACxCF,WAAW,GAAG;IAAEA;EAAF,CAAH,GAAqB,EADQ,GACL;IACvCG,YAAY,EAAE;EADyB,CADK,CAAd,CAAhC;EAIA,MAAMkB,oBAAoB,GAAG,4BAAcnB,gCACrCF,WAAW,GAAG;IAAEA;EAAF,CAAH,GAAqB,EADK,GACF;IACvCG,YAAY,EAAE;EADyB,CADE,CAAd,CAA7B;EAKA,IAAImB,aAAJ;EACA,IAAIC,aAAJ;EACA,IAAIC,cAAJ;EACA,IAAIC,QAAJ;EACA,CAACH,aAAD,EAAgBC,aAAhB,EAA+BC,cAA/B,EAA+CC,QAA/C,IAA2D,CAAC,kBAAD,EAAqBrB,WAArB,EAAkC,KAAlC,EAAyC,kCAAzC,CAA3D;;EAEA,IAAI,CAACrC,IAAL,EAAW;IAAE;IACXA,IAAI,GAAG;MACL2D,SAAS,EAAE,YAAYb,SAAS,EAD3B;MAELc,KAAK,EAAE;IAFF,CAAP;IAIAL,aAAa,GAAG,EAAhB;EACD,CAND,MAMO,IAAIZ,SAAS,KAAK,QAAlB,EAA4B;IAAE;IACnC3C,IAAI,GAAG;MACL2D,SAAS,EAAE,gBADN;MAELC,KAAK,EAAE;IAFF,CAAP;IAIAJ,aAAa,GAAGT,UAAhB;IACAQ,aAAa,GAAG,EAAhB;IACAE,cAAc,GAAGH,oBAAjB;EACD,CARM,MAQA,IAAIX,SAAS,KAAK,SAAlB,EAA6B;IAAE;IACpC3C,IAAI,GAAG;MACL2D,SAAS,EAAE,iBADN;MAELC,KAAK,EAAE;IAFF,CAAP;IAIAJ,aAAa,GAAGR,WAAhB;IACAO,aAAa,GAAG,IAAhB;EACD,CAPM,MAOA,IAAIZ,SAAS,KAAK,WAAlB,EAA+B;IAAE;IACtC3C,IAAI,GAAG;MACL2D,SAAS,EAAE,mBADN;MAELC,KAAK,EAAE;IAFF,CAAP;IAIAJ,aAAa,GAAGP,aAAhB;IACAM,aAAa,GAAG,IAAhB;IACAE,cAAc,GAAGJ,uBAAjB;EACD,CARM,MAQA,IAAIV,SAAS,KAAK,aAAlB,EAAiC;IAAE;IACxC3C,IAAI,GAAG;MACL2D,SAAS,EAAE,qBADN;MAELC,KAAK,EAAE;IAFF,CAAP;IAIAJ,aAAa,GAAGN,eAAhB;IACAK,aAAa,GAAG,IAAhB;IACAE,cAAc,GAAGL,sBAAjB;EACD,CARM,MAQA,IAAIpD,IAAI,KAAK,CAAb,EAAgB;IAAE;IACvBuD,aAAa,GAAGxD,gBAAgB,CAACC,IAAD,CAAhC;IACAwD,aAAa,GAAGxB,gBAAgB,CAAChC,IAAD,EAAOiC,WAAP,CAAhC;IACAyB,QAAQ,GAAG3B,WAAW,CAAC/B,IAAD,CAAtB;IACAyD,cAAc,GAAGlB,iBAAiB,CAACvC,IAAD,CAAlC;EACD;;EAED,OAAOX,GAAG,CAACwE,MAAJ,CAAWC,4BAAX,EAA8B;IACnCnB,SADmC;IAEnCG,SAFmC;IAGnCD,MAHmC;IAInC7C,IAJmC;IAKnCuD,aALmC;IAMnCC,aANmC;IAOnCC,cAPmC;IAQnCL,sBARmC;IASnCM,QATmC;IAUnCP,YAVmC;IAWnCH;EAXmC,CAA9B,CAAP;AAaD","names":["generateSignature","ejs","require","intersection","arr","reduce","a","b","filter","c","includes","getRoleSignature","user","positionLabel","isStagiaireOrAlternant","roles","map","r","id","Role","INTERN","ALTERNATE","isManager","MANAGER","isSocial","SOCIAL","isJuridic","JURIDIC","isFacturation","FACTURATION","isExpert","EXPERT_ACCOUNTANT","isCS","CUSTOMER_SUCCESS","isSales","COMMERCIAL","isAdmin","ADMIN","isFront","FRONT_OFFICE","FRONT_OFFICE_EXPRESS","length","idCivility","getHoraires","getMailSignature","idTypeBrand","informatiqueMail","Object","objectWaited","bonjourMail","email","getPhoneSignature","phone","replace","params","forceRole","otherParams","hostS3","brandName","socialMail","supportMail","juridiqueMail","facturationMail","primaryColor","standardPhoneSignature","juridiquePhoneSignature","socialPhoneSignature","roleSignature","mailSignature","phoneSignature","horaires","firstname","isAll","render","signatureTemplate"],"sourceRoot":"","sources":["../../ts/utils/email.ts"],"sourcesContent":["// import * as dayjs from 'dayjs';\n// import { 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 return 'Du lundi au vendredi de 9h à 19h';\n\n // if (!intersection([user.roles.map((r: any) => r.id), [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS, Role.COMMERCIAL]]).length) return 'Du lundi au vendredi de 9h à 19h';\n\n // if (!user.workingSchedules.length) return 'Du lundi au vendredi de 9h à 19h';\n\n // let reducedSchedules = user.workingSchedules.reduce((acc: any, e:any, index: number) => {\n // const name = `${dayjs(e.morningStart, 'HH:mm:ss').format('HH:mm')}-${dayjs(e.afternoonEnd || e.morningEnd, 'HH:mm:ss').format('HH:mm')}`;\n // if (!acc[name]) acc[name] = [index];\n // else acc[name].push(index);\n // return acc;\n // }, {});\n\n // reducedSchedules = orderByLodash(reducedSchedules, (elem) => elem.length, ['desc']);\n\n // let resultHoraire = '';\n // let startH;\n // let startM;\n // let endH;\n // let endM;\n // let firstDayOfWeek;\n // let lastDayOfWeek;\n\n // reducedSchedules.forEach((schedule: any, index: number) => {\n // startH = dayjs(user.workingSchedules[schedule[0]].morningStart ? user.workingSchedules[schedule[0]].morningStart : user.workingSchedules[schedule[0]].afternoonStart, 'HH:mm:ss').get('hour');\n // startM = dayjs(user.workingSchedules[schedule[0]].morningStart ? user.workingSchedules[schedule[0]].morningStart : user.workingSchedules[schedule[0]].afternoonStart, 'HH:mm:ss').get('minute');\n // endH = dayjs(user.workingSchedules[schedule[0]].afternoonEnd || user.workingSchedules[schedule[0]].morningEnd, 'HH:mm:ss').get('hour');\n // endM = dayjs(user.workingSchedules[schedule[0]].afternoonEnd || user.workingSchedules[schedule[0]].morningEnd, 'HH:mm:ss').get('minute');\n // firstDayOfWeek = dayjs().locale('fr').day(user.workingSchedules[schedule[0]].idDay).format('dddd');\n // if (!index) {\n // // pour le premier index, on affiche l'amplitude horaire la plus commune, du XX au XX de Xh à Xh\n // lastDayOfWeek = dayjs().locale('fr').day(user.workingSchedules[user.workingSchedules.length - 1].idDay).format('dddd');\n // resultHoraire += `Du ${firstDayOfWeek} au ${lastDayOfWeek} de ${startH}h${startM > 0 ? startM : ''} à ${endH}h${endM > 0 ? endM : ''}`;\n // } else { // Fonctionnel si uniquement un jour par semaine avec des horaires différents\n // resultHoraire += `<br/>Le ${firstDayOfWeek} de ${startH}h${startM > 0 ? startM : ''} à ${endH}h${endM > 0 ? endM : ''}`;\n // }\n // });\n // return resultHoraire;\n}\n\nfunction getMailSignature(user:any, idTypeBrand:number) {\n const informatiqueMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.informatique',\n }) as unknown as string;\n const bonjourMail = getBrandConfig({\n ...(idTypeBrand ? { idTypeBrand } : {}),\n objectWaited: 'listMails.bonjour',\n }) as unknown as string;\n\n if (user.roles.map((r: any) => r.id).includes(Role.ADMIN)) { return informatiqueMail; }\n if (user && !!intersection([user.roles.map((r: any) => r.id), [Role.FRONT_OFFICE, Role.FRONT_OFFICE_EXPRESS, Role.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}"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@silexpert/core",
3
- "version": "1.0.131",
3
+ "version": "1.0.135",
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": "js/index.js",
@@ -1,7 +1,4 @@
1
1
  import { Resource } from '../Resource';
2
2
 
3
3
  export class Authenticate extends Resource {
4
- authentificateAfterCreation(params: { id: number }): Promise<{ token: string }> {
5
- return this.axios.$post('authenticate/authenticateAfterCreation', params);
6
- }
7
4
  }
@@ -174,6 +174,7 @@ export class Mail extends Resource {
174
174
  },
175
175
  });
176
176
  }
177
+
177
178
  public countUnprocessedByManager(idUser: number, cancelToken?: CancelToken): Promise<number> {
178
179
  return this.axios.$get('/mails/count', {
179
180
  ...(cancelToken ? { cancelToken } : {}),
@@ -184,6 +185,16 @@ export class Mail extends Resource {
184
185
  });
185
186
  }
186
187
 
188
+ public countMailAuto(idSociety: number, idMailAuto: number[], cancelToken?: CancelToken): Promise<number> {
189
+ return this.axios.$get('/mails/count', {
190
+ ...(cancelToken ? { cancelToken } : {}),
191
+ params: {
192
+ idSociety,
193
+ idMailAuto,
194
+ },
195
+ });
196
+ }
197
+
187
198
  update(id: number, payload: UpdateMailPayload, params: QueryMail): Promise<IMail> {
188
199
  return this.axios.patch(`/mails/${id}`, { ...payload, ...params });
189
200
  }
@@ -1,22 +1,22 @@
1
1
  export const AccountType = {
2
2
  DEPLACEMENTS: {
3
3
  id: 1,
4
- color: '#CCCCCC',
4
+ color: '#8765D0',
5
5
  icon: 'TravelExpenses',
6
6
  },
7
7
  BANQUES: {
8
8
  id: 2,
9
- color: '#896FD3',
9
+ color: '#FF7E3C',
10
10
  icon: 'BankFees',
11
11
  },
12
12
  DEPENSES_DIVERSES: {
13
13
  id: 3,
14
- color: '#DECC27',
14
+ color: '#FFB13C',
15
15
  icon: 'MiscExpenses',
16
16
  },
17
17
  SOUS_TRAITANCES: {
18
18
  id: 4,
19
- color: '#A75F1C',
19
+ color: '#A35305',
20
20
  icon: 'ServicesAndSubcontracting',
21
21
  },
22
22
  ACHAT_MARCHANDISES: {
@@ -26,12 +26,12 @@ export const AccountType = {
26
26
  },
27
27
  CHARGES_SOCIALES: {
28
28
  id: 6,
29
- color: '#009688',
29
+ color: '#C72B16',
30
30
  icon: 'SalariesAndSocialCharges',
31
31
  },
32
32
  TAXES: {
33
33
  id: 8,
34
- color: '#26D395',
34
+ color: '#C72B16',
35
35
  icon: 'Taxes',
36
36
  },
37
37
  FONCTIONNEMENT: {
@@ -41,42 +41,42 @@ export const AccountType = {
41
41
  },
42
42
  RECETTES_PRODUCTION: {
43
43
  id: 10,
44
- color: '#26D395',
44
+ color: '#65D09A',
45
45
  icon: 'ProductionIncomes',
46
46
  },
47
47
  RECETTES_NEGOCE: {
48
48
  id: 11,
49
- color: '#26D395',
49
+ color: '#65D09A',
50
50
  icon: 'TradingIncomes',
51
51
  },
52
52
  RECETTES_DIVERSES: {
53
53
  id: 12,
54
- color: '#26D395',
54
+ color: '#65D09A',
55
55
  icon: 'MiscIncomes',
56
56
  },
57
57
  AUTRES: {
58
58
  id: 13,
59
- color: '#26D395',
59
+ color: '#FFB13C',
60
60
  icon: 'Others',
61
61
  },
62
62
  ACHATS: {
63
63
  id: 14,
64
- color: '#FBD65C',
64
+ color: '#FFB13C',
65
65
  icon: 'Buyings',
66
66
  },
67
67
  SALAIRES: {
68
68
  id: 15,
69
- color: '#9AACF8',
69
+ color: '#C72B16',
70
70
  icon: 'SalariesAndSocialCharges',
71
71
  },
72
72
  IMMOBILIER: {
73
73
  id: 16,
74
- color: '#C2C1C1',
74
+ color: '#088C4A',
75
75
  icon: 'RealEstate',
76
76
  },
77
77
  SERVICES: {
78
78
  id: 17,
79
- color: '#D260BC',
79
+ color: '#A35305',
80
80
  icon: 'ServicesAndSubcontracting',
81
81
  },
82
82
  ABONNEMENTS: {
@@ -86,47 +86,57 @@ export const AccountType = {
86
86
  },
87
87
  DEPENSES_COURANTES: {
88
88
  id: 19,
89
- color: '#D08FDB',
89
+ color: '#FFB13C',
90
90
  icon: 'MiscExpenses',
91
91
  },
92
92
  TRANSPORTS: {
93
93
  id: 20,
94
- color: '#FF9365',
94
+ color: '#8765D0',
95
95
  icon: 'FreightTransport',
96
96
  },
97
97
  ADMINISTRATIF: {
98
98
  id: 21,
99
- color: '#60C0FE',
99
+ color: '#5894EF',
100
100
  icon: 'Administrative',
101
101
  },
102
102
  PUBLICITES_ET_MISSIONS: {
103
103
  id: 22,
104
- color: '#FEA1A1',
104
+ color: '#088C4A',
105
105
  icon: 'AdvertisingCommunication',
106
106
  },
107
107
  DIVERS: {
108
108
  id: 23,
109
- color: '#26D395',
109
+ color: '#FFB13C',
110
110
  icon: 'Others',
111
111
  },
112
112
  FINANCES: {
113
113
  id: 24,
114
- color: '#26D395',
114
+ color: '#FF7E3C',
115
115
  icon: 'Finances',
116
116
  },
117
117
  IMMOBILISATIONS: {
118
118
  id: 25,
119
- color: '#CCCCCC',
119
+ color: '#5894EF',
120
120
  icon: 'CapitalAssets',
121
121
  },
122
+ TIERS: {
123
+ id: 27,
124
+ color: '#26D395',
125
+ icon: 'Tiers',
126
+ },
127
+ STOCKS: {
128
+ id: 28,
129
+ color: '#C2C1C1',
130
+ icon: 'Stocks',
131
+ },
122
132
  ACHATS_MATIERE_PREMIERE: {
123
133
  id: 29,
124
- color: '#FBD65C',
134
+ color: '#FFB13C',
125
135
  icon: 'Buyings',
126
136
  },
127
137
  ACHATS_EXTERNES: {
128
138
  id: 30,
129
- color: '#FBD65C',
139
+ color: '#FFB13C',
130
140
  icon: 'Buyings',
131
141
  },
132
142
  };
@@ -25,16 +25,6 @@ export const ConstitutionStateDetail: ConstitutionStateType = {
25
25
  text: 'À contacter',
26
26
  color: 'grey lighten-4',
27
27
  },
28
- BEING_ABANDONED: {
29
- value: ConstitutionState.BEING_ABANDONED,
30
- text: 'Dossier en cours d\'abandon',
31
- color: 'primary',
32
- },
33
- FINISHED: {
34
- value: ConstitutionState.FINISHED,
35
- text: 'Dossier terminé',
36
- color: 'success',
37
- },
38
28
  WAITING_INFORMATION_SHEET: {
39
29
  value: ConstitutionState.WAITING_INFORMATION_SHEET,
40
30
  text: 'Attente fiche de renseignement',
@@ -70,4 +60,14 @@ export const ConstitutionStateDetail: ConstitutionStateType = {
70
60
  text: 'Dossier en abandon',
71
61
  color: 'grey darken-3',
72
62
  },
63
+ BEING_ABANDONED: {
64
+ value: ConstitutionState.BEING_ABANDONED,
65
+ text: 'Dossier en cours d\'abandon',
66
+ color: 'primary',
67
+ },
68
+ FINISHED: {
69
+ value: ConstitutionState.FINISHED,
70
+ text: 'Dossier terminé',
71
+ color: 'success',
72
+ },
73
73
  };
@@ -97,8 +97,8 @@ export const INCOME_STATEMENT_LIST: IncomeStatement[] = [
97
97
  {
98
98
  name: 'Achats de matières premieres et autres approvisionnements',
99
99
  total: 0,
100
- accounts: ['60'], // TODO: 604 ne devrait pas être ici (mais dans autres charges)
101
- excludeAccounts: ['607', '603', '606'],
100
+ accounts: ['60'],
101
+ excludeAccounts: ['607', '603', '606', '604'],
102
102
  },
103
103
  {
104
104
  name: 'Variation des stocks de matières premieres et autres approvisionnements',
@@ -109,7 +109,7 @@ export const INCOME_STATEMENT_LIST: IncomeStatement[] = [
109
109
  {
110
110
  name: 'Autres achats et charges externes',
111
111
  total: 0,
112
- accounts: ['61', '62', '606'],
112
+ accounts: ['61', '62', '606', '604'],
113
113
  },
114
114
  {
115
115
  name: 'Impôts, taxes et versements assimilés',
@@ -0,0 +1,113 @@
1
+ export enum JobTitle {
2
+ INVOICER = 1,
3
+ COMMERCIAL_DIRECTOR = 2,
4
+ EXPERT_ACCOUNTANT = 3, // Expert comptable
5
+ DEDICATED_ACCOUNTANT = 4,
6
+ PAYROLL_MANAGER = 5, // Gestionnaire de paies
7
+ JURIST = 6,
8
+ ACCOUNT_MANAGER = 7, // Chargé de clientèle
9
+ ACCOUNTING_MANAGER = 8,
10
+ SALES_MANAGER = 9,
11
+ BILLING_MANAGER = 10,
12
+ LEGAL_MANAGER = 11,
13
+ PAYROLL_OFFICER = 12,
14
+ CLIENT_MANAGER = 13,
15
+ PAYROLL_ASSISTANT = 14,
16
+ ACCOUNTING_ASSISTANT = 15,
17
+ JURIST_ASSISTANT = 16,
18
+ BILLING_ASSISTANT = 17,
19
+ COMMERCIAL = 18,
20
+ }
21
+
22
+ export const JobTitleList: Array<{ id: JobTitle; menText: string, womenText: string }> = [
23
+ {
24
+ id: JobTitle.ACCOUNTING_ASSISTANT,
25
+ menText: 'Assistant comptable',
26
+ womenText: 'Assistante comptable',
27
+ },
28
+ {
29
+ id: JobTitle.BILLING_ASSISTANT,
30
+ menText: 'Assistant facturation',
31
+ womenText: 'Assistante facturation',
32
+ },
33
+ {
34
+ id: JobTitle.JURIST_ASSISTANT,
35
+ menText: 'Assistant juridique',
36
+ womenText: 'Assistante juridique',
37
+ },
38
+ {
39
+ id: JobTitle.PAYROLL_ASSISTANT,
40
+ menText: 'Assistant paie',
41
+ womenText: 'Assistante paie',
42
+ },
43
+ {
44
+ id: JobTitle.ACCOUNT_MANAGER,
45
+ menText: 'Chargé de clientèle',
46
+ womenText: 'Chargée de clientèle',
47
+ },
48
+ {
49
+ id: JobTitle.INVOICER,
50
+ menText: 'Chargé de facturation',
51
+ womenText: 'Chargée de facturation',
52
+ },
53
+ {
54
+ id: JobTitle.COMMERCIAL,
55
+ menText: 'Commercial',
56
+ womenText: 'Commerciale',
57
+ },
58
+ {
59
+ id: JobTitle.DEDICATED_ACCOUNTANT,
60
+ menText: 'Comptable dédié',
61
+ womenText: 'Comptable dédiée',
62
+ },
63
+ {
64
+ id: JobTitle.COMMERCIAL_DIRECTOR,
65
+ menText: 'Directeur commercial',
66
+ womenText: 'Directrice commerciale',
67
+ },
68
+ {
69
+ id: JobTitle.EXPERT_ACCOUNTANT,
70
+ menText: 'Expert-comptable',
71
+ womenText: 'Experte-comptable',
72
+ },
73
+ {
74
+ id: JobTitle.PAYROLL_MANAGER,
75
+ menText: 'Gestionnaire de paies',
76
+ womenText: 'Gestionnaire de paies',
77
+ },
78
+ {
79
+ id: JobTitle.JURIST,
80
+ menText: 'Juriste',
81
+ womenText: 'Juriste',
82
+ },
83
+ {
84
+ id: JobTitle.ACCOUNTING_MANAGER,
85
+ menText: 'Responsable comptable',
86
+ womenText: 'Responsable comptable',
87
+ },
88
+ {
89
+ id: JobTitle.SALES_MANAGER,
90
+ menText: 'Responsable commercial',
91
+ womenText: 'Responsable commerciale',
92
+ },
93
+ {
94
+ id: JobTitle.CLIENT_MANAGER,
95
+ menText: 'Responsable de clientèle',
96
+ womenText: 'Responsable de clientèle',
97
+ },
98
+ {
99
+ id: JobTitle.BILLING_MANAGER,
100
+ menText: 'Responsable facturation',
101
+ womenText: 'Responsable facturation',
102
+ },
103
+ {
104
+ id: JobTitle.LEGAL_MANAGER,
105
+ menText: 'Responsable juridique',
106
+ womenText: 'Responsable juridique',
107
+ },
108
+ {
109
+ id: JobTitle.PAYROLL_MANAGER,
110
+ menText: 'Responsable paie',
111
+ womenText: 'Responsable paie',
112
+ },
113
+ ];
@@ -50,8 +50,8 @@ export class QueryGetStats {
50
50
 
51
51
  @ApiPropertyOptional()
52
52
  @IsOptional()
53
- @IsInt()
54
- idPrestationList?: number;
53
+ @IsInt({ each: true })
54
+ idPrestationList?: number[];
55
55
 
56
56
  @ApiPropertyOptional()
57
57
  @IsOptional()
@@ -51,8 +51,8 @@ export class QueryPaginatedSocietyWithStatsCa extends OptionalQueryPaginate {
51
51
 
52
52
  @ApiPropertyOptional()
53
53
  @IsOptional()
54
- @IsInt()
55
- idPrestationList?: number;
54
+ @IsInt({ each: true })
55
+ idPrestationList?: number[];
56
56
 
57
57
  @ApiPropertyOptional()
58
58
  @IsOptional()
@@ -19,6 +19,15 @@ export type HookPayload = {
19
19
  page_count: number; // Nombre de pages
20
20
  observation: string; // Observation du con
21
21
  file_base64: string;// Le document découpé
22
+ normalized_supplier: string;
23
+ vat_amount: {
24
+ total: number,
25
+ normal: number, // 20%
26
+ intermediate: number, // 10%
27
+ dom_normal: number, // 8.5%
28
+ reduced_vat: number, // 5.5%
29
+ super_reduced_vat: number // 2.1%
30
+ };
22
31
  };
23
32
 
24
33
  type Document = {
@@ -6,7 +6,7 @@ import {
6
6
  import { ApiPropertyOptional } from '../../../../utils';
7
7
  import { ToBoolean } from '../../../../utils/transforms/boolean.transform';
8
8
 
9
- export class QueryCountUnprocessedMail {
9
+ export class QueryCountMail {
10
10
  @ApiPropertyOptional()
11
11
  @IsOptional()
12
12
  @IsInt()
@@ -28,4 +28,26 @@ export class QueryCountUnprocessedMail {
28
28
  @IsOptional()
29
29
  @IsInt()
30
30
  idSociety?: number;
31
+
32
+ @ApiPropertyOptional()
33
+ @IsInt()
34
+ @IsOptional()
35
+ idExercice?: number;
36
+
37
+ @ApiPropertyOptional()
38
+ @IsInt({ each: true })
39
+ @IsOptional()
40
+ idMailAuto?: number[];
41
+
42
+ @ApiPropertyOptional({ default: false })
43
+ @IsOptional()
44
+ @IsBoolean()
45
+ @ToBoolean()
46
+ isSent?: boolean = false;
47
+
48
+ @ApiPropertyOptional({ default: false })
49
+ @IsOptional()
50
+ @IsBoolean()
51
+ @ToBoolean()
52
+ isProcessed?: boolean = false;
31
53
  }