@silexpert/core 1.1.358 → 1.1.359

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 (111) hide show
  1. package/dist/cjs/types/Enum/BrandAnytime.d.ts +2 -142
  2. package/dist/cjs/types/Enum/BrandAnytime.d.ts.map +1 -1
  3. package/dist/cjs/types/Enum/BrandAnytime.js.map +1 -1
  4. package/dist/cjs/types/Enum/BrandClementine.d.ts +2 -461
  5. package/dist/cjs/types/Enum/BrandClementine.d.ts.map +1 -1
  6. package/dist/cjs/types/Enum/BrandClementine.js.map +1 -1
  7. package/dist/cjs/types/Enum/BrandComptalib.d.ts +2 -262
  8. package/dist/cjs/types/Enum/BrandComptalib.d.ts.map +1 -1
  9. package/dist/cjs/types/Enum/BrandComptalib.js.map +1 -1
  10. package/dist/cjs/types/Enum/BrandLegalstart.d.ts +2 -123
  11. package/dist/cjs/types/Enum/BrandLegalstart.d.ts.map +1 -1
  12. package/dist/cjs/types/Enum/BrandLegalstart.js.map +1 -1
  13. package/dist/cjs/types/Enum/BrandPourcentage.d.ts +2 -376
  14. package/dist/cjs/types/Enum/BrandPourcentage.d.ts.map +1 -1
  15. package/dist/cjs/types/Enum/BrandPourcentage.js.map +1 -1
  16. package/dist/cjs/types/Enum/BrandStatutsExpress.d.ts +2 -101
  17. package/dist/cjs/types/Enum/BrandStatutsExpress.d.ts.map +1 -1
  18. package/dist/cjs/types/Enum/BrandStatutsExpress.js.map +1 -1
  19. package/dist/cjs/types/Enum/SalesContractBrandClementine.d.ts +3 -41
  20. package/dist/cjs/types/Enum/SalesContractBrandClementine.d.ts.map +1 -1
  21. package/dist/cjs/types/Enum/SalesContractBrandClementine.js.map +1 -1
  22. package/dist/cjs/types/Enum/SalesContractBrandPourcentage.d.ts +4 -59
  23. package/dist/cjs/types/Enum/SalesContractBrandPourcentage.d.ts.map +1 -1
  24. package/dist/cjs/types/Enum/SalesContractBrandPourcentage.js.map +1 -1
  25. package/dist/cjs/types/Enum/Vat.d.ts +20 -1
  26. package/dist/cjs/types/Enum/Vat.d.ts.map +1 -1
  27. package/dist/cjs/types/Enum/Vat.js.map +1 -1
  28. package/dist/cjs/types/Interface/api/calendarEvent/createCalendarEventForUsers.d.ts +2 -0
  29. package/dist/cjs/types/Interface/api/calendarEvent/createCalendarEventForUsers.d.ts.map +1 -1
  30. package/dist/cjs/types/Interface/api/calendarEvent/createCalendarEventForUsers.js +7 -0
  31. package/dist/cjs/types/Interface/api/calendarEvent/createCalendarEventForUsers.js.map +1 -1
  32. package/dist/cjs/types/Interface/api/salesContract/Read.d.ts +11 -0
  33. package/dist/cjs/types/Interface/api/salesContract/Read.d.ts.map +1 -0
  34. package/dist/cjs/types/Interface/api/salesContract/Read.js +3 -0
  35. package/dist/cjs/types/Interface/api/salesContract/Read.js.map +1 -0
  36. package/dist/cjs/types/index.d.ts +1 -0
  37. package/dist/cjs/types/index.d.ts.map +1 -1
  38. package/dist/cjs/types/index.js +1 -0
  39. package/dist/cjs/types/index.js.map +1 -1
  40. package/dist/cjs/utils/brands.d.ts +130 -14
  41. package/dist/cjs/utils/brands.d.ts.map +1 -1
  42. package/dist/cjs/utils/brands.js +28 -10
  43. package/dist/cjs/utils/brands.js.map +1 -1
  44. package/dist/cjs/utils/checkup.d.ts +1 -36
  45. package/dist/cjs/utils/checkup.d.ts.map +1 -1
  46. package/dist/cjs/utils/vat/3310/century23.d.ts.map +1 -1
  47. package/dist/cjs/utils/vat/3310/century23.js +69 -65
  48. package/dist/cjs/utils/vat/3310/century23.js.map +1 -1
  49. package/dist/mjs/types/Enum/BrandAnytime.d.ts +2 -142
  50. package/dist/mjs/types/Enum/BrandAnytime.d.ts.map +1 -1
  51. package/dist/mjs/types/Enum/BrandAnytime.js.map +1 -1
  52. package/dist/mjs/types/Enum/BrandClementine.d.ts +2 -461
  53. package/dist/mjs/types/Enum/BrandClementine.d.ts.map +1 -1
  54. package/dist/mjs/types/Enum/BrandClementine.js.map +1 -1
  55. package/dist/mjs/types/Enum/BrandComptalib.d.ts +2 -262
  56. package/dist/mjs/types/Enum/BrandComptalib.d.ts.map +1 -1
  57. package/dist/mjs/types/Enum/BrandComptalib.js.map +1 -1
  58. package/dist/mjs/types/Enum/BrandLegalstart.d.ts +2 -123
  59. package/dist/mjs/types/Enum/BrandLegalstart.d.ts.map +1 -1
  60. package/dist/mjs/types/Enum/BrandLegalstart.js.map +1 -1
  61. package/dist/mjs/types/Enum/BrandPourcentage.d.ts +2 -376
  62. package/dist/mjs/types/Enum/BrandPourcentage.d.ts.map +1 -1
  63. package/dist/mjs/types/Enum/BrandPourcentage.js.map +1 -1
  64. package/dist/mjs/types/Enum/BrandStatutsExpress.d.ts +2 -101
  65. package/dist/mjs/types/Enum/BrandStatutsExpress.d.ts.map +1 -1
  66. package/dist/mjs/types/Enum/BrandStatutsExpress.js.map +1 -1
  67. package/dist/mjs/types/Enum/SalesContractBrandClementine.d.ts +3 -41
  68. package/dist/mjs/types/Enum/SalesContractBrandClementine.d.ts.map +1 -1
  69. package/dist/mjs/types/Enum/SalesContractBrandClementine.js.map +1 -1
  70. package/dist/mjs/types/Enum/SalesContractBrandPourcentage.d.ts +4 -59
  71. package/dist/mjs/types/Enum/SalesContractBrandPourcentage.d.ts.map +1 -1
  72. package/dist/mjs/types/Enum/SalesContractBrandPourcentage.js.map +1 -1
  73. package/dist/mjs/types/Enum/Vat.d.ts +20 -1
  74. package/dist/mjs/types/Enum/Vat.d.ts.map +1 -1
  75. package/dist/mjs/types/Enum/Vat.js.map +1 -1
  76. package/dist/mjs/types/Interface/api/calendarEvent/createCalendarEventForUsers.d.ts +2 -0
  77. package/dist/mjs/types/Interface/api/calendarEvent/createCalendarEventForUsers.d.ts.map +1 -1
  78. package/dist/mjs/types/Interface/api/calendarEvent/createCalendarEventForUsers.js +9 -1
  79. package/dist/mjs/types/Interface/api/calendarEvent/createCalendarEventForUsers.js.map +1 -1
  80. package/dist/mjs/types/Interface/api/salesContract/Read.d.ts +11 -0
  81. package/dist/mjs/types/Interface/api/salesContract/Read.d.ts.map +1 -0
  82. package/dist/mjs/types/Interface/api/salesContract/Read.js +2 -0
  83. package/dist/mjs/types/Interface/api/salesContract/Read.js.map +1 -0
  84. package/dist/mjs/types/index.d.ts +1 -0
  85. package/dist/mjs/types/index.d.ts.map +1 -1
  86. package/dist/mjs/types/index.js +1 -0
  87. package/dist/mjs/types/index.js.map +1 -1
  88. package/dist/mjs/utils/brands.d.ts +130 -14
  89. package/dist/mjs/utils/brands.d.ts.map +1 -1
  90. package/dist/mjs/utils/brands.js +27 -10
  91. package/dist/mjs/utils/brands.js.map +1 -1
  92. package/dist/mjs/utils/checkup.d.ts +1 -36
  93. package/dist/mjs/utils/checkup.d.ts.map +1 -1
  94. package/dist/mjs/utils/vat/3310/century23.d.ts.map +1 -1
  95. package/dist/mjs/utils/vat/3310/century23.js +4 -0
  96. package/dist/mjs/utils/vat/3310/century23.js.map +1 -1
  97. package/package.json +1 -1
  98. package/ts/types/Enum/BrandAnytime.ts +3 -2
  99. package/ts/types/Enum/BrandClementine.ts +3 -2
  100. package/ts/types/Enum/BrandComptalib.ts +4 -2
  101. package/ts/types/Enum/BrandLegalstart.ts +3 -2
  102. package/ts/types/Enum/BrandPourcentage.ts +3 -2
  103. package/ts/types/Enum/BrandStatutsExpress.ts +4 -2
  104. package/ts/types/Enum/SalesContractBrandClementine.ts +7 -6
  105. package/ts/types/Enum/SalesContractBrandPourcentage.ts +9 -8
  106. package/ts/types/Enum/Vat.ts +21 -2
  107. package/ts/types/Interface/api/calendarEvent/createCalendarEventForUsers.ts +7 -1
  108. package/ts/types/Interface/api/salesContract/Read.ts +11 -0
  109. package/ts/types/index.ts +1 -0
  110. package/ts/utils/brands.ts +180 -30
  111. package/ts/utils/vat/3310/century23.ts +4 -0
