@tap-payments/auth-jsconnect 2.3.27-test → 2.3.30-test

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 (33) hide show
  1. package/build/api/entity.d.ts +5 -5
  2. package/build/features/app/bank/bankStore.js +26 -30
  3. package/build/features/app/brand/brandStore.js +39 -38
  4. package/build/features/app/entity/entityStore.js +59 -68
  5. package/build/features/app/individual/individualStore.js +59 -65
  6. package/build/features/app/tax/taxStore.js +23 -22
  7. package/build/features/bank/screens/BankDetails/BankDetails.js +4 -3
  8. package/build/features/bank/screens/BankDetails/validation.d.ts +14 -14
  9. package/build/features/bank/screens/BankDetails/validation.js +16 -21
  10. package/build/features/brand/screens/BrandActivities/BrandActivities.js +1 -2
  11. package/build/features/brand/screens/BrandActivities/validation.d.ts +7 -7
  12. package/build/features/brand/screens/BrandActivities/validation.js +10 -19
  13. package/build/features/brand/screens/BrandInfo/validation.d.ts +6 -9
  14. package/build/features/brand/screens/BrandInfo/validation.js +31 -38
  15. package/build/features/entity/screens/EntityCapital/EntityCapital.js +1 -1
  16. package/build/features/entity/screens/EntityCapital/validation.d.ts +10 -10
  17. package/build/features/entity/screens/EntityCapital/validation.js +4 -10
  18. package/build/features/entity/screens/EntityName/EntityName.js +1 -1
  19. package/build/features/entity/screens/EntityName/validation.d.ts +35 -35
  20. package/build/features/entity/screens/EntityName/validation.js +68 -93
  21. package/build/features/individual/screens/AdditionalIndividualInfo/AdditionalIndividualInfo.js +1 -1
  22. package/build/features/individual/screens/AdditionalIndividualInfo/validation.d.ts +2 -2
  23. package/build/features/individual/screens/AdditionalIndividualInfo/validation.js +6 -11
  24. package/build/features/tax/screens/TaxDetails/TaxDetails.js +1 -1
  25. package/build/features/tax/screens/TaxDetails/VATId.js +1 -1
  26. package/build/features/tax/screens/TaxDetails/validation.d.ts +4 -4
  27. package/build/features/tax/screens/TaxDetails/validation.js +2 -5
  28. package/build/hooks/index.d.ts +1 -0
  29. package/build/hooks/index.js +1 -0
  30. package/build/hooks/useFormErrorAndUpdateReadOnly.d.ts +6 -0
  31. package/build/hooks/useFormErrorAndUpdateReadOnly.js +48 -0
  32. package/build/hooks/useFormReadOnly.js +4 -2
  33. package/package.json +1 -1
@@ -50,7 +50,7 @@ export declare type EntityBankUpdateBody = {
50
50
  iban?: string;
51
51
  swift_code?: string;
52
52
  account_number?: string;
53
- is_acknowledged: boolean;
53
+ is_acknowledged?: boolean;
54
54
  document?: BankDocumentInfo;
55
55
  };
56
56
  step_name: string;
@@ -72,16 +72,16 @@ export declare type UpdateEntityBody = {
72
72
  action: string;
73
73
  }>;
74
74
  legal_name?: {
75
- ar: string;
76
- en: string;
75
+ ar?: string;
76
+ en?: string;
77
77
  };
78
78
  type?: string;
79
79
  AOA_file_id?: string;
80
80
  capital?: {
81
81
  paid?: string;
82
82
  shares?: {
83
- count: string;
84
- value: string;
83
+ count?: string;
84
+ value?: string;
85
85
  };
86
86
  };
87
87
  encryption_contract?: Array<string>;
@@ -51,6 +51,7 @@ import API from '../../../api';
51
51
  import { DocumentPurpose, FlowsTypes } from '../../../@types';
52
52
  import { handleCurrentActiveScreen, handleNextScreenStep, handleSetCountryByIso2 } from '../../../app/settings';
53
53
  import { BANK_STEP_NAMES } from '../../../constants';
54
+ import { hasNoneEditableValue } from '../../../utils';
54
55
  export var verifyLeadToken = createAsyncThunk('bankVerifyLeadToken', function (_a, thunkApi) {
55
56
  var token = _a.token, isInternally = _a.isInternally;
56
57
  return __awaiter(void 0, void 0, void 0, function () {
@@ -180,56 +181,51 @@ export var retrieveBoardDetails = createAsyncThunk('retrieveBankEntityInfo', fun
180
181
  });
181
182
  }); });
