@silexpert/core 1.3.185 → 1.3.186

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 (110) hide show
  1. package/dist/cjs/api/resources/LoginApproval.d.ts +18 -0
  2. package/dist/cjs/api/resources/LoginApproval.d.ts.map +1 -0
  3. package/dist/cjs/api/resources/LoginApproval.js +20 -0
  4. package/dist/cjs/api/resources/LoginApproval.js.map +1 -0
  5. package/dist/cjs/api/resources/Mfa.d.ts +1 -0
  6. package/dist/cjs/api/resources/Mfa.d.ts.map +1 -1
  7. package/dist/cjs/api/resources/Mfa.js +4 -0
  8. package/dist/cjs/api/resources/Mfa.js.map +1 -1
  9. package/dist/cjs/types/Enum/LoginApprovalStatus.d.ts +14 -0
  10. package/dist/cjs/types/Enum/LoginApprovalStatus.d.ts.map +1 -0
  11. package/dist/cjs/types/Enum/LoginApprovalStatus.js +18 -0
  12. package/dist/cjs/types/Enum/LoginApprovalStatus.js.map +1 -0
  13. package/dist/cjs/types/Enum/MfaMode.d.ts +12 -0
  14. package/dist/cjs/types/Enum/MfaMode.d.ts.map +1 -0
  15. package/dist/cjs/types/Enum/MfaMode.js +16 -0
  16. package/dist/cjs/types/Enum/MfaMode.js.map +1 -0
  17. package/dist/cjs/types/Enum/PriceGridClementine.d.ts.map +1 -1
  18. package/dist/cjs/types/Enum/PriceGridClementine.js +482 -478
  19. package/dist/cjs/types/Enum/PriceGridClementine.js.map +1 -1
  20. package/dist/cjs/types/Interface/api/authentification/AuthenticationResponse.d.ts +10 -0
  21. package/dist/cjs/types/Interface/api/authentification/AuthenticationResponse.d.ts.map +1 -1
  22. package/dist/cjs/types/Interface/api/authentification/AuthenticationResponse.js.map +1 -1
  23. package/dist/cjs/types/Interface/api/authentification/FinalizeMobileApprovalDto.d.ts +4 -0
  24. package/dist/cjs/types/Interface/api/authentification/FinalizeMobileApprovalDto.d.ts.map +1 -0
  25. package/dist/cjs/types/Interface/api/authentification/FinalizeMobileApprovalDto.js +21 -0
  26. package/dist/cjs/types/Interface/api/authentification/FinalizeMobileApprovalDto.js.map +1 -0
  27. package/dist/cjs/types/Interface/api/authentification/SetMobileApprovalDto.d.ts +5 -0
  28. package/dist/cjs/types/Interface/api/authentification/SetMobileApprovalDto.d.ts.map +1 -0
  29. package/dist/cjs/types/Interface/api/authentification/SetMobileApprovalDto.js +27 -0
  30. package/dist/cjs/types/Interface/api/authentification/SetMobileApprovalDto.js.map +1 -0
  31. package/dist/cjs/types/Interface/api/authentification/loginApproval.d.ts +66 -0
  32. package/dist/cjs/types/Interface/api/authentification/loginApproval.d.ts.map +1 -0
  33. package/dist/cjs/types/Interface/api/authentification/loginApproval.js +26 -0
  34. package/dist/cjs/types/Interface/api/authentification/loginApproval.js.map +1 -0
  35. package/dist/cjs/types/Interface/models/ILoginApproval.d.ts +31 -0
  36. package/dist/cjs/types/Interface/models/ILoginApproval.d.ts.map +1 -0
  37. package/dist/cjs/types/Interface/models/ILoginApproval.js +3 -0
  38. package/dist/cjs/types/Interface/models/ILoginApproval.js.map +1 -0
  39. package/dist/cjs/types/Interface/models/IUser.d.ts +2 -0
  40. package/dist/cjs/types/Interface/models/IUser.d.ts.map +1 -1
  41. package/dist/cjs/types/Interface/models/IUser.js.map +1 -1
  42. package/dist/cjs/types/index.d.ts +6 -0
  43. package/dist/cjs/types/index.d.ts.map +1 -1
  44. package/dist/cjs/types/index.js +6 -0
  45. package/dist/cjs/types/index.js.map +1 -1
  46. package/dist/cjs/utils/commercialManagement/internationalization/choices.d.ts.map +1 -1
  47. package/dist/cjs/utils/commercialManagement/internationalization/choices.js +21 -19
  48. package/dist/cjs/utils/commercialManagement/internationalization/choices.js.map +1 -1
  49. package/dist/mjs/api/resources/LoginApproval.d.ts +18 -0
  50. package/dist/mjs/api/resources/LoginApproval.d.ts.map +1 -0
  51. package/dist/mjs/api/resources/LoginApproval.js +16 -0
  52. package/dist/mjs/api/resources/LoginApproval.js.map +1 -0
  53. package/dist/mjs/api/resources/Mfa.d.ts +1 -0
  54. package/dist/mjs/api/resources/Mfa.d.ts.map +1 -1
  55. package/dist/mjs/api/resources/Mfa.js +4 -0
  56. package/dist/mjs/api/resources/Mfa.js.map +1 -1
  57. package/dist/mjs/types/Enum/LoginApprovalStatus.d.ts +14 -0
  58. package/dist/mjs/types/Enum/LoginApprovalStatus.d.ts.map +1 -0
  59. package/dist/mjs/types/Enum/LoginApprovalStatus.js +15 -0
  60. package/dist/mjs/types/Enum/LoginApprovalStatus.js.map +1 -0
  61. package/dist/mjs/types/Enum/MfaMode.d.ts +12 -0
  62. package/dist/mjs/types/Enum/MfaMode.d.ts.map +1 -0
  63. package/dist/mjs/types/Enum/MfaMode.js +13 -0
  64. package/dist/mjs/types/Enum/MfaMode.js.map +1 -0
  65. package/dist/mjs/types/Enum/PriceGridClementine.d.ts.map +1 -1
  66. package/dist/mjs/types/Enum/PriceGridClementine.js +486 -474
  67. package/dist/mjs/types/Enum/PriceGridClementine.js.map +1 -1
  68. package/dist/mjs/types/Interface/api/authentification/AuthenticationResponse.d.ts +10 -0
  69. package/dist/mjs/types/Interface/api/authentification/AuthenticationResponse.d.ts.map +1 -1
  70. package/dist/mjs/types/Interface/api/authentification/AuthenticationResponse.js.map +1 -1
  71. package/dist/mjs/types/Interface/api/authentification/FinalizeMobileApprovalDto.d.ts +4 -0
  72. package/dist/mjs/types/Interface/api/authentification/FinalizeMobileApprovalDto.d.ts.map +1 -0
  73. package/dist/mjs/types/Interface/api/authentification/FinalizeMobileApprovalDto.js +18 -0
  74. package/dist/mjs/types/Interface/api/authentification/FinalizeMobileApprovalDto.js.map +1 -0
  75. package/dist/mjs/types/Interface/api/authentification/SetMobileApprovalDto.d.ts +5 -0
  76. package/dist/mjs/types/Interface/api/authentification/SetMobileApprovalDto.d.ts.map +1 -0
  77. package/dist/mjs/types/Interface/api/authentification/SetMobileApprovalDto.js +25 -0
  78. package/dist/mjs/types/Interface/api/authentification/SetMobileApprovalDto.js.map +1 -0
  79. package/dist/mjs/types/Interface/api/authentification/loginApproval.d.ts +66 -0
  80. package/dist/mjs/types/Interface/api/authentification/loginApproval.d.ts.map +1 -0
  81. package/dist/mjs/types/Interface/api/authentification/loginApproval.js +23 -0
  82. package/dist/mjs/types/Interface/api/authentification/loginApproval.js.map +1 -0
  83. package/dist/mjs/types/Interface/models/ILoginApproval.d.ts +31 -0
  84. package/dist/mjs/types/Interface/models/ILoginApproval.d.ts.map +1 -0
  85. package/dist/mjs/types/Interface/models/ILoginApproval.js +2 -0
  86. package/dist/mjs/types/Interface/models/ILoginApproval.js.map +1 -0
  87. package/dist/mjs/types/Interface/models/IUser.d.ts +2 -0
  88. package/dist/mjs/types/Interface/models/IUser.d.ts.map +1 -1
  89. package/dist/mjs/types/Interface/models/IUser.js.map +1 -1
  90. package/dist/mjs/types/index.d.ts +6 -0
  91. package/dist/mjs/types/index.d.ts.map +1 -1
  92. package/dist/mjs/types/index.js +6 -0
  93. package/dist/mjs/types/index.js.map +1 -1
  94. package/dist/mjs/utils/commercialManagement/internationalization/choices.d.ts.map +1 -1
  95. package/dist/mjs/utils/commercialManagement/internationalization/choices.js +21 -19
  96. package/dist/mjs/utils/commercialManagement/internationalization/choices.js.map +1 -1
  97. package/package.json +1 -1
  98. package/ts/api/resources/LoginApproval.ts +20 -0
  99. package/ts/api/resources/Mfa.ts +6 -0
  100. package/ts/types/Enum/LoginApprovalStatus.ts +13 -0
  101. package/ts/types/Enum/MfaMode.ts +11 -0
  102. package/ts/types/Enum/PriceGridClementine.ts +487 -474
  103. package/ts/types/Interface/api/authentification/AuthenticationResponse.ts +10 -0
  104. package/ts/types/Interface/api/authentification/FinalizeMobileApprovalDto.ts +6 -0
  105. package/ts/types/Interface/api/authentification/SetMobileApprovalDto.ts +11 -0
  106. package/ts/types/Interface/api/authentification/loginApproval.ts +75 -0
  107. package/ts/types/Interface/models/ILoginApproval.ts +31 -0
  108. package/ts/types/Interface/models/IUser.ts +2 -0
  109. package/ts/types/index.ts +6 -0
  110. package/ts/utils/commercialManagement/internationalization/choices.ts +21 -19
