@silexpert/core 1.3.103 → 1.3.104

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 (82) hide show
  1. package/dist/cjs/api/resources/BankDedup.d.ts +9 -0
  2. package/dist/cjs/api/resources/BankDedup.d.ts.map +1 -0
  3. package/dist/cjs/api/resources/BankDedup.js +20 -0
  4. package/dist/cjs/api/resources/BankDedup.js.map +1 -0
  5. package/dist/cjs/api/resources/CalendarEvent.d.ts +1 -0
  6. package/dist/cjs/api/resources/CalendarEvent.d.ts.map +1 -1
  7. package/dist/cjs/api/resources/CalendarEvent.js +3 -0
  8. package/dist/cjs/api/resources/CalendarEvent.js.map +1 -1
  9. package/dist/cjs/api/resources.d.ts +2 -0
  10. package/dist/cjs/api/resources.d.ts.map +1 -1
  11. package/dist/cjs/api/resources.js +3 -1
  12. package/dist/cjs/api/resources.js.map +1 -1
  13. package/dist/cjs/types/Enum/ConstitutionState.d.ts +2 -1
  14. package/dist/cjs/types/Enum/ConstitutionState.d.ts.map +1 -1
  15. package/dist/cjs/types/Enum/ConstitutionState.js +7 -1
  16. package/dist/cjs/types/Enum/ConstitutionState.js.map +1 -1
  17. package/dist/cjs/types/Enum/ReasonTerminationType.d.ts +2 -1
  18. package/dist/cjs/types/Enum/ReasonTerminationType.d.ts.map +1 -1
  19. package/dist/cjs/types/Enum/ReasonTerminationType.js +8 -2
  20. package/dist/cjs/types/Enum/ReasonTerminationType.js.map +1 -1
  21. package/dist/cjs/types/Enum/RegistrationSource.d.ts +2 -1
  22. package/dist/cjs/types/Enum/RegistrationSource.d.ts.map +1 -1
  23. package/dist/cjs/types/Enum/RegistrationSource.js +1 -0
  24. package/dist/cjs/types/Enum/RegistrationSource.js.map +1 -1
  25. package/dist/cjs/types/Interface/api/bankDedup/BankDedup.d.ts +104 -0
  26. package/dist/cjs/types/Interface/api/bankDedup/BankDedup.d.ts.map +1 -0
  27. package/dist/cjs/types/Interface/api/bankDedup/BankDedup.js +359 -0
  28. package/dist/cjs/types/Interface/api/bankDedup/BankDedup.js.map +1 -0
  29. package/dist/cjs/types/Interface/api/stripe/Create.d.ts +15 -0
  30. package/dist/cjs/types/Interface/api/stripe/Create.d.ts.map +1 -1
  31. package/dist/cjs/types/Interface/api/stripe/Create.js +68 -1
  32. package/dist/cjs/types/Interface/api/stripe/Create.js.map +1 -1
  33. package/dist/cjs/types/index.d.ts +1 -0
  34. package/dist/cjs/types/index.d.ts.map +1 -1
  35. package/dist/cjs/types/index.js +1 -0
  36. package/dist/cjs/types/index.js.map +1 -1
  37. package/dist/mjs/api/resources/BankDedup.d.ts +9 -0
  38. package/dist/mjs/api/resources/BankDedup.d.ts.map +1 -0
  39. package/dist/mjs/api/resources/BankDedup.js +16 -0
  40. package/dist/mjs/api/resources/BankDedup.js.map +1 -0
  41. package/dist/mjs/api/resources/CalendarEvent.d.ts +1 -0
  42. package/dist/mjs/api/resources/CalendarEvent.d.ts.map +1 -1
  43. package/dist/mjs/api/resources/CalendarEvent.js +3 -0
  44. package/dist/mjs/api/resources/CalendarEvent.js.map +1 -1
  45. package/dist/mjs/api/resources.d.ts +2 -0
  46. package/dist/mjs/api/resources.d.ts.map +1 -1
  47. package/dist/mjs/api/resources.js +3 -1
  48. package/dist/mjs/api/resources.js.map +1 -1
  49. package/dist/mjs/types/Enum/ConstitutionState.d.ts +2 -1
  50. package/dist/mjs/types/Enum/ConstitutionState.d.ts.map +1 -1
  51. package/dist/mjs/types/Enum/ConstitutionState.js +7 -1
  52. package/dist/mjs/types/Enum/ConstitutionState.js.map +1 -1
  53. package/dist/mjs/types/Enum/ReasonTerminationType.d.ts +2 -1
  54. package/dist/mjs/types/Enum/ReasonTerminationType.d.ts.map +1 -1
  55. package/dist/mjs/types/Enum/ReasonTerminationType.js +8 -2
  56. package/dist/mjs/types/Enum/ReasonTerminationType.js.map +1 -1
  57. package/dist/mjs/types/Enum/RegistrationSource.d.ts +2 -1
  58. package/dist/mjs/types/Enum/RegistrationSource.d.ts.map +1 -1
  59. package/dist/mjs/types/Enum/RegistrationSource.js +1 -0
  60. package/dist/mjs/types/Enum/RegistrationSource.js.map +1 -1
  61. package/dist/mjs/types/Interface/api/bankDedup/BankDedup.d.ts +104 -0
  62. package/dist/mjs/types/Interface/api/bankDedup/BankDedup.d.ts.map +1 -0
  63. package/dist/mjs/types/Interface/api/bankDedup/BankDedup.js +406 -0
  64. package/dist/mjs/types/Interface/api/bankDedup/BankDedup.js.map +1 -0
  65. package/dist/mjs/types/Interface/api/stripe/Create.d.ts +15 -0
  66. package/dist/mjs/types/Interface/api/stripe/Create.d.ts.map +1 -1
  67. package/dist/mjs/types/Interface/api/stripe/Create.js +76 -0
  68. package/dist/mjs/types/Interface/api/stripe/Create.js.map +1 -1
  69. package/dist/mjs/types/index.d.ts +1 -0
  70. package/dist/mjs/types/index.d.ts.map +1 -1
  71. package/dist/mjs/types/index.js +1 -0
  72. package/dist/mjs/types/index.js.map +1 -1
  73. package/package.json +1 -1
  74. package/ts/api/resources/BankDedup.ts +19 -0
  75. package/ts/api/resources/CalendarEvent.ts +4 -0
  76. package/ts/api/resources.ts +3 -1
  77. package/ts/types/Enum/ConstitutionState.ts +7 -1
  78. package/ts/types/Enum/ReasonTerminationType.ts +8 -2
  79. package/ts/types/Enum/RegistrationSource.ts +3 -2
  80. package/ts/types/Interface/api/bankDedup/BankDedup.ts +305 -0
  81. package/ts/types/Interface/api/stripe/Create.ts +53 -0
  82. package/ts/types/index.ts +1 -0