182
183
  export var createBankAccount = createAsyncThunk('createBankAccount', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
183
- var _a, settings, bank, iban, beneficiaryName, bankName, bankStatementId, confirmPolicy, bank_account, isIBANEditable, isBeneficiaryNameEditable, isBankNameEditable, isBankStatementIdEditable, documentResponse, hasDocument, documentId, requestBody, data, documentBody;
184
- var _b, _c, _d, _e, _f, _g, _h, _j, _k;
185
- return __generator(this, function (_l) {
186
- switch (_l.label) {
184
+ var _a, settings, bank, iban, beneficiaryName, bankName, bankStatementId, confirmPolicy, _b, data_status, document, isIBANNonEditable, isBeneficiaryNameNonEditable, isBankNameNonEditable, isBankStatementIdNonEditable, isConfirmPolicyNonEditable, documentResponse, hasDocument, documentId, requestBody, data, documentBody;
185
+ var _c, _d, _e, _f, _g, _h, _j, _k, _l;
186
+ return __generator(this, function (_m) {
187
+ switch (_m.label) {
187
188
  case 0:
188
189
  _a = thunkApi.getState(), settings = _a.settings, bank = _a.bank;
189
190
  iban = params.iban, beneficiaryName = params.beneficiaryName, bankName = params.bankName, bankStatementId = params.bankStatementId, confirmPolicy = params.confirmPolicy;
190
- bank_account = (bank.data.verify.responseBody || {}).bank_account;
191
- isIBANEditable = true;
192
- isBeneficiaryNameEditable = true;
193
- isBankNameEditable = true;
194
- isBankStatementIdEditable = true;
191
+ _b = ((_c = bank.data.verify.responseBody) === null || _c === void 0 ? void 0 : _c.bank_account) || {}, data_status = _b.data_status, document = _b.document;
192
+ isIBANNonEditable = hasNoneEditableValue(data_status, 'iban');
193
+ isBeneficiaryNameNonEditable = hasNoneEditableValue(data_status, 'beneficiary_name');
194
+ isBankNameNonEditable = hasNoneEditableValue(data_status, 'bank_name');
195
+ isBankStatementIdNonEditable = hasNoneEditableValue(data_status, 'bank_statement_file_id');
196
+ isConfirmPolicyNonEditable = hasNoneEditableValue(data_status, 'is_acknowledged');
195
197
  documentResponse = undefined;
196
- hasDocument = isBankStatementIdEditable && (bankStatementId || []).length > 0;
197
- documentId = (_b = bank_account === null || bank_account === void 0 ? void 0 : bank_account.document) === null || _b === void 0 ? void 0 : _b.id;
198
+ hasDocument = (bankStatementId || []).length > 0;
199
+ documentId = document === null || document === void 0 ? void 0 : document.id;
198
200
  requestBody = {
199
- wallet_id: (_g = (_f = (_e = (_d = (_c = bank.data.verify.responseBody) === null || _c === void 0 ? void 0 : _c.business) === null || _d === void 0 ? void 0 : _d.entity) === null || _e === void 0 ? void 0 : _e.merchant) === null || _f === void 0 ? void 0 : _f.wallet) === null || _g === void 0 ? void 0 : _g.id,
200
- bank_account: {
201
- iban: isIBANEditable ? iban : undefined,
202
- beneficiary_name: isBeneficiaryNameEditable ? beneficiaryName : undefined,
203
- bank_name: isBankNameEditable ? bankName : undefined,
204
- is_acknowledged: confirmPolicy,
205
- document: !documentId && hasDocument
206
- ? {
207
- type: DocumentPurpose.BANK_STATEMENT,
208
- files: bankStatementId || []
209
- }
210
- : undefined
211
- },
201
+ wallet_id: (_h = (_g = (_f = (_e = (_d = bank.data.verify.responseBody) === null || _d === void 0 ? void 0 : _d.business) === null || _e === void 0 ? void 0 : _e.entity) === null || _f === void 0 ? void 0 : _f.merchant) === null || _g === void 0 ? void 0 : _g.wallet) === null || _h === void 0 ? void 0 : _h.id,
202
+ bank_account: __assign({ iban: isIBANNonEditable ? undefined : iban, beneficiary_name: isBeneficiaryNameNonEditable ? undefined : beneficiaryName, bank_name: isBankNameNonEditable ? undefined : bankName, is_acknowledged: isConfirmPolicyNonEditable ? undefined : confirmPolicy }, (!(isBankStatementIdNonEditable || documentId || !hasDocument) && {
203
+ document: {
204
+ type: DocumentPurpose.BANK_STATEMENT,
205
+ files: bankStatementId || []
206
+ }
207
+ })),
212
208
  step_name: BANK_STEP_NAMES.BANK_INFO,
213
209
  encryption_contract: ['bank_account.iban', 'bank_account.beneficiary_name', 'bank_account.bank_name']
214
210
  };
215
211
  return [4, API.entityService.createBankAccount(requestBody)];
216
212
  case 1:
217
- data = (_l.sent()).data;
218
- if ((_h = data.errors) === null || _h === void 0 ? void 0 : _h.length)
213
+ data = (_m.sent()).data;
214
+ if ((_j = data.errors) === null || _j === void 0 ? void 0 : _j.length)
219
215
  throw new Error(data.errors[0].description);
220
- if (!(documentId && hasDocument)) return [3, 3];
216
+ if (!(!isBankStatementIdNonEditable && documentId && hasDocument)) return [3, 3];
221
217
  documentBody = {
222
218
  id: documentId,
223
219
  files: bankStatementId || []
224
220
  };
225
221
  return [4, API.documentService.addFilesToExistingDocument(documentBody)];
226
222
  case 2:
227
- documentResponse = _l.sent();
228
- _l.label = 3;
223
+ documentResponse = _m.sent();
224
+ _m.label = 3;
229
225
  case 3:
230
226
  data.documentData = documentResponse;
231
227
  thunkApi.dispatch(handleNextScreenStep());
232
- (_k = (_j = settings.data.appConfig).onStepCompleted) === null || _k === void 0 ? void 0 : _k.call(_j, settings.data.activeScreen.name, requestBody);
228
+ (_l = (_k = settings.data.appConfig).onStepCompleted) === null || _l === void 0 ? void 0 : _l.call(_k, settings.data.activeScreen.name, requestBody);
233
229
  return [2, { data: data, formData: params }];
234
230
  }
235
231
  });
@@ -62,7 +62,7 @@ import API from '../../../api';
62
62
  import { FlowsTypes } from '../../../@types';
63
63
  import { handleNextScreenStep, handleSetCountryByIso2 } from '../../../app/settings';
64
64
  import { BRAND_STEP_NAMES } from '../../../constants';
65
- import { isKW, isTwitter, isWebsite, sleep } from '../../../utils';
65
+ import { hasNoneEditableValue, isKW, isTwitter, isWebsite, sleep } from '../../../utils';
66
66
  export var verifyLeadToken = createAsyncThunk('brandVerifyLeadToken', function (_a, thunkApi) {
67
67
  var token = _a.token, isInternally = _a.isInternally;
68
68
  return __awaiter(void 0, void 0, void 0, function () {
@@ -257,19 +257,20 @@ export var checkBrandNameAvailability = createAsyncThunk('checkBrandNameAvailabi
257
257
  });
258
258
  });
259
259
  export var updateBrand = createAsyncThunk('brandUpdateBrand', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
260
- var _a, settings, brand, responseBody, id, isNameEditable, isChannelServicesEditable, salesChannels, brandName, segment, teamSize, brandLogoId, segmentId, teamSizeId, getAddress, channel_services, requestBody, brandData, activities, activityList;
261
- var _b, _c, _d, _e;
262
- return __generator(this, function (_f) {
263
- switch (_f.label) {
260
+ var _a, settings, brand, _b, id, data_status, isNameNonEditable, isChannelServicesNonEditable, isSegmentTypeNonEditable, isSegmentTeamsNonEditable, salesChannels, brandName, segment, teamSize, brandLogoId, segmentId, teamSizeId, getAddress, channel_services, requestBody, brandData, activities, activityList;
261
+ var _c, _d, _e, _f;
262
+ return __generator(this, function (_g) {
263
+ switch (_g.label) {
264
264
  case 0:
265
265
  _a = thunkApi.getState(), settings = _a.settings, brand = _a.brand;
266
- responseBody = brand.data.verify.responseBody;
267
- id = (_b = responseBody === null || responseBody === void 0 ? void 0 : responseBody.brand) === null || _b === void 0 ? void 0 : _b.id;
268
- isNameEditable = true;
269
- isChannelServicesEditable = true;
266
+ _b = ((_c = brand.data.verify.responseBody) === null || _c === void 0 ? void 0 : _c.brand) || {}, id = _b.id, data_status = _b.data_status;
267
+ isNameNonEditable = hasNoneEditableValue(data_status, 'name');
268
+ isChannelServicesNonEditable = hasNoneEditableValue(data_status, 'channel_services');
269
+ isSegmentTypeNonEditable = hasNoneEditableValue(data_status, 'segment.type');
270
+ isSegmentTeamsNonEditable = hasNoneEditableValue(data_status, 'segment.teams');
270
271
  salesChannels = params.salesChannels, brandName = params.brandName, segment = params.segment, teamSize = params.teamSize, brandLogoId = params.brandLogoId;
271
- segmentId = segment && { id: segment.id };
272
- teamSizeId = teamSize && { id: teamSize.id };
272
+ segmentId = isSegmentTypeNonEditable ? undefined : segment && { id: segment.id };
273
+ teamSizeId = isSegmentTeamsNonEditable ? undefined : teamSize && { id: teamSize.id };
273
274
  getAddress = function (value, isTwitter, isWeb) {
274
275
  if (isTwitter)
275
276
  return '@' + value.replaceAll('@', '');
@@ -277,8 +278,9 @@ export var updateBrand = createAsyncThunk('brandUpdateBrand', function (params,
277
278
  return 'https://www.' + value.replaceAll('https://www.', '');
278
279
  return value;
279
280
  };
280
- channel_services = isChannelServicesEditable
281
- ? salesChannels.map(function (channel) {
281
+ channel_services = isChannelServicesNonEditable
282
+ ? undefined
283
+ : salesChannels.map(function (channel) {
282
284
  var _a;
283
285
  return {
284
286
  id: channel.id,
@@ -287,34 +289,33 @@ export var updateBrand = createAsyncThunk('brandUpdateBrand', function (params,
287
289
  return { id: sub.id, address: getAddress(sub.address || '', isTwitter(sub.code), isWebsite(sub.code)) };
288
290
  })
289
291
  };
290
- })
291
- : undefined;
292
+ });
292
293
  requestBody = {
293
294
  id: id,
294
- name: isNameEditable ? { en: brandName, ar: brandName } : undefined,
295
+ name: isNameNonEditable || !brandName ? undefined : { en: brandName, ar: brandName },
295
296
  logo: brandLogoId,
296
- segment: { type: segmentId, team: teamSizeId },
297
+ segment: !segmentId && !teamSizeId ? undefined : { type: segmentId, team: teamSizeId },
297
298
  channel_services: channel_services
298
299
  };
299
300
  return [4, API.brandService.updateBrandInfo(requestBody)];
300
301
  case 1:
301
- brandData = (_f.sent()).brand;
302
- activities = (((_c = brand.data.verify.responseBody) === null || _c === void 0 ? void 0 : _c.entity) || {}).activities;
302
+ brandData = (_g.sent()).brand;
303
+ activities = (((_d = brand.data.verify.responseBody) === null || _d === void 0 ? void 0 : _d.entity) || {}).activities;
303
304
  return [4, thunkApi.dispatch(retrieveDataList())];
304
305
  case 2:
305
- _f.sent();
306
+ _g.sent();
306
307
  if (activities) {
307
308
  brandData = __assign(__assign({}, brandData), { entity_activities: activities || {} });
308
309
  }
309
310
  if (!!activities) return [3, 4];
310
311
  return [4, API.dataService.getActivities()];
311
312
  case 3:
312
- activityList = (_f.sent()).list;
313
+ activityList = (_g.sent()).list;
313
314
  brandData = __assign(__assign({}, brandData), { entity_activities: activityList || {} });
314
- _f.label = 4;
315
+ _g.label = 4;
315
316
  case 4:
316
317
  thunkApi.dispatch(handleNextScreenStep());
317
- (_e = (_d = settings.data.appConfig).onStepCompleted) === null || _e === void 0 ? void 0 : _e.call(_d, settings.data.activeScreen.name, id);
318
+ (_f = (_e = settings.data.appConfig).onStepCompleted) === null || _f === void 0 ? void 0 : _f.call(_e, settings.data.activeScreen.name, id);
318
319
  return [2, { data: __assign({}, brandData), formData: params }];
319
320
  }
320
321
  });
@@ -331,21 +332,21 @@ export var retrieveEntityList = createAsyncThunk('retrieveEntityList', function
331
332
  });
332
333
  }); });
333
334
  export var updateBrandActivities = createAsyncThunk('brandUpdateBrandActivities', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
334
- var _a, settings, brand, brandResponse, id, isActivitiesEditable, isCustomerLocationEditable, isSalesRangeEditable, activities, customerLocations, expectedCustomer, expectedSale, requestBody, customerLocation, customerBaseId, salesId, customerBase, brandData;
335
- var _b, _c;
336
- return __generator(this, function (_d) {
337
- switch (_d.label) {
335
+ var _a, settings, brand, _b, data_status, id, isActivitiesNonEditable, isCustomerBaseLocationNonEditable, isCustomerBaseNonEditable, isSalesRangeNonEditable, activities, customerLocations, expectedCustomer, expectedSale, requestBody, customerLocation, customerBaseId, salesId, customerBase, brandData;
336
+ var _c, _d, _e;
337
+ return __generator(this, function (_f) {
338
+ switch (_f.label) {
338
339
  case 0:
339
340
  _a = thunkApi.getState(), settings = _a.settings, brand = _a.brand;
340
- brandResponse = (brand.data.verify.responseBody || {}).brand;
341
- id = brandResponse === null || brandResponse === void 0 ? void 0 : brandResponse.id;
342
- isActivitiesEditable = true;
343
- isCustomerLocationEditable = true;
344
- isSalesRangeEditable = true;
341
+ _b = ((_c = brand.data.verify.responseBody) === null || _c === void 0 ? void 0 : _c.brand) || {}, data_status = _b.data_status, id = _b.id;
342
+ isActivitiesNonEditable = hasNoneEditableValue(data_status, 'activities');
343
+ isCustomerBaseLocationNonEditable = hasNoneEditableValue(data_status === null || data_status === void 0 ? void 0 : data_status.operations, 'customer_base_location');
344
+ isCustomerBaseNonEditable = hasNoneEditableValue(data_status === null || data_status === void 0 ? void 0 : data_status.operations, 'customer_base');
345
+ isSalesRangeNonEditable = hasNoneEditableValue(data_status === null || data_status === void 0 ? void 0 : data_status.operations, 'sales_range');
345
346
  activities = params.activities, customerLocations = params.customerLocations, expectedCustomer = params.expectedCustomer, expectedSale = params.expectedSale;
346
347
  requestBody = {
347
348
  id: id,
348
- activities: isActivitiesEditable && activities,
349
+ activities: isActivitiesNonEditable ? undefined : activities,
349
350
  term: ['general', 'refund', 'chargeback'],
350
351
  step_name: BRAND_STEP_NAMES.BRAND_ACTIVITIES
351
352
  };
@@ -354,17 +355,17 @@ export var updateBrandActivities = createAsyncThunk('brandUpdateBrandActivities'
354
355
  }); });
355
356
  customerBaseId = (expectedCustomer === null || expectedCustomer === void 0 ? void 0 : expectedCustomer.id) && { id: expectedCustomer.id, period: 'monthly' };
356
357
  salesId = (expectedSale === null || expectedSale === void 0 ? void 0 : expectedSale.id) && { id: expectedSale.id, period: 'monthly' };
357
- customerBase = (customerBaseId || customerLocation.length) && __assign(__assign({}, (customerBaseId && { id: expectedCustomer.id, period: 'monthly' })), (customerLocation.length && { locations: customerLocation }));
358
- if (customerBase)
358
+ customerBase = (customerBaseId || customerLocation.length) && __assign(__assign({}, (customerBaseId && !isCustomerBaseNonEditable && { id: expectedCustomer.id, period: 'monthly' })), (customerLocation.length && !isCustomerBaseLocationNonEditable && { locations: customerLocation }));
359
+ if (customerBase && !(isCustomerBaseNonEditable && isCustomerBaseLocationNonEditable))
359
360
  requestBody = __assign(__assign({}, requestBody), { operations: __assign(__assign({}, requestBody.operations), { customer_base: customerBase }) });
360
- if (salesId && isSalesRangeEditable) {
361
+ if (salesId && !isSalesRangeNonEditable) {
361
362
  requestBody = __assign(__assign({}, requestBody), { operations: __assign(__assign({}, requestBody.operations), { sales: salesId }) });
362
363
  }
363
364
  return [4, API.brandService.updateBrandInfo(requestBody)];
364
365
  case 1:
365
- brandData = (_d.sent()).data;
366
+ brandData = (_f.sent()).data;
366
367
  thunkApi.dispatch(handleNextScreenStep());
367
- (_c = (_b = settings.data.appConfig).onStepCompleted) === null || _c === void 0 ? void 0 : _c.call(_b, settings.data.activeScreen.name, id);
368
+ (_e = (_d = settings.data.appConfig).onStepCompleted) === null || _e === void 0 ? void 0 : _e.call(_d, settings.data.activeScreen.name, id);
368
369
  return [2, { data: __assign({}, brandData), formData: params }];
369
370
  }
370
371
  });
@@ -63,7 +63,7 @@ import { BusinessType, DocumentPurpose, FlowsTypes } from '../../../@types';
63
63
  import { handleNextScreenStep, handleSetCountryByIso2 } from '../../../app/settings';
64
64
  import { ENTITY_STEP_NAMES } from '../../../constants';
65
65
  import moment from 'moment';
66
- import { convertNumbers2English, getRecentDocumentBasedOnPurpose, hasVerifiedValue } from '../../../utils';
66
+ import { convertNumbers2English, getRecentDocumentBasedOnPurpose, hasVerifiedValue, hasNoneEditableValue } from '../../../utils';
67
67
  export var verifyLeadToken = createAsyncThunk('entityVerifyLeadToken', function (_a, thunkApi) {
68
68
  var token = _a.token, isInternally = _a.isInternally;
69
69
  return __awaiter(void 0, void 0, void 0, function () {
@@ -242,47 +242,40 @@ export var retrieveBoardDetails = createAsyncThunk('entityRetrieveEntityInfo', f
242
242
  });
243
243
  }); });
244
244
  export var updateEntityName = createAsyncThunk('entityUpdateEntityName', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
245
- var _a, settings, entity, entityData, _b, id, data_status, data_verification, issuingDate, expiryDate, isFL, isLegalNameEditable, isLicenseTypeEditable, isEntityTypeEditable, isLicenseNumberEditable, isUnifiedNumberEditable, isIssuingDateEditable, isExpiryDateEditable, isEntityTypeVerified, payload, data, documentResponse, document, documentBody, documentBody, list;
246
- var _c, _d;
247
- return __generator(this, function (_e) {
248
- switch (_e.label) {
245
+ var _a, settings, entity, _b, id, data_status, data_verification, documents, issuingDate, expiryDate, isFL, isLegalNameENNonEditable, isLegalNameARNonEditable, isLicenseTypeNonEditable, isEntityTypeNonEditable, isLicenseNumberNonEditable, isUnifiedNumberNonEditable, isIssuingDateNonEditable, isExpiryDateNonEditable, isDocumentsNonEditable, isAOAFileNonEditable, isEntityTypeVerified, isLicenseNonEditable, payload, data, documentResponse, document, documentBody, documentBody, list;
246
+ var _c, _d, _e;
247
+ return __generator(this, function (_f) {
248
+ switch (_f.label) {
249
249
  case 0:
250
250
  _a = thunkApi.getState(), settings = _a.settings, entity = _a.entity;
251
- entityData = (entity.data.verify.responseBody || {}).entity;
252
- _b = entityData || {}, id = _b.id, data_status = _b.data_status, data_verification = _b.data_verification;
251
+ _b = ((_c = entity.data.verify.responseBody) === null || _c === void 0 ? void 0 : _c.entity) || {}, id = _b.id, data_status = _b.data_status, data_verification = _b.data_verification, documents = _b.documents;
253
252
  issuingDate = new Date(params.issuingDate).getTime();
254
253
  expiryDate = new Date(params.expiryDate).getTime();
255
254
  isFL = params.licenseType === BusinessType.FL;
256
- isLegalNameEditable = true;
257
- isLicenseTypeEditable = true;
258
- isEntityTypeEditable = true;
259
- isLicenseNumberEditable = true;
260
- isUnifiedNumberEditable = true;
261
- isIssuingDateEditable = true;
262
- isExpiryDateEditable = true;
255
+ isLegalNameENNonEditable = hasNoneEditableValue(data_status, 'legal_name.en');
256
+ isLegalNameARNonEditable = hasNoneEditableValue(data_status, 'legal_name.ar');
257
+ isLicenseTypeNonEditable = hasNoneEditableValue(data_status === null || data_status === void 0 ? void 0 : data_status.license, 'type');
258
+ isEntityTypeNonEditable = hasNoneEditableValue(data_status, 'type');
259
+ isLicenseNumberNonEditable = hasNoneEditableValue(data_status === null || data_status === void 0 ? void 0 : data_status.license, 'number');
260
+ isUnifiedNumberNonEditable = hasNoneEditableValue(data_status === null || data_status === void 0 ? void 0 : data_status.license, 'additional_info');
261
+ isIssuingDateNonEditable = hasNoneEditableValue(data_status === null || data_status === void 0 ? void 0 : data_status.license, 'issuing_date');
262
+ isExpiryDateNonEditable = hasNoneEditableValue(data_status === null || data_status === void 0 ? void 0 : data_status.license, 'expiry_date');
263
+ isDocumentsNonEditable = hasNoneEditableValue(data_status, 'documents');
264
+ isAOAFileNonEditable = hasNoneEditableValue(data_status, 'AOA_file_id');
263
265
  isEntityTypeVerified = hasVerifiedValue(data_verification, 'type');
264
- payload = {
265
- id: id,
266
- AOA_file_id: params.articleId,
267
- license: {
268
- number: isLicenseNumberEditable && params.licenseNumber ? params.licenseNumber : undefined,
269
- type: isLicenseTypeEditable ? (isFL ? 'freelance' : 'commercial_registration') : undefined,
270
- issuing_date: isIssuingDateEditable ? issuingDate === null || issuingDate === void 0 ? void 0 : issuingDate.toString() : undefined,
271
- expiry_date: isExpiryDateEditable ? expiryDate === null || expiryDate === void 0 ? void 0 : expiryDate.toString() : undefined,
272
- additional_info: isUnifiedNumberEditable && params.unifiedNumber
273
- ? {
274
- unified_number: params.unifiedNumber
275
- }
276
- : undefined
277
- },
278
- type: !isEntityTypeVerified && isEntityTypeEditable && params.entityType ? params.entityType : undefined,
279
- legal_name: isLegalNameEditable && params.legalName
280
- ? {
281
- ar: params.legalName,
282
- en: params.legalName
266
+ isLicenseNonEditable = isLicenseNumberNonEditable && isLicenseTypeNonEditable && isIssuingDateNonEditable && isExpiryDateNonEditable && isUnifiedNumberNonEditable;
267
+ payload = __assign(__assign(__assign(__assign({ id: id, AOA_file_id: isAOAFileNonEditable ? undefined : params.articleId }, (!isLicenseNonEditable && {
268
+ license: __assign({ number: isLicenseNumberNonEditable || !params.licenseNumber ? undefined : params.licenseNumber, type: isLicenseTypeNonEditable ? undefined : isFL ? 'freelance' : 'commercial_registration', issuing_date: isIssuingDateNonEditable ? undefined : issuingDate === null || issuingDate === void 0 ? void 0 : issuingDate.toString(), expiry_date: isExpiryDateNonEditable ? undefined : expiryDate === null || expiryDate === void 0 ? void 0 : expiryDate.toString() }, (!(isUnifiedNumberNonEditable || !params.unifiedNumber) && {
269
+ additional_info: {
270
+ unified_number: params.unifiedNumber
283
271
  }
284
- : undefined,
285
- encryption_contract: [
272
+ }))
273
+ })), (!(isEntityTypeVerified || isEntityTypeNonEditable) && { type: params.entityType })), (!((isLegalNameENNonEditable && isLegalNameARNonEditable) || !params.legalName) && {
274
+ legal_name: {
275
+ en: isLegalNameENNonEditable ? undefined : params.legalName,
276
+ ar: isLegalNameARNonEditable ? undefined : params.legalName
277
+ }
278
+ })), { encryption_contract: [
286
279
  'license.number',
287
280
  'legal_name.ar',
288
281
  'legal_name.en',
@@ -291,14 +284,13 @@ export var updateEntityName = createAsyncThunk('entityUpdateEntityName', functio
291
284
  'license.expiry_date',
292
285
  'license.additional_info.unified_number',
293
286
  'type'
294
- ]
295
- };
287
+ ] });
296
288
  return [4, API.entityService.updateEntity(payload)];
297
289
  case 1:
298
- data = _e.sent();
290
+ data = _f.sent();
299
291
  documentResponse = undefined;
300
- document = getRecentDocumentBasedOnPurpose(entityData === null || entityData === void 0 ? void 0 : entityData.documents, DocumentPurpose.CR);
301
- if (!((params.certificateId || []).length > 0)) return [3, 7];
292
+ document = getRecentDocumentBasedOnPurpose(documents, DocumentPurpose.CR);
293
+ if (!(!isDocumentsNonEditable && (params.certificateId || []).length > 0)) return [3, 7];
302
294
  if (!(document === null || document === void 0 ? void 0 : document.id)) return [3, 3];
303
295
  documentBody = {
304
296
  id: document.id,
@@ -306,7 +298,7 @@ export var updateEntityName = createAsyncThunk('entityUpdateEntityName', functio
306
298
  };
307
299
  return [4, API.documentService.addFilesToExistingDocument(documentBody)];
308
300
  case 2:
309
- documentResponse = _e.sent();
301
+ documentResponse = _f.sent();
310
302
  return [3, 5];
311
303
  case 3:
312
304
  documentBody = {
@@ -320,56 +312,55 @@ export var updateEntityName = createAsyncThunk('entityUpdateEntityName', functio
320
312
  };
321
313
  return [4, API.documentService.updateDocumentInfo(documentBody)];
322
314
  case 4:
323
- documentResponse = _e.sent();
324
- _e.label = 5;
315
+ documentResponse = _f.sent();
316
+ _f.label = 5;
325
317
  case 5: return [4, API.entityService.retrieveEntity(id)];
326
318
  case 6:
327
- data = _e.sent();
319
+ data = _f.sent();
328
320
  data.documentData = documentResponse;
329
- _e.label = 7;
321
+ _f.label = 7;
330
322
  case 7: return [4, API.dataService.getActivities()];
331
323
  case 8:
332
- list = (_e.sent()).list;
324
+ list = (_f.sent()).list;
333
325
  data.activityList = list;
334
326
  thunkApi.dispatch(handleNextScreenStep());
335
- (_d = (_c = settings.data.appConfig).onStepCompleted) === null || _d === void 0 ? void 0 : _d.call(_c, settings.data.activeScreen.name, id);
327
+ (_e = (_d = settings.data.appConfig).onStepCompleted) === null || _e === void 0 ? void 0 : _e.call(_d, settings.data.activeScreen.name, id);
336
328
  return [2, { data: data, formData: params }];
337
329
  }
338
330
  });
339
331
  }); });
340
332
  export var updateEntityCapital = createAsyncThunk('entityUpdateEntityCapital', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
341
- var _a, settings, entity, entityData, _b, id, data_status, isCapitalPaidEditable, isCapitalShareEditable, activities, payload, data;
342
- var _c, _d, _e;
343
- return __generator(this, function (_f) {
344
- switch (_f.label) {
333
+ var _a, settings, entity, _b, id, data_status, isCapitalPaidNonEditable, isCapitalShareCountNonEditable, isCapitalShareValueNonEditable, isActivitiesNonEditable, hasCapitalShares, activities, payload, data;
334
+ var _c, _d, _e, _f;
335
+ return __generator(this, function (_g) {
336
+ switch (_g.label) {
345
337
  case 0:
346
338
  _a = thunkApi.getState(), settings = _a.settings, entity = _a.entity;
347
- entityData = (entity.data.verify.responseBody || {}).entity;
348
- _b = entityData || {}, id = _b.id, data_status = _b.data_status;
349
- isCapitalPaidEditable = true;
350
- isCapitalShareEditable = true;
351
- activities = (_c = (params.activities || [])) === null || _c === void 0 ? void 0 : _c.map(function (_a) {
339
+ _b = ((_c = entity.data.verify.responseBody) === null || _c === void 0 ? void 0 : _c.entity) || {}, id = _b.id, data_status = _b.data_status;
340
+ isCapitalPaidNonEditable = hasNoneEditableValue(data_status === null || data_status === void 0 ? void 0 : data_status.capital, 'paid');
341
+ isCapitalShareCountNonEditable = hasNoneEditableValue(data_status === null || data_status === void 0 ? void 0 : data_status.capital, 'shares.count');
342
+ isCapitalShareValueNonEditable = hasNoneEditableValue(data_status === null || data_status === void 0 ? void 0 : data_status.capital, 'shares.value');
343
+ isActivitiesNonEditable = hasNoneEditableValue(data_status, 'activities');
344
+ hasCapitalShares = params.capitalShareCount || params.capitalShareValue;
345
+ activities = (_d = (params.activities || [])) === null || _d === void 0 ? void 0 : _d.map(function (_a) {
352
346
  var id = _a.id;
353
347
  return ({ id: id, action: 'add' });
354
348
  });
355
349
  payload = {
356
350
  id: id,
357
- activities: (activities === null || activities === void 0 ? void 0 : activities.length) > 0 ? activities : undefined,
358
- capital: {
359
- paid: isCapitalPaidEditable ? params.capitalPaid : undefined,
360
- shares: isCapitalShareEditable
361
- ? {
362
- count: params.capitalShareCount,
363
- value: params.capitalShareValue
364
- }
365
- : undefined
366
- }
351
+ activities: isActivitiesNonEditable || (activities === null || activities === void 0 ? void 0 : activities.length) === 0 ? undefined : activities,
352
+ capital: __assign({ paid: isCapitalPaidNonEditable ? undefined : params.capitalPaid }, (!((isCapitalShareCountNonEditable && isCapitalShareValueNonEditable) || !hasCapitalShares) && {
353
+ shares: {
354
+ count: isCapitalShareCountNonEditable ? undefined : params.capitalShareCount,
355
+ value: isCapitalShareValueNonEditable ? undefined : params.capitalShareValue
356
+ }
357
+ }))
367
358
  };
368
359
  return [4, API.entityService.updateEntity(payload)];
369
360
  case 1:
370
- data = _f.sent();
361
+ data = _g.sent();
371
362
  thunkApi.dispatch(handleNextScreenStep());
372
- (_e = (_d = settings.data.appConfig).onStepCompleted) === null || _e === void 0 ? void 0 : _e.call(_d, settings.data.activeScreen.name, id);
363
+ (_f = (_e = settings.data.appConfig).onStepCompleted) === null || _f === void 0 ? void 0 : _f.call(_e, settings.data.activeScreen.name, id);
373
364
  return [2, { data: data, formData: params }];
374
365
  }
375
366
  });