hl-core 0.0.10-beta.3 → 0.0.10-beta.31

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 (52) hide show
  1. package/README.md +0 -2
  2. package/api/base.api.ts +300 -190
  3. package/api/interceptors.ts +3 -5
  4. package/components/Complex/TextBlock.vue +2 -0
  5. package/components/Dialog/Dialog.vue +7 -1
  6. package/components/Dialog/FamilyDialog.vue +2 -0
  7. package/components/Form/DigitalDocument.vue +52 -0
  8. package/components/Form/DynamicForm.vue +1 -0
  9. package/components/Form/FormData.vue +1 -0
  10. package/components/Form/ManagerAttachment.vue +17 -8
  11. package/components/Form/ProductConditionsBlock.vue +12 -6
  12. package/components/Input/Datepicker.vue +5 -0
  13. package/components/Input/DynamicInput.vue +2 -0
  14. package/components/Input/FormInput.vue +7 -0
  15. package/components/Input/OtpInput.vue +25 -0
  16. package/components/Input/PanelInput.vue +1 -0
  17. package/components/Input/RoundedInput.vue +4 -0
  18. package/components/Input/RoundedSelect.vue +4 -0
  19. package/components/Input/SwitchInput.vue +2 -0
  20. package/components/Input/TextInput.vue +2 -0
  21. package/components/Layout/Drawer.vue +2 -0
  22. package/components/Pages/Anketa.vue +166 -167
  23. package/components/Pages/Auth.vue +2 -0
  24. package/components/Pages/ContragentForm.vue +2 -1
  25. package/components/Pages/Documents.vue +429 -59
  26. package/components/Pages/MemberForm.vue +327 -159
  27. package/components/Pages/ProductConditions.vue +681 -150
  28. package/components/Panel/PanelHandler.vue +261 -114
  29. package/components/Transitions/Animation.vue +2 -0
  30. package/components/Utilities/Chip.vue +3 -1
  31. package/components/Utilities/JsonViewer.vue +1 -2
  32. package/composables/classes.ts +133 -42
  33. package/composables/constants.ts +41 -0
  34. package/composables/fields.ts +6 -4
  35. package/composables/index.ts +246 -7
  36. package/composables/styles.ts +8 -24
  37. package/configs/pwa.ts +1 -7
  38. package/layouts/clear.vue +1 -1
  39. package/layouts/default.vue +1 -1
  40. package/layouts/full.vue +1 -1
  41. package/locales/ru.json +44 -14
  42. package/nuxt.config.ts +10 -13
  43. package/package.json +13 -12
  44. package/plugins/head.ts +2 -1
  45. package/store/data.store.ts +670 -480
  46. package/store/member.store.ts +18 -6
  47. package/store/rules.ts +21 -2
  48. package/tsconfig.json +3 -0
  49. package/types/enum.ts +20 -2
  50. package/types/env.d.ts +2 -2
  51. package/types/form.ts +71 -74
  52. package/types/index.ts +916 -873
package/api/base.api.ts CHANGED
@@ -1,18 +1,19 @@
1
1
  import { MemberCodes, Methods } from '../types/enum';
2
2
  import { useAxiosInstance } from '../composables/axios';
3
3
  import { Value, IDocument } from '../composables/classes';
4
+ import type * as Types from '../types';
4
5
 