@@ -1,6 +1,7 @@
1
+ import { Brand } from '../../utils';
1
2
  import { SalesContractClementine } from './SalesContractBrandClementine';
2
3
 
3
- export const BrandAnytime = [
4
+ export const BrandAnytime: Brand[] = [
4
5
  {
5
6
  idTypeBrand: 1,
6
7
  name: 'Anytime',
@@ -119,4 +120,4 @@ export const BrandAnytime = [
119
120
  },
120
121
  salesContractConfig: SalesContractClementine,
121
122
  },
122
- ];
123
+ ] as const;
@@ -1,6 +1,7 @@
1
+ import { Brand } from '../../utils';
1
2
  import { SalesContractClementine, SalesContractKlems } from './SalesContractBrandClementine';
2
3
 
3
- export const BrandClementine = [
4
+ export const BrandClementine: Brand[] = [
4
5
  {
5
6
  idTypeBrand: 1,
6
7
  name: 'Clementine',
@@ -328,4 +329,4 @@ export const BrandClementine = [
328
329
  },
329
330
  salesContractConfig: SalesContractKlems,
330
331
  },
331
- ];
332
+ ] as const;
@@ -1,4 +1,6 @@
1
- export const BrandComptalib = [
1
+ import { Brand } from '../../utils';
2
+
3
+ export const BrandComptalib: Brand[] = [
2
4
  {
3
5
  idTypeBrand: 1,
4
6
  name: 'Comptalib',
@@ -238,4 +240,4 @@ export const BrandComptalib = [
238
240
  domains: ['@lecomptablefrancais.fr'],
239
241
  },
240
242
  },
241
- ];
243
+ ] as const;
@@ -1,6 +1,7 @@
1
+ import { Brand } from '../../utils';
1
2
  import { SalesContractLegalstart } from './SalesContractBrandLegalstart';