@@ -1,6 +1,16 @@
1
1
  export interface IAuthenticationResponse {
2
+ /** TOTP MFA requis (classique avec code à 6 chiffres) */
2
3
  requiresMfa?: boolean;
4
+ /** Mobile approval MFA requis (validation sur l'app mobile) */
5
+ requiresMobileApproval?: boolean;
6
+ /** ID de la demande d'approbation (pour polling/tracking) */
7
+ requestId?: string;
8
+ /** Date d'expiration de la demande */
9
+ expiresAt?: Date;
10
+ /** ID de l'utilisateur */
3
11
  userId?: number;
12
+ /** Message informatif */
4
13
  message?: string;
14
+ /** Token JWT si authentification réussie */
5
15
  token?: string;
6
16
  }
@@ -0,0 +1,6 @@
1
+ import { IsString } from 'class-validator';
2
+
3
+ export class FinalizeMobileApprovalDto {
4
+ @IsString()
5
+ requestId: string;
6
+ }
@@ -0,0 +1,11 @@
1
+ import { IsBoolean, IsInt } from 'class-validator';
2
+ import { ToBoolean } from '../../../../utils/transforms/boolean.transform';
3
+
4
+ export class SetMobileApprovalDto {
5
+ @IsInt()
6
+ userId: number;
7
+
8
+ @IsBoolean()
9
+ @ToBoolean()
10
+ enable: boolean;
11
+ }
@@ -0,0 +1,75 @@
1
+ import { LoginApprovalStatus } from '../../../Enum/LoginApprovalStatus';
2
+ import { IsString } from 'class-validator';
3
+ import { ApiProperty } from '../../../../';
4
+
5
+ /**
6
+ * Payload de l'événement socket envoyé au mobile lors d'une demande de connexion
7
+ */
8
+ export interface ILoginApprovalRequestEvent {
9
+ /** ID unique de la demande */
10
+ requestId: string;
11
+ /** Date d'expiration */
12
+ expiresAt: Date;
13
+ /** ID de l'utilisateur */
14
+ userId: number;
15
+ /** Métadonnées (IP, navigateur, localisation) */
16
+ metadata?: {
17
+ ip?: string;
18
+ userAgent?: string;
19
+ location?: string;
20
+ };
21
+ }
22
+
23
+ export interface IApproveOrDenyResponse {
24
+ message: string;
25
+ status: LoginApprovalStatus;
26
+ }
27
+
28
+ /**
29
+ * Payload de l'événement socket envoyé au Web lors d'un changement de statut
30
+ */
31
+ export interface ILoginApprovalStatusEvent {
32
+ /** ID de la demande */
33
+ requestId: string;
34
+ /** Nouveau statut */
35
+ status: LoginApprovalStatus;
36
+ /** Date de la transition */
37
+ timestamp: Date;
38
+ }
39
+
40
+ /**
41
+ * Réponse renvoyée au Web lorsque mobile MFA est requis
42
+ */
43
+ export interface ILoginApprovalResponse {
44
+ /** Indique qu'une validation mobile est nécessaire */
45
+ requiresMobileApproval: true;
46
+ /** ID de la demande pour polling/tracking */
47
+ requestId: string;
48
+ /** Date d'expiration de la demande */
49
+ expiresAt: Date;
50
+ /** ID utilisateur */
51
+ userId: number;
52
+ }
53
+
54
+ /**
55
+ * Réponse du statut d'une demande d'approbation
56
+ */
57
+ export interface ILoginApprovalStatusResponse {
58
+ /** ID de la demande */
59
+ requestId: string;
60
+ /** Statut actuel */
61
+ status: LoginApprovalStatus;
62
+ /** Date d'expiration */
63
+ expiresAt: Date;
64
+ /** Token JWT si status = approved */
65
+ token?: string;
66
+ }
67
+
68
+ /**
69
+ * DTO pour approuver/refuser une demande depuis le mobile
70
+ */
71
+ export class IApproveOrDenyRequest {
72
+ @ApiProperty()
73
+ @IsString()
74
+ deviceId: string;
75
+ }
@@ -0,0 +1,31 @@
1
+ import { LoginApprovalStatus } from '../../Enum/LoginApprovalStatus';
2
+
3
+ /**
4
+ * Interface représentant une demande d'approbation de connexion mobile
5
+ */
6
+ export interface ILoginApproval {
7
+ /** Identifiant unique (UUID) */
8
+ id: string;
9
+ /** ID de l'utilisateur demandant la connexion */
10
+ idUser: number;
11
+ /** Statut actuel de la demande */
12
+ status: LoginApprovalStatus;
13
+ /** Date d'expiration de la demande (généralement 2-3 min après création) */
14
+ expiresAt: Date;
15
+ /** Date d'approbation (si status = approved) */
16
+ approvedAt?: Date;
17
+ /** Date de refus (si status = denied) */
18
+ deniedAt?: Date;
19
+ /** Device ID du mobile ayant approuvé/refusé */
20
+ deviceIdUsed?: string;
21
+ /** IP de la connexion Web à l'origine de la demande */
22
+ ip?: string;
23
+ /** User-Agent du navigateur Web */
24
+ userAgent?: string;
25
+ /** Métadonnées additionnelles (géoloc, risk score, etc.) */
26
+ metadata?: Record<string, any>;
27
+ /** Date de création */
28
+ createdAt: Date;
29
+ /** Date de mise à jour */
30
+ updatedAt: Date;
31
+ }
@@ -23,6 +23,7 @@ import { IUserBrand } from './IUserBrand';
23
23
  import { ICollaboraterDetail } from './ICollaboraterDetail';
