@silexpert/core 1.3.186 → 1.3.188

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 (114) hide show
  1. package/dist/cjs/api/resources/SocietyApproval.d.ts +47 -0
  2. package/dist/cjs/api/resources/SocietyApproval.d.ts.map +1 -0
  3. package/dist/cjs/api/resources/SocietyApproval.js +62 -0
  4. package/dist/cjs/api/resources/SocietyApproval.js.map +1 -0
  5. package/dist/cjs/api/resources.d.ts +2 -0
  6. package/dist/cjs/api/resources.d.ts.map +1 -1
  7. package/dist/cjs/api/resources.js +2 -0
  8. package/dist/cjs/api/resources.js.map +1 -1
  9. package/dist/cjs/types/Enum/Ged.d.ts +2 -1
  10. package/dist/cjs/types/Enum/Ged.d.ts.map +1 -1
  11. package/dist/cjs/types/Enum/Ged.js +31 -30
  12. package/dist/cjs/types/Enum/Ged.js.map +1 -1
  13. package/dist/cjs/types/Enum/MailAuto.d.ts +3 -1
  14. package/dist/cjs/types/Enum/MailAuto.d.ts.map +1 -1
  15. package/dist/cjs/types/Enum/MailAuto.js +2 -0
  16. package/dist/cjs/types/Enum/MailAuto.js.map +1 -1
  17. package/dist/cjs/types/Enum/Proceding.d.ts +4 -0
  18. package/dist/cjs/types/Enum/Proceding.d.ts.map +1 -1
  19. package/dist/cjs/types/Enum/Proceding.js +4 -0
  20. package/dist/cjs/types/Enum/Proceding.js.map +1 -1
  21. package/dist/cjs/types/Enum/SocietyApproval.d.ts +27 -0
  22. package/dist/cjs/types/Enum/SocietyApproval.d.ts.map +1 -0
  23. package/dist/cjs/types/Enum/SocietyApproval.js +205 -0
  24. package/dist/cjs/types/Enum/SocietyApproval.js.map +1 -0
  25. package/dist/cjs/types/Enum/StatutsSection.d.ts +7 -1
  26. package/dist/cjs/types/Enum/StatutsSection.d.ts.map +1 -1
  27. package/dist/cjs/types/Enum/StatutsSection.js +15 -7
  28. package/dist/cjs/types/Enum/StatutsSection.js.map +1 -1
  29. package/dist/cjs/types/Interface/api/SocietyApproval.d.ts +36 -0
  30. package/dist/cjs/types/Interface/api/SocietyApproval.d.ts.map +1 -0
  31. package/dist/cjs/types/Interface/api/SocietyApproval.js +153 -0
  32. package/dist/cjs/types/Interface/api/SocietyApproval.js.map +1 -0
  33. package/dist/cjs/types/Interface/api/oldExportInfo/OldExpertInfos.d.ts.map +1 -1
  34. package/dist/cjs/types/Interface/api/oldExportInfo/OldExpertInfos.js +2 -0
  35. package/dist/cjs/types/Interface/api/oldExportInfo/OldExpertInfos.js.map +1 -1
  36. package/dist/cjs/types/Interface/models/ISocietyApproval.d.ts +2 -0
  37. package/dist/cjs/types/Interface/models/ISocietyApproval.d.ts.map +1 -1
  38. package/dist/cjs/types/Interface/models/ISocietyApproval.js.map +1 -1
  39. package/dist/cjs/types/index.d.ts +2 -0
  40. package/dist/cjs/types/index.d.ts.map +1 -1
  41. package/dist/cjs/types/index.js +2 -0
  42. package/dist/cjs/types/index.js.map +1 -1
  43. package/dist/cjs/utils/index.d.ts +1 -0
  44. package/dist/cjs/utils/index.d.ts.map +1 -1
  45. package/dist/cjs/utils/index.js +1 -0
  46. package/dist/cjs/utils/index.js.map +1 -1
  47. package/dist/cjs/utils/societyApproval.d.ts +31 -0
  48. package/dist/cjs/utils/societyApproval.d.ts.map +1 -0
  49. package/dist/cjs/utils/societyApproval.js +77 -0
  50. package/dist/cjs/utils/societyApproval.js.map +1 -0
  51. package/dist/mjs/api/resources/SocietyApproval.d.ts +47 -0
  52. package/dist/mjs/api/resources/SocietyApproval.d.ts.map +1 -0
  53. package/dist/mjs/api/resources/SocietyApproval.js +58 -0
  54. package/dist/mjs/api/resources/SocietyApproval.js.map +1 -0
  55. package/dist/mjs/api/resources.d.ts +2 -0
  56. package/dist/mjs/api/resources.d.ts.map +1 -1
  57. package/dist/mjs/api/resources.js +2 -0
  58. package/dist/mjs/api/resources.js.map +1 -1
  59. package/dist/mjs/types/Enum/Ged.d.ts +2 -1
  60. package/dist/mjs/types/Enum/Ged.d.ts.map +1 -1
  61. package/dist/mjs/types/Enum/Ged.js +31 -30
  62. package/dist/mjs/types/Enum/Ged.js.map +1 -1
  63. package/dist/mjs/types/Enum/MailAuto.d.ts +3 -1
  64. package/dist/mjs/types/Enum/MailAuto.d.ts.map +1 -1
  65. package/dist/mjs/types/Enum/MailAuto.js +2 -0
  66. package/dist/mjs/types/Enum/MailAuto.js.map +1 -1
  67. package/dist/mjs/types/Enum/Proceding.d.ts +4 -0
  68. package/dist/mjs/types/Enum/Proceding.d.ts.map +1 -1
  69. package/dist/mjs/types/Enum/Proceding.js +4 -0
  70. package/dist/mjs/types/Enum/Proceding.js.map +1 -1
  71. package/dist/mjs/types/Enum/SocietyApproval.d.ts +27 -0
  72. package/dist/mjs/types/Enum/SocietyApproval.d.ts.map +1 -0
  73. package/dist/mjs/types/Enum/SocietyApproval.js +201 -0
  74. package/dist/mjs/types/Enum/SocietyApproval.js.map +1 -0
  75. package/dist/mjs/types/Enum/StatutsSection.d.ts +7 -1
  76. package/dist/mjs/types/Enum/StatutsSection.d.ts.map +1 -1
  77. package/dist/mjs/types/Enum/StatutsSection.js +15 -7
  78. package/dist/mjs/types/Enum/StatutsSection.js.map +1 -1
  79. package/dist/mjs/types/Interface/api/SocietyApproval.d.ts +36 -0
  80. package/dist/mjs/types/Interface/api/SocietyApproval.d.ts.map +1 -0
  81. package/dist/mjs/types/Interface/api/SocietyApproval.js +167 -0
  82. package/dist/mjs/types/Interface/api/SocietyApproval.js.map +1 -0
  83. package/dist/mjs/types/Interface/api/oldExportInfo/OldExpertInfos.d.ts.map +1 -1
  84. package/dist/mjs/types/Interface/api/oldExportInfo/OldExpertInfos.js +2 -0
  85. package/dist/mjs/types/Interface/api/oldExportInfo/OldExpertInfos.js.map +1 -1
  86. package/dist/mjs/types/Interface/models/ISocietyApproval.d.ts +2 -0
  87. package/dist/mjs/types/Interface/models/ISocietyApproval.d.ts.map +1 -1
  88. package/dist/mjs/types/Interface/models/ISocietyApproval.js.map +1 -1
  89. package/dist/mjs/types/index.d.ts +2 -0
  90. package/dist/mjs/types/index.d.ts.map +1 -1
  91. package/dist/mjs/types/index.js +2 -0
  92. package/dist/mjs/types/index.js.map +1 -1
  93. package/dist/mjs/utils/index.d.ts +1 -0
  94. package/dist/mjs/utils/index.d.ts.map +1 -1
  95. package/dist/mjs/utils/index.js +1 -0
  96. package/dist/mjs/utils/index.js.map +1 -1
  97. package/dist/mjs/utils/societyApproval.d.ts +31 -0
  98. package/dist/mjs/utils/societyApproval.d.ts.map +1 -0
  99. package/dist/mjs/utils/societyApproval.js +84 -0
  100. package/dist/mjs/utils/societyApproval.js.map +1 -0
  101. package/package.json +1 -1
  102. package/ts/api/resources/SocietyApproval.ts +75 -0
  103. package/ts/api/resources.ts +2 -0
  104. package/ts/types/Enum/Ged.ts +248 -238
  105. package/ts/types/Enum/MailAuto.ts +2 -0
  106. package/ts/types/Enum/Proceding.ts +4 -0
  107. package/ts/types/Enum/SocietyApproval.ts +217 -0
  108. package/ts/types/Enum/StatutsSection.ts +15 -7
  109. package/ts/types/Interface/api/SocietyApproval.ts +121 -0
  110. package/ts/types/Interface/api/oldExportInfo/OldExpertInfos.ts +2 -0
  111. package/ts/types/Interface/models/ISocietyApproval.ts +2 -0
  112. package/ts/types/index.ts +2 -0
  113. package/ts/utils/index.ts +1 -0
  114. package/ts/utils/societyApproval.ts +104 -0