@@ -179,6 +179,7 @@ import { StatisticLegal } from './resources/statistic/Legal';
179
179
  import { AnalyticsUtm } from './resources/AnalyticsUtm';
180
180
  import { Caarl } from './resources/Caarl';
181
181
  import { Gdpr } from './resources/Gdpr';
182
+ import { BankDedup } from './resources/BankDedup';
182
183
  import { StripePurchase } from './resources/StripePurchase';
183
184
 
184
185
  export const resources = {
@@ -265,6 +266,7 @@ export const resources = {
265
266
  notificationSetting: NotificationSetting,
266
267
  cx: Cx,
267
268
  bankList: BankList,
269
+ bankDedup: BankDedup,
268
270
  thirdParty: ThirdParty,
269
271
  alert: Alert,
270
272
  customerActivity: CustomerActivity,
@@ -363,5 +365,5 @@ export const resources = {
363
365
  analyticsUtm: AnalyticsUtm,
364
366
  caarl: Caarl,
365
367
  gdpr: Gdpr,
366
- StripePurchase: StripePurchase
368
+ StripePurchase: StripePurchase,
367
369
  };
@@ -13,6 +13,7 @@ export enum ConstitutionState {
13
13
  // ========================
14
14
  ABANDONED_CASE = 10,
15
15
  DRAFT_BY_LAWS_TO_BE_MADE = 11,
16
+ STATUS_TO_BE_DRAFTED_AUTO_SUBSCRIPTION = 12,
16
17
  }
17
18
 
18
19
  export type ConstitutionStateType = {
@@ -29,6 +30,11 @@ export const ConstitutionStateDetail: ConstitutionStateType = {
29
30
  text: 'À contacter et à facturer',
30
31
  color: 'grey lighten-4',
31
32
  },
33
+ STATUS_TO_BE_DRAFTED_AUTO_SUBSCRIPTION: {
34
+ value: ConstitutionState.STATUS_TO_BE_DRAFTED_AUTO_SUBSCRIPTION,
35
+ text: 'Statuts à rédiger - Constitution automatique',
36
+ color: 'teal lighten-4',
37
+ },
32
38
  WAITING_INFORMATION_SHEET: {
33
39
  value: ConstitutionState.WAITING_INFORMATION_SHEET,
34
40
  text: 'Attente fiche de renseignement',
@@ -74,7 +80,7 @@ export const ConstitutionStateDetail: ConstitutionStateType = {
74
80
  },
75
81
  BEING_ABANDONED: {
76
82
  value: ConstitutionState.BEING_ABANDONED,
77
- text: 'Dossier en cours d\'abandon',
83
+ text: "Dossier en cours d'abandon",
78
84
  color: 'primary',
79
85
  },
80
86
  FINISHED: {
@@ -25,6 +25,7 @@ export enum ReasonTerminationType {
25
25
  ERROR_ON_PRESTATION = 24,
26
26
  LAB_REFUSED = 25,
27
27
  CHANGES_NEW_OFFERS = 26,
28
+ REJECTION_OF_THE_AMENDMENT = 27,
28
29
  }
29
30
 
30
31
  export const ReasonTerminationTypeDetail = [
@@ -105,7 +106,7 @@ export const ReasonTerminationTypeDetail = [
105
106
  },
106
107
  {
107
108
  id: ReasonTerminationType.ACTIVITY_CESSATION,
108
- label: 'Cessation d\'activité',
109
+ label: "Cessation d'activité",
109
110
  active: true,
110
111
  },
111
112
  {
@@ -140,7 +141,7 @@ export const ReasonTerminationTypeDetail = [
140
141
  },
141
142
  {
142
143
  id: ReasonTerminationType.NO_NEED_FOR_A_CERTIFIED_ACCOUNTANT,
143
- label: 'Plus besoin d\'un expert-comptable',
144
+ label: "Plus besoin d'un expert-comptable",
144
145
  active: true,
145
146
  },
146
147
  {
@@ -158,4 +159,9 @@ export const ReasonTerminationTypeDetail = [
158
159
  label: 'Changement pour nouvelles offres',
159
160
  active: true,
160
161
  },
162
+ {
163
+ id: ReasonTerminationType.REJECTION_OF_THE_AMENDMENT,
164
+ label: "Refus de l'avenant",
165
+ active: true,
166
+ },
161
167
  ];
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @deprecated use `RegistrationSourceAlias` enum instead and use `this.sourceService.findOrCreate` to get the source id in the database
3
- *
3
+ *
4
4
  */
5
5
  export enum RegistrationSource {
6
6
  INCOMING_CALL = 2,
@@ -116,7 +116,8 @@ export enum RegistrationSourceAlias {
116
116
  INCOMING_CALL = 'Incoming Call',
117
117
  CALENDLY_PROSPECT = 'Calendly Prospect',
118
118
  NEWSLETTER = 'newsletter',
119
- LIVRE_BLANC = 'livre blanc'
119
+ LIVRE_BLANC = 'livre blanc',
120
+ STATUS_ONLINE_CREATION = 'creation_status_online',
120
121
  }
121
122
 
122
123
  /**
@@ -0,0 +1,305 @@
1
+ import { IsString, IsNumber, IsArray, ValidateNested, IsBoolean, IsIn, IsOptional, Min, Max } from 'class-validator';
2
+ import { ApiProperty } from '../../../../utils';
3
+
4
+ export class BankDedupRequest {
5
+ @ApiProperty()
6
+ @IsString()
7
+ csv: string; // CSV en string (avec header: label,dateValue,credit,debit)
8
+
9
+ @ApiProperty()
10
+ @IsNumber()
11
+ initial: number; // solde initial
12
+
13
+ @ApiProperty()
14
+ @IsNumber()
15
+ target: number; // solde cible
16
+ }
17
+
18
+ export class BankDedupAnalysisParams {
19
+ @ApiProperty()
20
+ csv: File;
21
+
22
+ @ApiProperty()
23
+ @IsNumber()
24
+ initial: number;
25
+
26
+ @ApiProperty()
27
+ @IsNumber()
28
+ target: number;
29
+ }
30
+
31
+ export class BankDedupFileUploadBody {
32
+ @ApiProperty()
33
+ @IsNumber()
34
+ initial: number; // solde initial
35
+
36
+ @ApiProperty()
37
+ @IsNumber()
38
+ target: number; // solde cible
39
+ }
40
+
41
+ export class BankTx {
42
+ @ApiProperty()
43
+ @IsString()
44
+ id: string; // id interne généré
45
+
46
+ @ApiProperty()
47
+ @IsString()
48
+ label: string;
49
+
50
+ @ApiProperty()
51
+ @IsString()
52
+ dateValue: string; // YYYY-MM-DD
53
+
54
+ @ApiProperty()
55
+ @IsNumber()
56
+ credit: number;
57
+
58
+ @ApiProperty()
59
+ @IsNumber()
60
+ debit: number;
61
+
62
+ @ApiProperty()
63
+ @IsIn([1, -1])
64
+ sign: 1 | -1; // 1 = crédit net, -1 = débit net
65
+
66
+ @ApiProperty()
67
+ @IsNumber()
68
+ @Min(0)
69
+ amount: number; // valeur absolue du mouvement (en positif)
70
+
71
+ @ApiProperty()
72
+ @IsNumber()
73
+ cents: number; // montant en centimes pour calculs exacts
74
+ }
75
+
76
+ export class DuplicateGroup {
77
+ @ApiProperty()
78
+ @IsString()
79
+ id: string;
80
+
81
+ @ApiProperty({ type: [BankTx] })
82
+ @IsArray()
83
+ @ValidateNested({ each: true })
84
+ transactions: BankTx[];
85
+
86
+ @ApiProperty()
87
+ @IsNumber()
88
+ amount: number; // montant commun
89
+
90
+ @ApiProperty()
91
+ @IsNumber()
92
+ cents: number; // montant en centimes
93
+
94
+ @ApiProperty()
95
+ @IsIn([1, -1])
96
+ sign: 1 | -1; // signe commun
97
+
98
+ @ApiProperty()
99
+ @IsNumber()
100
+ @Min(0)
101
+ @Max(1)
102
+ confidence: number; // score de confiance [0 - 1]
103
+
104
+ @ApiProperty()
105
+ @IsIn(['exact', 'fuzzy_high', 'fuzzy_medium', 'fuzzy_low'])
106
+ method: 'exact' | 'fuzzy_high' | 'fuzzy_medium' | 'fuzzy_low'; // méthode de détection
107
+ }
108
+
109
+ export class BankDedupRemovedTx {
110
+ @ApiProperty()
111
+ @IsString()
112
+ id: string;
113
+
114
+ @ApiProperty()
115
+ @IsBoolean()
116
+ isSelected: boolean;
117
+
118
+ @ApiProperty()
119
+ @IsOptional()
120
+ @IsNumber()
121
+ @Min(0)
122
+ @Max(1)
123
+ confidence?: number;
124
+
125
+ @ApiProperty()
126
+ @IsOptional()
127
+ @IsString()
128
+ method?: string;
129
+
130
+ @ApiProperty()
131
+ @IsOptional()
132
+ @IsNumber()
133
+ amount?: number;
134
+
135
+ @ApiProperty()
136
+ @IsOptional()
137
+ @IsNumber()
138
+ transactionCount?: number;
139
+
140
+ @ApiProperty()
141
+ @IsOptional()
142
+ @IsArray()
143
+ transactions?: {
144
+ id: string;
145
+ label: string;
146
+ dateValue: string;
147
+ isKept: boolean;
148
+ isCredit: boolean;
149
+ }[];
150
+ }
151
+
152
+ export class BankDedupResult {
153
+ @ApiProperty()
154
+ @IsBoolean()
155
+ success: true;
156
+
157
+ @ApiProperty()
158
+ @IsNumber()
159
+ initial: number;
160
+
161
+ @ApiProperty()
162
+ @IsNumber()
163
+ target: number;
164
+
165
+ @ApiProperty()
166
+ @IsNumber()
167
+ finalRaw: number;
168
+
169
+ @ApiProperty()
170
+ @IsNumber()
171
+ finalAfterDedup: number;
172
+
173
+ @ApiProperty()
174
+ @IsNumber()
175
+ diffBefore: number; // target - finalRaw
176
+
177
+ @ApiProperty()
178
+ @IsNumber()
179
+ diffAfter: number; // target - finalAfterDedup (DOIT être exactement 0, aucune tolérance)
180
+
181
+ @ApiProperty()
182
+ @IsArray()
183
+ @ValidateNested({ each: true })
184
+ removedTxs: BankDedupRemovedTx[];
185
+
186
+ @ApiProperty()
187
+ @IsNumber()
188
+ removedCount: number;
189
+
190
+ @ApiProperty()
191
+ @IsNumber()
192
+ keptCount: number;
193
+
194
+ @ApiProperty()
195
+ @IsString()
196
+ csvDeduped: string;
197
+
198
+ @ApiProperty()
199
+ @IsArray()
200
+ @ValidateNested({ each: true })
201
+ allGroups: BankDedupGroup[];
202
+
203
+ @ApiProperty()
204
+ debug: {
205
+ totalGroups: number;
206
+ selectedGroups: number;
207
+ iterations: number;
208
+ strategiesUsed: string[];
209
+ };
210
+ }
211
+
212
+ export class BankDedupGroup {
213
+ @ApiProperty()
214
+ @IsString()
215
+ id: string;
216
+
217
+ @ApiProperty()
218
+ @IsBoolean()
219
+ isSelected: boolean;
220
+
221
+ @ApiProperty()
222
+ @IsOptional()
223
+ @IsNumber()
224
+ @Min(0)
225
+ @Max(1)
226
+ confidence?: number;
227
+
228
+ @ApiProperty()
229
+ @IsOptional()
230
+ @IsString()
231
+ method?: string;
232
+
233
+ @ApiProperty()
234
+ @IsOptional()
235
+ @IsNumber()
236
+ amount?: number;
237
+
238
+ @ApiProperty()
239
+ @IsOptional()
240
+ @IsNumber()
241
+ transactionCount?: number;
242
+
243
+ @ApiProperty()
244
+ @IsOptional()
245
+ @IsArray()
246
+ transactions?: {
247
+ id: string;
248
+ label: string;
249
+ dateValue: string;
250
+ isKept: boolean;
251
+ isCredit: boolean;
252
+ }[];
253
+ }
254
+
255
+ export class BankDedupImpossible {
256
+ @ApiProperty()
257
+ @IsBoolean()
258
+ success: false;
259
+
260
+ @ApiProperty()
261
+ @IsIn(['NO_EXACT_COMBINATION', 'CSV_PARSE_ERROR', 'INVALID_INPUT', 'INSUFFICIENT_DUPLICATES'])
262
+ reason: 'NO_EXACT_COMBINATION' | 'CSV_PARSE_ERROR' | 'INVALID_INPUT' | 'INSUFFICIENT_DUPLICATES';
263
+
264
+ @ApiProperty()
265
+ @IsString()
266
+ message: string;
267
+
268
+ @ApiProperty()
269
+ @IsOptional()
270
+ @IsNumber()
271
+ initial?: number;
272
+
273
+ @ApiProperty()
274
+ @IsOptional()
275
+ @IsNumber()
276
+ target?: number;
277
+
278
+ @ApiProperty()
279
+ @IsOptional()
280
+ @IsNumber()
281
+ finalRaw?: number;
282
+
283
+ @ApiProperty()
284
+ @IsOptional()
285
+ @IsNumber()
286
+ diffBefore?: number;
287
+
288
+ @ApiProperty()
289
+ @IsOptional()
290
+ bestAttempt?: {
291
+ finalAfterDedup: number;
292
+ diffAfter: number;
293
+ removedCount: number;
294
+ };
295
+
296
+ @ApiProperty()
297
+ @IsOptional()
298
+ stats?: {
299
+ totalTx?: number;
300
+ totalGroups?: number;
301
+ strategiesTried?: string[];
302
+ };
303
+ }
304
+
305
+ export type BankDedupResponse = BankDedupResult | BankDedupImpossible;
@@ -80,6 +80,21 @@ export class CreateSubscriptionSessionOff {
80
80
  returnUrl?: string;
81
81
  }
82
82
 
83
+ export class CreateSubscriptionSessionOffErp {
84
+ @ApiProperty()
85
+ @IsInt()
86
+ idSociety: number;
87
+
88
+ @ApiProperty()
89
+ @IsString()
90
+ stripePriceId: string;
91
+
92
+ @ApiPropertyOptional()
93
+ @IsOptional()
94
+ @IsString()
95
+ returnUrl?: string;
96
+ }
97
+
83
98
  export class CreatePaymentIntent {
84
99
  @ApiProperty()
85
100
  @IsString()
@@ -146,3 +161,41 @@ export class CreatePurchaseSession {
146
161
  @IsArray()
147
162
  items: Array<{ priceId: string; quantity: number }>;
148
163
  }
164
+ export class CreatePaymentSession {
165
+ @ApiProperty()
166
+ @IsString()
167
+ stripeCustomerId: string;
168
+
169
+ @ApiPropertyOptional()
170
+ @IsOptional()
171
+ @IsString()
172
+ label?: string;
173
+
174
+ @ApiProperty()
175
+ @IsString()
176
+ returnUrl: string;
177
+
178
+ @ApiPropertyOptional()
179
+ @IsOptional()
180
+ metadata?: Record<string, string | number>;
181
+
182
+ @ApiPropertyOptional()
183
+ @IsOptional()
184
+ @IsInt()
185
+ amountInCentsTaxIncluded?: number;
186
+
187
+ @ApiPropertyOptional()
188
+ @IsOptional()
189
+ @IsString()
190
+ priceId?: string;
191
+
192
+ @ApiPropertyOptional()
193
+ @IsOptional()
194
+ @IsInt()
195
+ idVatForInternalInvoicing?: number;
196
+
197
+ @ApiPropertyOptional()
198
+ @IsOptional()
199
+ @IsString()
200
+ stripeAccount?: string;
201
+ }
package/ts/types/index.ts CHANGED
@@ -735,6 +735,7 @@ export * from './Interface/api/webmail/ExportEmails';
735
735
  export * from './Interface/api/webmail/PostAttachmentEmailFromLambdaParams';
736
736
  export * from './Interface/api/webmail/GetPaginatedWhereObjectParams';
737
737
  export * from './Interface/api/bankAccount/Delete';
738
+ export * from './Interface/api/bankDedup/BankDedup';
738
739
  export * from './Interface/api/log/QueryLogPagination';
739
740
  export * from './Interface/api/employee/QueryEmployeeSearch';
740
741
  export * from './Interface/api/employee/QueryCreateEmployee';