2
3
 
3
- export const BrandLegalstart = [
4
+ export const BrandLegalstart: Brand[] = [
4
5
  {
5
6
  idTypeBrand: 1,
6
7
  name: 'LegalStart',
@@ -110,4 +111,4 @@ export const BrandLegalstart = [
110
111
  },
111
112
  salesContractConfig: SalesContractLegalstart,
112
113
  },
113
- ];
114
+ ] as const;
@@ -1,6 +1,7 @@
1
+ import { Brand } from '../../utils';
1
2
  import { SalesContractBrandPourcentageOnline, SalesContractBrandPourcentageECE, SalesContractBrandPourcentageECF } from './SalesContractBrandPourcentage';
2
3
 
3
- export const BrandPourcentage = [
4
+ export const BrandPourcentage: Brand[] = [
4
5
  {
5
6
  idTypeBrand: 1,
6
7
  urlS3: 'https://s3.eu-west-3.amazonaws.com/resources-pourcentage/',
@@ -431,4 +432,4 @@ export const BrandPourcentage = [
431
432
  },
432
433
  salesContractConfig: SalesContractBrandPourcentageECF,
433
434
  },
434
- ];
435
+ ] as const;
@@ -1,4 +1,6 @@
1
- export const BrandStatutsExpress = [
1
+ import { Brand } from '../../utils';
2
+
3
+ export const BrandStatutsExpress: Brand[] = [
2
4
  {
3
5
  idTypeBrand: 1,
4
6
  name: 'Statuts-Express',
@@ -100,4 +102,4 @@ export const BrandStatutsExpress = [
100
102
  },
101
103
  },
102
104
  },
103
- ];
105
+ ] as const;
@@ -1,6 +1,7 @@
1
+ import { SaleContract } from '..';
1
2
  import { PrestationType, allPrestationsWithBrochure, PrestationDetail } from './PrestationType';
2
3
 