@@ -51,4 +51,8 @@ export const Proceding = {
51
51
  id: 13,
52
52
  name: "Radiation d'office",
53
53
  },
54
+ PROFESSIONAL_RECOVERY_PROCEDURE: {
55
+ id: 14,
56
+ name: 'Procédure de rétablissement professionnel',
57
+ },
54
58
  };
@@ -0,0 +1,217 @@
1
+ import { LegalForm, LegalFormTypeEnum } from './LegalForm';
2
+ import { DocumentSectionType } from './StatutsSection';
3
+
4
+ export enum SocietyApprovalDocumentType {
5
+ PV_AG = 1,
6
+ POWER_MANDATE = 2,
7
+ DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_MICRO = 3,
8
+ DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_PME = 4,
9
+ INCOME_APPROPRIATION = 5,
10
+ LIST_OF_CONVENTIONS = 6,
11
+ LIST_OF_DIVIDENDS = 7,
12
+ }
13
+
14
+ export type SocietyApprovalDocumentTemplate = {
15
+ idDocumentType: SocietyApprovalDocumentType;
16
+ docName: string;
17
+ templateName: string;
18
+ documentSectionType: DocumentSectionType;
19
+ token?: string;
20
+ htmlContent?: string;
21
+ idDocumentSection?: number;
22
+ };
23
+
24
+ export type SocietyApprovalDocumentConfig = {
25
+ idLegalForm: LegalFormTypeEnum;
26
+ legalFormName: string;
27
+ documents: SocietyApprovalDocumentTemplate[];
28
+ };
29
+
30
+ export const SocietyApprovalDocumentsByLegalForm: SocietyApprovalDocumentConfig[] = [
31
+ {
32
+ idLegalForm: LegalFormTypeEnum.EURL,
33
+ legalFormName: Object.values(LegalForm).find((lf) => lf.id === LegalFormTypeEnum.EURL)?.name ?? '',
34
+ documents: [
35
+ {
36
+ idDocumentType: SocietyApprovalDocumentType.PV_AG,
37
+ docName: "Procès-verbal d'approbation des comptes",
38
+ templateName: 'APPROVAL_EURL',
39
+ documentSectionType: DocumentSectionType.APPROVAL_PV,
40
+ },
41
+ {
42
+ idDocumentType: SocietyApprovalDocumentType.POWER_MANDATE,
43
+ docName: 'Mandat de pouvoir',
44
+ templateName: 'POWER_MANDATE_EURL',
45
+ documentSectionType: DocumentSectionType.POWER_MANDATE,
46
+ },
47
+ {
48
+ idDocumentType: SocietyApprovalDocumentType.DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_MICRO,
49
+ docName: 'Déclaration de confidentialité pour les comptes annuels (Micro)',
50
+ templateName: 'DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_MICRO_EURL',
51
+ documentSectionType: DocumentSectionType.DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS,
52
+ },
53
+ {
54
+ idDocumentType: SocietyApprovalDocumentType.DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_PME,
55
+ docName: 'Déclaration de confidentialité pour les comptes annuels (PME)',
56
+ templateName: 'DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_PME_EURL',
57
+ documentSectionType: DocumentSectionType.DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS,
58
+ },
59
+ {
60
+ idDocumentType: SocietyApprovalDocumentType.INCOME_APPROPRIATION,
61
+ docName: 'Affectation du résultat',
62
+ templateName: 'INCOME_APPROPRIATION_EURL',
63
+ documentSectionType: DocumentSectionType.INCOME_APPROPRIATION,
64
+ },
65
+ {
66
+ idDocumentType: SocietyApprovalDocumentType.LIST_OF_CONVENTIONS,
67
+ docName: 'Liste de conventions',
68
+ templateName: 'LIST_OF_CONVENTIONS_EURL',
69
+ documentSectionType: DocumentSectionType.LIST_OF_CONVENTIONS,
70
+ },
71
+ ],
72
+ },
73
+ // {
74
+ // idLegalForm: LegalFormTypeEnum.SARL,
75
+ // legalFormName: Object.values(LegalForm).find((lf) => lf.id === LegalFormTypeEnum.SARL).name,
76
+ // documents: [
77
+ // {
78
+ // idDocumentType: SocietyApprovalDocumentType.PV_AG,
79
+ // docName: "Procès-verbal d'approbation des comptes",
80
+ // templateName: 'APPROVAL_SARL',
81
+ // documentSectionType: DocumentSectionType.APPROVAL_PV,
82
+ // },
83
+ // {
84
+ // idDocumentType: SocietyApprovalDocumentType.POWER_MANDATE,
85
+ // docName: 'Mandat de pouvoir',
86
+ // templateName: 'POWER_MANDATE_SARL',
87
+ // documentSectionType: DocumentSectionType.POWER_MANDATE,
88
+ // },
89
+ // {
90
+ // idDocumentType: SocietyApprovalDocumentType.DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_PME,
91
+ // docName: 'Déclaration de confidentialité pour les comptes annuels',
92
+ // templateName: 'DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_SARL',
93
+ // documentSectionType: DocumentSectionType.DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS,
94
+ // },
95
+ // {
96
+ // idDocumentType: SocietyApprovalDocumentType.INCOME_APPROPRIATION,
97
+ // docName: 'Affectation du résultat',
98
+ // templateName: 'INCOME_APPROPRIATION_SARL',
99
+ // documentSectionType: DocumentSectionType.INCOME_APPROPRIATION,
100
+ // },
101
+ // ],
102
+ // },
103
+ {
104
+ idLegalForm: LegalFormTypeEnum.SASU,
105
+ legalFormName: Object.values(LegalForm).find((lf) => lf.id === LegalFormTypeEnum.SASU)?.name ?? '',
106
+ documents: [
107
+ {
108
+ idDocumentType: SocietyApprovalDocumentType.PV_AG,
109
+ docName: "Procès-verbal d'approbation des comptes",
110
+ templateName: 'APPROVAL_SASU',
111
+ documentSectionType: DocumentSectionType.APPROVAL_PV,
112
+ },
113
+ {
114
+ idDocumentType: SocietyApprovalDocumentType.POWER_MANDATE,
115
+ docName: 'Mandat de pouvoir',
116
+ templateName: 'POWER_MANDATE_SASU',
117
+ documentSectionType: DocumentSectionType.POWER_MANDATE,
118
+ },
119
+ {
120
+ idDocumentType: SocietyApprovalDocumentType.DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_MICRO,
121
+ docName: 'Déclaration de confidentialité pour les comptes annuels (Micro)',
122
+ templateName: 'DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_MICRO_SASU',
123
+ documentSectionType: DocumentSectionType.DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS,
124
+ },
125
+ {
126
+ idDocumentType: SocietyApprovalDocumentType.DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_PME,
127
+ docName: 'Déclaration de confidentialité pour les comptes annuels (PME)',
128
+ templateName: 'DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_PME_SASU',
129
+ documentSectionType: DocumentSectionType.DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS,
130
+ },
131
+ {
132
+ idDocumentType: SocietyApprovalDocumentType.INCOME_APPROPRIATION,
133
+ docName: 'Affectation du résultat',
134
+ templateName: 'INCOME_APPROPRIATION_SASU',
135
+ documentSectionType: DocumentSectionType.INCOME_APPROPRIATION,
136
+ },
137
+ {
138
+ idDocumentType: SocietyApprovalDocumentType.LIST_OF_DIVIDENDS,
139
+ docName: 'Liste de dividendes',
140
+ templateName: 'LIST_OF_DIVIDENDS_SASU',
141
+ documentSectionType: DocumentSectionType.LIST_OF_DIVIDENDS,
142
+ },
143
+ ],
144
+ },
145
+ {
146
+ idLegalForm: LegalFormTypeEnum.SAS,
147
+ legalFormName: Object.values(LegalForm).find((lf) => lf.id === LegalFormTypeEnum.SAS)?.name ?? '',
148
+ documents: [
149
+ {
150
+ idDocumentType: SocietyApprovalDocumentType.PV_AG,
151
+ docName: "Procès-verbal d'approbation des comptes",
152
+ templateName: 'APPROVAL_SAS',
153
+ documentSectionType: DocumentSectionType.APPROVAL_PV,
154
+ },
155
+ {
156
+ idDocumentType: SocietyApprovalDocumentType.POWER_MANDATE,
157
+ docName: 'Mandat de pouvoir',
158
+ templateName: 'POWER_MANDATE_SAS',
159
+ documentSectionType: DocumentSectionType.POWER_MANDATE,
160
+ },
161
+ {
162
+ idDocumentType: SocietyApprovalDocumentType.DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_MICRO,
163
+ docName: 'Déclaration de confidentialité pour les comptes annuels (Micro)',
164
+ templateName: 'DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_MICRO_SAS',
165
+ documentSectionType: DocumentSectionType.DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS,
166
+ },
167
+ {
168
+ idDocumentType: SocietyApprovalDocumentType.DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_PME,
169
+ docName: 'Déclaration de confidentialité pour les comptes annuels (PME)',
170
+ templateName: 'DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_PME_SAS',
171
+ documentSectionType: DocumentSectionType.DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS,
172
+ },
173
+ {
174
+ idDocumentType: SocietyApprovalDocumentType.INCOME_APPROPRIATION,
175
+ docName: 'Affectation du résultat',
176
+ templateName: 'INCOME_APPROPRIATION_SAS',
177
+ documentSectionType: DocumentSectionType.INCOME_APPROPRIATION,
178
+ },
179
+ ],
180
+ },
181
+ {
182
+ idLegalForm: LegalFormTypeEnum.SCI,
183
+ legalFormName: Object.values(LegalForm).find((lf) => lf.id === LegalFormTypeEnum.SCI)?.name ?? 'SCI',
184
+ documents: [
185
+ {
186
+ idDocumentType: SocietyApprovalDocumentType.PV_AG,
187
+ docName: "Procès-verbal d'approbation des comptes",
188
+ templateName: 'APPROVAL_SCI',
189
+ documentSectionType: DocumentSectionType.APPROVAL_PV,
190
+ },
191
+ {
192
+ idDocumentType: SocietyApprovalDocumentType.POWER_MANDATE,
193
+ docName: 'Mandat de pouvoir',
194
+ templateName: 'POWER_MANDATE_SCI',
195
+ documentSectionType: DocumentSectionType.POWER_MANDATE,
196
+ },
197
+ {
198
+ idDocumentType: SocietyApprovalDocumentType.DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_MICRO,
199
+ docName: 'Déclaration de confidentialité pour les comptes annuels (Micro)',
200
+ templateName: 'DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_MICRO_SCI',
201
+ documentSectionType: DocumentSectionType.DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS,
202
+ },
203
+ {
204
+ idDocumentType: SocietyApprovalDocumentType.DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_PME,
205
+ docName: 'Déclaration de confidentialité pour les comptes annuels',
206
+ templateName: 'DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS_PME_SCI',
207
+ documentSectionType: DocumentSectionType.DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS,
208
+ },
209
+ {
210
+ idDocumentType: SocietyApprovalDocumentType.INCOME_APPROPRIATION,
211
+ docName: 'Affectation du résultat',
212
+ templateName: 'INCOME_APPROPRIATION_SCI',
213
+ documentSectionType: DocumentSectionType.INCOME_APPROPRIATION,
214
+ },
215
+ ],
216
+ },
217
+ ];
@@ -1,10 +1,18 @@
1
1
  import { LegalForm } from './LegalForm';
