datakeen-session-react 1.1.140-rc.59 → 1.1.140-rc.60

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.
@@ -7,8 +7,11 @@ var jsxRuntime = require('react/jsx-runtime');
7
7
  var React = require('react');
8
8
  var reactI18next = require('react-i18next');
9
9
  var index = require('../../i18n/index.js');
10
- var lucideReact = require('lucide-react');
11
10
  var api = require('../../services/api.js');
11
+ var check = require('../../assets/check.svg.js');
12
+ var LoadingState = require('../states/LoadingState.js');
13
+ var Title = require('../ui/Title.js');
14
+ var Subtitle = require('../ui/Subtitle.js');
12
15
 
13
16
  var FIELD_ALIASES = {
14
17
  siren: ['siren', 'siren_number', 'company_siren', 'legal_siren', 'num_siren'],
@@ -32,150 +35,260 @@ var maskReferenceValue = function (value) {
32
35
  return '****';
33
36
  return "".concat('*'.repeat(clean.length - 4)).concat(clean.slice(-4));
34
37
  };
38
+ var resolveFieldValue = function (nodeInput, userInputFlat, keys) {
39
+ var _a, _b, _c, _d, _e;
40
+ for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {
41
+ var key = keys_1[_i];
42
+ var candidate = (_e = (_c = (_a = nodeInput === null || nodeInput === void 0 ? void 0 : nodeInput[key]) !== null && _a !== void 0 ? _a : (_b = nodeInput === null || nodeInput === void 0 ? void 0 : nodeInput.customFormData) === null || _b === void 0 ? void 0 : _b[key]) !== null && _c !== void 0 ? _c : (_d = userInputFlat === null || userInputFlat === void 0 ? void 0 : userInputFlat.customFormData) === null || _d === void 0 ? void 0 : _d[key]) !== null && _e !== void 0 ? _e : userInputFlat === null || userInputFlat === void 0 ? void 0 : userInputFlat[key];
43
+ if (candidate !== undefined && candidate !== null && "".concat(candidate).trim() !== '') {
44
+ return String(candidate);
45
+ }
46
+ }
47
+ return undefined;
48
+ };
35
49
  var ExternalVerificationNodeHandler = function (_a) {
36
- var node = _a.node, session = _a.session, userInput = _a.userInput, setUserInput = _a.setUserInput, onNext = _a.onNext;
50
+ var node = _a.node, session = _a.session, userInput = _a.userInput, setUserInput = _a.setUserInput, onNext = _a.onNext, onPrevious = _a.onPrevious;
37
51
  var t = reactI18next.useTranslation('translation', { i18n: index.default }).t;
52
+ var nodeData = node;
53
+ var apiType = String(nodeData.targetApi || 'INSEE');
54
+ var isInpiRbe = apiType === 'INPI_RBE';
55
+ var _b = React.useState('loading'), phase = _b[0], setPhase = _b[1];
56
+ var _c = React.useState(function () {
57
+ if (isInpiRbe) {
58
+ return [
59
+ {
60
+ title: t('inpi_verification.step1', 'Appel au RNE'),
61
+ subtitle: t('inpi_verification.step1_sub', 'Connexion au registre national des entreprises'),
62
+ status: 'active',
63
+ },
64
+ {
65
+ title: t('inpi_verification.step2', "Récupération des données d'entreprise"),
66
+ subtitle: t('inpi_verification.step2_sub', 'Lecture des informations légales et des dirigeants'),
67
+ status: 'pending',
68
+ },
69
+ {
70
+ title: t('inpi_verification.step3', 'Comparaison avec les données saisies'),
71
+ subtitle: t('inpi_verification.step3_sub', 'Vérification de la concordance des informations'),
72
+ status: 'pending',
73
+ },
74
+ ];
75
+ }
76
+ return [{
77
+ title: t('verification_node.verifying_title', 'Vérification en cours…'),
78
+ subtitle: t('verification_node.verifying_desc', 'Connexion au service externe'),
79
+ status: 'active',
80
+ }];
81
+ }), steps = _c[0], setSteps = _c[1];
82
+ var advanceStep = function (index) {
83
+ setSteps(function (prev) {
84
+ return prev.map(function (s, i) {
85
+ if (i < index)
86
+ return tslib_es6.__assign(tslib_es6.__assign({}, s), { status: 'done' });
87
+ if (i === index)
88
+ return tslib_es6.__assign(tslib_es6.__assign({}, s), { status: 'active' });
89
+ return s;
90
+ });
91
+ });
92
+ };
93
+ var completeSteps = function () {
94
+ setSteps(function (prev) { return prev.map(function (s) { return (tslib_es6.__assign(tslib_es6.__assign({}, s), { status: 'done' })); }); });
95
+ };
96
+ // Mapping from builder TYPE_FIELDS keys → actual SDK userInput storage keys.
97
+ // e.g. builder stores 'prenom' but SDK stores 'firstName'.
98
+ var STANDARD_FIELD_ALIASES = {
99
+ prenom: ['firstName', 'first_name', 'prenom'],
100
+ nom: ['lastName', 'last_name', 'surname', 'familyName', 'nom'],
101
+ date_naissance: ['birthDate', 'birth_date', 'dateOfBirth', 'date_naissance'],
102
+ };
103
+ var expandFieldKey = function (key) { var _a; return tslib_es6.__spreadArray([key], ((_a = STANDARD_FIELD_ALIASES[key]) !== null && _a !== void 0 ? _a : []), true); };
38
104
  React.useEffect(function () {
39
- var performVerification = function () { return tslib_es6.__awaiter(void 0, void 0, void 0, function () {
40
- var verificationResult, apiType, referenceField, referenceValueMasked, nodeData, referenceNodeId, referenceVariable, nodeInput, userInputFlat, lookupKeys, referenceValue, _i, lookupKeys_1, key, candidateValue, allCustomFields, _a, _b, _c, key, value, stringValue, response, result, apiErr_1, apiResult, err_1;
41
- var _d, _e, _f, _g, _h, _j, _k, _l;
42
- return tslib_es6.__generator(this, function (_m) {
43
- switch (_m.label) {
105
+ var abortController = new AbortController();
106
+ var run = function () { return tslib_es6.__awaiter(void 0, void 0, void 0, function () {
107
+ var result, referenceField, referenceValueMasked, referenceNodeId, referenceVariable, nodeInput, userInputFlat, lookupKeys, referenceValue, allCustomFields, _i, _a, _b, value, str, comparisonConfig, cfg, personNodeInput, flat, firstNameKeys, lastNameKeys, birthDateKeys, firstName, lastName, dateOfBirth, response, res, apiErr_1, apiResult;
108
+ var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
109
+ return tslib_es6.__generator(this, function (_o) {
110
+ switch (_o.label) {
44
111
  case 0:
45
- verificationResult = {
112
+ result = {
46
113
  isVerified: false,
47
114
  status: 'external_error',
48
115
  message: 'Verification did not run.',
49
116
  };
50
- apiType = node.targetApi || 'INSEE';
51
117
  referenceValueMasked = '';
52
- console.log("Api Type :", apiType);
53
- _m.label = 1;
118
+ _o.label = 1;
54
119
  case 1:
55
- _m.trys.push([1, 8, , 9]);
56
- if (!(session === null || session === void 0 ? void 0 : session.id)) {
120
+ _o.trys.push([1, 9, , 10]);
121
+ if (!(session === null || session === void 0 ? void 0 : session.id))
57
122
  throw new Error('Session ID is missing');
58
- }
59
- nodeData = node;
60
- apiType = String(nodeData.targetApi || 'INSEE');
61
123
  referenceNodeId = String(nodeData.referenceNodeId || '');
62
124
  referenceVariable = String(nodeData.referenceVariable || '');
63
125
  referenceField = normalizeReferenceField(String(nodeData.referenceField || referenceVariable || ''));
64
126
  if (!(!referenceNodeId || !referenceField)) return [3 /*break*/, 2];
65
- verificationResult = {
127
+ result = {
66
128
  isVerified: false,
67
129
  status: 'config_error',
68
130
  message: 'External verification node is missing reference configuration.',
69
131
  errorCode: 'MISSING_REFERENCE_CONFIG',
70
132
  };
71
- return [3 /*break*/, 7];
133
+ return [3 /*break*/, 8];
72
134
  case 2:
73
135
  nodeInput = userInput[referenceNodeId];
74
136
  userInputFlat = userInput;
75
- lookupKeys = Array.from(new Set(tslib_es6.__spreadArray([
76
- referenceVariable,
77
- referenceField
78
- ], FIELD_ALIASES[referenceField], true).filter(Boolean)));
79
- referenceValue = void 0;
80
- for (_i = 0, lookupKeys_1 = lookupKeys; _i < lookupKeys_1.length; _i++) {
81
- key = lookupKeys_1[_i];
82
- candidateValue = (_h = (_f = (_d = nodeInput === null || nodeInput === void 0 ? void 0 : nodeInput[key]) !== null && _d !== void 0 ? _d : (_e = nodeInput === null || nodeInput === void 0 ? void 0 : nodeInput.customFormData) === null || _e === void 0 ? void 0 : _e[key]) !== null && _f !== void 0 ? _f : (_g = userInputFlat === null || userInputFlat === void 0 ? void 0 : userInputFlat.customFormData) === null || _g === void 0 ? void 0 : _g[key]) !== null && _h !== void 0 ? _h : userInputFlat === null || userInputFlat === void 0 ? void 0 : userInputFlat[key];
83
- if (candidateValue !== undefined && candidateValue !== null && "".concat(candidateValue).trim() !== '') {
84
- referenceValue = String(candidateValue);
85
- break;
86
- }
87
- }
88
- // Fallback: Smart lookup if no value found by key
137
+ lookupKeys = Array.from(new Set(tslib_es6.__spreadArray([referenceVariable, referenceField], FIELD_ALIASES[referenceField], true).filter(Boolean)));
138
+ referenceValue = resolveFieldValue(nodeInput, userInputFlat, lookupKeys);
139
+ // Smart numeric fallback
89
140
  if (!referenceValue) {
90
141
  allCustomFields = tslib_es6.__assign(tslib_es6.__assign(tslib_es6.__assign({}, ((userInputFlat === null || userInputFlat === void 0 ? void 0 : userInputFlat.customFormData) || {})), ((nodeInput === null || nodeInput === void 0 ? void 0 : nodeInput.customFormData) || {})), (nodeInput || {}));
91
- for (_a = 0, _b = Object.entries(allCustomFields); _a < _b.length; _a++) {
92
- _c = _b[_a], key = _c[0], value = _c[1];
142
+ for (_i = 0, _a = Object.entries(allCustomFields); _i < _a.length; _i++) {
143
+ _b = _a[_i], value = _b[1];
93
144
  if (typeof value !== 'string' && typeof value !== 'number')
94
145
  continue;
95
- stringValue = String(value).replace(/\s+/g, '');
96
- // 9-digit SIREN pattern
97
- if (referenceField === 'siren' && /^\d{9}$/.test(stringValue)) {
98
- referenceValue = stringValue;
146
+ str = String(value).replace(/\s+/g, '');
147
+ if (referenceField === 'siren' && /^\d{9}$/.test(str)) {
148
+ referenceValue = str;
99
149
  break;
100
150
  }
101
- // 14-digit SIRET pattern
102
- if (referenceField === 'siret' && /^\d{14}$/.test(stringValue)) {
103
- referenceValue = stringValue;
151
+ if (referenceField === 'siret' && /^\d{14}$/.test(str)) {
152
+ referenceValue = str;
104
153
  break;
105
154
  }
106
155
  }
107
156
  }
108
157
  if (!!referenceValue) return [3 /*break*/, 3];
109
- verificationResult = {
158
+ result = {
110
159
  isVerified: false,
111
160
  status: 'invalid_input',
112
161
  message: 'No SIREN/SIRET value found in source node data.',
113
162
  errorCode: 'REFERENCE_VALUE_NOT_FOUND',
114
163
  };
115
- return [3 /*break*/, 7];
164
+ return [3 /*break*/, 8];
116
165
  case 3:
117
166
  referenceValueMasked = maskReferenceValue(referenceValue);
118
- _m.label = 4;
167
+ comparisonConfig = void 0;
168
+ if (isInpiRbe && ((_c = nodeData.comparisonConfig) === null || _c === void 0 ? void 0 : _c.personReferenceNodeId)) {
169
+ cfg = nodeData.comparisonConfig;
170
+ personNodeInput = (_d = userInput[cfg.personReferenceNodeId]) !== null && _d !== void 0 ? _d : {};
171
+ flat = userInput;
172
+ firstNameKeys = expandFieldKey((_e = cfg.personFirstNameField) !== null && _e !== void 0 ? _e : '').filter(Boolean);
173
+ lastNameKeys = expandFieldKey((_f = cfg.personLastNameField) !== null && _f !== void 0 ? _f : '').filter(Boolean);
174
+ birthDateKeys = cfg.personBirthDateField
175
+ ? expandFieldKey(cfg.personBirthDateField).filter(Boolean)
176
+ : [];
177
+ firstName = (_g = resolveFieldValue(personNodeInput, flat, firstNameKeys)) !== null && _g !== void 0 ? _g : '';
178
+ lastName = (_h = resolveFieldValue(personNodeInput, flat, lastNameKeys)) !== null && _h !== void 0 ? _h : '';
179
+ dateOfBirth = cfg.compareBirthDate && birthDateKeys.length
180
+ ? resolveFieldValue(personNodeInput, flat, birthDateKeys)
181
+ : undefined;
182
+ if (firstName && lastName) {
183
+ comparisonConfig = tslib_es6.__assign({ firstName: firstName, lastName: lastName, compareTargets: (_j = cfg.compareTargets) !== null && _j !== void 0 ? _j : ['mandataires'] }, (dateOfBirth ? { dateOfBirth: dateOfBirth } : {}));
184
+ }
185
+ }
186
+ // Step 2 — after building request
187
+ if (isInpiRbe)
188
+ advanceStep(1);
189
+ _o.label = 4;
119
190
  case 4:
120
- _m.trys.push([4, 6, , 7]);
121
- return [4 /*yield*/, api.apiService.post("/session/sdk/".concat(session.id, "/verify-external/").concat(node.id), { apiType: apiType, referenceValue: referenceValue, referenceField: referenceField })];
191
+ _o.trys.push([4, 7, , 8]);
192
+ return [4 /*yield*/, api.apiService.post("/session/sdk/".concat(session.id, "/verify-external/").concat(node.id), tslib_es6.__assign({ apiType: apiType, referenceValue: referenceValue, referenceField: referenceField }, (comparisonConfig ? { comparisonConfig: comparisonConfig } : {})), { signal: abortController.signal })];
122
193
  case 5:
123
- response = _m.sent();
124
- result = (_j = response.data) === null || _j === void 0 ? void 0 : _j.data;
125
- if (result && typeof result.isVerified === 'boolean') {
126
- verificationResult = result;
127
- }
128
- return [3 /*break*/, 7];
194
+ response = _o.sent();
195
+ // Step 3 response received
196
+ if (isInpiRbe)
197
+ advanceStep(2);
198
+ return [4 /*yield*/, new Promise(function (r) { return setTimeout(r, 600); })];
129
199
  case 6:
130
- apiErr_1 = _m.sent();
131
- apiResult = (_l = (_k = apiErr_1 === null || apiErr_1 === void 0 ? void 0 : apiErr_1.response) === null || _k === void 0 ? void 0 : _k.data) === null || _l === void 0 ? void 0 : _l.data;
200
+ _o.sent();
201
+ res = (_k = response.data) === null || _k === void 0 ? void 0 : _k.data;
202
+ if (res && typeof res.isVerified === 'boolean') {
203
+ result = res;
204
+ }
205
+ return [3 /*break*/, 8];
206
+ case 7:
207
+ apiErr_1 = _o.sent();
208
+ if (abortController.signal.aborted)
209
+ return [2 /*return*/];
210
+ if (isInpiRbe)
211
+ advanceStep(2);
212
+ apiResult = (_m = (_l = apiErr_1 === null || apiErr_1 === void 0 ? void 0 : apiErr_1.response) === null || _l === void 0 ? void 0 : _l.data) === null || _m === void 0 ? void 0 : _m.data;
132
213
  if (apiResult && typeof apiResult.isVerified === 'boolean') {
133
- verificationResult = apiResult;
214
+ result = apiResult;
134
215
  }
135
216
  else {
136
- verificationResult = {
217
+ result = {
137
218
  isVerified: false,
138
219
  status: 'external_error',
139
220
  message: 'External verification request failed.',
140
221
  errorCode: 'REQUEST_FAILED',
141
222
  };
142
223
  }
143
- return [3 /*break*/, 7];
144
- case 7: return [3 /*break*/, 9];
145
- case 8:
146
- err_1 = _m.sent();
147
- verificationResult = {
224
+ return [3 /*break*/, 8];
225
+ case 8: return [3 /*break*/, 10];
226
+ case 9:
227
+ _o.sent();
228
+ result = {
148
229
  isVerified: false,
149
230
  status: 'external_error',
150
231
  message: 'Unexpected error during verification.',
151
232
  errorCode: 'UNEXPECTED_ERROR',
152
233
  };
153
- console.warn('[ExternalVerificationNodeHandler] Unexpected error:', err_1);
154
- return [3 /*break*/, 9];
155
- case 9:
234
+ return [3 /*break*/, 10];
235
+ case 10:
236
+ if (abortController.signal.aborted)
237
+ return [2 /*return*/];
238
+ completeSteps();
156
239
  setUserInput(function (prev) {
157
240
  var _a;
158
241
  return (tslib_es6.__assign(tslib_es6.__assign({}, prev), (_a = {}, _a[node.id] = {
159
- isVerified: verificationResult.isVerified,
242
+ isVerified: result.isVerified,
160
243
  apiType: apiType,
161
244
  referenceField: referenceField,
162
245
  referenceValueMasked: referenceValueMasked,
163
246
  verifiedAt: new Date().toISOString(),
164
- status: verificationResult.status,
165
- errorCode: verificationResult.errorCode,
166
- message: verificationResult.message,
167
- hasError: verificationResult.status !== 'ok' && verificationResult.status !== 'not_found',
247
+ status: result.status,
248
+ errorCode: result.errorCode,
249
+ message: result.message,
250
+ inpiData: result.inpiData,
251
+ hasError: result.status !== 'ok' && result.status !== 'not_found' && result.status !== 'person_mismatch',
168
252
  }, _a)));
169
253
  });
170
- onNext();
254
+ // Determine phase to show
255
+ if (result.status === 'person_mismatch') {
256
+ setPhase('mismatch');
257
+ }
258
+ else if (result.isVerified || result.status === 'ok' || result.status === 'not_found') {
259
+ setPhase('success');
260
+ setTimeout(onNext, 1200);
261
+ }
262
+ else if (result.status === 'config_error' || result.status === 'invalid_input') {
263
+ setPhase('success');
264
+ setTimeout(onNext, 800);
265
+ }
266
+ else {
267
+ setPhase('error');
268
+ setTimeout(onNext, 1500);
269
+ }
171
270
  return [2 /*return*/];
172
271
  }
173
272
  });
174
273
  }); };
175
- performVerification();
274
+ run();
275
+ return function () { return abortController.abort(); };
176
276
  // eslint-disable-next-line react-hooks/exhaustive-deps
177
277
  }, []);
178
- return (jsxRuntime.jsxs("div", { className: "flex min-h-[300px] flex-col items-center justify-center space-y-4 p-6 text-center", children: [jsxRuntime.jsx(lucideReact.Loader2, { className: "h-12 w-12 animate-spin text-[#1c2c5c]" }), jsxRuntime.jsx("h3", { className: "text-xl font-semibold text-gray-900", children: t('verification_node.verifying_title', 'Vérification en cours...') }), jsxRuntime.jsx("p", { className: "text-gray-500", children: t('verification_node.verifying_desc', 'Nous interrogeons la base de données.') })] }));
278
+ // ─── Loading phase ─────────────────────────────────────────────────────────
279
+ if (phase === 'loading') {
280
+ return (jsxRuntime.jsx("div", { className: "flex flex-col justify-between h-full w-full", children: jsxRuntime.jsx("div", { className: "flex-1 px-4 py-6 pt-11 md:px-8 md:py-8", children: jsxRuntime.jsxs("div", { className: "w-full max-w-md mx-auto space-y-6", children: [jsxRuntime.jsxs("div", { className: "text-center space-y-4", children: [jsxRuntime.jsx(Title.default, { className: "text-xl md:text-2xl lg:text-3xl", children: t('verification_node.verifying_title', 'Vérification en cours…') }), jsxRuntime.jsx(Subtitle.default, { className: "text-sm text-gray-600 leading-relaxed", children: t('verification_node.verifying_desc', 'Nous vérifions vos informations. Cela peut prendre quelques instants.') })] }), jsxRuntime.jsx("div", { className: "w-full flex justify-center", children: jsxRuntime.jsx("div", { className: "space-y-5", children: steps.map(function (step, index) { return (jsxRuntime.jsxs("div", { className: "flex items-start", children: [jsxRuntime.jsx("div", { className: "mr-4 mt-1 flex-shrink-0", children: step.status === 'done' ? (jsxRuntime.jsx("div", { className: "flex items-center justify-center w-6 h-6 rounded-full bg-[#11E5C5] text-white text-xs", children: "\u2713" })) : step.status === 'active' ? (jsxRuntime.jsx("div", { className: "w-6 h-6 rounded-full border-2 border-t-[#11E5C5] border-r-[#11E5C5] border-b-[#11E5C5] border-l-transparent animate-spin" })) : (jsxRuntime.jsx("div", { className: "w-6 h-6 rounded-full border-2 border-gray-300" })) }), jsxRuntime.jsxs("div", { className: "flex-1 min-w-0", children: [jsxRuntime.jsx("p", { className: "font-medium text-[#3C3C40] text-sm", children: step.title }), jsxRuntime.jsx("p", { className: "text-xs text-gray-500 mt-1", children: step.subtitle })] })] }, index)); }) }) })] }) }) }));
281
+ }
282
+ // ─── Success phase ─────────────────────────────────────────────────────────
283
+ if (phase === 'success') {
284
+ return (jsxRuntime.jsxs("div", { className: "flex flex-col items-center justify-center h-full px-6 py-8 text-center space-y-4", children: [jsxRuntime.jsx("img", { src: check.default, alt: "success", className: "w-24 h-24" }), jsxRuntime.jsx("h3", { className: "text-[#3C3C40] font-poppins text-xl font-bold", children: t('inpi_verification.success_title', 'Vérification réussie') }), jsxRuntime.jsx("p", { className: "text-gray-500 text-sm", children: t('inpi_verification.success_desc', "Passage à l'étape suivante…") })] }));
285
+ }
286
+ // ─── Mismatch phase ────────────────────────────────────────────────────────
287
+ if (phase === 'mismatch') {
288
+ return (jsxRuntime.jsxs("div", { className: "flex flex-col items-center justify-center h-full px-6 py-8 text-center space-y-5", children: [jsxRuntime.jsx("div", { className: "w-16 h-16 rounded-full bg-[#F4D940]/20 flex items-center justify-center text-3xl", children: "\u26A0\uFE0F" }), jsxRuntime.jsx("h3", { className: "text-[#3C3C40] font-poppins text-xl font-bold", children: t('inpi_verification.mismatch_title', 'Identité non confirmée') }), jsxRuntime.jsx("p", { className: "max-w-sm text-sm text-gray-500", children: t('inpi_verification.mismatch_desc', "Les informations saisies ne correspondent à aucune personne déclarée à l'INPI pour cette société.") }), jsxRuntime.jsxs("div", { className: "flex w-full max-w-xs flex-col gap-3", children: [jsxRuntime.jsx("button", { onClick: onPrevious, className: "w-full rounded-lg border border-gray-300 px-4 py-2.5 text-sm font-medium text-gray-700 transition hover:bg-gray-50", "data-cy": "inpi-mismatch-go-back", children: t('inpi_verification.mismatch_correct', 'Corriger ma saisie') }), jsxRuntime.jsx("button", { onClick: onNext, className: "w-full rounded-lg bg-primary px-4 py-2.5 text-sm font-medium text-white transition hover:opacity-90", "data-cy": "inpi-mismatch-continue", children: t('inpi_verification.mismatch_continue', 'Continuer quand même') })] })] }));
289
+ }
290
+ // ─── Error / fallback ─────────────────────────────────────────────────────
291
+ return (jsxRuntime.jsx(LoadingState.default, { message: t('verification_node.verifying_title', 'Vérification en cours…'), subtitle: t('verification_node.verifying_desc', 'Vérification en cours…') }));
179
292
  };
180
293
 
181
294
  exports.default = ExternalVerificationNodeHandler;
@@ -1 +1 @@
1
- {"version":3,"file":"ExternalVerificationNodeHandler.js","sources":["../../../../../src/components/template/ExternalVerificationNodeHandler.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport sdkI18n from '../../i18n';\nimport { Loader2 } from 'lucide-react';\nimport { apiService } from '../../services/api';\nimport type { SessionData, SessionTemplateNode } from '../../types/session';\nimport type { UserInput } from '../../types/userInput';\n\ntype VerificationStatus =\n | 'ok'\n | 'not_found'\n | 'invalid_input'\n | 'config_error'\n | 'external_error';\n\ninterface VerificationResponsePayload {\n isVerified: boolean;\n status: VerificationStatus;\n message?: string;\n errorCode?: string;\n}\n\ninterface ExternalVerificationNodeHandlerProps {\n node: SessionTemplateNode;\n session: SessionData;\n userInput: UserInput;\n setUserInput: React.Dispatch<React.SetStateAction<UserInput>>;\n onNext: () => void;\n onPrevious: () => void;\n}\n\nconst FIELD_ALIASES: Record<'siren' | 'siret', string[]> = {\n siren: ['siren', 'siren_number', 'company_siren', 'legal_siren', 'num_siren'],\n siret: ['siret', 'siret_number', 'company_siret', 'legal_siret', 'num_siret'],\n};\n\nconst normalizeReferenceField = (field?: string): 'siren' | 'siret' | undefined => {\n if (!field) return undefined;\n const normalized = field.toLowerCase().replace(/[\\s_.-]/g, '');\n if (normalized.includes('siret')) return 'siret';\n if (normalized.includes('siren')) return 'siren';\n return undefined;\n};\n\nconst maskReferenceValue = (value: string): string => {\n const clean = value.replace(/\\s+/g, '');\n if (!clean) return '';\n if (clean.length <= 4) return '****';\n return `${'*'.repeat(clean.length - 4)}${clean.slice(-4)}`;\n};\n\nconst ExternalVerificationNodeHandler: React.FC<ExternalVerificationNodeHandlerProps> = ({\n node,\n session,\n userInput,\n setUserInput,\n onNext,\n}) => {\n const { t } = useTranslation('translation', { i18n: sdkI18n });\n\n useEffect(() => {\n const performVerification = async () => {\n let verificationResult: VerificationResponsePayload = {\n isVerified: false,\n status: 'external_error',\n message: 'Verification did not run.',\n };\n let apiType = (node as any).targetApi || 'INSEE';\n let referenceField: 'siren' | 'siret' | undefined;\n let referenceValueMasked = '';\n console.log(\"Api Type :\", apiType);\n try {\n if (!session?.id) {\n throw new Error('Session ID is missing');\n }\n\n const nodeData = node as any;\n apiType = String(nodeData.targetApi || 'INSEE');\n const referenceNodeId = String(nodeData.referenceNodeId || '');\n const referenceVariable = String(nodeData.referenceVariable || '');\n referenceField = normalizeReferenceField(\n String(nodeData.referenceField || referenceVariable || ''),\n );\n\n if (!referenceNodeId || !referenceField) {\n verificationResult = {\n isVerified: false,\n status: 'config_error',\n message: 'External verification node is missing reference configuration.',\n errorCode: 'MISSING_REFERENCE_CONFIG',\n };\n } else {\n const nodeInput = (userInput as any)[referenceNodeId];\n const userInputFlat = userInput as any;\n const lookupKeys = Array.from(\n new Set([\n referenceVariable,\n referenceField,\n ...FIELD_ALIASES[referenceField],\n ].filter(Boolean)),\n );\n\n let referenceValue: string | undefined;\n for (const key of lookupKeys) {\n const candidateValue =\n nodeInput?.[key] ??\n nodeInput?.customFormData?.[key] ??\n userInputFlat?.customFormData?.[key] ??\n userInputFlat?.[key];\n\n if (candidateValue !== undefined && candidateValue !== null && `${candidateValue}`.trim() !== '') {\n referenceValue = String(candidateValue);\n break;\n }\n }\n\n // Fallback: Smart lookup if no value found by key\n if (!referenceValue) {\n const allCustomFields = {\n ...(userInputFlat?.customFormData || {}),\n ...(nodeInput?.customFormData || {}),\n ...(nodeInput || {}),\n };\n\n for (const [key, value] of Object.entries(allCustomFields)) {\n if (typeof value !== 'string' && typeof value !== 'number') continue;\n const stringValue = String(value).replace(/\\s+/g, '');\n\n // 9-digit SIREN pattern\n if (referenceField === 'siren' && /^\\d{9}$/.test(stringValue)) {\n referenceValue = stringValue;\n break;\n }\n // 14-digit SIRET pattern\n if (referenceField === 'siret' && /^\\d{14}$/.test(stringValue)) {\n referenceValue = stringValue;\n break;\n }\n }\n }\n\n if (!referenceValue) {\n verificationResult = {\n isVerified: false,\n status: 'invalid_input',\n message: 'No SIREN/SIRET value found in source node data.',\n errorCode: 'REFERENCE_VALUE_NOT_FOUND',\n };\n } else {\n referenceValueMasked = maskReferenceValue(referenceValue);\n\n try {\n const response = await apiService.post(\n `/session/sdk/${session.id}/verify-external/${node.id}`,\n { apiType, referenceValue, referenceField },\n );\n const result = response.data?.data as VerificationResponsePayload | undefined;\n if (result && typeof result.isVerified === 'boolean') {\n verificationResult = result;\n }\n } catch (apiErr: any) {\n const apiResult = apiErr?.response?.data?.data as VerificationResponsePayload | undefined;\n if (apiResult && typeof apiResult.isVerified === 'boolean') {\n verificationResult = apiResult;\n } else {\n verificationResult = {\n isVerified: false,\n status: 'external_error',\n message: 'External verification request failed.',\n errorCode: 'REQUEST_FAILED',\n };\n }\n }\n }\n }\n } catch (err) {\n verificationResult = {\n isVerified: false,\n status: 'external_error',\n message: 'Unexpected error during verification.',\n errorCode: 'UNEXPECTED_ERROR',\n };\n console.warn('[ExternalVerificationNodeHandler] Unexpected error:', err);\n }\n\n setUserInput((prev) => ({\n ...prev,\n [node.id]: {\n isVerified: verificationResult.isVerified,\n apiType,\n referenceField,\n referenceValueMasked,\n verifiedAt: new Date().toISOString(),\n status: verificationResult.status,\n errorCode: verificationResult.errorCode,\n message: verificationResult.message,\n hasError: verificationResult.status !== 'ok' && verificationResult.status !== 'not_found',\n },\n } as any));\n\n onNext();\n };\n\n performVerification();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <div className=\"flex min-h-[300px] flex-col items-center justify-center space-y-4 p-6 text-center\">\n <Loader2 className=\"h-12 w-12 animate-spin text-[#1c2c5c]\" />\n <h3 className=\"text-xl font-semibold text-gray-900\">\n {t('verification_node.verifying_title', 'Vérification en cours...')}\n </h3>\n <p className=\"text-gray-500\">\n {t('verification_node.verifying_desc', 'Nous interrogeons la base de données.')}\n </p>\n </div>\n );\n};\n\nexport default ExternalVerificationNodeHandler;\n"],"names":["useTranslation","sdkI18n","useEffect","__awaiter","__spreadArray","__assign","apiService","_jsxs","_jsx","Loader2"],"mappings":"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"}
1
+ {"version":3,"file":"ExternalVerificationNodeHandler.js","sources":["../../../../../src/components/template/ExternalVerificationNodeHandler.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport sdkI18n from '../../i18n';\nimport { apiService } from '../../services/api';\nimport checkIcon from '../../assets/check.svg';\nimport LoadingState from '../states/LoadingState';\nimport Title from '../ui/Title';\nimport Subtitle from '../ui/Subtitle';\nimport type { SessionData, SessionTemplateNode } from '../../types/session';\nimport type { UserInput } from '../../types/userInput';\n\ntype VerificationStatus =\n | 'ok'\n | 'not_found'\n | 'invalid_input'\n | 'config_error'\n | 'external_error'\n | 'person_mismatch';\n\ninterface VerificationResponsePayload {\n isVerified: boolean;\n status: VerificationStatus;\n message?: string;\n errorCode?: string;\n inpiData?: Record<string, unknown>;\n}\n\ninterface ExternalVerificationNodeHandlerProps {\n node: SessionTemplateNode;\n session: SessionData;\n userInput: UserInput;\n setUserInput: React.Dispatch<React.SetStateAction<UserInput>>;\n onNext: () => void;\n onPrevious: () => void;\n}\n\nconst FIELD_ALIASES: Record<'siren' | 'siret', string[]> = {\n siren: ['siren', 'siren_number', 'company_siren', 'legal_siren', 'num_siren'],\n siret: ['siret', 'siret_number', 'company_siret', 'legal_siret', 'num_siret'],\n};\n\nconst normalizeReferenceField = (field?: string): 'siren' | 'siret' | undefined => {\n if (!field) return undefined;\n const normalized = field.toLowerCase().replace(/[\\s_.-]/g, '');\n if (normalized.includes('siret')) return 'siret';\n if (normalized.includes('siren')) return 'siren';\n return undefined;\n};\n\nconst maskReferenceValue = (value: string): string => {\n const clean = value.replace(/\\s+/g, '');\n if (!clean) return '';\n if (clean.length <= 4) return '****';\n return `${'*'.repeat(clean.length - 4)}${clean.slice(-4)}`;\n};\n\nconst resolveFieldValue = (\n nodeInput: any,\n userInputFlat: any,\n keys: string[],\n): string | undefined => {\n for (const key of keys) {\n const candidate =\n nodeInput?.[key] ??\n nodeInput?.customFormData?.[key] ??\n userInputFlat?.customFormData?.[key] ??\n userInputFlat?.[key];\n if (candidate !== undefined && candidate !== null && `${candidate}`.trim() !== '') {\n return String(candidate);\n }\n }\n return undefined;\n};\n\ntype LoaderStep = { title: string; subtitle: string; status: 'pending' | 'active' | 'done' };\n\nconst ExternalVerificationNodeHandler: React.FC<ExternalVerificationNodeHandlerProps> = ({\n node,\n session,\n userInput,\n setUserInput,\n onNext,\n onPrevious,\n}) => {\n const { t } = useTranslation('translation', { i18n: sdkI18n });\n\n const nodeData = node as any;\n const apiType = String(nodeData.targetApi || 'INSEE');\n const isInpiRbe = apiType === 'INPI_RBE';\n\n const [phase, setPhase] = useState<'loading' | 'success' | 'mismatch' | 'error'>('loading');\n const [steps, setSteps] = useState<LoaderStep[]>(() => {\n if (isInpiRbe) {\n return [\n {\n title: t('inpi_verification.step1', 'Appel au RNE'),\n subtitle: t('inpi_verification.step1_sub', 'Connexion au registre national des entreprises'),\n status: 'active',\n },\n {\n title: t('inpi_verification.step2', \"Récupération des données d'entreprise\"),\n subtitle: t('inpi_verification.step2_sub', 'Lecture des informations légales et des dirigeants'),\n status: 'pending',\n },\n {\n title: t('inpi_verification.step3', 'Comparaison avec les données saisies'),\n subtitle: t('inpi_verification.step3_sub', 'Vérification de la concordance des informations'),\n status: 'pending',\n },\n ];\n }\n return [{\n title: t('verification_node.verifying_title', 'Vérification en cours…'),\n subtitle: t('verification_node.verifying_desc', 'Connexion au service externe'),\n status: 'active',\n }];\n });\n\n const advanceStep = (index: number) => {\n setSteps(prev =>\n prev.map((s, i) => {\n if (i < index) return { ...s, status: 'done' };\n if (i === index) return { ...s, status: 'active' };\n return s;\n }),\n );\n };\n\n const completeSteps = () => {\n setSteps(prev => prev.map(s => ({ ...s, status: 'done' })));\n };\n\n // Mapping from builder TYPE_FIELDS keys → actual SDK userInput storage keys.\n // e.g. builder stores 'prenom' but SDK stores 'firstName'.\n const STANDARD_FIELD_ALIASES: Record<string, string[]> = {\n prenom: ['firstName', 'first_name', 'prenom'],\n nom: ['lastName', 'last_name', 'surname', 'familyName', 'nom'],\n date_naissance: ['birthDate', 'birth_date', 'dateOfBirth', 'date_naissance'],\n };\n const expandFieldKey = (key: string): string[] =>\n [key, ...(STANDARD_FIELD_ALIASES[key] ?? [])];\n\n useEffect(() => {\n const abortController = new AbortController();\n\n const run = async () => {\n let result: VerificationResponsePayload = {\n isVerified: false,\n status: 'external_error',\n message: 'Verification did not run.',\n };\n let referenceField: 'siren' | 'siret' | undefined;\n let referenceValueMasked = '';\n\n try {\n if (!session?.id) throw new Error('Session ID is missing');\n\n const referenceNodeId = String(nodeData.referenceNodeId || '');\n const referenceVariable = String(nodeData.referenceVariable || '');\n referenceField = normalizeReferenceField(\n String(nodeData.referenceField || referenceVariable || ''),\n );\n\n if (!referenceNodeId || !referenceField) {\n result = {\n isVerified: false,\n status: 'config_error',\n message: 'External verification node is missing reference configuration.',\n errorCode: 'MISSING_REFERENCE_CONFIG',\n };\n } else {\n const nodeInput = (userInput as any)[referenceNodeId];\n const userInputFlat = userInput as any;\n const lookupKeys = Array.from(\n new Set([referenceVariable, referenceField, ...FIELD_ALIASES[referenceField]].filter(Boolean)),\n );\n\n let referenceValue = resolveFieldValue(nodeInput, userInputFlat, lookupKeys);\n\n // Smart numeric fallback\n if (!referenceValue) {\n const allCustomFields = {\n ...(userInputFlat?.customFormData || {}),\n ...(nodeInput?.customFormData || {}),\n ...(nodeInput || {}),\n };\n for (const [, value] of Object.entries(allCustomFields)) {\n if (typeof value !== 'string' && typeof value !== 'number') continue;\n const str = String(value).replace(/\\s+/g, '');\n if (referenceField === 'siren' && /^\\d{9}$/.test(str)) { referenceValue = str; break; }\n if (referenceField === 'siret' && /^\\d{14}$/.test(str)) { referenceValue = str; break; }\n }\n }\n\n if (!referenceValue) {\n result = {\n isVerified: false,\n status: 'invalid_input',\n message: 'No SIREN/SIRET value found in source node data.',\n errorCode: 'REFERENCE_VALUE_NOT_FOUND',\n };\n } else {\n referenceValueMasked = maskReferenceValue(referenceValue);\n\n // Build comparison payload for INPI_RBE\n let comparisonConfig: Record<string, unknown> | undefined;\n if (isInpiRbe && nodeData.comparisonConfig?.personReferenceNodeId) {\n const cfg = nodeData.comparisonConfig;\n const personNodeInput = (userInput as any)[cfg.personReferenceNodeId] ?? {};\n const flat = userInput as any;\n\n // Expand keys to handle builder's TYPE_FIELDS keys (e.g. 'prenom')\n // vs SDK storage keys (e.g. 'firstName').\n const firstNameKeys = expandFieldKey(cfg.personFirstNameField ?? '').filter(Boolean);\n const lastNameKeys = expandFieldKey(cfg.personLastNameField ?? '').filter(Boolean);\n const birthDateKeys = cfg.personBirthDateField\n ? expandFieldKey(cfg.personBirthDateField).filter(Boolean)\n : [];\n\n const firstName = resolveFieldValue(personNodeInput, flat, firstNameKeys) ?? '';\n const lastName = resolveFieldValue(personNodeInput, flat, lastNameKeys) ?? '';\n const dateOfBirth = cfg.compareBirthDate && birthDateKeys.length\n ? resolveFieldValue(personNodeInput, flat, birthDateKeys)\n : undefined;\n\n if (firstName && lastName) {\n comparisonConfig = {\n firstName,\n lastName,\n compareTargets: cfg.compareTargets ?? ['mandataires'],\n ...(dateOfBirth ? { dateOfBirth } : {}),\n };\n }\n }\n\n // Step 2 — after building request\n if (isInpiRbe) advanceStep(1);\n\n try {\n const response = await apiService.post(\n `/session/sdk/${session.id}/verify-external/${node.id}`,\n { apiType, referenceValue, referenceField, ...(comparisonConfig ? { comparisonConfig } : {}) },\n { signal: abortController.signal },\n );\n\n // Step 3 — response received\n if (isInpiRbe) advanceStep(2);\n await new Promise(r => setTimeout(r, 600));\n\n const res = response.data?.data as VerificationResponsePayload | undefined;\n if (res && typeof res.isVerified === 'boolean') {\n result = res;\n }\n } catch (apiErr: any) {\n if (abortController.signal.aborted) return;\n if (isInpiRbe) advanceStep(2);\n const apiResult = apiErr?.response?.data?.data as VerificationResponsePayload | undefined;\n if (apiResult && typeof apiResult.isVerified === 'boolean') {\n result = apiResult;\n } else {\n result = {\n isVerified: false,\n status: 'external_error',\n message: 'External verification request failed.',\n errorCode: 'REQUEST_FAILED',\n };\n }\n }\n }\n }\n } catch (err) {\n result = {\n isVerified: false,\n status: 'external_error',\n message: 'Unexpected error during verification.',\n errorCode: 'UNEXPECTED_ERROR',\n };\n }\n\n if (abortController.signal.aborted) return;\n\n completeSteps();\n\n setUserInput(prev => ({\n ...prev,\n [node.id]: {\n isVerified: result.isVerified,\n apiType,\n referenceField,\n referenceValueMasked,\n verifiedAt: new Date().toISOString(),\n status: result.status,\n errorCode: result.errorCode,\n message: result.message,\n inpiData: result.inpiData,\n hasError: result.status !== 'ok' && result.status !== 'not_found' && result.status !== 'person_mismatch',\n },\n } as any));\n\n // Determine phase to show\n if (result.status === 'person_mismatch') {\n setPhase('mismatch');\n } else if (result.isVerified || result.status === 'ok' || result.status === 'not_found') {\n setPhase('success');\n setTimeout(onNext, 1200);\n } else if (result.status === 'config_error' || result.status === 'invalid_input') {\n setPhase('success');\n setTimeout(onNext, 800);\n } else {\n setPhase('error');\n setTimeout(onNext, 1500);\n }\n };\n\n run();\n return () => abortController.abort();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // ─── Loading phase ─────────────────────────────────────────────────────────\n if (phase === 'loading') {\n return (\n <div className=\"flex flex-col justify-between h-full w-full\">\n <div className=\"flex-1 px-4 py-6 pt-11 md:px-8 md:py-8\">\n <div className=\"w-full max-w-md mx-auto space-y-6\">\n <div className=\"text-center space-y-4\">\n <Title className=\"text-xl md:text-2xl lg:text-3xl\">\n {t('verification_node.verifying_title', 'Vérification en cours…')}\n </Title>\n <Subtitle className=\"text-sm text-gray-600 leading-relaxed\">\n {t('verification_node.verifying_desc', 'Nous vérifions vos informations. Cela peut prendre quelques instants.')}\n </Subtitle>\n </div>\n <div className=\"w-full flex justify-center\">\n <div className=\"space-y-5\">\n {steps.map((step, index) => (\n <div key={index} className=\"flex items-start\">\n <div className=\"mr-4 mt-1 flex-shrink-0\">\n {step.status === 'done' ? (\n <div className=\"flex items-center justify-center w-6 h-6 rounded-full bg-[#11E5C5] text-white text-xs\">\n ✓\n </div>\n ) : step.status === 'active' ? (\n <div className=\"w-6 h-6 rounded-full border-2 border-t-[#11E5C5] border-r-[#11E5C5] border-b-[#11E5C5] border-l-transparent animate-spin\" />\n ) : (\n <div className=\"w-6 h-6 rounded-full border-2 border-gray-300\" />\n )}\n </div>\n <div className=\"flex-1 min-w-0\">\n <p className=\"font-medium text-[#3C3C40] text-sm\">{step.title}</p>\n <p className=\"text-xs text-gray-500 mt-1\">{step.subtitle}</p>\n </div>\n </div>\n ))}\n </div>\n </div>\n </div>\n </div>\n </div>\n );\n }\n\n // ─── Success phase ─────────────────────────────────────────────────────────\n if (phase === 'success') {\n return (\n <div className=\"flex flex-col items-center justify-center h-full px-6 py-8 text-center space-y-4\">\n <img src={checkIcon} alt=\"success\" className=\"w-24 h-24\" />\n <h3 className=\"text-[#3C3C40] font-poppins text-xl font-bold\">\n {t('inpi_verification.success_title', 'Vérification réussie')}\n </h3>\n <p className=\"text-gray-500 text-sm\">\n {t('inpi_verification.success_desc', \"Passage à l'étape suivante…\")}\n </p>\n </div>\n );\n }\n\n // ─── Mismatch phase ────────────────────────────────────────────────────────\n if (phase === 'mismatch') {\n return (\n <div className=\"flex flex-col items-center justify-center h-full px-6 py-8 text-center space-y-5\">\n <div className=\"w-16 h-16 rounded-full bg-[#F4D940]/20 flex items-center justify-center text-3xl\">\n ⚠️\n </div>\n <h3 className=\"text-[#3C3C40] font-poppins text-xl font-bold\">\n {t('inpi_verification.mismatch_title', 'Identité non confirmée')}\n </h3>\n <p className=\"max-w-sm text-sm text-gray-500\">\n {t(\n 'inpi_verification.mismatch_desc',\n \"Les informations saisies ne correspondent à aucune personne déclarée à l'INPI pour cette société.\",\n )}\n </p>\n <div className=\"flex w-full max-w-xs flex-col gap-3\">\n <button\n onClick={onPrevious}\n className=\"w-full rounded-lg border border-gray-300 px-4 py-2.5 text-sm font-medium text-gray-700 transition hover:bg-gray-50\"\n data-cy=\"inpi-mismatch-go-back\"\n >\n {t('inpi_verification.mismatch_correct', 'Corriger ma saisie')}\n </button>\n <button\n onClick={onNext}\n className=\"w-full rounded-lg bg-primary px-4 py-2.5 text-sm font-medium text-white transition hover:opacity-90\"\n data-cy=\"inpi-mismatch-continue\"\n >\n {t('inpi_verification.mismatch_continue', 'Continuer quand même')}\n </button>\n </div>\n </div>\n );\n }\n\n // ─── Error / fallback ─────────────────────────────────────────────────────\n return (\n <LoadingState\n message={t('verification_node.verifying_title', 'Vérification en cours…')}\n subtitle={t('verification_node.verifying_desc', 'Vérification en cours…')}\n />\n );\n};\n\nexport default ExternalVerificationNodeHandler;\n"],"names":["useTranslation","sdkI18n","useState","__assign","__spreadArray","useEffect","__awaiter","apiService","_jsx","_jsxs","Title","Subtitle","checkIcon","LoadingState"],"mappings":"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"}
@@ -1021,6 +1021,17 @@ var nfc_scan = {
1021
1021
  success_title: "Documents validated",
1022
1022
  success_subtitle: "NFC reading confirmed successfully"
1023
1023
  };
1024
+ var inpi_verification = {
1025
+ step1: "Calling the RNE registry",
1026
+ step2: "Retrieving company data",
1027
+ step3: "Comparing with submitted information",
1028
+ success_title: "Verification successful",
1029
+ success_desc: "Proceeding to next step…",
1030
+ mismatch_title: "Identity not confirmed",
1031
+ mismatch_desc: "The submitted information does not match any person declared at INPI for this company.",
1032
+ mismatch_correct: "Correct my entry",
1033
+ mismatch_continue: "Continue anyway"
1034
+ };
1024
1035
  var enTranslations = {
1025
1036
  start: start,
1026
1037
  user_input_form: user_input_form,
@@ -1077,7 +1088,8 @@ var enTranslations = {
1077
1088
  document_upload: document_upload,
1078
1089
  unissey: unissey,
1079
1090
  signature: signature,
1080
- nfc_scan: nfc_scan
1091
+ nfc_scan: nfc_scan,
1092
+ inpi_verification: inpi_verification
1081
1093
  };
1082
1094
 
1083
1095
  exports.CGU = CGU;
@@ -1095,6 +1107,7 @@ exports.document_upload = document_upload;
1095
1107
  exports.document_video = document_video;
1096
1108
  exports.errors = errors;
1097
1109
  exports.id_check = id_check;
1110
+ exports.inpi_verification = inpi_verification;
1098
1111
  exports.jdi = jdi;
1099
1112
  exports.language_selection = language_selection;
1100
1113
  exports.loading = loading;
@@ -1 +1 @@
1
- {"version":3,"file":"en.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"en.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1021,6 +1021,17 @@ var nfc_scan = {
1021
1021
  success_title: "Documents validés",
1022
1022
  success_subtitle: "Lecture NFC confirmée avec succès"
1023
1023
  };
1024
+ var inpi_verification = {
1025
+ step1: "Appel au RNE",
1026
+ step2: "Récupération des données d'entreprise",
1027
+ step3: "Comparaison avec les données saisies",
1028
+ success_title: "Vérification réussie",
1029
+ success_desc: "Passage à l'étape suivante…",
1030
+ mismatch_title: "Identité non confirmée",
1031
+ mismatch_desc: "Les informations saisies ne correspondent à aucune personne déclarée à l'INPI pour cette société.",
1032
+ mismatch_correct: "Corriger ma saisie",
1033
+ mismatch_continue: "Continuer quand même"
1034
+ };
1024
1035
  var frTranslations = {
1025
1036
  start: start,
1026
1037
  user_input_form: user_input_form,
@@ -1077,7 +1088,8 @@ var frTranslations = {
1077
1088
  document_upload: document_upload,
1078
1089
  unissey: unissey,
1079
1090
  signature: signature,
1080
- nfc_scan: nfc_scan
1091
+ nfc_scan: nfc_scan,
1092
+ inpi_verification: inpi_verification
1081
1093
  };
1082
1094
 
1083
1095
  exports.CGU = CGU;
@@ -1095,6 +1107,7 @@ exports.document_upload = document_upload;
1095
1107
  exports.document_video = document_video;
1096
1108
  exports.errors = errors;
1097
1109
  exports.id_check = id_check;
1110
+ exports.inpi_verification = inpi_verification;
1098
1111
  exports.jdi = jdi;
1099
1112
  exports.language_selection = language_selection;
1100
1113
  exports.loading = loading;
@@ -1 +1 @@
1
- {"version":3,"file":"fr.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"fr.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}