3
- export const SalesContractClementine = [
4
+ export const SalesContractClementine: SaleContract[] = [
4
5
  {
5
6
  label: 'Page d\'introduction',
6
7
  name: 'page_intro',
@@ -27,14 +28,14 @@ export const SalesContractClementine = [
27
28
  name: 'page_detail_ldm',
28
29
  needBgImage: false,
29
30
  versionable: false,
30
- idPrestationType: Object.values(PrestationDetail).filter(p => !p.isBack && !p.hidden && allPrestationsWithBrochure.includes(p.id!)).map(({ id }) => id), // Prestations non express
31
+ idPrestationType: Object.values(PrestationDetail).filter(p => !p.isBack && !p.hidden && allPrestationsWithBrochure.includes(p.id!)).map(({ id }) => id!), // Prestations non express
31
32
  },
32
33
  {
33
34
  label: 'Détail de la lettre de mission (express)',
34
35
  name: 'page_detail_ldm_back',
35
36
  needBgImage: false,
36
37
  versionable: false,
37
- idPrestationType: Object.values(PrestationDetail).filter(p => p.isBack && !p.hidden && allPrestationsWithBrochure.includes(p.id!)).map(({ id }) => id), // Prestations express
38
+ idPrestationType: Object.values(PrestationDetail).filter(p => p.isBack && !p.hidden && allPrestationsWithBrochure.includes(p.id!)).map(({ id }) => id!), // Prestations express
38
39
  },
39
40
  {
40
41
  label: 'Compta Pro',
@@ -185,7 +186,7 @@ export const SalesContractClementine = [
185
186
  },
186
187
  ];
187
188
 
188
- export const SalesContractKlems = [
189
+ export const SalesContractKlems: SaleContract[] = [
189
190
  // pour les pages statiques
190
191
  {
191
192
  label: 'Page d\'introduction',
@@ -213,14 +214,14 @@ export const SalesContractKlems = [
213
214
  name: 'page_detail_ldm',
214
215
  needBgImage: false,
215
216
  versionable: false,
216
- idPrestationType: Object.values(PrestationDetail).filter(p => !p.isBack && !p.hidden && [PrestationType.SOCIAL, PrestationType.COMPTA_MICRO_KLEMS, PrestationType.COMPTA_EI_KLEMS, PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS, PrestationType.BILAN_PREVISIONNEL].includes(p.id!)).map(({ id }) => id), // Prestations non express
217
+ idPrestationType: Object.values(PrestationDetail).filter(p => !p.isBack && !p.hidden && [PrestationType.SOCIAL, PrestationType.COMPTA_MICRO_KLEMS, PrestationType.COMPTA_EI_KLEMS, PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS, PrestationType.BILAN_PREVISIONNEL].includes(p.id!)).map(({ id }) => id!), // Prestations non express
217
218
  },
218
219
  {
219
220
  label: 'Détail de la lettre de mission (express)',
220
221
  name: 'page_detail_ldm_back',
221
222
  needBgImage: false,
222
223
  versionable: false,
223
- idPrestationType: Object.values(PrestationDetail).filter(p => p.isBack && !p.hidden && [PrestationType.SOCIAL, PrestationType.COMPTA_MICRO_KLEMS_EXPRESS, PrestationType.COMPTA_EI_KLEMS_EXPRESS, PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS_EXPRESS].includes(p.id!)).map(({ id }) => id), // Prestations express
224
+ idPrestationType: Object.values(PrestationDetail).filter(p => p.isBack && !p.hidden && [PrestationType.SOCIAL, PrestationType.COMPTA_MICRO_KLEMS_EXPRESS, PrestationType.COMPTA_EI_KLEMS_EXPRESS, PrestationType.COMPTA_LOUEUR_MEUBLE_NON_PRO_KLEMS_EXPRESS].includes(p.id!)).map(({ id }) => id!), // Prestations express
224
225
  },
225
226
  {
226
227
  label: 'Forfait Expertise Micro',
@@ -1,6 +1,7 @@
1
+ import { SaleContract } from '..';
1
2
  import { PrestationType, allPrestationsWithBrochure, PrestationDetail } from './PrestationType';
2
3
 
3
- export const SalesContractBrandPourcentageOnline = [
4
+ export const SalesContractBrandPourcentageOnline: SaleContract[] = [
4
5
  // pour les pages statiques
5
6
  {
6
7
  label: 'Page d\'introduction',
@@ -28,14 +29,14 @@ export const SalesContractBrandPourcentageOnline = [
28
29
  name: 'page_detail_ldm',
29
30
  needBgImage: false,
30
31
  versionable: false,
31
- idPrestationType: Object.values(PrestationDetail).filter(p => !p.isBack && !p.hidden && allPrestationsWithBrochure.includes(p.id!)).map(({ id }) => id), // Prestations non express
32
+ idPrestationType: Object.values(PrestationDetail).filter(p => !p.isBack && !p.hidden && allPrestationsWithBrochure.includes(p.id!)).map(({ id }) => id!), // Prestations non express
32
33
  },
33
34
  {
34
35
  label: 'Détail de la lettre de mission (express)',
35
36
  name: 'page_detail_ldm_back',
36
37
  needBgImage: false,
37
38
  versionable: false,
38
- idPrestationType: Object.values(PrestationDetail).filter(p => p.isBack && !p.hidden && allPrestationsWithBrochure.includes(p.id!)).map(({ id }) => id), // Prestations express
39
+ idPrestationType: Object.values(PrestationDetail).filter(p => p.isBack && !p.hidden && allPrestationsWithBrochure.includes(p.id!)).map(({ id }) => id!), // Prestations express
39
40
  },
40
41
  {
41
42
  label: 'Compta Pourcentage',
@@ -162,7 +163,7 @@ export const SalesContractBrandPourcentageOnline = [
162
163
  },
163
164
  ];
164
165
 
165
- export const SalesContractBrandPourcentageECE = [
166
+ export const SalesContractBrandPourcentageECE: SaleContract[] = [
166
167
  // pour les pages statiques
167
168
  {
168
169
  label: 'Page d\'introduction',
@@ -190,14 +191,14 @@ export const SalesContractBrandPourcentageECE = [
190
191
  name: 'page_detail_ldm',
191
192
  needBgImage: false,
192
193
  versionable: false,
193
- idPrestationType: Object.values(PrestationDetail).filter(p => !p.isBack && !p.hidden && allPrestationsWithBrochure.includes(p.id!)).map(({ id }) => id), // Prestations non express
194
+ idPrestationType: Object.values(PrestationDetail).filter(p => !p.isBack && !p.hidden && allPrestationsWithBrochure.includes(p.id!)).map(({ id }) => id!), // Prestations non express
194
195
  },
195
196
  {
196
197
  label: 'Détail de la lettre de mission (express)',
197
198
  name: 'page_detail_ldm_back',
198
199
  needBgImage: false,
199
200
  versionable: false,
200
- idPrestationType: Object.values(PrestationDetail).filter(p => p.isBack && !p.hidden && allPrestationsWithBrochure.includes(p.id!)).map(({ id }) => id), // Prestations express
201
+ idPrestationType: Object.values(PrestationDetail).filter(p => p.isBack && !p.hidden && allPrestationsWithBrochure.includes(p.id!)).map(({ id }) => id!), // Prestations express
201
202
  },
202
203
  {
203
204
  label: 'Compta Pourcentage',
@@ -350,14 +351,14 @@ export const SalesContractBrandPourcentageECF = [
350
351
  name: 'page_detail_ldm',
351
352
  needBgImage: false,
352
353
  versionable: false,
353
- idPrestationType: Object.values(PrestationDetail).filter(p => !p.isBack && !p.hidden && allPrestationsWithBrochure.includes(p.id!)).map(({ id }) => id), // Prestations non express
354
+ idPrestationType: Object.values(PrestationDetail).filter(p => !p.isBack && !p.hidden && allPrestationsWithBrochure.includes(p.id!)).map(({ id }) => id!), // Prestations non express
354
355
  },
355
356
  {
356
357
  label: 'Détail de la lettre de mission (express)',
357
358
  name: 'page_detail_ldm_back',
358
359
  needBgImage: false,
359
360
  versionable: false,
360
- idPrestationType: Object.values(PrestationDetail).filter(p => p.isBack && !p.hidden && allPrestationsWithBrochure.includes(p.id!)).map(({ id }) => id), // Prestations express
361
+ idPrestationType: Object.values(PrestationDetail).filter(p => p.isBack && !p.hidden && allPrestationsWithBrochure.includes(p.id!)).map(({ id }) => id!), // Prestations express
361
362
  },
362
363
  {
363
364
  label: 'Compta Pourcentage',
@@ -14,10 +14,29 @@ export interface VatType {
14
14
  }
15
15
 
16
16
  export interface VatTypeEnum {
17
- [key: string]: VatType
17
+ WITHOUT_TAXE: VatType;
18
+ TX_5_5: VatType;
19
+ TX_10: VatType;
20
+ TX_20: VatType;
21
+ TX_2_1: VatType;
22
+ TX_8_5: VatType;
23
+ MARGE: VatType;
24
+ INTRACOM_TX_20: VatType;
25
+ INTRACOM_WITHOUT_TAXE: VatType;
26
+ INTRACOM_TX_5_5: VatType;
27
+ INTRACOM_TX_10: VatType;
28
+ INTRACOM_TX_2_1: VatType;
29
+ INTRACOM_TX_8_5: VatType;
30
+ IMPORTATION_WITHOUT_TAXE: VatType;
31
+ IMPORTATION_TX_5_5: VatType;
32
+ IMPORTATION_TX_10: VatType;
33
+ IMPORTATION_TX_20: VatType;
34
+ IMPORTATION_TX_2_1: VatType;
35
+ IMPORTATION_TX_8_5: VatType;
36
+ MANUAL: VatType;
18
37
  }
19
38
 
20
- export const Vat:VatTypeEnum = {
39
+ export const Vat: VatTypeEnum = {
21
40
  WITHOUT_TAXE: {
22
41
  id: 1,
23
42
  idTva: 1,
@@ -1,6 +1,7 @@
1
- import { IsBoolean, IsOptional } from 'class-validator';
1
+ import { IsBoolean, IsEnum, IsOptional } from 'class-validator';
2
2
  import { ApiProperty, ApiPropertyOptional } from '../../../../utils';
3
3
  import { ToBoolean } from '../../../../utils/transforms/boolean.transform';
4
+ import { TimeSlot } from '../../../Enum/TimeSlot';
4
5
 
5
6
  export class CreateCalendarEventForUsers {
6
7
  @ApiProperty()
@@ -72,4 +73,9 @@ export class CreateCalendarEventForUsers {
72
73
  @ToBoolean()
73
74
  @IsOptional()
74
75
  hasToConfirmRdvOnboardingToCustomer: boolean;
76
+
77
+ @ApiPropertyOptional()
78
+ @IsOptional()
79
+ @IsEnum(TimeSlot)
80
+ idTimeSlot?: TimeSlot;
75
81
  }
@@ -0,0 +1,11 @@
1
+ import { PrestationType } from '../../..';
2
+
3
+ export type SaleContract = {
4
+ label: string;
5
+ name: string;
6
+ needBgImage: boolean;
7
+ versionable: boolean;
8
+ idPrestationType: PrestationType[];
9
+ keyName?: string;
10
+ condition?: (turnover: number) => boolean;
11
+ };
package/ts/types/index.ts CHANGED
@@ -709,6 +709,7 @@ export * from './Interface/api/SocietyTransaction/QuerySocietyTransactionCount';
709
709
  export * from './Interface/api/SocietyTransaction/ReadSocietyTransactionCount';
710
710
  export * from './Interface/api/salesContract/SendSalesContractParams';
711
711
  export * from './Interface/api/salesContract/GenerateSalesContractParams';
712
+ export * from './Interface/api/salesContract/Read';
712
713
  export * from './Interface/api/webmail/CreateMailFromLambda';
713
714
  export * from './Interface/api/webmail/MigrateMailAddresses';
714
715
  export * from './Interface/api/webmail/ExportEmails';
@@ -5,41 +5,168 @@ import { BrandComptalib } from '../types/Enum/BrandComptalib';
5
5
  import { BrandPourcentage } from '../types/Enum/BrandPourcentage';
6
6
  import { BrandStatutsExpress } from '../types/Enum/BrandStatutsExpress';
7
7
  import { BrandAnytime } from '../types/Enum/BrandAnytime';
8
+ import { SaleContract } from '..';
8
9
 
9
- type brand = {
10
+ export type Brand = {
10
11
  idTypeBrand: number,
12
+ name: string;
13
+ commercialName?: string;
14
+ urlS3?: string;
15
+ logoS3?: string;
16
+ lightLogoS3?: string;
17
+ privacyPolicy?: string;
18
+ recaptcha?: { secretKey: string; };
19
+ urlApi1?: string;
20
+ urlClient?: string;
21
+ urlApp?: string;
11
22
  colors: {
12
23
  primary: string,
24
+ primary50?: string;
25
+ primary100?: string;
26
+ primary300?: string;
27
+ primary500?: string;
28
+ primary700?: string;
29
+ footerColor?: string;
30
+ sendContract?: string;
13
31
  },
14
- listMails: {
15
- bonjour: string,
32
+ listMails?: {
33
+ administratif?: string;
34
+ app?: string;
35
+ bonjour?: string;
36
+ contact: string;
37
+ facturation?: string;
38
+ feedback?: string;
39
+ gestion?: string;
40
+ juridique?: string;
41
+ informatique?: string;
42
+ msd?: string;
43
+ noreply?: string;
44
+ qualite?: string;
45
+ paiement?: string;
46
+ rh?: string;
47
+ social?: string;
48
+ support?: string;
49
+ tva?: string;
50
+ wb?: string;
16
51
  },
17
- listPhones: {
18
- contact: string,
52
+ listPhones?: {
53
+ contact: string;
54
+ qualite: string;
55
+ social?: string;
56
+ juridique: string;
57
+ },
58
+ companyInformation?: {
59
+ ape: string;
60
+ bp: string;
61
+ city: string;
62
+ montantCapital: string;
63
+ nomRaisonSociale: string;
64
+ ECName?: string;
65
+ ECOrderCity: string;
66
+ ECDepartment?: string,
67
+ ECPosition?: string;
68
+ phone: string;
69
+ postalAddress: string;
70
+ rcs: string;
71
+ statut: string;
72
+ zipCode: string;
73
+ };
74
+ recaptchaSecretKey?: string;
75
+ idPrestationsListHidden?: number[];
76
+ idPrestationsListAuthorized?: number[];
77
+ logoUrl?: string;
78
+ miniLogoUrl?: string;
79
+ hiddenPages?: [],
80
+ urlApi2?: string;
81
+ urlExpert?: string;
82
+ bank?: {
83
+ IBAN: string;
84
+ BIC: string;
85
+ Name: string;
86
+ Id: string;
87
+ codeEtablissement?: string;
88
+ codeGuichet?: string;
89
+ numeroCompte?: string;
90
+ cleRib?: string;
91
+ },
92
+ internalInvoicing?: {
93
+ lastUsedNumber?: number;
94
+ statut: string;
95
+ name: string;
96
+ address: string;
97
+ zipCode: string;
98
+ city: string;
99
+ country: string;
100
+ montantCapital: string;
101
+ siret: string;
102
+ ape: string;
103
+ rcs: string;
104
+ phone: string;
105
+ vatIntracom: string;
106
+ email: string;
107
+ },
108
+ webmail?: {
109
+ domains: string[];
19
110
  },
20
- name: string,
21
- urlApi1?: string,
22
- urlClient?: string,
23
- urlApp?: string,
24
111
  offices?: {
25
- LAXOU: {
26
- id : number,
112
+ LAXOU?: {
113
+ id: number,
114
+ name: string;
115
+ },
116
+ PARIS?: {
117
+ id: number,
118
+ name: string;
119
+ },
120
+ MARSEILLE?: {
121
+ id: number,
122
+ name: string;
123
+ },
124
+ EPINAL?: {
125
+ id: number,
126
+ name: string;
127
+ },
128
+ HOME_OFFICE?: {
129
+ id: number,
130
+ name: string;
131
+ },
132
+ NICE?: {
133
+ id: number,
134
+ name: string;
27
135
  },
28
- HOME_OFFICE: {
29
- id : number,
30
- }
31
136
  },
137
+ salesContractConfig?: SaleContract[],
32
138
  };
33
139
 
34
140
  const allBrands = ['Legalstart', 'Comptalib', 'Clementine', 'Pourcentage', 'StatutsExpress', 'Anytime'] as const;
35
141
  type BrandList = typeof allBrands[number];
36
142
 
37
- type getBrandConfigParams = {
143
+ const listEnvEnum: {
144
+ BrandClementine: Brand[];
145
+ BrandLegalstart: Brand[];
146
+ BrandComptalib: Brand[];
147
+ BrandPourcentage: Brand[];
148
+ BrandStatutsExpress: Brand[];
149
+ BrandAnytime: Brand[];
150
+ } = {
151
+ BrandClementine,
152
+ BrandLegalstart,
153
+ BrandComptalib,
154
+ BrandPourcentage,
155
+ BrandStatutsExpress,
156
+ BrandAnytime,
157
+ };
158
+
159
+ type GetBrandConfigParam = {
38
160
  idTypeBrand?: number,
39
161
  objectWaited?: string,
40
162
  nodeEnv?: string
41
163
  };
42
164
 
165
+ type GetBrandParam = {
166
+ idTypeBrand?: number,
167
+ nodeEnv?: string
168
+ };
169
+
43
170
  const getBrandNameByNodeEnv = (nodeEnv?: string): BrandList => {
44
171
  const env = nodeEnv ?? process.env.NODE_ENV ?? process.env.API_HOST;
45
172
  if (env) {
@@ -68,12 +195,10 @@ const isItThisEnv = (brandList: BrandList, nodeEnv?: string): boolean => {
68
195
  return getBrandNameByNodeEnv(env) === brandList;
69
196
  };
70
197
 
71
- const getAllBrandByNodeEnv = (nodeEnv?: string): Array<brand> => {
198
+ const getAllBrandByNodeEnv = (nodeEnv?: string): Array<Brand> => {
72
199
  const nodeEnvUsed = nodeEnv ?? process.env.NODE_ENV;
73
200
  const currentEnvName = getBrandNameByNodeEnv(nodeEnvUsed);
74
- const listEnvEnum = {
75
- BrandClementine, BrandLegalstart, BrandComptalib, BrandPourcentage, BrandStatutsExpress, BrandAnytime,
76
- };
201
+
77
202
  // @ts-ignore
78
203
  const currentConfigFile:brand[] = listEnvEnum[`Brand${currentEnvName}`];
79
204
 
@@ -82,29 +207,56 @@ const getAllBrandByNodeEnv = (nodeEnv?: string): Array<brand> => {
82
207
  return brand;
83
208
  };
84
209
 
85
- const getBrandConfig = (params: getBrandConfigParams): brand => {
210
+
211
+ function getBrand(params?: GetBrandParam): Brand {
212
+
213
+ let brand: Brand | undefined;
214
+
215
+ const { nodeEnv, idTypeBrand } = params ?? {};
216
+ const nodeEnvUsed = nodeEnv ?? process.env.NODE_ENV;
217
+
218
+ const currentEnvName = getBrandNameByNodeEnv(nodeEnvUsed);
219
+
220
+ const currentConfigFile: Brand[] = listEnvEnum[`Brand${currentEnvName}`];
221
+
222
+ if (idTypeBrand) {
223
+ brand = currentConfigFile.find((b: Brand) => b.idTypeBrand === idTypeBrand);
224
+ }
225
+
226
+ if (!brand) {
227
+ // Si aucune brand trouvée, on passe par défaut la première brand de la liste
228
+ [brand] = currentConfigFile.sort((a: Brand, b: Brand) => a.idTypeBrand - b.idTypeBrand);
229
+ }
230
+
231
+ return brand;
232
+ }
233
+
234
+ /**
235
+ * @deprecated use getBrand()
236
+ */
237
+ const getBrandConfig = (params: GetBrandConfigParam): Brand => {
238
+
86
239
  const {
87
240
  idTypeBrand = null, objectWaited = null, nodeEnv,
88
241
  } = params;
89
242
  let brand;
243
+
90
244
  const nodeEnvUsed = nodeEnv ?? process.env.NODE_ENV;
91
245
  const currentEnvName = getBrandNameByNodeEnv(nodeEnvUsed);
92
- const listEnvEnum = {
93
- BrandClementine, BrandLegalstart, BrandComptalib, BrandPourcentage, BrandStatutsExpress, BrandAnytime,
94
- };
246
+
95
247
  // @ts-ignore
96
248
  const currentConfigFile:brand[] = listEnvEnum[`Brand${currentEnvName}`];
97
249
 
98
250
  if (idTypeBrand) {
99
251
  // Récupération de la brand via idTypeBrand
100
- brand = currentConfigFile.find((b: brand) => b.idTypeBrand === idTypeBrand);
252
+ brand = currentConfigFile.find((b: Brand) => b.idTypeBrand === idTypeBrand);
101
253
  }
102
254
  // else if (idSociety) {
103
255
  // Récupération de la brand via l'idSociety -> impossible directement depuis le core (pas d'accès au resources, ni au token pour l'appel via fetch)
104
256
 
105
257
  if (!brand) {
106
258
  // Si aucune brand trouvée, on passe par défaut la première brand de la liste
107
- [brand] = currentConfigFile.sort((a: brand, b: brand) => a.idTypeBrand - b.idTypeBrand);
259
+ [brand] = currentConfigFile.sort((a: Brand, b: Brand) => a.idTypeBrand - b.idTypeBrand);
108
260
  }
109
261
 
110
262
  if (objectWaited) {
@@ -112,7 +264,7 @@ const getBrandConfig = (params: getBrandConfigParams): brand => {
112
264
  let objectToReturn = getLodash(brand, objectWaited);
113
265
  // Si aucun attribut trouvé, on renvoit celui de Clementine par défaut
114
266
  if (!objectToReturn) {
115
- const brandDefault = currentConfigFile.find((b: brand) => b.name === currentEnvName);
267
+ const brandDefault = currentConfigFile.find((b: Brand) => b.name === currentEnvName);
116
268
  objectToReturn = getLodash(brandDefault, objectWaited);
117
269
  }
118
270
  return objectToReturn;
@@ -135,9 +287,7 @@ const getBrandByEmail = (email: string): 'Legalstart' | 'Comptalib' | 'Clementin
135
287
  const getSubBrandList = (nodeEnv?: string): Array<object> => {
136
288
  const nodeEnvUsed = nodeEnv ?? process.env.NODE_ENV;
137
289
  const currentEnvName = getBrandNameByNodeEnv(nodeEnvUsed);
138
- const listEnvEnum = {
139
- BrandClementine, BrandLegalstart, BrandComptalib, BrandPourcentage, BrandStatutsExpress, BrandAnytime,
140
- };
290
+
141
291
  // @ts-ignore
142
292
  const currentConfigFile: brand[] = listEnvEnum[`Brand${currentEnvName}`];
143
293
 
@@ -145,5 +295,5 @@ const getSubBrandList = (nodeEnv?: string): Array<object> => {
145
295
  };
146
296
 
147
297
  export {
148
- getBrandConfig, isItThisEnv, getAllBrandByNodeEnv, getBrandNameByNodeEnv, getBrandByEmail, getSubBrandList,
298
+ getBrandConfig, isItThisEnv, getAllBrandByNodeEnv, getBrandNameByNodeEnv, getBrandByEmail, getSubBrandList, getBrand,
149
299
  };
@@ -17,6 +17,10 @@ export function getCerfa3310Century23Payload(accountingEntries: IAccountingEntry
17
17
  const shouldHaveVatCode = isDefined(payload.setting?.tvaCode) && isDefined(payload.society.siret);
18
18
  const vats = Object.values(Vat);
19
19
 
20
+ const isVatControl = Object.values(payload.vatControl ?? {}).filter(v => isDefined(v)).length > 0;
21
+ // On désactive les automatismes des déclarations précédentes dans le contrôle de TVA
22
+ if (isVatControl) payload.previousVatDeclaration = null;
23
+
20
24
  const frenchVat = vats.filter((v) => !v.isVatImportation && !v.isVatIntracom).map((v) => v.id);
21
25
  const withTaxVat = vats.filter((v) => v.value > 0).map((v) => v.id);
22
26
  const intracomVat = vats.filter((v) => v.isVatIntracom && !v.isVatImportation).map((v) => v.id);