2
2
 
3
3
  export enum DocumentSectionType {
4
+ // Utilisés pour la génération de statuts depuis l'ERP
4
5
  ARTICLES = 1,
5
6
  ANNEXES = 2,
6
7
  LIST_SUBSCRIBERS = 3,
7
8
  DECLARATION_ON_HONOR_OF_NON_CONVICTION = 4,
9
+ // Utilisés pour la génération de documents juridiques (approbation) depuis clientApp
10
+ APPROVAL_PV = 5,
11
+ POWER_MANDATE = 6,
12
+ DECLARATION_OF_CONFIDENTIALITY_FOR_ANNUAL_ACCOUNTS = 7,
13
+ INCOME_APPROPRIATION = 8,
14
+ LIST_OF_CONVENTIONS = 9,
15
+ LIST_OF_DIVIDENDS = 10,
8
16
  }
9
17
 
10
18
  export const DocumentSectionTypeDetail = [
@@ -25,7 +33,7 @@ export const DocumentSectionTypeDetail = [
25
33
  },
26
34
  {
27
35
  id: DocumentSectionType.DECLARATION_ON_HONOR_OF_NON_CONVICTION,
28
- name: 'Déclaration sur l\'honneur de non-condamnation',
36
+ name: "Déclaration sur l'honneur de non-condamnation",
29
37
  filePrefix: 'declaration_non_condamnation',
30
38
  },
31
39
  ];