5
6
  export class ApiClass {
6
7
  private readonly baseURL: string = import.meta.env.VITE_BASE_URL as string;
7
8
  private readonly productUrl: string = import.meta.env.VITE_PRODUCT_URL as string;
8
9
 
9
- private async axiosCall<T>(config: AxiosRequestLocalConfig): Promise<T> {
10
+ private async axiosCall<T>(config: Types.AxiosRequestLocalConfig): Promise<T> {
10
11
  const { data } = await useAxiosInstance(this.baseURL).request<T>(config);
11
12
  return data;
12
13
  }
13
14
 
14
15
  async getProjectConfig() {
15
- return await this.axiosCall<Utils.ProjectConfig>({
16
+ return await this.axiosCall<Types.Utils.ProjectConfig>({
16
17
  method: Methods.GET,
17
18
  baseURL: getStrValuePerEnv('gatewayApiUrl'),
18
19
  url: `/application/front/${import.meta.env.VITE_PARENT_PRODUCT === 'auletti' ? `auletti-${import.meta.env.VITE_PRODUCT}` : import.meta.env.VITE_PRODUCT}`,
@@ -178,10 +179,10 @@ export class ApiClass {
178
179
  });
179
180
  }
180
181
 
181
- async getContragent(queryData: GetContragentRequest) {
182
- return await this.axiosCall<GetContragentResponse>({
182
+ async getContragent(queryData: Types.GetContragentRequest) {
183
+ return await this.axiosCall<Types.GetContragentResponse>({
183
184
  method: Methods.GET,
184
- url: `/Ekk/api/Contragentinsis/Contragent?Iin=${queryData.iin}&FirstName=${queryData.firstName}&LastName=${queryData.lastName}&MiddleName=${queryData.middleName}`,
185
+ url: `/Ekk/api/Contragentinsis/Contragent?Iin=${queryData.iin}&FirstName=${queryData.firstName}&LastName=${queryData.lastName}&MiddleName=${queryData.middleName}&BirthDate=${queryData.birthDate ?? ''}`,
185
186
  });
186
187
  }
187
188
 
@@ -193,28 +194,28 @@ export class ApiClass {
193
194
  }
194
195
 
195
196
  async getQuestionList(surveyType: string, processInstanceId: string | number, insuredId: number | string) {
196
- return await this.axiosCall<AnketaFirst>({
197
+ return await this.axiosCall<Types.AnketaFirst>({
197
198
  method: Methods.GET,
198
199
  url: `/${this.productUrl}/api/Application/Anketa/${surveyType}/${processInstanceId}/${insuredId}`,
199
200
  });
200
201
  }
201
202
 
202
203
  async getClientQuestionList(surveyType: string, processInstanceId: string | number, insuredId: number | string) {
203
- return await this.axiosCall<AnketaFirst>({
204
+ return await this.axiosCall<Types.AnketaFirst>({
204
205
  method: Methods.GET,
205
206
  url: `/${this.productUrl}/api/Application/AnketaClient/${surveyType}/${processInstanceId}/${insuredId}`,
206
207
  });
207
208
  }
208
209
 
209
210
  async getQuestionListSecond(surveyType: string, processInstanceId: string | number, insuredId: number | string) {
210
- return await this.axiosCall<AnketaSecond[]>({
211
+ return await this.axiosCall<Types.AnketaSecond[]>({
211
212
  method: Methods.GET,
212
213
  url: `/${this.productUrl}/api/Application/Anketa/${surveyType}/${processInstanceId}/${insuredId}`,
213
214
  });
214
215
  }
215
216
 
216
217
  async getClientQuestionListSecond(surveyType: string, processInstanceId: string | number, insuredId: number | string) {
217
- return await this.axiosCall<AnketaSecond[]>({
218
+ return await this.axiosCall<Types.AnketaSecond[]>({
218
219
  method: Methods.GET,
219
220
  url: `/${this.productUrl}/api/Application/AnketaClient/${surveyType}/${processInstanceId}/${insuredId}`,
220
221
  });
@@ -227,7 +228,7 @@ export class ApiClass {
227
228
  });
228
229
  }
229
230
 
230
- async setSurvey(surveyData: AnketaFirst) {
231
+ async setSurvey(surveyData: Types.AnketaFirst) {
231
232
  return await this.axiosCall<string>({
232
233
  method: Methods.POST,
233
234
  data: surveyData,
@@ -250,14 +251,14 @@ export class ApiClass {
250
251
  }
251
252
 
252
253
  async getAdditionalInsuranceTermsAnswers(processCode: string | number, questionId: string) {
253
- return await this.axiosCall<AddCoverAnswer[]>({
254
+ return await this.axiosCall<Types.AddCoverAnswer[]>({
254
255
  method: Methods.GET,
255
256
  url: `/Arm/api/Dictionary/ProcessCoverTypeSum/${processCode}/${questionId}`,
256
257
  });
257
258
  }
258
259
 
259
260
  async getProcessCoverTypePeriod(processCode: string | number, questionId: string) {
260
- return await this.axiosCall<AddCoverAnswer[]>({
261
+ return await this.axiosCall<Types.AddCoverAnswer[]>({
261
262
  method: Methods.GET,
262
263
  url: `/Arm/api/Dictionary/GetProcessCoverTypePeriod/${processCode}/${questionId}`,
263
264
  });
@@ -278,18 +279,18 @@ export class ApiClass {
278
279
  }
279
280
 
280
281
  async getContragentById(id: number) {
281
- return await this.axiosCall<GetContragentResponse>({
282
+ return await this.axiosCall<Types.GetContragentResponse>({
282
283
  method: Methods.GET,
283
284
  url: `/Ekk/api/Contragentinsis/Contragent?PersonId=${id}`,
284
285
  });
285
286
  }
286
287
 
287
288
  async saveContragent(data: {
288
- contragent: ContragentType;
289
- questionaries: ContragentQuestionaries[];
290
- contacts: ContragentContacts[];
291
- documents: ContragentDocuments[];
292
- addresses: ContragentAddress[];
289
+ contragent: Types.ContragentType;
290
+ questionaries: Types.ContragentQuestionaries[];
291
+ contacts: Types.ContragentContacts[];
292
+ documents: Types.ContragentDocuments[];
293
+ addresses: Types.ContragentAddress[];
293
294
  }) {
294
295
  return await this.axiosCall<number>({
295
296
  method: Methods.POST,
@@ -298,17 +299,6 @@ export class ApiClass {
298
299
  });
299
300
  }
300
301
 
301
- async getFile(id: string) {
302
- return await this.axiosCall({
303
- method: Methods.GET,
304
- url: `/File/api/Data/DownloadFile/${id}`,
305
- responseType: 'arraybuffer',
306
- headers: {
307
- 'Content-Type': 'application/pdf',
308
- },
309
- });
310
- }
311
-
312
302
  async getDicFileTypeList() {
313
303
  return await this.axiosCall<Value[]>({
314
304
  method: Methods.GET,
@@ -317,35 +307,35 @@ export class ApiClass {
317
307
  }
318
308
 
319
309
  async getContrAgentData(personId: string | number) {
320
- return await this.axiosCall<ContragentQuestionaries[]>({
310
+ return await this.axiosCall<Types.ContragentQuestionaries[]>({
321
311
  method: Methods.GET,
322
312
  url: `/Ekk/api/Contragentinsis/Questionaries?PersonId=${personId}`,
323
313
  });
324
314
  }
325
315
 
326
316
  async getContrAgentContacts(personId: string | number) {
327
- return await this.axiosCall<ContragentContacts[]>({
317
+ return await this.axiosCall<Types.ContragentContacts[]>({
328
318
  method: Methods.GET,
329
319
  url: `/Ekk/api/Contragentinsis/Contacts?PersonId=${personId}`,
330
320
  });
331
321
  }
332
322
 
333
323
  async getContrAgentDocuments(personId: string | number) {
334
- return await this.axiosCall<ContragentDocuments[]>({
324
+ return await this.axiosCall<Types.ContragentDocuments[]>({
335
325
  method: Methods.GET,
336
326
  url: `/Ekk/api/Contragentinsis/Documents?PersonId=${personId}`,
337
327
  });
338
328
  }
339
329
 
340
330
  async getContrAgentAddress(personId: string | number) {
341
- return await this.axiosCall<ContragentAddress[]>({
331
+ return await this.axiosCall<Types.ContragentAddress[]>({
342
332
  method: Methods.GET,
343
333
  url: `/Ekk/api/Contragentinsis/Address?PersonId=${personId}`,
344
334
  });
345
335
  }
346
336
 
347
337
  async getTaskList(data: any) {
348
- return await this.axiosCall<{ items: TaskListItem[]; totalItems: number }>({
338
+ return await this.axiosCall<{ items: Types.TaskListItem[]; totalItems: number }>({
349
339
  method: Methods.POST,
350
340
  url: `/Arm/api/Bpm/TaskList`,
351
341
  data: data,
@@ -353,13 +343,13 @@ export class ApiClass {
353
343
  }
354
344
 
355
345
  async getProcessHistory(id: string) {
356
- return await this.axiosCall<TaskHistory[]>({
346
+ return await this.axiosCall<Types.TaskHistory[]>({
357
347
  method: Methods.GET,
358
348
  url: `/Arm/api/Bpm/GetProcessHistory?processInstanceId=${id}`,
359
349
  });
360
350
  }
361
351
 
362
- async registerNumber(data: RegNumberDataType) {
352
+ async registerNumber(data: Types.RegNumberDataType) {
363
353
  return await this.axiosCall<string>({
364
354
  method: Methods.POST,
365
355
  url: `/${this.productUrl}/api/Application/FinCenterRegNumberSave`,
@@ -367,7 +357,7 @@ export class ApiClass {
367
357
  });
368
358
  }
369
359
 
370
- async sendSms(data: SmsDataType) {
360
+ async sendSms(data: Types.SmsDataType) {
371
361
  return await this.axiosCall<void>({
372
362
  method: Methods.POST,
373
363
  url: '/Arm/api/Otp/SmsText',
@@ -376,13 +366,13 @@ export class ApiClass {
376
366
  }
377
367
 
378
368
  async getUserGroups() {
379
- return await this.axiosCall<Item[]>({
369
+ return await this.axiosCall<Types.Item[]>({
380
370
  method: Methods.GET,
381
371
  url: '/Arm/api/Bpm/TaskGroups',
382
372
  });
383
373
  }
384
374
 
385
- async getOtpStatus(data: OtpDataType) {
375
+ async getOtpStatus(data: Types.OtpDataType) {
386
376
  return await this.axiosCall<boolean>({
387
377
  method: Methods.POST,
388
378
  url: '/Arm/api/Otp/OtpLifeStatus',
@@ -390,8 +380,8 @@ export class ApiClass {
390
380
  });
391
381
  }
392
382
 
393
- async sendOtp(data: OtpDataType) {
394
- return await this.axiosCall<SendOtpResponse>({
383
+ async sendOtp(data: Types.OtpDataType) {
384
+ return await this.axiosCall<Types.SendOtpResponse>({
395
385
  method: Methods.POST,
396
386
  url: '/Arm/api/Otp/Get',
397
387
  data: data,
@@ -399,7 +389,7 @@ export class ApiClass {
399
389
  }
400
390
 
401
391
  async checkOtp(data: { tokenId: string; phoneNumber: string; code: string }) {
402
- return await this.axiosCall<SendOtpResponse>({
392
+ return await this.axiosCall<Types.SendOtpResponse>({
403
393
  method: Methods.POST,
404
394
  url: '/Arm/api/Otp/Check',
405
395
  data: data,
@@ -407,7 +397,7 @@ export class ApiClass {
407
397
  }
408
398
 
409
399
  async getProcessList() {
410
- return await this.axiosCall<Item[]>({
400
+ return await this.axiosCall<Types.Item[]>({
411
401
  method: Methods.GET,
412
402
  url: '/Arm/api/Bpm/ProcessList',
413
403
  });
@@ -431,7 +421,7 @@ export class ApiClass {
431
421
  }
432
422
 
433
423
  async getGovernmentPremiums(id: string) {
434
- return await this.axiosCall<GovPremiums>({
424
+ return await this.axiosCall<Types.GovPremiums>({
435
425
  method: Methods.POST,
436
426
  url: `/${this.productUrl}/api/Application/getGovernmentPremiums?processInstanceId=${id} `,
437
427
  });
@@ -444,7 +434,7 @@ export class ApiClass {
444
434
  });
445
435
  }
446
436
 
447
- async setApplication(data: SetApplicationRequest) {
437
+ async setApplication(data: Types.SetApplicationRequest) {
448
438
  return await this.axiosCall<void>({
449
439
  method: Methods.POST,
450
440
  url: `/${this.productUrl}/api/Application/SetApplicationData`,
@@ -452,26 +442,7 @@ export class ApiClass {
452
442
  });
453
443
  }
454
444
 
455
- async deleteFile(data: any) {
456
- return await this.axiosCall<void>({
457
- method: Methods.POST,
458
- url: '/File/api/Data/DeleteFiles',
459
- data: data,
460
- });
461
- }
462
-
463
- async uploadFiles(data: any) {
464
- return await this.axiosCall({
465
- method: Methods.POST,
466
- url: '/File/api/Data/UploadFiles',
467
- headers: {
468
- 'Content-Type': 'multipart/form-data',
469
- },
470
- data: data,
471
- });
472
- }
473
-
474
- async sendTask(data: SendTask) {
445
+ async sendTask(data: Types.SendTask) {
475
446
  return await this.axiosCall<void>({
476
447
  method: Methods.POST,
477
448
  url: `/${this.productUrl}/api/Application/SendTask`,
@@ -485,7 +456,12 @@ export class ApiClass {
485
456
  url: `/${this.productUrl}/api/Application/CheckBeneficiariesInActualPolicy?iin=${iin}`,
486
457
  });
487
458
  }
488
-
459
+ async checkBeneficiariesActualPolicy(id: string) {
460
+ return await this.axiosCall<boolean>({
461
+ method: Methods.GET,
462
+ url: `/${this.productUrl}/api/Application/checkBeneficiariesActualPolicy?processInstanceId=${id}`,
463
+ });
464
+ }
489
465
  async setMember(whichMember: keyof typeof MemberCodes, data: any) {
490
466
  return await this.axiosCall({
491
467
  method: Methods.POST,
@@ -502,7 +478,7 @@ export class ApiClass {
502
478
  }
503
479
 
504
480
  async getInvoiceData(processInstanceId: string | number) {
505
- return await this.axiosCall<EpayResponse>({
481
+ return await this.axiosCall<Types.EpayResponse>({
506
482
  method: Methods.GET,
507
483
  url: `/Arm/api/Invoice/InvoiceData?processInstanceId=${processInstanceId}`,
508
484
  });
@@ -523,47 +499,15 @@ export class ApiClass {
523
499
  }
524
500
 
525
501
  async sendToEpay(processInstanceId: string | number) {
526
- return await this.axiosCall<EpayShortResponse>({
502
+ return await this.axiosCall<Types.EpayShortResponse>({
527
503
  method: Methods.POST,
528
504
  url: `/Arm/api/Invoice/SendToEpay/${processInstanceId}`,
505
+ data: {},
529
506
  });
530
507
  }
531
508
 
532
- async signDocument(data: SignDataType[]) {
533
- return await this.axiosCall<SignUrlType[]>({
534
- method: Methods.POST,
535
- url: '/File/api/Document/SignBts',
536
- data: data,
537
- });
538
- }
539
-
540
- async signQR(data: SignDataType[]) {
541
- return await this.axiosCall<ResponseStructure<any>>({
542
- method: Methods.POST,
543
- url: '/File/api/Sign/SignQr',
544
- data: data,
545
- });
546
- }
547
-
548
- async generateDocument(data: SignDataType) {
549
- return await this.axiosCall<void>({
550
- method: Methods.POST,
551
- url: '/File/api/Document/Generate',
552
- responseType: 'arraybuffer',
553
- data: data,
554
- });
555
- }
556
-
557
- async getSignedDocList(data: { processInstanceId: string | number }) {
558
- return await this.axiosCall<IDocument[]>({
559
- method: Methods.POST,
560
- url: '/File/api/Data/List',
561
- data: data,
562
- });
563
- }
564
-
565
- async calculateWithoutApplication(data: RecalculationDataType, product: string | undefined | null = this.productUrl) {
566
- return await this.axiosCall<RecalculationResponseType>({
509
+ async calculateWithoutApplication(data: Types.RecalculationDataType, product: string | undefined | null = this.productUrl) {
510
+ return await this.axiosCall<Types.RecalculationResponseType>({
567
511
  method: Methods.POST,
568
512
  url: `/${product}/api/Application/Calculate`,
569
513
  data: data,
@@ -571,7 +515,7 @@ export class ApiClass {
571
515
  }
572
516
 
573
517
  async getDefaultCalculationData(product: string | undefined | null = this.productUrl) {
574
- return await this.axiosCall<RecalculationDataType>({
518
+ return await this.axiosCall<Types.RecalculationDataType>({
575
519
  method: Methods.GET,
576
520
  url: `/${product}/api/Application/DefaultCalculatorValues`,
577
521
  });
@@ -585,8 +529,8 @@ export class ApiClass {
585
529
  });
586
530
  }
587
531
 
588
- async getValidateClientESBD(data: ESBDValidationType) {
589
- return await this.axiosCall<ESBDResponseType>({
532
+ async getValidateClientESBD(data: Types.ESBDValidationType) {
533
+ return await this.axiosCall<Types.ESBDResponseType>({
590
534
  method: Methods.POST,
591
535
  url: '/externalservices/api/ExternalServices/GetValidateClientEsbd',
592
536
  data: data,
@@ -616,16 +560,16 @@ export class ApiClass {
616
560
  });
617
561
  }
618
562
 
619
- async getContragentFromGBDFL(data: Api.GBD.Request) {
620
- return await this.axiosCall<Api.GBD.Response>({
563
+ async getContragentFromGBDFL(data: Types.Api.GBD.Request) {
564
+ return await this.axiosCall<Types.Api.GBD.Response>({
621
565
  method: Methods.POST,
622
566
  url: '/externalservices/api/ExternalServices/GetGbdflToken',
623
567
  data: data,
624
568
  });
625
569
  }
626
570
 
627
- async getFamilyInfo(data: Api.GBD.Request) {
628
- return await this.axiosCall<Api.GKB.Response>({
571
+ async getFamilyInfo(data: Types.Api.GBD.Request) {
572
+ return await this.axiosCall<Types.Api.GKB.Response>({
629
573
  method: Methods.POST,
630
574
  url: '/externalservices/api/ExternalServices/GetFamilyInfoToken',
631
575
  data: data,
@@ -633,7 +577,7 @@ export class ApiClass {
633
577
  }
634
578
 
635
579
  async getKgd(data: { iinBin: string }, timeout: number = 30000) {
636
- return await this.axiosCall<Api.KGD.Response>({
580
+ return await this.axiosCall<Types.Api.KGD.Response>({
637
581
  method: Methods.POST,
638
582
  url: '/externalservices/api/ExternalServices/GetKgd',
639
583
  data: data,
@@ -641,7 +585,7 @@ export class ApiClass {
641
585
  });
642
586
  }
643
587
 
644
- async getGbdUl(data: Api.GBD.UlRequest) {
588
+ async getGbdUl(data: Types.Api.GBD.UlRequest) {
645
589
  return await this.axiosCall({
646
590
  method: Methods.POST,
647
591
  url: '/integration/api/External/GetGbdUl',
@@ -668,7 +612,7 @@ export class ApiClass {
668
612
  });
669
613
  }
670
614
 
671
- async sendUnderwritingCouncilTask(data: Partial<SendTask>) {
615
+ async sendUnderwritingCouncilTask(data: Partial<Types.SendTask>) {
672
616
  return await this.axiosCall<void>({
673
617
  method: Methods.POST,
674
618
  url: '/Arm/api/UnderwritingCouncil/SendTask',
@@ -690,7 +634,7 @@ export class ApiClass {
690
634
  });
691
635
  }
692
636
 
693
- async setINSISWorkData(data: InsisWorkDataApp) {
637
+ async setINSISWorkData(data: Types.InsisWorkDataApp) {
694
638
  return await this.axiosCall({
695
639
  method: Methods.POST,
696
640
  url: `/Arm/api/Bpm/SetInsisWorkData`,
@@ -705,8 +649,15 @@ export class ApiClass {
705
649
  });
706
650
  }
707
651
 
652
+ async getBankByAccountNumber(accountNumber: string) {
653
+ return await this.axiosCall<Value>({
654
+ method: Methods.GET,
655
+ url: `/Ekk/api/ContragentInsis/GetBankByAccountNumber?accountNumber=${accountNumber}`,
656
+ });
657
+ }
658
+
708
659
  async searchAgentByName(name: string, branchCode?: string) {
709
- return await this.axiosCall<AgentData[]>({
660
+ return await this.axiosCall<Types.AgentData[]>({
710
661
  method: Methods.GET,
711
662
  url: `/Ekk/api/ContragentInsis/Agent${branchCode ? 's' : ''}ByName?${branchCode ? `branchCode=${branchCode}&` : ''}fullName=${name}`,
712
663
  });
@@ -727,14 +678,14 @@ export class ApiClass {
727
678
  }
728
679
 
729
680
  async getTripInsuranceDaysOptions() {
730
- return await this.axiosCall<TripInsuranceDaysOptions>({
681
+ return await this.axiosCall<Types.TripInsuranceDaysOptions>({
731
682
  method: Methods.GET,
732
683
  url: `/${this.productUrl}/api/Application/TripInsuranceDaysOptions`,
733
684
  });
734
685
  }
735
686
 
736
- async getTripInsuredAmount(data: getTripInsuredAmountRequest) {
737
- return await this.axiosCall<TripInsuranceAmount>({
687
+ async getTripInsuredAmount(data: Types.getTripInsuredAmountRequest) {
688
+ return await this.axiosCall<Types.TripInsuranceAmount>({
738
689
  method: Methods.POST,
739
690
  url: `/${this.productUrl}/api/Application/InsuranceAmountOptions`,
740
691
  data: data,
@@ -766,7 +717,7 @@ export class ApiClass {
766
717
  });
767
718
  }
768
719
 
769
- async getCalculator(data: SetApplicationRequest) {
720
+ async getCalculator(data: Types.SetApplicationRequest) {
770
721
  return await this.axiosCall<number>({
771
722
  method: Methods.POST,
772
723
  url: `/${this.productUrl}/api/Application/Calculator`,
@@ -965,32 +916,8 @@ export class ApiClass {
965
916
  });
966
917
  }
967
918
 
968
- async uploadXml(data: any) {
969
- return await this.axiosCall<void>({
970
- url: `/File/api/Document/UploadXml`,
971
- method: Methods.POST,
972
- data: data,
973
- });
974
- }
975
-
976
- async signXml(data: any) {
977
- return await this.axiosCall<ResponseStructure<any>>({
978
- url: `/File/api/Sign/SignXml`,
979
- method: Methods.POST,
980
- data: data,
981
- });
982
- }
983
-
984
- async signBts(data: any) {
985
- return await this.axiosCall<ResponseStructure<SignUrlType[]>>({
986
- url: `/File/api/Sign/SignBts`,
987
- method: Methods.POST,
988
- data: data,
989
- });
990
- }
991
-
992
- async generateShortLink(data: Api.GenerateShortLink.Request) {
993
- return await this.axiosCall<Api.GenerateShortLink.Response>({
919
+ async generateShortLink(data: Types.Api.GenerateShortLink.Request) {
920
+ return await this.axiosCall<Types.Api.GenerateShortLink.Response>({
994
921
  url: '/notification/shorteners',
995
922
  baseURL: getStrValuePerEnv('gatewayApiUrl'),
996
923
  method: Methods.POST,
@@ -998,12 +925,13 @@ export class ApiClass {
998
925
  });
999
926
  }
1000
927
 
1001
- async checkOsns(bin: string) {
928
+ async checkOsns(bin: string, date: string) {
1002
929
  return await this.axiosCall<boolean>({
1003
930
  method: Methods.GET,
1004
931
  url: `/${this.productUrl}/api/Application/CheckOSNS`,
1005
932
  params: {
1006
933
  bin,
934
+ date,
1007
935
  },
1008
936
  });
1009
937
  }
@@ -1018,7 +946,7 @@ export class ApiClass {
1018
946
  });
1019
947
  }
1020
948
 
1021
- async getOsrnsToken(data: Api.GBD.Request) {
949
+ async getOsrnsToken(data: Types.Api.GBD.Request) {
1022
950
  return await this.axiosCall({
1023
951
  method: Methods.POST,
1024
952
  url: '/externalservices/api/ExternalServices/GetOsrnsToken',
@@ -1036,28 +964,6 @@ export class ApiClass {
1036
964
  });
1037
965
  }
1038
966
 
1039
- async uploadDigitalCertifijcate(data: any) {
1040
- return await this.axiosCall<any>({
1041
- method: Methods.POST,
1042
- url: '/File/api/Document/UploadDigitalCertifijcate',
1043
- headers: {
1044
- 'Content-Type': 'multipart/form-data',
1045
- },
1046
- data: data,
1047
- });
1048
- }
1049
-
1050
- async uploadDigitalCertificatePensionAnnuityNew(data: any) {
1051
- return await this.axiosCall<any>({
1052
- method: Methods.POST,
1053
- url: '/File/api/Document/UploadDigitalCertificatePensionAnnuityNew',
1054
- headers: {
1055
- 'Content-Type': 'multipart/form-data',
1056
- },
1057
- data: data,
1058
- });
1059
- }
1060
-
1061
967
  async startRejectedApplication(data: any) {
1062
968
  return await this.axiosCall({
1063
969
  method: Methods.POST,
@@ -1066,22 +972,15 @@ export class ApiClass {
1066
972
  });
1067
973
  }
1068
974
 
1069
- async getDocumentsByEdsXmlId(edsXmlId: string) {
1070
- return await this.axiosCall<ResponseStructure<any>>({
1071
- method: Methods.GET,
1072
- url: `/File/api/Sign/GetDocumentsByEdsXmlId/${edsXmlId}`,
1073
- });
1074
- }
1075
-
1076
975
  async checkSign(id: string) {
1077
- return await this.axiosCall<SignedState>({
976
+ return await this.axiosCall<Types.SignedState>({
1078
977
  method: Methods.POST,
1079
978
  url: `/${this.productUrl}/api/Application/CheckSign/${id}`,
1080
979
  });
1081
980
  }
1082
981
 
1083
982
  async getWorkPosition(search: string) {
1084
- return await this.axiosCall<Dicts.WorkPosition[]>({
983
+ return await this.axiosCall<Types.Dicts.WorkPosition[]>({
1085
984
  method: Methods.POST,
1086
985
  baseURL: getStrValuePerEnv('efoBaseApi'),
1087
986
  url: '/dictionary/Dictionary/WorkPosition',
@@ -1089,21 +988,232 @@ export class ApiClass {
1089
988
  });
1090
989
  }
1091
990
 
1092
- async getEnpfRedirectUrl(id: string) {
1093
- return await this.axiosCall<{ redirectUrl: string }>({
1094
- method: Methods.POST,
1095
- // TODO
1096
- baseURL: 'https://products.halyklife.kz/test/efo/api',
1097
- url: `/pensionannuityNew/GetEnpfRedirectUrl?id=${id}`,
991
+ async getParentContractData(policyId: string) {
992
+ return await this.axiosCall<{ bin: string; name: string }>({
993
+ method: Methods.GET,
994
+ url: `/${this.productUrl}/api/Application/GetParentContractData`,
995
+ params: {
996
+ policyId,
997
+ },
1098
998
  });
1099
999
  }
1100
1000
 
1101
- async setEnpfSharedId(sharedId: string, infoId: string) {
1102
- return await this.axiosCall<void>({
1103
- method: Methods.POST,
1104
- // TODO
1105
- baseURL: 'https://products.halyklife.kz/test/efo/api',
1106
- url: `/pensionannuityNew/SetEnpfSharedId/${sharedId}/${infoId}`,
1001
+ async getContractByBin(bin: string) {
1002
+ return await this.axiosCall<Types.GetContractByBinResponse>({
1003
+ method: Methods.GET,
1004
+ url: `/${this.productUrl}/api/Application/getContractByBin`,
1005
+ params: {
1006
+ bin,
1007
+ },
1107
1008
  });
1108
1009
  }
1010
+
1011
+ async checkProActiveService(processInstanceId: string | number, iin: string) {
1012
+ return await this.axiosCall({
1013
+ method: Methods.GET,
1014
+ url: `/${this.productUrl}/api/Application/CheckProActiveService`,
1015
+ params: {
1016
+ processInstanceId,
1017
+ iin,
1018
+ },
1019
+ });
1020
+ }
1021
+
1022
+ pensionannuityNew = {
1023
+ base: '/pensionannuityNew',
1024
+ getEnpfRedirectUrl: async (id: string) => {
1025
+ return await this.axiosCall<{ redirectUrl: string }>({
1026
+ method: Methods.POST,
1027
+ baseURL: getStrValuePerEnv('efoBaseApi'),
1028
+ url: `${this.pensionannuityNew.base}/GetEnpfRedirectUrl?id=${id}`,
1029
+ });
1030
+ },
1031
+ setEnpfSharedId: async (sharedId: string, infoId: string, isProd: boolean) => {
1032
+ return await this.axiosCall<void>({
1033
+ method: Methods.POST,
1034
+ baseURL: isProd === false ? getStrValuePerEnv('efoBaseApi').replace('kz/efo', 'kz/test/efo') : getStrValuePerEnv('efoBaseApi'),
1035
+ url: `${this.pensionannuityNew.base}/SetEnpfSharedId/${sharedId}/${infoId}`,
1036
+ });
1037
+ },
1038
+ calcParentContractSums: async (data: any) => {
1039
+ return await this.axiosCall<void>({
1040
+ method: Methods.POST,
1041
+ baseURL: getStrValuePerEnv('efoBaseApi'),
1042
+ url: `${this.pensionannuityNew.base}/CalcParentContractSums`,
1043
+ data: data,
1044
+ });
1045
+ },
1046
+ reCalculateRefund: async (data: any) => {
1047
+ return await this.axiosCall<void>({
1048
+ method: Methods.POST,
1049
+ baseURL: getStrValuePerEnv('efoBaseApi'),
1050
+ url: `${this.pensionannuityNew.base}/ReCalculateRefund`,
1051
+ data: data,
1052
+ });
1053
+ },
1054
+ };
1055
+
1056
+ externalServices = {
1057
+ base: '/externalservices',
1058
+ getOnlineAccess: async (data: { iinBin: string; documentType: string }) => {
1059
+ return await this.axiosCall<{ code: string; message: string }>({
1060
+ method: Methods.POST,
1061
+ url: `${this.externalServices.base}/api/ExternalServices/GetOnlineAccess`,
1062
+ data: data,
1063
+ });
1064
+ },
1065
+ getDigitalDocuments: async (data: { iin: string; processInstanceId: string; code: string }) => {
1066
+ return await this.axiosCall<void>({
1067
+ method: Methods.POST,
1068
+ url: `${this.externalServices.base}/api/ExternalServices/DigitalDocuments`,
1069
+ data: data,
1070
+ });
1071
+ },
1072
+ updateDigitalDocumentsProfile: async (data: { iinBin: string }) => {
1073
+ return await this.axiosCall<void>({
1074
+ method: Methods.POST,
1075
+ url: `${this.externalServices.base}/api/ExternalServices/UpdateDigitalDocumentsProfile`,
1076
+ data: data,
1077
+ });
1078
+ },
1079
+ };
1080
+
1081
+ file = {
1082
+ base: '/File',
1083
+ uploadFilesNew: async (groupId: string, data: any) => {
1084
+ return await this.axiosCall({
1085
+ method: Methods.POST,
1086
+ url: `${this.file.base}/api/GeneralSign/UploadPaper/${groupId}`,
1087
+ headers: {
1088
+ 'Content-Type': 'multipart/form-data',
1089
+ },
1090
+ data: data,
1091
+ });
1092
+ },
1093
+ generalGetFile: async (groupId: string, documentSignType: number) => {
1094
+ return await this.axiosCall<any>({
1095
+ method: Methods.GET,
1096
+ url: `${this.file.base}/api/GeneralSign/Group/${groupId}/${documentSignType} `,
1097
+ responseType: documentSignType === 5 ? 'json' : 'arraybuffer',
1098
+ });
1099
+ },
1100
+ generalSign: async (data: Types.Api.Sign.New.GeneralResponse) => {
1101
+ return await this.axiosCall<Types.Api.Sign.New.Response>({
1102
+ method: Methods.POST,
1103
+ url: `${this.file.base}/api/GeneralSign/Sign`,
1104
+ data: data,
1105
+ });
1106
+ },
1107
+ generateSign: async (data: Types.Api.Sign.New.Request) => {
1108
+ return await this.axiosCall<Types.Api.Sign.New.GeneralResponse[]>({
1109
+ method: Methods.POST,
1110
+ url: `${this.file.base}/api/GeneralSign/GenerateSign`,
1111
+ data: data,
1112
+ });
1113
+ },
1114
+ uploadDigitalCertificateNca: async (groupId: string, data: any) => {
1115
+ return await this.axiosCall<void>({
1116
+ method: Methods.POST,
1117
+ url: `${this.file.base}/api/GeneralSign/UploadNClayer/${groupId}`,
1118
+ headers: {
1119
+ 'Content-Type': 'multipart/form-data',
1120
+ },
1121
+ data: data,
1122
+ });
1123
+ },
1124
+ uploadXml: async (data: any) => {
1125
+ return await this.axiosCall<void>({
1126
+ url: `${this.file.base}/api/GeneralSign/UploadXml`,
1127
+ method: Methods.POST,
1128
+ data: data,
1129
+ });
1130
+ },
1131
+ signXml: async (data: any) => {
1132
+ return await this.axiosCall<Types.ResponseStructure<any>>({
1133
+ url: `${this.file.base}/api/Sign/SignXml`,
1134
+ method: Methods.POST,
1135
+ data: data,
1136
+ });
1137
+ },
1138
+ signBts: async (data: any) => {
1139
+ return await this.axiosCall<Types.ResponseStructure<Types.SignUrlType[]>>({
1140
+ url: `${this.file.base}/api/Sign/SignBts`,
1141
+ method: Methods.POST,
1142
+ data: data,
1143
+ });
1144
+ },
1145
+ getFile: async (id: string) => {
1146
+ return await this.axiosCall({
1147
+ method: Methods.GET,
1148
+ url: `${this.file.base}/api/Data/DownloadFile/${id}`,
1149
+ responseType: 'arraybuffer',
1150
+ headers: {
1151
+ 'Content-Type': 'application/pdf',
1152
+ },
1153
+ });
1154
+ },
1155
+ getFileNew: async (id: string) => {
1156
+ return await this.axiosCall({
1157
+ method: Methods.GET,
1158
+ url: `${this.file.base}/api/GeneralSign/DownloadFile/${id}`,
1159
+ responseType: 'arraybuffer',
1160
+ headers: {
1161
+ 'Content-Type': 'application/pdf',
1162
+ },
1163
+ });
1164
+ },
1165
+ deleteFile: async (data: any) => {
1166
+ return await this.axiosCall<void>({
1167
+ method: Methods.POST,
1168
+ url: `${this.file.base}/api/Data/DeleteFiles`,
1169
+ data: data,
1170
+ });
1171
+ },
1172
+ uploadFiles: async (data: any) => {
1173
+ return await this.axiosCall({
1174
+ method: Methods.POST,
1175
+ url: `${this.file.base}/api/Data/UploadFiles`,
1176
+ headers: {
1177
+ 'Content-Type': 'multipart/form-data',
1178
+ },
1179
+ data: data,
1180
+ });
1181
+ },
1182
+ signDocument: async (data: Types.SignDataType[]) => {
1183
+ return await this.axiosCall<Types.SignUrlType[]>({
1184
+ method: Methods.POST,
1185
+ url: `${this.file.base}/api/Document/SignBts`,
1186
+ data: data,
1187
+ });
1188
+ },
1189
+ signQR: async (data: Types.SignDataType[]) => {
1190
+ return await this.axiosCall<Types.ResponseStructure<any>>({
1191
+ method: Methods.POST,
1192
+ url: `${this.file.base}/api/Sign/SignQr`,
1193
+ data: data,
1194
+ });
1195
+ },
1196
+ generateDocument: async (data: Types.SignDataType) => {
1197
+ return await this.axiosCall<void>({
1198
+ method: Methods.POST,
1199
+ url: `${this.file.base}/api/Document/Generate`,
1200
+ responseType: 'arraybuffer',
1201
+ data: data,
1202
+ });
1203
+ },
1204
+ getSignedDocList: async (data: { processInstanceId: string | number }) => {
1205
+ return await this.axiosCall<IDocument[]>({
1206
+ method: Methods.POST,
1207
+ url: `${this.file.base}/api/Data/List`,
1208
+ data: data,
1209
+ });
1210
+ },
1211
+ setActualEnpf: async (data: { processId: string; isOnlineEnpfAgreement: boolean }) => {
1212
+ return await this.axiosCall<void>({
1213
+ method: Methods.POST,
1214
+ url: `${this.file.base}/api/GeneralSign/SetActualEnpfAgreement`,
1215
+ data: data,
1216
+ });
1217
+ },
1218
+ };
1109
1219
  }