24
24
  import { IUserTimeSlot } from './IUserTimeSlot';
25
25
  import { IUserTeam } from './IUserTeam';
26
+ import { MfaMode } from '../../Enum/MfaMode';
26
27
 
27
28
  // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
28
29
  type isAny<T> = T | any;
@@ -52,6 +53,7 @@ export interface IUser {
52
53
  prefix?: string | null;
53
54
  tokenLostPassword?: string | null;
54
55
  twoFactorEnabled?: boolean | null;
56
+ mfaMode?: MfaMode | null;
55
57
  tokenApi?: string | null;
56
58
  tokenNotification?: string | null;
57
59
  tokenSocket?: string | null;
package/ts/types/index.ts CHANGED
@@ -3,6 +3,7 @@ export * from './Interface/models/ICallHistory';
3
3
  export * from './Interface/models/IBusinessLineUser';
4
4
  export * from './Interface/models/IVisualizedInformation';
5
5
  export * from './Interface/models/IApiError';
6
+ export * from './Interface/models/ILoginApproval';
6
7
  export * from './Interface/models/ISms';
7
8
  export * from './Interface/models/IAccessToken';
8
9
  export * from './Interface/models/IAccountDetail';
@@ -289,6 +290,7 @@ export * from './Interface/models/ILoanFile';
289
290
  export * from './Interface/models/ICommercialMail';
290
291
  export * from './Interface/models/ICommercialOffer';
291
292
  export * from './Interface/models/IRegistration';
293
+ export * from './Interface/api/mfa/mfa';
292
294
  export * from './Interface/models/IVatRegimeHistory';
293
295
  export * from './Interface/models/ICustomerAcceptance';
294
296
  export * from './Interface/models/IUnpaidCallHistory';
@@ -341,6 +343,8 @@ export * from './Enum/Feature';
341
343
  export * from './Enum/AutomaticRegistration';
342
344
  export * from './Enum/IntermediateManagementRebate';
343
345
  export * from './Enum/Das';
346
+ export * from './Enum/LoginApprovalStatus';
347
+ export * from './Enum/MfaMode';
344
348
  export * from './Enum/ChangeLog';
345
349
  export * from './Enum/VisualizedInformation';
346
350
  export * from './Enum/NafCode';
@@ -565,6 +569,7 @@ export * from './Enum/Revenue';
565
569
  // Interfaces API
566
570
  export * from './Interface/api/authentification/AuthenticationResponse';
567
571
  export * from './Interface/api/exercice/ReadExercice';
572
+ export * from './Interface/api/authentification/AuthenticationResponse';
568
573
  export * from './Interface/api/balanceSheet/consistency/Read';
569
574
  export * from './Interface/api/kilometricAllowance/ReadKilometricAllowance';
570
575
  export * from './Interface/api/cashAndExpense/Query';
@@ -1058,6 +1063,7 @@ export * from './Interface/api/changelog/Create';
1058
1063
  export * from './Interface/api/authentification/ReadAuthenticateCollaborater';
1059
1064
  export * from './Interface/api/authentification/ResetPassword';
1060
1065
  export * from './Interface/api/authentification/ForgotPassword';
1066
+ export * from './Interface/api/authentification/loginApproval';
1061
1067
  export * from './Interface/api/society/Export';
1062
1068
  export * from './Interface/api/society/State';
1063
1069
  export * from './Interface/api/businessSector/Create';
@@ -39,14 +39,14 @@ export const internationalizationChoices: InternationalizationChoicesType = {
39
39
  'TVA: Non applicable',
40
40
  'TVA non applicable, art. 293 B du CGI',
41
41
  'TVA non applicable - Exportation hors UE - Art. 259-1 du CGI',
42
- 'Non soumis à TVA selon l\'article 261C du CGI',
42
+ "Non soumis à TVA selon l'article 261C du CGI",
43
43
  'Article 261 D du code général des impôts (CGI)',
44
44
  'Exonération de TVA, article 283-2 du Code général des impôts',
45
45
  'Exonération de la TVA : Article 262 ter I du CGI',
46
46
  'Mention de TVA 261.4.4 1 du CGI',
47
- 'Régime particulier – Biens d\'occasion - article 297 A du CGI et directive communautaire 2006/112/CE',
48
- 'Régime particulier – Objets d\'art - article 297 A du CGI et directive communautaire 2006/112/CE',
49
- 'Régime particulier – Objets de collection ou d\'antiquité - article 297 A du CGI et directive communautaire 2006/112/CE',
47
+ "Régime particulier – Biens d'occasion - article 297 A du CGI et directive communautaire 2006/112/CE",
48
+ "Régime particulier – Objets d'art - article 297 A du CGI et directive communautaire 2006/112/CE",
49
+ "Régime particulier – Objets de collection ou d'antiquité - article 297 A du CGI et directive communautaire 2006/112/CE",
50
50
  'Régime particulier – Agences de voyage - article 297 A du CGI et directive communautaire 2006/112/CE',
51
51
  'Facture soumise au régime de l’auto-liquidation de la TVA',
52
52
  ],
@@ -58,9 +58,9 @@ export const internationalizationChoices: InternationalizationChoicesType = {
58
58
  common: {
59
59
  headers: {
60
60
  title: 'Titre',
61
- emissionDate: 'Date d\'émission',
61
+ emissionDate: "Date d'émission",
62
62
  accountingCategory: {
63
- title: 'Catégorie de l\'opération',
63
+ title: "Catégorie de l'opération",
64
64
  choices: [
65
65
  { id: AccountingCategoryId.DELIVERY_OF_GOOD, label: 'Livraison de biens' },
66
66
  { id: AccountingCategoryId.SERVICE_DELIVERY, label: 'Prestation de services' },
@@ -74,7 +74,7 @@ export const internationalizationChoices: InternationalizationChoicesType = {
74
74
  vatCode: 'N° TVA',
75
75
  marginVat: 'Régime TVA sur marge',
76
76
  legalVatMention: 'ART 297-A du CGI ou directive 2006-212 CE',
77
- shouldPayTaxAfterDebit: 'Option pour le paiement de la taxe d\'après les débits',
77
+ shouldPayTaxAfterDebit: "Option pour le paiement de la taxe d'après les débits",
78
78
  penalties: 'Pénalités en cas de retard',
79
79
  discount: 'Escompte',
80
80
  recoveryCosts: 'Indemnités forfaitaire en cas de retard',
@@ -116,49 +116,49 @@ export const internationalizationChoices: InternationalizationChoicesType = {
116
116
  invoice: {
117
117
  headers: {
118
118
  title: 'Facture',
119
- dueDate: 'Date d\'échéance',
119
+ dueDate: "Date d'échéance",
120
120
  termsOfPayment: 'Date limite de règlement',
121
121
  },
122
122
  },
123
123
  estimate: {
124
124
  headers: {
125
125
  title: 'Devis',
126
- dueDate: 'Valide jusqu\'au',
126
+ dueDate: "Valide jusqu'au",
127
127
  termsOfPayment: 'Conditions de règlement',
128
128
  },
129
129
  },
130
130
  orderForm: {
131
131
  headers: {
132
132
  title: 'Bon de commande',
133
- dueDate: 'Date d\'échéance',
133
+ dueDate: "Date d'échéance",
134
134
  termsOfPayment: 'Conditions de règlement',
135
135
  },
136
136
  },
137
137
  deposit: {
138
138
  headers: {
139
- title: 'Facture d\'acompte',
140
- expirationDate: 'Date d\'expiration',
139
+ title: "Facture d'acompte",
140
+ expirationDate: "Date d'expiration",
141
141
  termsOfPayment: 'Date limite de règlement',
142
142
  },
143
143
  },
144
144
  asset: {
145
145
  headers: {
146
146
  title: 'Avoir',
147
- dueDate: 'Date d\'échéance',
147
+ dueDate: "Date d'échéance",
148
148
  termsOfPayment: 'Date limite de règlement',
149
149
  },
150
150
  },
151
151
  remainder: {
152
152
  headers: {
153
153
  title: 'Facture de solde',
154
- dueDate: 'Date d\'échéance',
154
+ dueDate: "Date d'échéance",
155
155
  termsOfPayment: 'Date limite de règlement',
156
156
  },
157
157
  },
158
158
  draft: {
159
159
  headers: {
160
160
  title: 'Brouillon',
161
- dueDate: 'Date d\'échéance',
161
+ dueDate: "Date d'échéance",
162
162
  termsOfPayment: 'Date limite de règlement',
163
163
  },
164
164
  },
@@ -429,7 +429,7 @@ const internationalizationMatching: { [key: string]: { fr: string; en: string }[
429
429
  en: 'VAT not applicable - Exports outside the EU - Art. 259-1 of the French General Tax Code (FGTC)',
430
430
  },
431
431
  {
432
- fr: 'Non soumis à TVA selon l\'article 261C du CGI',
432
+ fr: "Non soumis à TVA selon l'article 261C du CGI",
433
433
  en: 'Not subject to VAT according to article 261C of the French General Tax Code (FGTC)',
434
434
  },
435
435
  { fr: 'Article 261 D du code général des impôts (CGI)', en: 'Article 261D of the French General Tax Code (FGTC)' },
@@ -443,15 +443,15 @@ const internationalizationMatching: { [key: string]: { fr: string; en: string }[
443
443
  },
444
444
  { fr: 'Mention de TVA 261.4.4 1 du CGI', en: 'VAT notice 261.4.4 1 of the French General Tax Code (FGTC)' },
445
445
  {
446
- fr: 'Régime particulier – Biens d\'occasion - article 297 A du CGI et directive communautaire 2006/112/CE',
446
+ fr: "Régime particulier – Biens d'occasion - article 297 A du CGI et directive communautaire 2006/112/CE",
447
447
  en: 'Specific regime - Second-hand goods - article 297 A of the French General Tax Code (FGTC) and Community Directive 2006/112/EC',
448
448
  },
449
449
  {
450
- fr: 'Régime particulier – Objets d\'art - article 297 A du CGI et directive communautaire 2006/112/CE',
450
+ fr: "Régime particulier – Objets d'art - article 297 A du CGI et directive communautaire 2006/112/CE",
451
451
  en: 'Specific regime - Works of art - article 297 A of the French General Tax Code (FGTC) and Community Directive 2006/112/EC',
452
452
  },
453
453
  {
454
- fr: 'Régime particulier – Objets de collection ou d\'antiquité - article 297 A du CGI et directive communautaire 2006/112/CE',
454
+ fr: "Régime particulier – Objets de collection ou d'antiquité - article 297 A du CGI et directive communautaire 2006/112/CE",
455
455
  en: 'Specific regime – Collectibles and antiques - article 297 A of the French General Tax Code (FGTC) and Community Directive 2006/112/EC',
456
456
  },
457
457
  {
@@ -532,6 +532,8 @@ const internationalizationMatching: { [key: string]: { fr: string; en: string }[
532
532
  { fr: 'nuit', en: 'night' },
533
533
  { fr: 't', en: 't' },
534
534
  { fr: 'ha', en: 'ha' },
535
+ { fr: 'min', en: 'min' },
536
+ { fr: 'g', en: 'g' },
535
537
  ],
536
538
  };
537
539