@@ -197,7 +205,7 @@ export const StatutsSection: StatutsSectionTypeV1[] = [
197
205
  {
198
206
  name: StatutsSectionName.S10_AE,
199
207
  onlyForLegalForms: [LegalForm.EI.id, LegalForm.EIRL.id, LegalForm.EURL.id, LegalForm.AUTO_ENTREPRENEUR.id],
200
- title: 'Article 10 - COMPTES COURANTS D\'ASSOCIÉS',
208
+ title: "Article 10 - COMPTES COURANTS D'ASSOCIÉS",
201
209
  idDocumentSectionType: DocumentSectionType.ARTICLES,
202
210
  },
203
211
  {
@@ -265,7 +273,7 @@ export const StatutsSection: StatutsSectionTypeV1[] = [
265
273
  {
266
274
  name: StatutsSectionName.S19_AE,
267
275
  onlyForLegalForms: [LegalForm.EI.id, LegalForm.EIRL.id, LegalForm.EURL.id, LegalForm.AUTO_ENTREPRENEUR.id],
268
- title: 'Article 19 – DECISIONS PRISES PAR L\'ASSOCIE UNIQUE',
276
+ title: "Article 19 – DECISIONS PRISES PAR L'ASSOCIE UNIQUE",
269
277
  idDocumentSectionType: DocumentSectionType.ARTICLES,
270
278
  },
271
279
  {
@@ -377,7 +385,7 @@ export const StatutsSection: StatutsSectionTypeV1[] = [
377
385
  {
378
386
  name: StatutsSectionName.S12_SA,
379
387
  exceptForLegalForms: [LegalForm.EI.id, LegalForm.EIRL.id, LegalForm.EURL.id, LegalForm.AUTO_ENTREPRENEUR.id],
380
- title: 'Article 12 – FORME DES CESSIONS OU TRANSMISSIONS D\'ACTIONS',
388
+ title: "Article 12 – FORME DES CESSIONS OU TRANSMISSIONS D'ACTIONS",
381
389
  idDocumentSectionType: DocumentSectionType.ARTICLES,
382
390
  },
383
391
  {
@@ -395,7 +403,7 @@ export const StatutsSection: StatutsSectionTypeV1[] = [
395
403
  {
396
404
  name: StatutsSectionName.S15_SA,
397
405
  exceptForLegalForms: [LegalForm.EI.id, LegalForm.EIRL.id, LegalForm.EURL.id, LegalForm.AUTO_ENTREPRENEUR.id],
398
- title: 'Article 15 - NULLITE DES CESSIONS D\'ACTIONS',
406
+ title: "Article 15 - NULLITE DES CESSIONS D'ACTIONS",
399
407
  idDocumentSectionType: DocumentSectionType.ARTICLES,
400
408
  },
401
409
  {
@@ -469,7 +477,7 @@ export const StatutsSection: StatutsSectionTypeV1[] = [
469
477
  {
470
478
  name: StatutsSectionName.S25_SA,
471
479
  exceptForLegalForms: [LegalForm.EI.id, LegalForm.EIRL.id, LegalForm.EURL.id, LegalForm.AUTO_ENTREPRENEUR.id],
472
- title: 'Article 25 – COMITE D\'ENTREPRISE',
480
+ title: "Article 25 – COMITE D'ENTREPRISE",
473
481
  idDocumentSectionType: DocumentSectionType.ARTICLES,
474
482
  },
475
483
  {
@@ -555,7 +563,7 @@ export const StatutsSection: StatutsSectionTypeV1[] = [
555
563
  },
556
564
  {
557
565
  name: StatutsSectionName.DECLARATION_OF_HONOR,
558
- title: 'DECLARATION SUR L\'HONNEUR DE NON-CONDAMNATION',
566
+ title: "DECLARATION SUR L'HONNEUR DE NON-CONDAMNATION",
559
567
  idDocumentSectionType: DocumentSectionType.DECLARATION_ON_HONOR_OF_NON_CONVICTION,
560
568
  },
561
569
  ];
@@ -0,0 +1,121 @@
1
+ import { IsDate, IsEnum, IsInt, IsOptional, IsString } from 'class-validator';
2
+ import { ApiProperty, ApiPropertyOptional } from '../../../utils';
3
+ import { SocietyApprovalDocumentType } from '../../Enum/SocietyApproval';
4
+ import { ISocietyApproval } from '../models/ISocietyApproval';
5
+ import { ToBoolean } from '../../../utils/transforms/boolean.transform';
6
+
7
+ export class SocietyApprovalJsonDatas {
8
+ @ApiPropertyOptional()
9
+ @IsOptional()
10
+ @IsDate()
11
+ approvalDate?: Date;
12
+ }
13
+
14
+ export class CreateDocument {
15
+ @ApiProperty()
16
+ @IsEnum(SocietyApprovalDocumentType, { each: true })
17
+ listIdDocumentType: SocietyApprovalDocumentType[];
18
+ }
19
+
20
+ export class ResetDocument {
21
+ @ApiProperty()
22
+ @IsEnum(SocietyApprovalDocumentType)
23
+ idDocumentType: SocietyApprovalDocumentType;
24
+ }
25
+
26
+ export interface IApprovalGeneratingData {
27
+ approval: ISocietyApproval;
28
+ templateData: Record<string, any>;
29
+ }
30
+
31
+ export class UpdateOrCreateRequest implements Omit<ISocietyApproval, 'id'> {
32
+ @ApiPropertyOptional()
33
+ @IsOptional()
34
+ @IsInt()
35
+ idExercice: number | null;
36
+
37
+ @ApiPropertyOptional()
38
+ @IsOptional()
39
+ @IsInt()
40
+ idFile: number | null;
41
+
42
+ @ApiPropertyOptional()
43
+ @IsOptional()
44
+ @IsInt()
45
+ idAccountant: number | null;
46
+
47
+ @ApiPropertyOptional()
48
+ @IsOptional()
49
+ @IsInt()
50
+ idPaymentWaiting: number | null;
51
+
52
+ @ApiPropertyOptional()
53
+ @IsOptional()
54
+ @IsString()
55
+ amountDividend: string | null;
56
+
57
+ @ApiPropertyOptional()
58
+ @IsOptional()
59
+ @IsDate()
60
+ dueDate: Date | null;
61
+
62
+ @ApiPropertyOptional()
63
+ @IsOptional()
64
+ @ToBoolean()
65
+ done: boolean;
66
+
67
+ @ApiPropertyOptional()
68
+ @IsOptional()
69
+ @IsInt()
70
+ possibleDividend: number;
71
+
72
+ @ApiPropertyOptional()
73
+ @IsOptional()
74
+ @IsString()
75
+ amountChief: string | null;
76
+
77
+ @ApiPropertyOptional()
78
+ @IsOptional()
79
+ @IsString()
80
+ amountCotisations: string | null;
81
+
82
+ @ApiPropertyOptional()
83
+ @IsOptional()
84
+ @IsString()
85
+ amountAvantage: string | null;
86
+
87
+ @ApiPropertyOptional()
88
+ @IsOptional()
89
+ @IsString()
90
+ amountByPartner: string | null;
91
+
92
+ @ApiPropertyOptional()
93
+ @IsOptional()
94
+ @IsString()
95
+ amountInteret: string | null;
96
+
97
+ @ApiPropertyOptional()
98
+ @IsOptional()
99
+ @IsString()
100
+ amountBail: string | null;
101
+
102
+ @ApiPropertyOptional()
103
+ @IsOptional()
104
+ @IsString()
105
+ amountAbandon: string | null;
106
+
107
+ @ApiPropertyOptional()
108
+ @IsOptional()
109
+ @IsDate()
110
+ docsCompletedDate: Date | null;
111
+
112
+ @ApiPropertyOptional()
113
+ @IsOptional()
114
+ @IsDate()
115
+ registryDepositDate: Date | null;
116
+
117
+ @ApiPropertyOptional()
118
+ @IsOptional()
119
+ @IsDate()
120
+ endLegalServiceDate: Date | null;
121
+ }
@@ -1,5 +1,6 @@
1
1
  import { IsBoolean, IsDate, IsInt, IsOptional, IsString } from 'class-validator';
2
2
  import { ApiProperty, ApiPropertyOptional } from '../../../../utils';
3
+ import { ToBoolean } from '../../../../utils/transforms/boolean.transform';
3
4
 
4
5
  export class CreateOldExpertInfo {
5
6
  @ApiPropertyOptional()
@@ -54,6 +55,7 @@ export class CreateOldExpertInfo {
54
55
 
55
56
  @ApiProperty()
56
57
  @IsBoolean()
58
+ @ToBoolean()
57
59
  dontHaveOldExpert: boolean;
58
60
 
59
61
  @ApiPropertyOptional()
@@ -1,3 +1,4 @@
1
+ import { SocietyApprovalJsonDatas } from '../api/SocietyApproval';
1
2
  import { IExercice } from './IExercice';
2
3
  import { IFile } from './IFile';
3
4
  import { IPaymentWaiting } from './IPaymentWaiting';
@@ -19,6 +20,7 @@ export interface ISocietyApproval {
19
20
  docsCompletedDate: Date | null;
20
21
  registryDepositDate: Date | null;
21
22
  endLegalServiceDate: Date | null;
23
+ generatingDatas?: SocietyApprovalJsonDatas;
22
24
  idFile: number | null;
23
25
  idAccountant: number | null;
24
26
  idExercice: number | null;
package/ts/types/index.ts CHANGED
@@ -484,6 +484,7 @@ export * from './Enum/ChecklistType';
484
484
  export * from './Enum/NotificationType';
485
485
  export * from './Enum/TaskResponseType';
486
486
  export * from './Enum/InternalService';
487
+ export * from './Enum/SocietyApproval';
487
488
  export * from './Enum/SocietyTypeEvent';
488
489
  export * from './Enum/Call';
489
490
  export * from './Enum/ConnectionError';
@@ -660,6 +661,7 @@ export * from './Interface/api/facturation/CreateRebilling';
660
661
  export * from './Interface/api/facturation/GoToFacturation';
661
662
  export * from './Interface/api/facturation/ReadRecommanded';
662
663
  export * from './Interface/api/OnBoarding';
664
+ export * from './Interface/api/SocietyApproval';
663
665
  export * from './Interface/api/commercial/Query';
664
666
  export * from './Interface/api/commercial/QueryGetStats';
665
667
  export * from './Interface/api/commercial/QueryGetStatsHistory';
package/ts/utils/index.ts CHANGED
@@ -20,3 +20,4 @@ export * from './isHtml';
20
20
  export * from './isUrl';
21
21
  export * from './bankAccount';
22
22
  export * from './commercialOffer';
23
+ export * from './societyApproval';
@@ -0,0 +1,104 @@
1
+ import { LegalFormTypeEnum } from '../types/Enum/LegalForm';
2
+ import {
3
+ SocietyApprovalDocumentType,
4
+ SocietyApprovalDocumentConfig,
5
+ SocietyApprovalDocumentsByLegalForm,
6
+ SocietyApprovalDocumentTemplate,
7
+ } from '../types/Enum/SocietyApproval';
8
+ import { ISocietyApproval } from '../types/Interface/models/ISocietyApproval';
9
+ import { QualityList } from '../types/Enum/Quality';
10
+ import { getBrand } from './brands';
11
+ import { convertNumberToLetter } from './amount';
12
+ import * as dayjs from 'dayjs';
13
+
14
+ /**
15
+ * Récupère la configuration des documents d'approbation pour une forme juridique donnée
16
+ * @param idLegalForm - L'identifiant de la forme juridique
17
+ * @returns La configuration des documents ou undefined si non trouvée
18
+ */
19
+ export function getApprovalDocumentsByLegalForm(
20
+ idLegalForm: LegalFormTypeEnum,
21
+ ): SocietyApprovalDocumentConfig | undefined {
22
+ return SocietyApprovalDocumentsByLegalForm.find((config) => config.idLegalForm === idLegalForm);
23
+ }
24
+
25
+ /**
26
+ * Récupère le nom du template pour un document spécifique et une forme juridique
27
+ * @param idLegalForm - L'identifiant de la forme juridique
28
+ * @param idDocumentType - Le type de document d'approbation
29
+ * @returns Le nom du template ou undefined si non trouvé
30
+ */
31
+ //@deprecated use getApprovalDocumentInfos instead
32
+ export function getApprovalDocumentTemplateName(
33
+ idLegalForm: LegalFormTypeEnum,
34
+ idDocumentType: SocietyApprovalDocumentType,
35
+ ): string | undefined {
36
+ const config = getApprovalDocumentsByLegalForm(idLegalForm);
37
+ const document = config?.documents.find((doc) => doc.idDocumentType === idDocumentType);
38
+ return document?.templateName;
39
+ }
40
+
41
+ /**
42
+ * Récupère le nom du template pour un document spécifique et une forme juridique
43
+ * @param idLegalForm - L'identifiant de la forme juridique
44
+ * @param idDocumentType - Le type de document d'approbation
45
+ * @returns Le nom du template ou undefined si non trouvé
46
+ */
47
+ export function getApprovalDocumentInfos(
48
+ idLegalForm: LegalFormTypeEnum,
49
+ idDocumentType: SocietyApprovalDocumentType,
50
+ ): SocietyApprovalDocumentTemplate | undefined {
51
+ const config = getApprovalDocumentsByLegalForm(idLegalForm);
52
+ return config?.documents.find((doc) => doc.idDocumentType === idDocumentType);
53
+ }
54
+
55
+ /**
56
+ * Construit les données formatées pour le template d'approbation
57
+ * @param existingApproval - Les données d'approbation de la société
58
+ * @param style - Le style HTML pour le document
59
+ * @returns L'objet de données formaté pour le template
60
+ */
61
+ export function buildApprovalTemplateData(existingApproval: ISocietyApproval, style: string): Record<string, any> {
62
+ const yearInText = convertNumberToLetter(+dayjs().format('YYYY')).toLowerCase();
63
+ const dayAndMonthInText = `${convertNumberToLetter(+dayjs().format('D'))} ${dayjs().locale('fr').format('MMMM').toLowerCase()}`;
64
+ const brand = getBrand();
65
+ return {
66
+ // Variables globales
67
+ style,
68
+ yearInText,
69
+ dayAndMonthInText,
70
+ date: dayjs().locale('fr').format('DD MMMM YYYY'),
71
+ companyInformation: {
72
+ rcs: brand?.companyInformation?.rcs,
73
+ nomRaisonSociale: brand?.companyInformation?.nomRaisonSociale,
74
+ city: brand?.companyInformation?.city,
75
+ postalAddress: brand?.companyInformation?.postalAddress,
76
+ montantCapital: brand?.companyInformation?.montantCapital,
77
+ statut: brand?.companyInformation?.statut,
78
+ ECOrderCity: brand?.companyInformation?.ECOrderCity,
79
+ },
80
+ owner: {
81
+ identity: `${existingApproval?.exercice?.society?.users?.[0]?.idCivility === 1 ? 'Monsieur' : 'Madame'} ${existingApproval?.exercice?.society?.users?.[0]?.firstname} ${existingApproval?.exercice?.society?.users?.[0]?.lastname} `,
82
+ quality: QualityList.find(
83
+ (ql) => ql.id === existingApproval?.exercice?.society?.users?.[0]?.businessPartners?.[0]?.idQuality,
84
+ )?.label,
85
+ },
86
+ // Variables stockées en base
87
+ ...existingApproval,
88
+ generatingDatas: {
89
+ ...existingApproval?.generatingDatas,
90
+ ...(existingApproval?.generatingDatas?.approvalDate
91
+ ? {
92
+ approvalDate: dayjs(existingApproval?.generatingDatas?.approvalDate)
93
+ .locale('fr')
94
+ .format('DD MMMM YYYY')
95
+ .toUpperCase(),
96
+ }
97
+ : {}),
98
+ },
99
+ exercice: {
100
+ ...existingApproval?.exercice,
101
+ endDate: dayjs(existingApproval?.exercice?.endDate).locale('fr').format('DD MMMM YYYY').toLowerCase(),
102
+ },
103
+ };
104
+ }