sales-frontend-api 0.0.97 → 0.0.98

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.
package/dist/method.cjs CHANGED
@@ -315,11 +315,8 @@ var getTestMethod = async ({ id, config, setupFn }) => {
315
315
  const res = await httpClient.api.get(testAPI);
316
316
  return res.data;
317
317
  };
318
-
319
- // src/http-methods/search-modal/address/address-search.service.ts
320
318
  var getAddressListMethod = async (params, config) => {
321
- const serviceCode = getServiceCode();
322
- const apiUrl = `${serviceCode}/api/dis/v1/get/codes/address-list`;
319
+ const apiUrl = `${salesFrontendUtils.getDspApiHostNameFromEnvironment("dis")}/v1/get/codes/address-list`;
323
320
  const httpClient = new HttpClientAxios(config);
324
321
  const res = await httpClient.api.post(apiUrl, params);
325
322
  return res.data;
@@ -335,11 +332,8 @@ var useSearchAddressQuery = (params, options, config) => {
335
332
  ...options
336
333
  });
337
334
  };
338
-
339
- // src/http-methods/search-modal/address/postal-code.service.ts
340
335
  var getAddressPostalCodeMethod = async (params, config) => {
341
- const serviceCode = getServiceCode();
342
- const apiUrl = `${serviceCode}/api/dis/v1/get/codes/address/postal-code`;
336
+ const apiUrl = `${salesFrontendUtils.getDspApiHostNameFromEnvironment("dis")}/v1/get/codes/address/postal-code`;
343
337
  const httpClient = new HttpClientAxios(config);
344
338
  const res = await httpClient.api.post(apiUrl, params);
345
339
  return res.data;
@@ -355,11 +349,8 @@ var useSearchPostalCodeQuery = (params, options, config) => {
355
349
  ...options
356
350
  });
357
351
  };
358
-
359
- // src/http-methods/search-modal/address/address-standardization.service.ts
360
352
  var getAddressStandardizationListMethod = async (params, config) => {
361
- const serviceCode = getServiceCode();
362
- const apiUrl = `${serviceCode}/api/dis/v1/get/codes/address-standardization-list`;
353
+ const apiUrl = `${salesFrontendUtils.getDspApiHostNameFromEnvironment("dis")}/v1/get/codes/address-standardization-list`;
363
354
  const httpClient = new HttpClientAxios(config);
364
355
  const res = await httpClient.api.post(apiUrl, params);
365
356
  return res.data;
@@ -375,18 +366,14 @@ var useSearchAddressStandardizationQuery = (params, options, config) => {
375
366
  ...options
376
367
  });
377
368
  };
378
-
379
- // src/http-methods/search-modal/occupation/occupation-search.service.ts
380
369
  var getOccupationListMethod = async (params, config) => {
381
- const serviceCode = getServiceCode();
382
- const apiUrl = `${serviceCode}/api/dis/v1/get/codes/occupation-list`;
370
+ const apiUrl = `${salesFrontendUtils.getDspApiHostNameFromEnvironment("dis")}/v1/get/codes/occupation-list`;
383
371
  const httpClient = new HttpClientAxios(config);
384
372
  const res = await httpClient.api.post(apiUrl, params);
385
373
  return res.data;
386
374
  };
387
375
  var getOccupationDetailMethod = async (params, config) => {
388
- const serviceCode = getServiceCode();
389
- const apiUrl = `${serviceCode}/api/dis/v1/get/codes/occupation/detail`;
376
+ const apiUrl = `${salesFrontendUtils.getDspApiHostNameFromEnvironment("dis")}/v1/get/codes/occupation/detail`;
390
377
  const httpClient = new HttpClientAxios(config);
391
378
  const res = await httpClient.api.post(apiUrl, params);
392
379
  return res.data;
@@ -413,11 +400,8 @@ var useSearchOccupationDetailQuery = (params, options, config) => {
413
400
  ...options
414
401
  });
415
402
  };
416
-
417
- // src/http-methods/search-modal/vehicle/vehicle-search.service.ts
418
403
  var getVehicleListMethod = async (config) => {
419
- const serviceCode = getServiceCode();
420
- const apiUrl = `${serviceCode}/api/dis/v1/get/codes/vehicle-type-list`;
404
+ const apiUrl = `${salesFrontendUtils.getDspApiHostNameFromEnvironment("dis")}/v1/get/codes/vehicle-type-list`;
421
405
  const httpClient = new HttpClientAxios(config);
422
406
  const res = await httpClient.api.post(apiUrl);
423
407
  return res.data;
@@ -433,11 +417,8 @@ var useSearchVehicleQuery = (options, config) => {
433
417
  ...options
434
418
  });
435
419
  };
436
-
437
- // src/http-methods/search-modal/employee/employee-search.service.ts
438
420
  var getEmployeeProfileListMethod = async (params, config) => {
439
- const serviceCode = getServiceCode();
440
- const apiUrl = `${serviceCode}/api/dea/v1/get/participant/profile/employee`;
421
+ const apiUrl = `${salesFrontendUtils.getDspApiHostNameFromEnvironment("dea")}/v1/get/participant/profile/employee`;
441
422
  const httpClient = new HttpClientAxios(config);
442
423
  const res = await httpClient.api.post(apiUrl, params);
443
424
  return res.data;
@@ -453,11 +434,8 @@ var useSearchEmployeeProfileQuery = (params, options, config) => {
453
434
  ...options
454
435
  });
455
436
  };
456
-
457
- // src/http-methods/search-modal/organization/organization-search.service.ts
458
437
  var getOrganizationProfileListMethod = async (params, config) => {
459
- const serviceCode = getServiceCode();
460
- const apiUrl = `${serviceCode}/api/dea/v1/get/participant/profile/organization`;
438
+ const apiUrl = `${salesFrontendUtils.getDspApiHostNameFromEnvironment("dea")}/v1/get/participant/profile/organization`;
461
439
  const httpClient = new HttpClientAxios(config);
462
440
  const res = await httpClient.api.post(apiUrl, params);
463
441
  return res.data;
@@ -473,11 +451,8 @@ var useSearchOrganizationQuery = (params, options, config) => {
473
451
  ...options
474
452
  });
475
453
  };
476
-
477
- // src/http-methods/search-modal/nationality/nationality-search.service.ts
478
454
  var getNationalityListMethod = async (params, config) => {
479
- const serviceCode = getServiceCode();
480
- const apiUrl = `${serviceCode}/api/dis/v1/get/codes/nationality-list`;
455
+ const apiUrl = `${salesFrontendUtils.getDspApiHostNameFromEnvironment("dis")}/v1/get/codes/nationality-list`;
481
456
  const httpClient = new HttpClientAxios(config);
482
457
  const res = await httpClient.api.post(apiUrl, params);
483
458
  return res.data;
@@ -494,11 +469,8 @@ var useSearchNationalityQuery = (params, options, config) => {
494
469
  ...options
495
470
  });
496
471
  };
497
-
498
- // src/http-methods/search-modal/customer-list/customer-list-search.service.ts
499
472
  var getCustomerListMethod = async (params, config) => {
500
- const serviceCode = getServiceCode();
501
- const apiUrl = `${serviceCode}/api/dis/v1/get/customer-list`;
473
+ const apiUrl = `${salesFrontendUtils.getDspApiHostNameFromEnvironment("dis")}/v1/get/customer-list`;
502
474
  const httpClient = new HttpClientAxios(config);
503
475
  const res = await httpClient.api.post(apiUrl, params);
504
476
  return res.data;
@@ -514,11 +486,8 @@ var useSearchCustomerListQuery = (params, options, config) => {
514
486
  ...options
515
487
  });
516
488
  };
517
-
518
- // src/http-methods/search-modal/risk-grade/risk-grade-search.service.ts
519
489
  var getRiskGradeMethod = async (params, config) => {
520
- const serviceCode = getServiceCode();
521
- const apiUrl = `${serviceCode}/api/dis/v1/get/codes/risk-grade`;
490
+ const apiUrl = `${salesFrontendUtils.getDspApiHostNameFromEnvironment("dis")}/v1/get/codes/risk-grade`;
522
491
  const httpClient = new HttpClientAxios(config);
523
492
  const res = await httpClient.api.post(apiUrl, params);
524
493
  return res.data;
@@ -534,11 +503,8 @@ var useSearchRiskGradeQuery = (params, options, config) => {
534
503
  ...options
535
504
  });
536
505
  };
537
-
538
- // src/http-methods/search-modal/dea-customer-list/dea-customer-list-search.service.ts
539
506
  var getDspCustomerListMethod = async (params, config) => {
540
- const serviceCode = getServiceCode();
541
- const apiUrl = `${serviceCode}/api/dea/v1/get/participant/profile/customer/personal`;
507
+ const apiUrl = `${salesFrontendUtils.getDspApiHostNameFromEnvironment("dea")}/v1/get/participant/profile/customer/personal`;
542
508
  const httpClient = new HttpClientAxios(config);
543
509
  const res = await httpClient.api.post(apiUrl, params);
544
510
  return res.data;
@@ -554,11 +520,8 @@ var useSearchDspCustomerListQuery = (params, options, config) => {
554
520
  ...options
555
521
  });
556
522
  };
557
-
558
- // src/http-methods/search-modal/visa/visa-search.service.ts
559
523
  var getVisaListMethod = async (config) => {
560
- const serviceCode = getServiceCode();
561
- const apiUrl = `${serviceCode}/api/dis/v1/get/codes/visa-status-list`;
524
+ const apiUrl = `${salesFrontendUtils.getDspApiHostNameFromEnvironment("dis")}/v1/get/codes/visa-status-list`;
562
525
  const httpClient = new HttpClientAxios(config);
563
526
  const res = await httpClient.api.post(apiUrl);
564
527
  return res.data;
@@ -574,11 +537,9 @@ var useSearchVisaQuery = (options, config) => {
574
537
  ...options
575
538
  });
576
539
  };
577
-
578
- // src/http-methods/fp-login/login-dsp.service.ts
579
540
  var postLoginMethod = async (userId) => {
580
541
  console.log("userId", userId);
581
- const apiUrl = "/api/dat/v1/post/login";
542
+ const apiUrl = `${salesFrontendUtils.getDspApiHostNameFromEnvironment("dat")}/v1/post/login`;
582
543
  const httpClient = new HttpClientAxios({
583
544
  headers: {
584
545
  "Debug-Refresh-Queue-Off": "true"
@@ -590,19 +551,15 @@ var postLoginMethod = async (userId) => {
590
551
  });
591
552
  return res.data;
592
553
  };
593
-
594
- // src/http-methods/remote-identity-verification/remote-identity-verification.service.ts
595
554
  var getRemoteIdentityVerificationSystemToken = async (params, axiosConfig) => {
596
- const serviceCode = getServiceCode();
597
- const apiUrl = `${serviceCode}/api/dea/v1/post/participant/remote-identity-verification-system/token`;
555
+ const apiUrl = `${salesFrontendUtils.getDspApiHostNameFromEnvironment("dea")}/v1/post/participant/remote-identity-verification-system/token`;
598
556
  const response = await new HttpClientAxios({
599
557
  ...axiosConfig
600
558
  }).api.post(apiUrl, params);
601
559
  return response.data;
602
560
  };
603
561
  var confirmRemoteIdentityVerificationSystemIdentificationCard = async (params, axiosConfig) => {
604
- const serviceCode = getServiceCode();
605
- const apiUrl = `${serviceCode}/api/dea/v1/post/participant/remote-identity-verification-system/identification-card/confirm`;
562
+ const apiUrl = `${salesFrontendUtils.getDspApiHostNameFromEnvironment("dea")}/v1/post/participant/remote-identity-verification-system/identification-card/confirm`;
606
563
  const response = await new HttpClientAxios({
607
564
  ...axiosConfig
608
565
  }).api.post(apiUrl, params);
@@ -621,11 +578,8 @@ var useConfirmRemoteIdentityVerificationSystemIdentificationCardMutation = (opti
621
578
  ...options
622
579
  });
623
580
  };
624
-
625
- // src/http-methods/common-code/common-code-search.service.ts
626
581
  var getCommonCodeListMethod = async (param, config) => {
627
- const serviceCode = getServiceCode();
628
- const apiUrl = `${serviceCode}/api/dea/v1/get/common-code/list`;
582
+ const apiUrl = `${salesFrontendUtils.getDspApiHostNameFromEnvironment("dea")}/v1/get/common-code/list`;
629
583
  const httpClient = new HttpClientAxios(config);
630
584
  const res = await httpClient.api.post(apiUrl, param);
631
585
  return res.data;
@@ -641,11 +595,8 @@ var useSearchCommonCodeQuery = (param, options, config) => {
641
595
  ...options
642
596
  });
643
597
  };
644
-
645
- // src/http-methods/app-config/app-config.service.ts
646
598
  var getUserProfile = async (axiosConfig) => {
647
- const serviceCode = getServiceCode();
648
- const apiUrl = `${serviceCode}/api/dat/v1/get/user/profile`;
599
+ const apiUrl = `${salesFrontendUtils.getDspApiHostNameFromEnvironment("dat")}/v1/get/user/profile`;
649
600
  const response = await new HttpClientAxios({
650
601
  ...axiosConfig
651
602
  }).api.post(apiUrl);
@@ -656,7 +607,7 @@ var getDayDiffFromToday = (date) => {
656
607
  return Math.floor(diff / (1e3 * 60 * 60 * 24));
657
608
  };
658
609
  var postFileUploadMethod = async (params, config) => {
659
- const apiUrl = `${salesFrontendUtils.getDudApiHostNameFromEnvironment(getServiceCode(), location.hostname)}/v1/post/file`;
610
+ const apiUrl = `${salesFrontendUtils.getDudApiHostNameFromEnvironment()}/v1/post/file`;
660
611
  const formData = new FormData();
661
612
  if (params.data instanceof File) {
662
613
  formData.append("data", params.data, params.name || params.data.name);
@@ -669,7 +620,7 @@ var postFileUploadMethod = async (params, config) => {
669
620
  params.expireDate && formData.append("preservationTerm", (getDayDiffFromToday(params.expireDate) + 1).toString() || "1");
670
621
  params.preservationTerm && formData.append("preservationTerm", params.preservationTerm.toString() || "1");
671
622
  formData.append("fileType", params.fileType || params.data.type.split("/").pop() || "png");
672
- const httpClient = new HttpClientAxios(config);
623
+ const httpClient = new HttpClientAxios({ ...config, withCredentials: false });
673
624
  httpClient.api.interceptors.response.use((response) => {
674
625
  const { data } = response;
675
626
  if (data.isSuccess === true && data.code.includes("erro")) {
@@ -681,7 +632,7 @@ var postFileUploadMethod = async (params, config) => {
681
632
  return res.data;
682
633
  };
683
634
  async function postFileDownloadMethod(params, config) {
684
- const apiUrl = `${getServiceCode()}/api/dud/v1/get/file`;
635
+ const apiUrl = `${salesFrontendUtils.getDudApiHostNameFromEnvironment()}/v1/get/file`;
685
636
  const httpClient = new HttpClientAxios({
686
637
  ...config,
687
638
  ...params.outputType === "BINARY" && { responseType: "blob" }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/http-methods/method-util.ts","../src/http-client/cookie/cookie-client.ts","../src/http-client/header/header.types.ts","../src/http-client/header/header-manager.ts","../src/http-client/axios/http-client-axios.ts","../src/http-client/auth/auth-client.ts","../src/http-methods/sample/sample.service.ts","../src/http-methods/search-modal/address/address-search.service.ts","../src/http-methods/search-modal/address/use-search-address-query.ts","../src/http-methods/search-modal/address/postal-code.service.ts","../src/http-methods/search-modal/address/use-search-postal-code-query.ts","../src/http-methods/search-modal/address/address-standardization.service.ts","../src/http-methods/search-modal/address/use-search-address-standardization-query.ts","../src/http-methods/search-modal/occupation/occupation-search.service.ts","../src/http-methods/search-modal/occupation/use-search-occupation-query.ts","../src/http-methods/search-modal/vehicle/vehicle-search.service.ts","../src/http-methods/search-modal/vehicle/use-search-vehicle-query.ts","../src/http-methods/search-modal/employee/employee-search.service.ts","../src/http-methods/search-modal/employee/use-search-employee-profile-query.ts","../src/http-methods/search-modal/organization/organization-search.service.ts","../src/http-methods/search-modal/organization/use-search-organization-query.ts","../src/http-methods/search-modal/nationality/nationality-search.service.ts","../src/http-methods/search-modal/nationality/use-search-nationality-query.ts","../src/http-methods/search-modal/customer-list/customer-list-search.service.ts","../src/http-methods/search-modal/customer-list/use-search-customer-list-query.ts","../src/http-methods/search-modal/risk-grade/risk-grade-search.service.ts","../src/http-methods/search-modal/risk-grade/use-search-risk-grade-query.ts","../src/http-methods/search-modal/dea-customer-list/dea-customer-list-search.service.ts","../src/http-methods/search-modal/dea-customer-list/use-search-dea-customer-list-query.ts","../src/http-methods/search-modal/visa/visa-search.service.ts","../src/http-methods/search-modal/visa/use-search-visa-query.ts","../src/http-methods/fp-login/login-dsp.service.ts","../src/http-methods/remote-identity-verification/remote-identity-verification.service.ts","../src/http-methods/remote-identity-verification/use-remote-identity-verification-query.tsx","../src/http-methods/common-code/common-code-search.service.ts","../src/http-methods/common-code/use-search-common-code-query.ts","../src/http-methods/app-config/app-config.service.ts","../src/http-methods/dud-external-file/dud-external-file.service.ts","../src/http-methods/dud-external-file/use-dud-external-file-query.ts"],"names":["axios","config","addRequestLog","useClientSessionStore","addResponseLog","addErrorLog","error","isDspApp","Bridge","getDspExecutionEnvironment","useQuery","useMutation","getDudApiHostNameFromEnvironment","getExt"],"mappings":"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","file":"method.cjs","sourcesContent":["export const getServiceCode = () => {\n // @ts-ignore\n if (typeof window.isStorybookEnv === 'boolean') {\n return '';\n } else {\n return `/${location.pathname.split('/')[1]}`;\n }\n};\n","/**\n * 클라이언트용 쿠키 함수\n */\nexport const cookieClient = {\n getCookie(name: string): string {\n if (typeof document === 'undefined') {\n return '';\n }\n const match = document.cookie.match(new RegExp(`(^|; *)${name}=([^;]*)`));\n\n return match ? decodeURIComponent(match[2] || '') : '';\n },\n\n setCookie(\n name: string,\n value: string,\n options: {\n expires?: number | Date; // number of days\n path?: string;\n domain?: string;\n secure?: boolean;\n } = {}\n ): void {\n if (typeof document === 'undefined') {\n return;\n }\n\n let cookieString = `${name}=${encodeURIComponent(value)}`;\n\n if (options.expires) {\n let expiresDate: Date;\n if (typeof options.expires === 'number') {\n expiresDate = new Date();\n expiresDate.setDate(expiresDate.getDate() + options.expires);\n } else {\n expiresDate = options.expires;\n }\n cookieString += `; expires=${expiresDate.toUTCString()}`;\n }\n\n cookieString += `; path=${options.path || '/'}`;\n\n if (options.domain) {\n cookieString += `; domain=${options.domain}`;\n }\n\n if (options.secure) {\n cookieString += '; secure';\n }\n\n document.cookie = cookieString;\n },\n deleteCookie(name: string, options: { path?: string; domain?: string } = {}): void {\n cookieClient.setCookie(name, '', { ...options, expires: -1 });\n }\n};\n","/**\n * @see https://loop.cloud.microsoft/p/eyJ3Ijp7InUiOiJodHRwczovL2hhbndoYWxpZmVtMzY1LnNoYXJlcG9pbnQuY29tLz9uYXY9Y3owbE1rWW1aRDFpSVVVd1FXdDJSbGhSV0VWUE1tUkNYMWhUZW5KWVVFdFBSVXByYWs1b1NrSlBjRk4wYm5wNmNsWmpMVUZ5YjI1UlJWOVdSREpUV25aeWVUUTJTV2swUlZrbVpqMHdNVk5OVGtkR1JsTkJXVE0xVVZaQ1ZrRkVRa1ZaVEVoRVNUSTBXRXhVVlZoV0ptTTlKbVpzZFdsa1BURSUzRCIsInIiOmZhbHNlfSwicCI6eyJ1IjoiaHR0cHM6Ly9oYW53aGFsaWZlbTM2NS5zaGFyZXBvaW50LmNvbS9jb250ZW50c3RvcmFnZS9DU1BfYmMyNDQwMTMtZDA1NS00MzVjLWI2NzQtMWZkNzRiM2FkNzNjLyVFQiVBQyVCOCVFQyU4NCU5QyUyMCVFQiU5RCVCQyVFQyU5RCVCNCVFQiVCOCU4QyVFQiU5RiVBQyVFQiVBNiVBQy9Mb29wQXBwRGF0YS8wOS0yLiUyMEJyaWRnZSUyMFNwZWMlMjAxLmxvb3A%2FbmF2PWN6MGxNa1pqYjI1MFpXNTBjM1J2Y21GblpTVXlSa05UVUY5aVl6STBOREF4TXkxa01EVTFMVFF6TldNdFlqWTNOQzB4Wm1RM05HSXpZV1EzTTJNbVpEMWlJVVV3UVd0MlJsaFJXRVZQTW1SQ1gxaFRlbkpZVUV0UFJVcHJhazVvU2tKUGNGTjBibnA2Y2xaakxVRnliMjVSUlY5V1JESlRXblp5ZVRRMlNXazBSVmttWmowd01WTk5Ua2RHUmxGRlYxTlFOelpMUWtsTFdrWkpXVUUzU1ZkWldGTklWa0ZUSm1NOUpUSkdKbVpzZFdsa1BURSUzRCIsInIiOmZhbHNlfSwiaSI6eyJpIjoiNTdkZmVhM2QtZDA2Yi00YWRlLWIxZjEtYjE4NDA4MmNlN2VjIn19\n */\nexport const customHeaderNames = [\n 'Accept-Language',\n 'DeviceId',\n 'LoginType',\n 'PlatformName',\n 'PlatformVersion',\n 'AppVersion',\n 'DeviceModel',\n 'FormFactor',\n 'LoginChannel'\n];\n\nexport const AT = 'AT';\nexport type GetterSync = (keyName: string) => string;\nexport type SetterSync = (keyName: string, value: string) => void;\n\nexport type GetterAsync = (keyName: string) => Promise<string> | string;\nexport type SetterAsync = (keyName: string, value: string) => Promise<void> | void;\n","import { AT, customHeaderNames, GetterSync, SetterSync } from './header.types';\n\nexport class HeaderManager {\n private getter: GetterSync;\n private setter: SetterSync;\n\n constructor(getter: GetterSync, setter: SetterSync) {\n this.getter = getter;\n this.setter = setter;\n }\n\n /**\n * 커스텀 헤더를 동기적으로 설정합니다.\n */\n setCustomHeaders(): void {\n customHeaderNames.forEach((headerName) => {\n const customHeaderKey = `X-Channel-${headerName}`;\n const headerValue = this.getter(customHeaderKey);\n if (headerValue) {\n this.setter(customHeaderKey, headerValue);\n }\n });\n }\n\n /**\n * 인증 토큰을 동기적으로 설정합니다.\n */\n setAuthToken(): void {\n const token = this.getter(AT);\n if (token) {\n this.setter('Authorization', `Bearer ${token}`);\n }\n }\n\n /**\n * 모든 헤더를 동기적으로 설정합니다.\n */\n setAllHeaders(): void {\n this.setCustomHeaders();\n this.setAuthToken();\n }\n}\n","import axios from 'axios';\nimport { addErrorLog, addRequestLog, addResponseLog } from 'sales-frontend-debug';\nimport { useClientSessionStore } from 'sales-frontend-stores';\n\nimport { AuthClient } from '../auth/auth-client';\nimport { cookieClient } from '../cookie/cookie-client';\nimport { HeaderManager } from '../header/header-manager';\n\nimport type { AxiosQueueType } from './types';\nimport type { AxiosError, AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';\nlet isRefreshed = true;\nconst axiosQueue: AxiosQueueType[] = [];\n\n/**\n * 쿠키에서 값을 가져오고, 없으면 기본값을 쿠키에 설정 후 반환하는 헬퍼 함수\n * @param key 쿠키 키\n * @param defaultValue 쿠키 값이 없을 때 사용할 기본값\n * @returns 쿠키 값 또는 기본값\n */\nconst getOrSetCookie = (key: string, defaultValue: string): string => {\n let value = cookieClient.getCookie(key);\n if (!value) {\n value = defaultValue;\n cookieClient.setCookie(key, value, { path: '/' });\n }\n\n return value;\n};\n\n/**\n * 전자청약\n * CSR용 http-client 입니다.\n * cookie , redirect , tokem 처리 방식은 CSR 환경에 맞게 구현됩니다.\n */\nexport class HttpClientAxios {\n config: AxiosRequestConfig;\n headerManager: HeaderManager;\n\n /**\n * axios의 request interceptor 동작시, 헤더에 주입될 헤더의 key,value\n */\n headers: Record<string, string> = {};\n\n /**\n * api연동을 수행할 실제 객체(axios, fetch 등의 다른 라이브러리로 교체가능한 영역)\n * 현재 버전에서는 axios를 사용하여 구현됨.\n */\n api: AxiosInstance;\n constructor(config: AxiosRequestConfig = {}) {\n this.config = config;\n\n /**\n * 헤더매니저 셋팅\n */\n const getter: HeaderManager['getter'] = (key) => {\n return cookieClient.getCookie(key);\n };\n const setter: HeaderManager['setter'] = (key, value) => {\n if (config?.headers) {\n config.headers[key] = value;\n }\n };\n this.headerManager = new HeaderManager(getter, setter);\n\n /**\n * api수행객체 최초 생성,\n * 공통으로 적용할 설정값이 있는경우 셋팅\n */\n this.api = axios.create({\n withCredentials: true,\n ...config\n });\n\n /**\n * 인터셉터 요청 처리\n */\n this.api.interceptors.request.use(\n async (config) => {\n const debugMode = cookieClient.getCookie('dsp-debug-mode') === 'on';\n\n /** 디버깅용 로그 */\n await addRequestLog(config);\n\n const debugRefreshQueueOff = config.headers?.['Debug-Refresh-Queue-Off'] === 'true';\n if (debugRefreshQueueOff) {\n isRefreshed = true;\n }\n\n /**\n * AT토큰 주입\n */\n const authClient = new AuthClient();\n const authorization = await authClient.getAT();\n console.log('authorization', authorization);\n if (authorization) {\n config.headers['Authorization'] = authorization;\n }\n\n if (debugMode) {\n console.log('debugMode header setting!');\n /**\n * 주소가 debugMode 경우 테스트용 헤더 삽입\n */\n config.headers['x-channel-appversion'] = getOrSetCookie('x-channel-appversion', '3.1');\n config.headers['x-channel-deviceid'] = getOrSetCookie('x-channel-deviceid', 'deviceid');\n config.headers['x-channel-devicemodel'] = getOrSetCookie('x-channel-devicemodel', 'iPHONE13');\n config.headers['x-channel-formfactor'] = getOrSetCookie('x-channel-formfactor', 'Phone');\n config.headers['x-channel-loginchannel'] = getOrSetCookie('x-channel-loginchannel', 'DSP');\n config.headers['x-channel-logintype'] = getOrSetCookie('x-channel-logintype', 'ONPA_PIN');\n config.headers['x-channel-platformname'] = getOrSetCookie('x-channel-platformname', 'IOS');\n config.headers['x-channel-platformversion'] = getOrSetCookie('x-channel-platformversion', '15.4.1');\n config.headers['x-channel-screenid'] = getOrSetCookie('x-channel-screenid', location.pathname);\n config.headers['x-channel-business-work-division-code'] = getOrSetCookie(\n 'x-channel-business-work-division-code',\n 'DEA'\n );\n } else {\n const session = useClientSessionStore.getState().clientSession;\n\n config.headers['x-channel-appversion'] = session.appVersion;\n config.headers['x-channel-deviceid'] = session.deviceId;\n config.headers['x-channel-devicemodel'] = session.deviceModel;\n config.headers['x-channel-formfactor'] = session.formFactor;\n config.headers['x-channel-loginchannel'] = session.loginChannel;\n config.headers['x-channel-logintype'] = session.loginType;\n config.headers['x-channel-platformname'] = session.platformName;\n config.headers['x-channel-platformversion'] = session.platformVersion;\n config.headers['x-channel-screenid'] = location.pathname;\n config.headers['x-channel-business-work-division-code'] = session.businessWorkDivisionCode;\n }\n\n /**\n * 커스텀헤더 주입\n */\n // this.headerManager.setCustomHeaders();\n /**\n *\n * this.headers설정된 값을 config headers에 주입\n */\n const headerEntries = Object.entries(this.headers);\n headerEntries.forEach(([key, value]) => {\n if (config?.headers) {\n config.headers[key] = value;\n }\n });\n\n /**\n * isRefreshed가 false이면(= 에러발생하여 token재발행중을 의미)\n * 새로운 요청들을 처리하지 않고,큐에 저장\n * 401에러 Queue처리 Request interceptor 등록\n */\n if (!isRefreshed) {\n return new Promise((resolve, reject) => {\n axiosQueue.push({ resolve, reject, config });\n }).then(() => config);\n }\n\n return config;\n },\n (error) => {\n return Promise.reject(error);\n }\n );\n\n /**\n * 인터셉터 응답 처리\n */\n this.api.interceptors.response.use(\n async (response: AxiosResponse) => {\n /** 디버깅용 로그 */\n await addResponseLog(response);\n if (response.data.isSuccess === false) {\n /**\n * 200 응답이라도 , isSuccess === false인 경우 에러로 reject\n */\n return Promise.reject(response);\n }\n\n return response;\n },\n async (error: AxiosError) => {\n /** 디버깅용 로그 */\n await addErrorLog(error);\n\n const originalRequest = error.config;\n const debugRefreshQueueOff = config.headers?.['Debug-Refresh-Queue-Off'] === 'true';\n /**\n * 401에러 Queue처리\n */\n if (error.response?.status === 401 && !debugRefreshQueueOff) {\n isRefreshed = false;\n const client = new AuthClient();\n client\n .refreshToken()\n .then(() => {\n /**\n * 토큰 갱신 성공, 플래그를 true로 설정\n */\n isRefreshed = true;\n\n /**\n * 큐에 쌓여있던 모든 요청 재시도\n */\n while (axiosQueue.length > 0) {\n const p = axiosQueue.shift(); // axiosQueue에서 첫 번째 요소를 제거하고 반환합니다.\n if (p) {\n /**\n * api 인스턴스를 통해 요청을 재시도합니다. 따라서 재요청들은 다시 인터셉터를 타게 됩니다.\n * 신규토큰을 주입받고 정상처리\n * @todo 재시도후 reject시에는 로그인페이지로 보내는 브릿지 함수를 호출하도록 처리가 필요해보임.\n *\n * @note 11/07 : 무한루프이슈 해결을 위해 , 새로운 인스턴스를 사용하도록 수정\n */\n axios(p.config)\n .then((response) => p.resolve(response))\n .catch((err) => p.reject(err));\n }\n }\n })\n .catch((error) => {\n /**\n * 토큰 재발행중 에러 발생한 경우 처리\n * @todo 로그인페이지 이동(?)\n */\n return Promise.reject(error);\n });\n\n return new Promise((resolve, reject) => {\n if (originalRequest) {\n axiosQueue.push({ resolve, reject, config: originalRequest });\n }\n });\n } else {\n return Promise.reject(error);\n }\n }\n );\n }\n\n setHeaders(headers: Record<string, string>) {\n this.headers = {\n ...this.headers,\n ...headers\n };\n }\n}\n","import { Bridge } from 'sales-frontend-bridge';\nimport { isDspApp } from 'sales-frontend-utils';\nimport { getDspExecutionEnvironment } from 'sales-frontend-utils';\n\nimport { getServiceCode } from '../../http-methods/method-util';\nimport { HttpClientAxios } from '../axios/http-client-axios';\nimport { cookieClient } from '../cookie/cookie-client';\n\nexport class AuthClient {\n defaultTokenType = 'Bearer';\n /**\n * App인지 확인\n * @returns boolean\n */\n isApp() {\n return isDspApp();\n }\n\n getAuthorizationFromCookie() {\n const accessToken = cookieClient.getCookie('accessToken');\n\n return accessToken ? `${this.defaultTokenType} ${accessToken}` : undefined;\n }\n\n async getAuthorizationFromBridge() {\n const { tokenType, accessToken } = await Bridge.native.getAccessToken();\n\n return accessToken ? `${tokenType || this.defaultTokenType} ${accessToken}` : undefined;\n }\n\n /**\n *\n * @returns Promise<string | undefined>\n */\n async getAT(): Promise<string | undefined> {\n const debugMode = cookieClient.getCookie('dsp-debug-mode') === 'on';\n\n /**\n * debugMode 경우 cookie에서 'AT' 를 읽어온다.\n */\n if (debugMode) {\n console.log('debugMode token setting!');\n\n return this.getAuthorizationFromCookie();\n }\n\n if (this.isApp()) {\n return await this.getAuthorizationFromBridge();\n } else {\n /**\n * DSP 앱 외에는 쿠키 참조\n */\n return this.getAuthorizationFromCookie();\n }\n }\n\n /**\n * RT를 이용하여 신규 AT/RT발행\n * 기존토큰은 무효화처리\n * 쿠키에 저장.\n */\n async refreshToken(): Promise<void> {\n if (!this.isApp()) {\n // 신규 앱 외에는 내부 api 호출로 토큰 갱신\n const httpClient = new HttpClientAxios({});\n\n await httpClient.api.post(`${getServiceCode()}/internal/api/auth/refresh`);\n\n // 영업 포털 환경일 경우 세션연장 이벤트 발생(to 부모)\n if (getDspExecutionEnvironment() === 'iframe') {\n Bridge.iframe.dspKeepCallerSession();\n }\n }\n }\n}\n","import { HttpClientAxios } from '../../client';\n\nimport type { TestResponse } from './sample.dto';\nimport type { AxiosRequestConfig } from 'axios';\n\ninterface TestRequest {\n id?: number;\n config?: AxiosRequestConfig;\n setupFn?: (httpClient: HttpClientAxios) => void;\n}\nexport const getTestMethod = async ({ id, config, setupFn }: TestRequest) => {\n const testAPI = `https://jsonplaceholder.typicode.com/users/${id}`;\n\n const httpClient = new HttpClientAxios(config);\n\n const res = await httpClient.api.get<TestResponse>(testAPI);\n\n return res.data;\n};\n","import { HttpClientAxios } from '../../../client';\nimport { getServiceCode } from '../../method-util';\n\nimport type { AddressListRequestDto, DspResponseAddressListResponseDto } from './address-search.dto';\nimport type { AxiosRequestConfig } from 'axios';\n\nexport const getAddressListMethod = async (params: AddressListRequestDto, config?: AxiosRequestConfig) => {\n const serviceCode = getServiceCode();\n const apiUrl = `${serviceCode}/api/dis/v1/get/codes/address-list`;\n const httpClient = new HttpClientAxios(config);\n const res = await httpClient.api.post<DspResponseAddressListResponseDto>(apiUrl, params);\n\n return res.data;\n};\n","import { useQuery } from '@tanstack/react-query';\n\nimport { getAddressListMethod } from './address-search.service';\n\nimport type { AddressListRequestDto, DspResponseAddressListResponseDto } from './address-search.dto';\nimport type { CustomQueryOptions } from '../../method.types';\nimport type { AxiosRequestConfig } from 'axios';\n\nexport const useSearchAddressQuery = (\n params: AddressListRequestDto,\n options?: CustomQueryOptions<DspResponseAddressListResponseDto>,\n config?: AxiosRequestConfig\n) => {\n return useQuery({\n enabled: !!params.searchKeyWord,\n retry: false,\n queryKey: ['searchAddress', JSON.stringify(params)],\n queryFn: () => {\n return getAddressListMethod(params, config);\n },\n ...options\n });\n};\n","import { AxiosRequestConfig } from 'axios';\n\nimport { HttpClientAxios } from '../../../client';\nimport { getServiceCode } from '../../method-util';\n\nimport type { AddressPostalCodeRequestDto, DspResponseAddressPostalCodeResponseDto } from './postal-code.dto';\n\nexport const getAddressPostalCodeMethod = async (params: AddressPostalCodeRequestDto, config?: AxiosRequestConfig) => {\n const serviceCode = getServiceCode();\n const apiUrl = `${serviceCode}/api/dis/v1/get/codes/address/postal-code`;\n const httpClient = new HttpClientAxios(config);\n const res = await httpClient.api.post<DspResponseAddressPostalCodeResponseDto>(apiUrl, params);\n\n return res.data;\n};\n","import { useQuery } from '@tanstack/react-query';\n\nimport { getAddressPostalCodeMethod } from './postal-code.service';\n\nimport type { AddressPostalCodeRequestDto, DspResponseAddressPostalCodeResponseDto } from './postal-code.dto';\nimport type { CustomQueryOptions } from '../../method.types';\nimport type { AxiosRequestConfig } from 'axios';\n\nexport const useSearchPostalCodeQuery = (\n params: AddressPostalCodeRequestDto,\n options?: CustomQueryOptions<DspResponseAddressPostalCodeResponseDto>,\n config?: AxiosRequestConfig\n) => {\n return useQuery({\n enabled: !!params.searchWordName,\n retry: false,\n queryKey: ['searchPostalCode', JSON.stringify(params)],\n queryFn: () => {\n return getAddressPostalCodeMethod(params, config);\n },\n ...options\n });\n};\n","import { HttpClientAxios } from '../../../client';\nimport { getServiceCode } from '../../method-util';\n\nimport type {\n AddressStandardizationListRequestDto,\n DspResponseAddressStandardizationListResponseDto\n} from './address-standardization.dto';\nimport type { AxiosRequestConfig } from 'axios';\n\nexport const getAddressStandardizationListMethod = async (\n params: AddressStandardizationListRequestDto,\n config?: AxiosRequestConfig\n) => {\n const serviceCode = getServiceCode();\n const apiUrl = `${serviceCode}/api/dis/v1/get/codes/address-standardization-list`;\n const httpClient = new HttpClientAxios(config);\n const res = await httpClient.api.post<DspResponseAddressStandardizationListResponseDto>(apiUrl, params);\n\n return res.data;\n};\n","import { useQuery } from '@tanstack/react-query';\n\nimport { getAddressStandardizationListMethod } from './address-standardization.service';\n\nimport type {\n AddressStandardizationListRequestDto,\n DspResponseAddressStandardizationListResponseDto\n} from './address-standardization.dto';\nimport type { CustomQueryOptions } from '../../method.types';\nimport type { AxiosRequestConfig } from 'axios';\n\nexport const useSearchAddressStandardizationQuery = (\n params: AddressStandardizationListRequestDto,\n options?: CustomQueryOptions<DspResponseAddressStandardizationListResponseDto>,\n config?: AxiosRequestConfig\n) => {\n return useQuery({\n enabled: !!params.baseAddress,\n retry: false,\n queryKey: ['searchAddressStandardization', JSON.stringify(params)],\n queryFn: () => {\n return getAddressStandardizationListMethod(params, config);\n },\n ...options\n });\n};\n","import { AxiosRequestConfig } from 'axios';\n\nimport { HttpClientAxios } from '../../../client';\nimport { getServiceCode } from '../../method-util';\n\nimport type {\n DspResponseOccupationDetailResponseDto,\n DspResponseOccupationListResponseDto,\n OccupationDetailRequestDto,\n OccupationListRequestDto\n} from './occupation-search.dto';\n\n/**\n * @description 직종 목록 조회\n */\nexport const getOccupationListMethod = async (params: OccupationListRequestDto, config?: AxiosRequestConfig) => {\n const serviceCode = getServiceCode();\n const apiUrl = `${serviceCode}/api/dis/v1/get/codes/occupation-list`;\n const httpClient = new HttpClientAxios(config);\n const res = await httpClient.api.post<DspResponseOccupationListResponseDto>(apiUrl, params);\n\n return res.data;\n};\n\n/**\n * @description 직종 상세 조회\n */\nexport const getOccupationDetailMethod = async (params: OccupationDetailRequestDto, config?: AxiosRequestConfig) => {\n const serviceCode = getServiceCode();\n const apiUrl = `${serviceCode}/api/dis/v1/get/codes/occupation/detail`;\n const httpClient = new HttpClientAxios(config);\n const res = await httpClient.api.post<DspResponseOccupationDetailResponseDto>(apiUrl, params);\n\n return res.data;\n};\n","import { useQuery } from '@tanstack/react-query';\n\nimport { getOccupationDetailMethod, getOccupationListMethod } from './occupation-search.service';\n\nimport type {\n DspResponseOccupationDetailResponseDto,\n DspResponseOccupationListResponseDto,\n OccupationDetailRequestDto,\n OccupationListRequestDto\n} from './occupation-search.dto';\nimport type { CustomQueryOptions } from '../../method.types';\nimport type { AxiosRequestConfig } from 'axios';\n\n/**\n * @description 직종 목록 조회 쿼리\n */\nexport const useSearchOccupationQuery = (\n params: OccupationListRequestDto,\n options?: CustomQueryOptions<DspResponseOccupationListResponseDto>,\n config?: AxiosRequestConfig\n) => {\n return useQuery({\n enabled: true,\n retry: false,\n queryKey: ['searchOccupationList', JSON.stringify(params)],\n queryFn: () => {\n return getOccupationListMethod(params, config);\n },\n ...options\n });\n};\n\n/**\n * @description 직종 상세 조회 쿼리\n */\nexport const useSearchOccupationDetailQuery = (\n params: OccupationDetailRequestDto,\n options?: CustomQueryOptions<DspResponseOccupationDetailResponseDto>,\n config?: AxiosRequestConfig\n) => {\n return useQuery({\n enabled: true,\n retry: false,\n queryKey: ['searchOccupationDetail', JSON.stringify(params)],\n queryFn: () => {\n return getOccupationDetailMethod(params, config);\n },\n ...options\n });\n};\n","import { AxiosRequestConfig } from 'axios';\n\nimport { HttpClientAxios } from '../../../client';\nimport { getServiceCode } from '../../method-util';\n\nimport type { DspResponseVehicleTypeListResponseDto } from './vehicle-search.dto';\n\nexport const getVehicleListMethod = async (config?: AxiosRequestConfig) => {\n const serviceCode = getServiceCode();\n const apiUrl = `${serviceCode}/api/dis/v1/get/codes/vehicle-type-list`;\n const httpClient = new HttpClientAxios(config);\n const res = await httpClient.api.post<DspResponseVehicleTypeListResponseDto>(apiUrl);\n\n return res.data;\n};\n","import { useQuery } from '@tanstack/react-query';\n\nimport { getVehicleListMethod } from './vehicle-search.service';\n\nimport type { DspResponseVehicleTypeListResponseDto } from './vehicle-search.dto';\nimport type { CustomQueryOptions } from '../../method.types';\nimport type { AxiosRequestConfig } from 'axios';\n\nexport const useSearchVehicleQuery = (\n options?: CustomQueryOptions<DspResponseVehicleTypeListResponseDto>,\n config?: AxiosRequestConfig\n) => {\n return useQuery({\n enabled: true,\n retry: false,\n queryKey: ['searchVehicle'],\n queryFn: () => {\n return getVehicleListMethod(config);\n },\n ...options\n });\n};\n","import { AxiosRequestConfig } from 'axios';\n\nimport { HttpClientAxios } from '../../../client';\nimport { getServiceCode } from '../../method-util';\n\nimport type { DspResponseEmployeeProfileResponseDto, EmployeeProfileSearchRequestDto } from './employee-search.dto';\n\nexport const getEmployeeProfileListMethod = async (\n params: EmployeeProfileSearchRequestDto,\n config?: AxiosRequestConfig\n) => {\n const serviceCode = getServiceCode();\n const apiUrl = `${serviceCode}/api/dea/v1/get/participant/profile/employee`;\n const httpClient = new HttpClientAxios(config);\n const res = await httpClient.api.post<DspResponseEmployeeProfileResponseDto>(apiUrl, params);\n\n return res.data;\n};\n","import { useQuery } from '@tanstack/react-query';\n\nimport { getEmployeeProfileListMethod } from './employee-search.service';\n\nimport type { DspResponseEmployeeProfileResponseDto, EmployeeProfileSearchRequestDto } from './employee-search.dto';\nimport type { CustomQueryOptions } from '../../method.types';\nimport type { AxiosRequestConfig } from 'axios';\n\nexport const useSearchEmployeeProfileQuery = (\n params: EmployeeProfileSearchRequestDto,\n options?: CustomQueryOptions<DspResponseEmployeeProfileResponseDto>,\n config?: AxiosRequestConfig\n) => {\n return useQuery({\n enabled: !!params.searchWord,\n retry: false,\n queryKey: ['searchEmployeeProfile', JSON.stringify(params)],\n queryFn: () => {\n return getEmployeeProfileListMethod(params, config);\n },\n ...options\n });\n};\n","import { AxiosRequestConfig } from 'axios';\n\nimport { HttpClientAxios } from '../../../client';\nimport { getServiceCode } from '../../method-util';\n\nimport type { DspResponseOrganizationProfileResponse, OrganizationSearchRequestDto } from './organization-search.dto';\n\nexport const getOrganizationProfileListMethod = async (\n params: OrganizationSearchRequestDto,\n config?: AxiosRequestConfig\n) => {\n const serviceCode = getServiceCode();\n ///v1/get/participant/profile/organization\n const apiUrl = `${serviceCode}/api/dea/v1/get/participant/profile/organization`;\n const httpClient = new HttpClientAxios(config);\n const res = await httpClient.api.post<DspResponseOrganizationProfileResponse>(apiUrl, params);\n\n return res.data;\n};\n","import { useQuery } from '@tanstack/react-query';\n\nimport { getOrganizationProfileListMethod } from './organization-search.service';\n\nimport type { DspResponseOrganizationProfileResponse, OrganizationSearchRequestDto } from './organization-search.dto';\nimport type { CustomQueryOptions } from '../../method.types';\nimport type { AxiosRequestConfig } from 'axios';\n\nexport const useSearchOrganizationQuery = (\n params: OrganizationSearchRequestDto,\n options?: CustomQueryOptions<DspResponseOrganizationProfileResponse>,\n config?: AxiosRequestConfig\n) => {\n return useQuery({\n enabled: !!params.searchWord,\n retry: false,\n queryKey: ['searchOrganization', JSON.stringify(params)],\n queryFn: () => {\n return getOrganizationProfileListMethod(params, config);\n },\n ...options\n });\n};\n","import { AxiosRequestConfig } from 'axios';\n\nimport { HttpClientAxios } from '../../../client';\nimport { getServiceCode } from '../../method-util';\n\nimport type { DspResponseNationalityListResponseDto, NationalitySearchRequestDto } from './nationality-search.dto';\n\nexport const getNationalityListMethod = async (params: NationalitySearchRequestDto, config?: AxiosRequestConfig) => {\n const serviceCode = getServiceCode();\n const apiUrl = `${serviceCode}/api/dis/v1/get/codes/nationality-list`;\n const httpClient = new HttpClientAxios(config);\n const res = await httpClient.api.post<DspResponseNationalityListResponseDto>(apiUrl, params);\n\n return res.data;\n};\n","import { useQuery } from '@tanstack/react-query';\n\nimport { getNationalityListMethod } from './nationality-search.service';\n\nimport type { DspResponseNationalityListResponseDto, NationalitySearchRequestDto } from './nationality-search.dto';\nimport type { CustomQueryOptions } from '../../method.types';\nimport type { AxiosRequestConfig } from 'axios';\n\nexport const useSearchNationalityQuery = (\n params: NationalitySearchRequestDto,\n options?: CustomQueryOptions<DspResponseNationalityListResponseDto>,\n config?: AxiosRequestConfig\n) => {\n console.log('search nationality', params.searchKeyWord);\n\n return useQuery({\n enabled: !!params.searchKeyWord,\n retry: false,\n queryKey: ['searchNationality', JSON.stringify(params)],\n queryFn: () => {\n return getNationalityListMethod(params, config);\n },\n ...options\n });\n};\n","import { AxiosRequestConfig } from 'axios';\n\nimport { HttpClientAxios } from '../../../client';\nimport { getServiceCode } from '../../method-util';\n\nimport type { CustomerListRequestDto, DspResponseCustomerListResponseDto } from './customer-list-search.dto';\n\nexport const getCustomerListMethod = async (params: CustomerListRequestDto, config?: AxiosRequestConfig) => {\n const serviceCode = getServiceCode();\n const apiUrl = `${serviceCode}/api/dis/v1/get/customer-list`;\n const httpClient = new HttpClientAxios(config);\n const res = await httpClient.api.post<DspResponseCustomerListResponseDto>(apiUrl, params);\n\n return res.data;\n};\n","import { useQuery } from '@tanstack/react-query';\n\nimport { getCustomerListMethod } from './customer-list-search.service';\n\nimport type { CustomerListRequestDto, DspResponseCustomerListResponseDto } from './customer-list-search.dto';\nimport type { CustomQueryOptions } from '../../method.types';\nimport type { AxiosRequestConfig } from 'axios';\n\nexport const useSearchCustomerListQuery = (\n params: CustomerListRequestDto,\n options?: CustomQueryOptions<DspResponseCustomerListResponseDto>,\n config?: AxiosRequestConfig\n) => {\n return useQuery({\n enabled: !!params.customerName,\n retry: false,\n queryKey: ['searchCustomerList', JSON.stringify(params)],\n queryFn: () => {\n return getCustomerListMethod(params, config);\n },\n ...options\n });\n};\n","import { AxiosRequestConfig } from 'axios';\n\nimport { HttpClientAxios } from '../../../client';\nimport { getServiceCode } from '../../method-util';\n\nimport type { DspResponseRiskGradeResponseDto, RiskGradeRequestDto } from './risk-grade-search.dto';\n\nexport const getRiskGradeMethod = async (params: RiskGradeRequestDto, config?: AxiosRequestConfig) => {\n const serviceCode = getServiceCode();\n const apiUrl = `${serviceCode}/api/dis/v1/get/codes/risk-grade`;\n const httpClient = new HttpClientAxios(config);\n const res = await httpClient.api.post<DspResponseRiskGradeResponseDto>(apiUrl, params);\n\n return res.data;\n};\n","import { useQuery } from '@tanstack/react-query';\n\nimport { getRiskGradeMethod } from './risk-grade-search.service';\n\nimport type { DspResponseRiskGradeResponseDto, RiskGradeRequestDto } from './risk-grade-search.dto';\nimport type { CustomQueryOptions } from '../../method.types';\nimport type { AxiosRequestConfig } from 'axios';\n\nexport const useSearchRiskGradeQuery = (\n params: RiskGradeRequestDto,\n options?: CustomQueryOptions<DspResponseRiskGradeResponseDto>,\n config?: AxiosRequestConfig\n) => {\n return useQuery({\n enabled: !!params.occupationIndustryCode && !!params.vehicleTypeCode,\n retry: false,\n queryKey: ['searchRiskGrade', JSON.stringify(params)],\n queryFn: () => {\n return getRiskGradeMethod(params, config);\n },\n ...options\n });\n};\n","import { AxiosRequestConfig } from 'axios';\n\nimport { HttpClientAxios } from '../../../client';\nimport { getServiceCode } from '../../method-util';\n\nimport type {\n DspResponseListPersonalCustomerProfileResponseDto,\n PersonalCustomerProfileRequestDto\n} from './dea-customer-list-search.dto';\n\nexport const getDspCustomerListMethod = async (\n params: PersonalCustomerProfileRequestDto,\n config?: AxiosRequestConfig\n) => {\n const serviceCode = getServiceCode();\n const apiUrl = `${serviceCode}/api/dea/v1/get/participant/profile/customer/personal`;\n const httpClient = new HttpClientAxios(config);\n const res = await httpClient.api.post<DspResponseListPersonalCustomerProfileResponseDto>(apiUrl, params);\n\n return res.data;\n};\n","import { useQuery } from '@tanstack/react-query';\n\nimport { getDspCustomerListMethod } from './dea-customer-list-search.service';\n\nimport type {\n DspResponseListPersonalCustomerProfileResponseDto,\n PersonalCustomerProfileRequestDto\n} from './dea-customer-list-search.dto';\nimport type { CustomQueryOptions } from '../../method.types';\nimport type { AxiosRequestConfig } from 'axios';\n\nexport const useSearchDspCustomerListQuery = (\n params: PersonalCustomerProfileRequestDto,\n options?: CustomQueryOptions<DspResponseListPersonalCustomerProfileResponseDto>,\n config?: AxiosRequestConfig\n) => {\n return useQuery({\n enabled: !!params.customerName,\n retry: false,\n queryKey: ['searchDspCustomerList', JSON.stringify(params)],\n queryFn: () => {\n return getDspCustomerListMethod(params, config);\n },\n ...options\n });\n};\n","import { AxiosRequestConfig } from 'axios';\n\nimport { HttpClientAxios } from '../../../client';\nimport { getServiceCode } from '../../method-util';\n\nimport type { DspResponseVisaStatusListResponseDto } from './visa-search.dto';\n\nexport const getVisaListMethod = async (config?: AxiosRequestConfig) => {\n const serviceCode = getServiceCode();\n const apiUrl = `${serviceCode}/api/dis/v1/get/codes/visa-status-list`;\n const httpClient = new HttpClientAxios(config);\n const res = await httpClient.api.post<DspResponseVisaStatusListResponseDto>(apiUrl);\n\n return res.data;\n};\n","import { useQuery } from '@tanstack/react-query';\n\nimport { getVisaListMethod } from './visa-search.service';\n\nimport type { DspResponseVisaStatusListResponseDto } from './visa-search.dto';\nimport type { CustomQueryOptions } from '../../method.types';\nimport type { AxiosRequestConfig } from 'axios';\n\nexport const useSearchVisaQuery = (\n options?: CustomQueryOptions<DspResponseVisaStatusListResponseDto>,\n config?: AxiosRequestConfig\n) => {\n return useQuery({\n enabled: true,\n retry: false,\n queryKey: ['searchVisa'],\n queryFn: () => {\n return getVisaListMethod(config);\n },\n ...options\n });\n};\n","import { HttpClientAxios } from '../../client';\n\nimport { FpLoginResponseDto } from './login-dsp.dto';\n\n/**\n * @param userId 사번\n */\nexport const postLoginMethod = async (userId: number) => {\n console.log('userId', userId);\n const apiUrl = '/api/dat/v1/post/login';\n const httpClient = new HttpClientAxios({\n headers: {\n 'Debug-Refresh-Queue-Off': 'true'\n }\n });\n\n const res = await httpClient.api.post<FpLoginResponseDto>(apiUrl, {\n userId,\n channelType: 'DSP_TABLET'\n });\n\n return res.data;\n};\n","import { HttpClientAxios } from '../../client';\nimport { getServiceCode } from '../method-util';\n\nimport type { ApiConfig } from '../shared.dto';\nimport type {\n RemoteIdentityVerificationSystemTokenRequestDto,\n DspResponseRemoteIdentityVerificationSystemTokenResponseDto,\n RemoteIdentityVerificationSystemIdentificationCardRequestDto,\n DspResponseRemoteIdentityVerificationSystemIdentificationCardResponseDto\n} from './remote-identity-verification.dto';\n\n/**\n * 토큰 발급 API\n * @param params\n * @param axiosConfig\n * @returns\n */\nexport const getRemoteIdentityVerificationSystemToken = async (\n params: RemoteIdentityVerificationSystemTokenRequestDto,\n axiosConfig?: ApiConfig\n) => {\n const serviceCode = getServiceCode();\n const apiUrl = `${serviceCode}/api/dea/v1/post/participant/remote-identity-verification-system/token`;\n\n const response = await new HttpClientAxios({\n ...axiosConfig\n }).api.post<DspResponseRemoteIdentityVerificationSystemTokenResponseDto>(apiUrl, params);\n\n return response.data;\n};\n\n/**\n * 비대면 인증 시스템 신분증 진위확인 API\n * @param params 진위확인 요청 파라미터\n * @param axiosConfig API 설정\n * @returns 신분증 진위확인 응답 데이터\n */\nexport const confirmRemoteIdentityVerificationSystemIdentificationCard = async (\n params: RemoteIdentityVerificationSystemIdentificationCardRequestDto,\n axiosConfig?: ApiConfig\n) => {\n const serviceCode = getServiceCode();\n const apiUrl = `${serviceCode}/api/dea/v1/post/participant/remote-identity-verification-system/identification-card/confirm`;\n\n const response = await new HttpClientAxios({\n ...axiosConfig\n }).api.post<DspResponseRemoteIdentityVerificationSystemIdentificationCardResponseDto>(apiUrl, params);\n\n return response.data;\n};\n","import { useMutation } from '@tanstack/react-query';\n\nimport { CustomMutationOptions } from '../method.types';\n\nimport {\n RemoteIdentityVerificationSystemIdentificationCardResponseDto,\n RemoteIdentityVerificationSystemIdentificationCardRequestDto\n} from './remote-identity-verification.dto';\nimport { confirmRemoteIdentityVerificationSystemIdentificationCard } from './remote-identity-verification.service';\n\n/**\n * 비대면 인증 시스템 신분증 진위확인 Mutation\n * @param options\n * @returns\n */\nexport const useConfirmRemoteIdentityVerificationSystemIdentificationCardMutation = (\n options?: CustomMutationOptions<\n RemoteIdentityVerificationSystemIdentificationCardResponseDto,\n RemoteIdentityVerificationSystemIdentificationCardRequestDto\n >\n) => {\n return useMutation({\n mutationKey: ['confirmRemoteIdentityVerificationSystemIdentificationCard'],\n mutationFn: async (params) => {\n const response = await confirmRemoteIdentityVerificationSystemIdentificationCard(params);\n\n if (response.isSuccess === false) {\n throw new Error(`${response.code}: ${response.message}`);\n }\n\n return response.data;\n },\n ...options\n });\n};\n","import { AxiosRequestConfig } from 'axios';\n\nimport { HttpClientAxios } from '../../client';\nimport { getServiceCode } from '../method-util';\n\nimport type { CommonCodeRequestDto, DspResponseCommonCodeResponseDto } from './common-code-search.dto';\n\nexport const getCommonCodeListMethod = async (param: CommonCodeRequestDto, config?: AxiosRequestConfig) => {\n const serviceCode = getServiceCode();\n const apiUrl = `${serviceCode}/api/dea/v1/get/common-code/list`;\n const httpClient = new HttpClientAxios(config);\n const res = await httpClient.api.post<DspResponseCommonCodeResponseDto>(apiUrl, param);\n\n return res.data;\n};\n","import { useQuery } from '@tanstack/react-query';\n\nimport { CustomQueryOptions } from '../method.types';\n\nimport { getCommonCodeListMethod } from './common-code-search.service';\n\nimport type { CommonCodeRequestDto, DspResponseCommonCodeResponseDto } from './common-code-search.dto';\nimport type { AxiosRequestConfig } from 'axios';\n\nexport const useSearchCommonCodeQuery = (\n param: CommonCodeRequestDto,\n options?: CustomQueryOptions<DspResponseCommonCodeResponseDto>,\n config?: AxiosRequestConfig\n) => {\n return useQuery({\n enabled: !!param.commonCodeId,\n retry: false,\n queryKey: ['searchCommonCode', param.commonCodeId],\n queryFn: () => {\n return getCommonCodeListMethod(param, config);\n },\n ...options\n });\n};\n","import { HttpClientAxios } from '../../client';\nimport { getServiceCode } from '../method-util';\n\nimport type { ApiConfig } from '../shared.dto';\nimport type { DspResponseUserProfileResponseDto } from './app-config.dto';\n\n/**\n * FP 기본 정보를 조회합니다.\n * @param axiosConfig\n * @returns\n */\nexport const getUserProfile = async (axiosConfig?: ApiConfig) => {\n const serviceCode = getServiceCode();\n const apiUrl = `${serviceCode}/api/dat/v1/get/user/profile`;\n\n const response = await new HttpClientAxios({\n ...axiosConfig\n }).api.post<DspResponseUserProfileResponseDto>(apiUrl);\n\n return response.data;\n};\n","import { getDudApiHostNameFromEnvironment, getExt } from 'sales-frontend-utils';\n\nimport { HttpClientAxios } from '../../client';\nimport { getServiceCode } from '../method-util';\n\nimport type {\n DownloadType,\n FileUploadExternalRequestDto,\n FileUploadExternalResponseDto\n} from './dud-external-file.dto';\nimport type { AxiosRequestConfig } from 'axios';\n\nconst getDayDiffFromToday = (date: Date) => {\n const diff = date.getTime() - new Date().getTime();\n\n return Math.floor(diff / (1000 * 60 * 60 * 24));\n};\n\nexport const postFileUploadMethod = async (params: FileUploadExternalRequestDto, config?: AxiosRequestConfig) => {\n const apiUrl = `${getDudApiHostNameFromEnvironment(getServiceCode(), location.hostname)}/v1/post/file`;\n const formData = new FormData();\n\n if (params.data instanceof File) {\n formData.append('data', params.data, params.name || params.data.name);\n } else if (params.data instanceof Blob) {\n formData.append('data', params.data, params.name || `dud-file.${getExt(params.data)}`);\n }\n\n params.fileIdentifierValue && formData.append('fileIdentifierValue', params.fileIdentifierValue);\n params.fileExtendContent1 && formData.append('fileExtendContent1', params.fileExtendContent1);\n params.fileExtendContent2 && formData.append('fileExtendContent2', params.fileExtendContent2);\n\n /**\n * expireDate , preservationTerm 중에 1가지만\n */\n params.expireDate &&\n formData.append('preservationTerm', (getDayDiffFromToday(params.expireDate) + 1).toString() || '1');\n params.preservationTerm && formData.append('preservationTerm', params.preservationTerm.toString() || '1');\n\n /**\n * 파일/blot객체에서 자동추출하도록 수정\n */\n formData.append('fileType', params.fileType || params.data.type.split('/').pop() || 'png');\n\n const httpClient = new HttpClientAxios(config);\n\n /**\n *\n * \"isSuccess\": true,\n * \"code\": \"nxl-dsp-dud-erro-5801\",\n * \"message\": \"파일 업로드 가능 확장자는 <br/>ozd, png, jpg, gif, pdf, json, xml, txt 입니다.\"\n *\n * @description \"isSuccess\": true, 이지만 실패처리인 케이스에 대한 별도 interceptor 처리가 필요\n */\n httpClient.api.interceptors.response.use((response) => {\n const { data } = response;\n\n if (data.isSuccess === true && data.code.includes('erro')) {\n return Promise.reject(response);\n }\n\n return response;\n });\n\n const res = await httpClient.api.post<FileUploadExternalResponseDto>(apiUrl, formData);\n\n return res.data;\n};\n\nexport async function postFileDownloadMethod<T extends 'BASE64' | 'BINARY'>(\n params: { fileMgmtId: string; outputType: T },\n config?: AxiosRequestConfig\n) {\n const apiUrl = `${getServiceCode()}/api/dud/v1/get/file`;\n\n const httpClient = new HttpClientAxios({\n ...config,\n ...(params.outputType === 'BINARY' && { responseType: 'blob' })\n });\n httpClient.api.interceptors.response.use((response) => {\n const { data } = response;\n\n if (params.outputType === 'BINARY' && !(data instanceof Blob)) {\n return Promise.reject(response);\n }\n\n if (params.outputType === 'BASE64' && data.code.includes('erro')) {\n return Promise.reject(response);\n }\n\n return response;\n });\n\n /**\n * FileExternalRequestDto 의 outputType 에 따라 returnType이 상이\n * outputType = 'BASE64' 이면 returnType 이 FileExternalResponseDto\n * outputType = 'BINARY' 이면 File\n */\n const res = await httpClient.api.post<DownloadType<T>>(apiUrl, params);\n\n return res.data;\n}\n","import { useMutation, useQuery } from '@tanstack/react-query';\n\nimport { postFileDownloadMethod, postFileUploadMethod } from './dud-external-file.service';\n\nimport type { CustomMutationOptions, CustomQueryOptions } from '../method.types';\nimport type {\n DownloadType,\n FileUploadExternalRequestDto,\n FileUploadExternalResponseDto\n} from './dud-external-file.dto';\nimport type { AxiosRequestConfig } from 'axios';\n\nexport const useDudExternalFileUploadQuery = (\n params: FileUploadExternalRequestDto,\n options?: CustomQueryOptions<FileUploadExternalResponseDto>,\n config?: AxiosRequestConfig\n) => {\n return useQuery({\n enabled: !!params,\n retry: false,\n queryKey: ['postFileUploadMethod', JSON.stringify(params)],\n queryFn: () => {\n return postFileUploadMethod(params, config);\n },\n ...options\n });\n};\n\nexport const useDudExternalFileUploadMutation = (\n options?: CustomMutationOptions<FileUploadExternalResponseDto, FileUploadExternalRequestDto>,\n config?: AxiosRequestConfig\n) => {\n return useMutation({\n mutationFn: (params: FileUploadExternalRequestDto) => postFileUploadMethod(params, config),\n ...options\n });\n};\n\nexport const useDudExternalFileDownloadQuery = <T extends 'BASE64' | 'BINARY'>(\n params: {\n fileMgmtId: string;\n outputType: T;\n },\n options?: CustomQueryOptions<DownloadType<T>>,\n config?: AxiosRequestConfig\n) => {\n return useQuery({\n enabled: !!params,\n retry: false,\n queryKey: ['postFileDownloadMethod', JSON.stringify(params)],\n queryFn: () => postFileDownloadMethod(params, config),\n ...options\n });\n};\n"]}
1
+ {"version":3,"sources":["../src/http-methods/method-util.ts","../src/http-client/cookie/cookie-client.ts","../src/http-client/header/header.types.ts","../src/http-client/header/header-manager.ts","../src/http-client/axios/http-client-axios.ts","../src/http-client/auth/auth-client.ts","../src/http-methods/sample/sample.service.ts","../src/http-methods/search-modal/address/address-search.service.ts","../src/http-methods/search-modal/address/use-search-address-query.ts","../src/http-methods/search-modal/address/postal-code.service.ts","../src/http-methods/search-modal/address/use-search-postal-code-query.ts","../src/http-methods/search-modal/address/address-standardization.service.ts","../src/http-methods/search-modal/address/use-search-address-standardization-query.ts","../src/http-methods/search-modal/occupation/occupation-search.service.ts","../src/http-methods/search-modal/occupation/use-search-occupation-query.ts","../src/http-methods/search-modal/vehicle/vehicle-search.service.ts","../src/http-methods/search-modal/vehicle/use-search-vehicle-query.ts","../src/http-methods/search-modal/employee/employee-search.service.ts","../src/http-methods/search-modal/employee/use-search-employee-profile-query.ts","../src/http-methods/search-modal/organization/organization-search.service.ts","../src/http-methods/search-modal/organization/use-search-organization-query.ts","../src/http-methods/search-modal/nationality/nationality-search.service.ts","../src/http-methods/search-modal/nationality/use-search-nationality-query.ts","../src/http-methods/search-modal/customer-list/customer-list-search.service.ts","../src/http-methods/search-modal/customer-list/use-search-customer-list-query.ts","../src/http-methods/search-modal/risk-grade/risk-grade-search.service.ts","../src/http-methods/search-modal/risk-grade/use-search-risk-grade-query.ts","../src/http-methods/search-modal/dea-customer-list/dea-customer-list-search.service.ts","../src/http-methods/search-modal/dea-customer-list/use-search-dea-customer-list-query.ts","../src/http-methods/search-modal/visa/visa-search.service.ts","../src/http-methods/search-modal/visa/use-search-visa-query.ts","../src/http-methods/fp-login/login-dsp.service.ts","../src/http-methods/remote-identity-verification/remote-identity-verification.service.ts","../src/http-methods/remote-identity-verification/use-remote-identity-verification-query.tsx","../src/http-methods/common-code/common-code-search.service.ts","../src/http-methods/common-code/use-search-common-code-query.ts","../src/http-methods/app-config/app-config.service.ts","../src/http-methods/dud-external-file/dud-external-file.service.ts","../src/http-methods/dud-external-file/use-dud-external-file-query.ts"],"names":["axios","config","addRequestLog","useClientSessionStore","addResponseLog","addErrorLog","error","isDspApp","Bridge","getDspExecutionEnvironment","getDspApiHostNameFromEnvironment","useQuery","useMutation","getDudApiHostNameFromEnvironment","getExt"],"mappings":"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","file":"method.cjs","sourcesContent":["export const getServiceCode = () => {\n // @ts-ignore\n if (typeof window.isStorybookEnv === 'boolean') {\n return '';\n } else {\n return `/${location.pathname.split('/')[1]}`;\n }\n};\n","/**\n * 클라이언트용 쿠키 함수\n */\nexport const cookieClient = {\n getCookie(name: string): string {\n if (typeof document === 'undefined') {\n return '';\n }\n const match = document.cookie.match(new RegExp(`(^|; *)${name}=([^;]*)`));\n\n return match ? decodeURIComponent(match[2] || '') : '';\n },\n\n setCookie(\n name: string,\n value: string,\n options: {\n expires?: number | Date; // number of days\n path?: string;\n domain?: string;\n secure?: boolean;\n } = {}\n ): void {\n if (typeof document === 'undefined') {\n return;\n }\n\n let cookieString = `${name}=${encodeURIComponent(value)}`;\n\n if (options.expires) {\n let expiresDate: Date;\n if (typeof options.expires === 'number') {\n expiresDate = new Date();\n expiresDate.setDate(expiresDate.getDate() + options.expires);\n } else {\n expiresDate = options.expires;\n }\n cookieString += `; expires=${expiresDate.toUTCString()}`;\n }\n\n cookieString += `; path=${options.path || '/'}`;\n\n if (options.domain) {\n cookieString += `; domain=${options.domain}`;\n }\n\n if (options.secure) {\n cookieString += '; secure';\n }\n\n document.cookie = cookieString;\n },\n deleteCookie(name: string, options: { path?: string; domain?: string } = {}): void {\n cookieClient.setCookie(name, '', { ...options, expires: -1 });\n }\n};\n","/**\n * @see https://loop.cloud.microsoft/p/eyJ3Ijp7InUiOiJodHRwczovL2hhbndoYWxpZmVtMzY1LnNoYXJlcG9pbnQuY29tLz9uYXY9Y3owbE1rWW1aRDFpSVVVd1FXdDJSbGhSV0VWUE1tUkNYMWhUZW5KWVVFdFBSVXByYWs1b1NrSlBjRk4wYm5wNmNsWmpMVUZ5YjI1UlJWOVdSREpUV25aeWVUUTJTV2swUlZrbVpqMHdNVk5OVGtkR1JsTkJXVE0xVVZaQ1ZrRkVRa1ZaVEVoRVNUSTBXRXhVVlZoV0ptTTlKbVpzZFdsa1BURSUzRCIsInIiOmZhbHNlfSwicCI6eyJ1IjoiaHR0cHM6Ly9oYW53aGFsaWZlbTM2NS5zaGFyZXBvaW50LmNvbS9jb250ZW50c3RvcmFnZS9DU1BfYmMyNDQwMTMtZDA1NS00MzVjLWI2NzQtMWZkNzRiM2FkNzNjLyVFQiVBQyVCOCVFQyU4NCU5QyUyMCVFQiU5RCVCQyVFQyU5RCVCNCVFQiVCOCU4QyVFQiU5RiVBQyVFQiVBNiVBQy9Mb29wQXBwRGF0YS8wOS0yLiUyMEJyaWRnZSUyMFNwZWMlMjAxLmxvb3A%2FbmF2PWN6MGxNa1pqYjI1MFpXNTBjM1J2Y21GblpTVXlSa05UVUY5aVl6STBOREF4TXkxa01EVTFMVFF6TldNdFlqWTNOQzB4Wm1RM05HSXpZV1EzTTJNbVpEMWlJVVV3UVd0MlJsaFJXRVZQTW1SQ1gxaFRlbkpZVUV0UFJVcHJhazVvU2tKUGNGTjBibnA2Y2xaakxVRnliMjVSUlY5V1JESlRXblp5ZVRRMlNXazBSVmttWmowd01WTk5Ua2RHUmxGRlYxTlFOelpMUWtsTFdrWkpXVUUzU1ZkWldGTklWa0ZUSm1NOUpUSkdKbVpzZFdsa1BURSUzRCIsInIiOmZhbHNlfSwiaSI6eyJpIjoiNTdkZmVhM2QtZDA2Yi00YWRlLWIxZjEtYjE4NDA4MmNlN2VjIn19\n */\nexport const customHeaderNames = [\n 'Accept-Language',\n 'DeviceId',\n 'LoginType',\n 'PlatformName',\n 'PlatformVersion',\n 'AppVersion',\n 'DeviceModel',\n 'FormFactor',\n 'LoginChannel'\n];\n\nexport const AT = 'AT';\nexport type GetterSync = (keyName: string) => string;\nexport type SetterSync = (keyName: string, value: string) => void;\n\nexport type GetterAsync = (keyName: string) => Promise<string> | string;\nexport type SetterAsync = (keyName: string, value: string) => Promise<void> | void;\n","import { AT, customHeaderNames, GetterSync, SetterSync } from './header.types';\n\nexport class HeaderManager {\n private getter: GetterSync;\n private setter: SetterSync;\n\n constructor(getter: GetterSync, setter: SetterSync) {\n this.getter = getter;\n this.setter = setter;\n }\n\n /**\n * 커스텀 헤더를 동기적으로 설정합니다.\n */\n setCustomHeaders(): void {\n customHeaderNames.forEach((headerName) => {\n const customHeaderKey = `X-Channel-${headerName}`;\n const headerValue = this.getter(customHeaderKey);\n if (headerValue) {\n this.setter(customHeaderKey, headerValue);\n }\n });\n }\n\n /**\n * 인증 토큰을 동기적으로 설정합니다.\n */\n setAuthToken(): void {\n const token = this.getter(AT);\n if (token) {\n this.setter('Authorization', `Bearer ${token}`);\n }\n }\n\n /**\n * 모든 헤더를 동기적으로 설정합니다.\n */\n setAllHeaders(): void {\n this.setCustomHeaders();\n this.setAuthToken();\n }\n}\n","import axios from 'axios';\nimport { addErrorLog, addRequestLog, addResponseLog } from 'sales-frontend-debug';\nimport { useClientSessionStore } from 'sales-frontend-stores';\n\nimport { AuthClient } from '../auth/auth-client';\nimport { cookieClient } from '../cookie/cookie-client';\nimport { HeaderManager } from '../header/header-manager';\n\nimport type { AxiosQueueType } from './types';\nimport type { AxiosError, AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';\nlet isRefreshed = true;\nconst axiosQueue: AxiosQueueType[] = [];\n\n/**\n * 쿠키에서 값을 가져오고, 없으면 기본값을 쿠키에 설정 후 반환하는 헬퍼 함수\n * @param key 쿠키 키\n * @param defaultValue 쿠키 값이 없을 때 사용할 기본값\n * @returns 쿠키 값 또는 기본값\n */\nconst getOrSetCookie = (key: string, defaultValue: string): string => {\n let value = cookieClient.getCookie(key);\n if (!value) {\n value = defaultValue;\n cookieClient.setCookie(key, value, { path: '/' });\n }\n\n return value;\n};\n\n/**\n * 전자청약\n * CSR용 http-client 입니다.\n * cookie , redirect , tokem 처리 방식은 CSR 환경에 맞게 구현됩니다.\n */\nexport class HttpClientAxios {\n config: AxiosRequestConfig;\n headerManager: HeaderManager;\n\n /**\n * axios의 request interceptor 동작시, 헤더에 주입될 헤더의 key,value\n */\n headers: Record<string, string> = {};\n\n /**\n * api연동을 수행할 실제 객체(axios, fetch 등의 다른 라이브러리로 교체가능한 영역)\n * 현재 버전에서는 axios를 사용하여 구현됨.\n */\n api: AxiosInstance;\n constructor(config: AxiosRequestConfig = {}) {\n this.config = config;\n\n /**\n * 헤더매니저 셋팅\n */\n const getter: HeaderManager['getter'] = (key) => {\n return cookieClient.getCookie(key);\n };\n const setter: HeaderManager['setter'] = (key, value) => {\n if (config?.headers) {\n config.headers[key] = value;\n }\n };\n this.headerManager = new HeaderManager(getter, setter);\n\n /**\n * api수행객체 최초 생성,\n * 공통으로 적용할 설정값이 있는경우 셋팅\n */\n this.api = axios.create({\n withCredentials: true,\n ...config\n });\n\n /**\n * 인터셉터 요청 처리\n */\n this.api.interceptors.request.use(\n async (config) => {\n const debugMode = cookieClient.getCookie('dsp-debug-mode') === 'on';\n\n /** 디버깅용 로그 */\n await addRequestLog(config);\n\n const debugRefreshQueueOff = config.headers?.['Debug-Refresh-Queue-Off'] === 'true';\n if (debugRefreshQueueOff) {\n isRefreshed = true;\n }\n\n /**\n * AT토큰 주입\n */\n const authClient = new AuthClient();\n const authorization = await authClient.getAT();\n console.log('authorization', authorization);\n if (authorization) {\n config.headers['Authorization'] = authorization;\n }\n\n if (debugMode) {\n console.log('debugMode header setting!');\n /**\n * 주소가 debugMode 경우 테스트용 헤더 삽입\n */\n config.headers['x-channel-appversion'] = getOrSetCookie('x-channel-appversion', '3.1');\n config.headers['x-channel-deviceid'] = getOrSetCookie('x-channel-deviceid', 'deviceid');\n config.headers['x-channel-devicemodel'] = getOrSetCookie('x-channel-devicemodel', 'iPHONE13');\n config.headers['x-channel-formfactor'] = getOrSetCookie('x-channel-formfactor', 'Phone');\n config.headers['x-channel-loginchannel'] = getOrSetCookie('x-channel-loginchannel', 'DSP');\n config.headers['x-channel-logintype'] = getOrSetCookie('x-channel-logintype', 'ONPA_PIN');\n config.headers['x-channel-platformname'] = getOrSetCookie('x-channel-platformname', 'IOS');\n config.headers['x-channel-platformversion'] = getOrSetCookie('x-channel-platformversion', '15.4.1');\n config.headers['x-channel-screenid'] = getOrSetCookie('x-channel-screenid', location.pathname);\n config.headers['x-channel-business-work-division-code'] = getOrSetCookie(\n 'x-channel-business-work-division-code',\n 'DEA'\n );\n } else {\n const session = useClientSessionStore.getState().clientSession;\n\n config.headers['x-channel-appversion'] = session.appVersion;\n config.headers['x-channel-deviceid'] = session.deviceId;\n config.headers['x-channel-devicemodel'] = session.deviceModel;\n config.headers['x-channel-formfactor'] = session.formFactor;\n config.headers['x-channel-loginchannel'] = session.loginChannel;\n config.headers['x-channel-logintype'] = session.loginType;\n config.headers['x-channel-platformname'] = session.platformName;\n config.headers['x-channel-platformversion'] = session.platformVersion;\n config.headers['x-channel-screenid'] = location.pathname;\n config.headers['x-channel-business-work-division-code'] = session.businessWorkDivisionCode;\n }\n\n /**\n * 커스텀헤더 주입\n */\n // this.headerManager.setCustomHeaders();\n /**\n *\n * this.headers설정된 값을 config headers에 주입\n */\n const headerEntries = Object.entries(this.headers);\n headerEntries.forEach(([key, value]) => {\n if (config?.headers) {\n config.headers[key] = value;\n }\n });\n\n /**\n * isRefreshed가 false이면(= 에러발생하여 token재발행중을 의미)\n * 새로운 요청들을 처리하지 않고,큐에 저장\n * 401에러 Queue처리 Request interceptor 등록\n */\n if (!isRefreshed) {\n return new Promise((resolve, reject) => {\n axiosQueue.push({ resolve, reject, config });\n }).then(() => config);\n }\n\n return config;\n },\n (error) => {\n return Promise.reject(error);\n }\n );\n\n /**\n * 인터셉터 응답 처리\n */\n this.api.interceptors.response.use(\n async (response: AxiosResponse) => {\n /** 디버깅용 로그 */\n await addResponseLog(response);\n if (response.data.isSuccess === false) {\n /**\n * 200 응답이라도 , isSuccess === false인 경우 에러로 reject\n */\n return Promise.reject(response);\n }\n\n return response;\n },\n async (error: AxiosError) => {\n /** 디버깅용 로그 */\n await addErrorLog(error);\n\n const originalRequest = error.config;\n const debugRefreshQueueOff = config.headers?.['Debug-Refresh-Queue-Off'] === 'true';\n /**\n * 401에러 Queue처리\n */\n if (error.response?.status === 401 && !debugRefreshQueueOff) {\n isRefreshed = false;\n const client = new AuthClient();\n client\n .refreshToken()\n .then(() => {\n /**\n * 토큰 갱신 성공, 플래그를 true로 설정\n */\n isRefreshed = true;\n\n /**\n * 큐에 쌓여있던 모든 요청 재시도\n */\n while (axiosQueue.length > 0) {\n const p = axiosQueue.shift(); // axiosQueue에서 첫 번째 요소를 제거하고 반환합니다.\n if (p) {\n /**\n * api 인스턴스를 통해 요청을 재시도합니다. 따라서 재요청들은 다시 인터셉터를 타게 됩니다.\n * 신규토큰을 주입받고 정상처리\n * @todo 재시도후 reject시에는 로그인페이지로 보내는 브릿지 함수를 호출하도록 처리가 필요해보임.\n *\n * @note 11/07 : 무한루프이슈 해결을 위해 , 새로운 인스턴스를 사용하도록 수정\n */\n axios(p.config)\n .then((response) => p.resolve(response))\n .catch((err) => p.reject(err));\n }\n }\n })\n .catch((error) => {\n /**\n * 토큰 재발행중 에러 발생한 경우 처리\n * @todo 로그인페이지 이동(?)\n */\n return Promise.reject(error);\n });\n\n return new Promise((resolve, reject) => {\n if (originalRequest) {\n axiosQueue.push({ resolve, reject, config: originalRequest });\n }\n });\n } else {\n return Promise.reject(error);\n }\n }\n );\n }\n\n setHeaders(headers: Record<string, string>) {\n this.headers = {\n ...this.headers,\n ...headers\n };\n }\n}\n","import { Bridge } from 'sales-frontend-bridge';\nimport { isDspApp } from 'sales-frontend-utils';\nimport { getDspExecutionEnvironment } from 'sales-frontend-utils';\n\nimport { getServiceCode } from '../../http-methods/method-util';\nimport { HttpClientAxios } from '../axios/http-client-axios';\nimport { cookieClient } from '../cookie/cookie-client';\n\nexport class AuthClient {\n defaultTokenType = 'Bearer';\n /**\n * App인지 확인\n * @returns boolean\n */\n isApp() {\n return isDspApp();\n }\n\n getAuthorizationFromCookie() {\n const accessToken = cookieClient.getCookie('accessToken');\n\n return accessToken ? `${this.defaultTokenType} ${accessToken}` : undefined;\n }\n\n async getAuthorizationFromBridge() {\n const { tokenType, accessToken } = await Bridge.native.getAccessToken();\n\n return accessToken ? `${tokenType || this.defaultTokenType} ${accessToken}` : undefined;\n }\n\n /**\n *\n * @returns Promise<string | undefined>\n */\n async getAT(): Promise<string | undefined> {\n const debugMode = cookieClient.getCookie('dsp-debug-mode') === 'on';\n\n /**\n * debugMode 경우 cookie에서 'AT' 를 읽어온다.\n */\n if (debugMode) {\n console.log('debugMode token setting!');\n\n return this.getAuthorizationFromCookie();\n }\n\n if (this.isApp()) {\n return await this.getAuthorizationFromBridge();\n } else {\n /**\n * DSP 앱 외에는 쿠키 참조\n */\n return this.getAuthorizationFromCookie();\n }\n }\n\n /**\n * RT를 이용하여 신규 AT/RT발행\n * 기존토큰은 무효화처리\n * 쿠키에 저장.\n */\n async refreshToken(): Promise<void> {\n if (!this.isApp()) {\n // 신규 앱 외에는 내부 api 호출로 토큰 갱신\n const httpClient = new HttpClientAxios({});\n\n await httpClient.api.post(`${getServiceCode()}/internal/api/auth/refresh`);\n\n // 영업 포털 환경일 경우 세션연장 이벤트 발생(to 부모)\n if (getDspExecutionEnvironment() === 'iframe') {\n Bridge.iframe.dspKeepCallerSession();\n }\n }\n }\n}\n","import { HttpClientAxios } from '../../client';\n\nimport type { TestResponse } from './sample.dto';\nimport type { AxiosRequestConfig } from 'axios';\n\ninterface TestRequest {\n id?: number;\n config?: AxiosRequestConfig;\n setupFn?: (httpClient: HttpClientAxios) => void;\n}\nexport const getTestMethod = async ({ id, config, setupFn }: TestRequest) => {\n const testAPI = `https://jsonplaceholder.typicode.com/users/${id}`;\n\n const httpClient = new HttpClientAxios(config);\n\n const res = await httpClient.api.get<TestResponse>(testAPI);\n\n return res.data;\n};\n","import { getDspApiHostNameFromEnvironment } from 'sales-frontend-utils';\n\nimport { HttpClientAxios } from '../../../client';\n\nimport type { AddressListRequestDto, DspResponseAddressListResponseDto } from './address-search.dto';\nimport type { AxiosRequestConfig } from 'axios';\n\nexport const getAddressListMethod = async (params: AddressListRequestDto, config?: AxiosRequestConfig) => {\n const apiUrl = `${getDspApiHostNameFromEnvironment('dis')}/v1/get/codes/address-list`;\n const httpClient = new HttpClientAxios(config);\n\n const res = await httpClient.api.post<DspResponseAddressListResponseDto>(apiUrl, params);\n\n return res.data;\n};\n","import { useQuery } from '@tanstack/react-query';\n\nimport { getAddressListMethod } from './address-search.service';\n\nimport type { AddressListRequestDto, DspResponseAddressListResponseDto } from './address-search.dto';\nimport type { CustomQueryOptions } from '../../method.types';\nimport type { AxiosRequestConfig } from 'axios';\n\nexport const useSearchAddressQuery = (\n params: AddressListRequestDto,\n options?: CustomQueryOptions<DspResponseAddressListResponseDto>,\n config?: AxiosRequestConfig\n) => {\n return useQuery({\n enabled: !!params.searchKeyWord,\n retry: false,\n queryKey: ['searchAddress', JSON.stringify(params)],\n queryFn: () => {\n return getAddressListMethod(params, config);\n },\n ...options\n });\n};\n","import { getDspApiHostNameFromEnvironment } from 'sales-frontend-utils';\n\nimport { HttpClientAxios } from '../../../client';\n\nimport type { AddressPostalCodeRequestDto, DspResponseAddressPostalCodeResponseDto } from './postal-code.dto';\nimport type { AxiosRequestConfig } from 'axios';\n\nexport const getAddressPostalCodeMethod = async (params: AddressPostalCodeRequestDto, config?: AxiosRequestConfig) => {\n const apiUrl = `${getDspApiHostNameFromEnvironment('dis')}/v1/get/codes/address/postal-code`;\n const httpClient = new HttpClientAxios(config);\n const res = await httpClient.api.post<DspResponseAddressPostalCodeResponseDto>(apiUrl, params);\n\n return res.data;\n};\n","import { useQuery } from '@tanstack/react-query';\n\nimport { getAddressPostalCodeMethod } from './postal-code.service';\n\nimport type { AddressPostalCodeRequestDto, DspResponseAddressPostalCodeResponseDto } from './postal-code.dto';\nimport type { CustomQueryOptions } from '../../method.types';\nimport type { AxiosRequestConfig } from 'axios';\n\nexport const useSearchPostalCodeQuery = (\n params: AddressPostalCodeRequestDto,\n options?: CustomQueryOptions<DspResponseAddressPostalCodeResponseDto>,\n config?: AxiosRequestConfig\n) => {\n return useQuery({\n enabled: !!params.searchWordName,\n retry: false,\n queryKey: ['searchPostalCode', JSON.stringify(params)],\n queryFn: () => {\n return getAddressPostalCodeMethod(params, config);\n },\n ...options\n });\n};\n","import { getDspApiHostNameFromEnvironment } from 'sales-frontend-utils';\n\nimport { HttpClientAxios } from '../../../client';\n\nimport type {\n AddressStandardizationListRequestDto,\n DspResponseAddressStandardizationListResponseDto\n} from './address-standardization.dto';\nimport type { AxiosRequestConfig } from 'axios';\n\nexport const getAddressStandardizationListMethod = async (\n params: AddressStandardizationListRequestDto,\n config?: AxiosRequestConfig\n) => {\n const apiUrl = `${getDspApiHostNameFromEnvironment('dis')}/v1/get/codes/address-standardization-list`;\n const httpClient = new HttpClientAxios(config);\n const res = await httpClient.api.post<DspResponseAddressStandardizationListResponseDto>(apiUrl, params);\n\n return res.data;\n};\n","import { useQuery } from '@tanstack/react-query';\n\nimport { getAddressStandardizationListMethod } from './address-standardization.service';\n\nimport type {\n AddressStandardizationListRequestDto,\n DspResponseAddressStandardizationListResponseDto\n} from './address-standardization.dto';\nimport type { CustomQueryOptions } from '../../method.types';\nimport type { AxiosRequestConfig } from 'axios';\n\nexport const useSearchAddressStandardizationQuery = (\n params: AddressStandardizationListRequestDto,\n options?: CustomQueryOptions<DspResponseAddressStandardizationListResponseDto>,\n config?: AxiosRequestConfig\n) => {\n return useQuery({\n enabled: !!params.baseAddress,\n retry: false,\n queryKey: ['searchAddressStandardization', JSON.stringify(params)],\n queryFn: () => {\n return getAddressStandardizationListMethod(params, config);\n },\n ...options\n });\n};\n","import { AxiosRequestConfig } from 'axios';\nimport { getDspApiHostNameFromEnvironment } from 'sales-frontend-utils';\n\nimport { HttpClientAxios } from '../../../client';\n\nimport type {\n DspResponseOccupationDetailResponseDto,\n DspResponseOccupationListResponseDto,\n OccupationDetailRequestDto,\n OccupationListRequestDto\n} from './occupation-search.dto';\n\n/**\n * @description 직종 목록 조회\n */\nexport const getOccupationListMethod = async (params: OccupationListRequestDto, config?: AxiosRequestConfig) => {\n const apiUrl = `${getDspApiHostNameFromEnvironment('dis')}/v1/get/codes/occupation-list`;\n const httpClient = new HttpClientAxios(config);\n const res = await httpClient.api.post<DspResponseOccupationListResponseDto>(apiUrl, params);\n\n return res.data;\n};\n\n/**\n * @description 직종 상세 조회\n */\nexport const getOccupationDetailMethod = async (params: OccupationDetailRequestDto, config?: AxiosRequestConfig) => {\n const apiUrl = `${getDspApiHostNameFromEnvironment('dis')}/v1/get/codes/occupation/detail`;\n const httpClient = new HttpClientAxios(config);\n const res = await httpClient.api.post<DspResponseOccupationDetailResponseDto>(apiUrl, params);\n\n return res.data;\n};\n","import { useQuery } from '@tanstack/react-query';\n\nimport { getOccupationDetailMethod, getOccupationListMethod } from './occupation-search.service';\n\nimport type {\n DspResponseOccupationDetailResponseDto,\n DspResponseOccupationListResponseDto,\n OccupationDetailRequestDto,\n OccupationListRequestDto\n} from './occupation-search.dto';\nimport type { CustomQueryOptions } from '../../method.types';\nimport type { AxiosRequestConfig } from 'axios';\n\n/**\n * @description 직종 목록 조회 쿼리\n */\nexport const useSearchOccupationQuery = (\n params: OccupationListRequestDto,\n options?: CustomQueryOptions<DspResponseOccupationListResponseDto>,\n config?: AxiosRequestConfig\n) => {\n return useQuery({\n enabled: true,\n retry: false,\n queryKey: ['searchOccupationList', JSON.stringify(params)],\n queryFn: () => {\n return getOccupationListMethod(params, config);\n },\n ...options\n });\n};\n\n/**\n * @description 직종 상세 조회 쿼리\n */\nexport const useSearchOccupationDetailQuery = (\n params: OccupationDetailRequestDto,\n options?: CustomQueryOptions<DspResponseOccupationDetailResponseDto>,\n config?: AxiosRequestConfig\n) => {\n return useQuery({\n enabled: true,\n retry: false,\n queryKey: ['searchOccupationDetail', JSON.stringify(params)],\n queryFn: () => {\n return getOccupationDetailMethod(params, config);\n },\n ...options\n });\n};\n","import { AxiosRequestConfig } from 'axios';\nimport { getDspApiHostNameFromEnvironment } from 'sales-frontend-utils';\n\nimport { HttpClientAxios } from '../../../client';\n\nimport type { DspResponseVehicleTypeListResponseDto } from './vehicle-search.dto';\n\nexport const getVehicleListMethod = async (config?: AxiosRequestConfig) => {\n const apiUrl = `${getDspApiHostNameFromEnvironment('dis')}/v1/get/codes/vehicle-type-list`;\n const httpClient = new HttpClientAxios(config);\n const res = await httpClient.api.post<DspResponseVehicleTypeListResponseDto>(apiUrl);\n\n return res.data;\n};\n","import { useQuery } from '@tanstack/react-query';\n\nimport { getVehicleListMethod } from './vehicle-search.service';\n\nimport type { DspResponseVehicleTypeListResponseDto } from './vehicle-search.dto';\nimport type { CustomQueryOptions } from '../../method.types';\nimport type { AxiosRequestConfig } from 'axios';\n\nexport const useSearchVehicleQuery = (\n options?: CustomQueryOptions<DspResponseVehicleTypeListResponseDto>,\n config?: AxiosRequestConfig\n) => {\n return useQuery({\n enabled: true,\n retry: false,\n queryKey: ['searchVehicle'],\n queryFn: () => {\n return getVehicleListMethod(config);\n },\n ...options\n });\n};\n","import { AxiosRequestConfig } from 'axios';\nimport { getDspApiHostNameFromEnvironment } from 'sales-frontend-utils';\n\nimport { HttpClientAxios } from '../../../client';\n\nimport type { DspResponseEmployeeProfileResponseDto, EmployeeProfileSearchRequestDto } from './employee-search.dto';\n\nexport const getEmployeeProfileListMethod = async (\n params: EmployeeProfileSearchRequestDto,\n config?: AxiosRequestConfig\n) => {\n const apiUrl = `${getDspApiHostNameFromEnvironment('dea')}/v1/get/participant/profile/employee`;\n const httpClient = new HttpClientAxios(config);\n const res = await httpClient.api.post<DspResponseEmployeeProfileResponseDto>(apiUrl, params);\n\n return res.data;\n};\n","import { useQuery } from '@tanstack/react-query';\n\nimport { getEmployeeProfileListMethod } from './employee-search.service';\n\nimport type { DspResponseEmployeeProfileResponseDto, EmployeeProfileSearchRequestDto } from './employee-search.dto';\nimport type { CustomQueryOptions } from '../../method.types';\nimport type { AxiosRequestConfig } from 'axios';\n\nexport const useSearchEmployeeProfileQuery = (\n params: EmployeeProfileSearchRequestDto,\n options?: CustomQueryOptions<DspResponseEmployeeProfileResponseDto>,\n config?: AxiosRequestConfig\n) => {\n return useQuery({\n enabled: !!params.searchWord,\n retry: false,\n queryKey: ['searchEmployeeProfile', JSON.stringify(params)],\n queryFn: () => {\n return getEmployeeProfileListMethod(params, config);\n },\n ...options\n });\n};\n","import { AxiosRequestConfig } from 'axios';\nimport { getDspApiHostNameFromEnvironment } from 'sales-frontend-utils';\n\nimport { HttpClientAxios } from '../../../client';\n\nimport type { DspResponseOrganizationProfileResponse, OrganizationSearchRequestDto } from './organization-search.dto';\n\nexport const getOrganizationProfileListMethod = async (\n params: OrganizationSearchRequestDto,\n config?: AxiosRequestConfig\n) => {\n const apiUrl = `${getDspApiHostNameFromEnvironment('dea')}/v1/get/participant/profile/organization`;\n const httpClient = new HttpClientAxios(config);\n const res = await httpClient.api.post<DspResponseOrganizationProfileResponse>(apiUrl, params);\n\n return res.data;\n};\n","import { useQuery } from '@tanstack/react-query';\n\nimport { getOrganizationProfileListMethod } from './organization-search.service';\n\nimport type { DspResponseOrganizationProfileResponse, OrganizationSearchRequestDto } from './organization-search.dto';\nimport type { CustomQueryOptions } from '../../method.types';\nimport type { AxiosRequestConfig } from 'axios';\n\nexport const useSearchOrganizationQuery = (\n params: OrganizationSearchRequestDto,\n options?: CustomQueryOptions<DspResponseOrganizationProfileResponse>,\n config?: AxiosRequestConfig\n) => {\n return useQuery({\n enabled: !!params.searchWord,\n retry: false,\n queryKey: ['searchOrganization', JSON.stringify(params)],\n queryFn: () => {\n return getOrganizationProfileListMethod(params, config);\n },\n ...options\n });\n};\n","import { AxiosRequestConfig } from 'axios';\nimport { getDspApiHostNameFromEnvironment } from 'sales-frontend-utils';\n\nimport { HttpClientAxios } from '../../../client';\n\nimport type { DspResponseNationalityListResponseDto, NationalitySearchRequestDto } from './nationality-search.dto';\n\nexport const getNationalityListMethod = async (params: NationalitySearchRequestDto, config?: AxiosRequestConfig) => {\n const apiUrl = `${getDspApiHostNameFromEnvironment('dis')}/v1/get/codes/nationality-list`;\n\n const httpClient = new HttpClientAxios(config);\n const res = await httpClient.api.post<DspResponseNationalityListResponseDto>(apiUrl, params);\n\n return res.data;\n};\n","import { useQuery } from '@tanstack/react-query';\n\nimport { getNationalityListMethod } from './nationality-search.service';\n\nimport type { DspResponseNationalityListResponseDto, NationalitySearchRequestDto } from './nationality-search.dto';\nimport type { CustomQueryOptions } from '../../method.types';\nimport type { AxiosRequestConfig } from 'axios';\n\nexport const useSearchNationalityQuery = (\n params: NationalitySearchRequestDto,\n options?: CustomQueryOptions<DspResponseNationalityListResponseDto>,\n config?: AxiosRequestConfig\n) => {\n console.log('search nationality', params.searchKeyWord);\n\n return useQuery({\n enabled: !!params.searchKeyWord,\n retry: false,\n queryKey: ['searchNationality', JSON.stringify(params)],\n queryFn: () => {\n return getNationalityListMethod(params, config);\n },\n ...options\n });\n};\n","import { getDspApiHostNameFromEnvironment } from 'sales-frontend-utils';\n\nimport { HttpClientAxios } from '../../../client';\n\nimport type { CustomerListRequestDto, DspResponseCustomerListResponseDto } from './customer-list-search.dto';\nimport type { AxiosRequestConfig } from 'axios';\n\nexport const getCustomerListMethod = async (params: CustomerListRequestDto, config?: AxiosRequestConfig) => {\n const apiUrl = `${getDspApiHostNameFromEnvironment('dis')}/v1/get/customer-list`;\n\n const httpClient = new HttpClientAxios(config);\n const res = await httpClient.api.post<DspResponseCustomerListResponseDto>(apiUrl, params);\n\n return res.data;\n};\n","import { useQuery } from '@tanstack/react-query';\n\nimport { getCustomerListMethod } from './customer-list-search.service';\n\nimport type { CustomerListRequestDto, DspResponseCustomerListResponseDto } from './customer-list-search.dto';\nimport type { CustomQueryOptions } from '../../method.types';\nimport type { AxiosRequestConfig } from 'axios';\n\nexport const useSearchCustomerListQuery = (\n params: CustomerListRequestDto,\n options?: CustomQueryOptions<DspResponseCustomerListResponseDto>,\n config?: AxiosRequestConfig\n) => {\n return useQuery({\n enabled: !!params.customerName,\n retry: false,\n queryKey: ['searchCustomerList', JSON.stringify(params)],\n queryFn: () => {\n return getCustomerListMethod(params, config);\n },\n ...options\n });\n};\n","import { AxiosRequestConfig } from 'axios';\nimport { getDspApiHostNameFromEnvironment } from 'sales-frontend-utils';\n\nimport { HttpClientAxios } from '../../../client';\n\nimport type { DspResponseRiskGradeResponseDto, RiskGradeRequestDto } from './risk-grade-search.dto';\n\nexport const getRiskGradeMethod = async (params: RiskGradeRequestDto, config?: AxiosRequestConfig) => {\n const apiUrl = `${getDspApiHostNameFromEnvironment('dis')}/v1/get/codes/risk-grade`;\n const httpClient = new HttpClientAxios(config);\n const res = await httpClient.api.post<DspResponseRiskGradeResponseDto>(apiUrl, params);\n\n return res.data;\n};\n","import { useQuery } from '@tanstack/react-query';\n\nimport { getRiskGradeMethod } from './risk-grade-search.service';\n\nimport type { DspResponseRiskGradeResponseDto, RiskGradeRequestDto } from './risk-grade-search.dto';\nimport type { CustomQueryOptions } from '../../method.types';\nimport type { AxiosRequestConfig } from 'axios';\n\nexport const useSearchRiskGradeQuery = (\n params: RiskGradeRequestDto,\n options?: CustomQueryOptions<DspResponseRiskGradeResponseDto>,\n config?: AxiosRequestConfig\n) => {\n return useQuery({\n enabled: !!params.occupationIndustryCode && !!params.vehicleTypeCode,\n retry: false,\n queryKey: ['searchRiskGrade', JSON.stringify(params)],\n queryFn: () => {\n return getRiskGradeMethod(params, config);\n },\n ...options\n });\n};\n","import { AxiosRequestConfig } from 'axios';\nimport { getDspApiHostNameFromEnvironment } from 'sales-frontend-utils';\n\nimport { HttpClientAxios } from '../../../client';\n\nimport type {\n DspResponseListPersonalCustomerProfileResponseDto,\n PersonalCustomerProfileRequestDto\n} from './dea-customer-list-search.dto';\n\nexport const getDspCustomerListMethod = async (\n params: PersonalCustomerProfileRequestDto,\n config?: AxiosRequestConfig\n) => {\n const apiUrl = `${getDspApiHostNameFromEnvironment('dea')}/v1/get/participant/profile/customer/personal`;\n\n const httpClient = new HttpClientAxios(config);\n const res = await httpClient.api.post<DspResponseListPersonalCustomerProfileResponseDto>(apiUrl, params);\n\n return res.data;\n};\n","import { useQuery } from '@tanstack/react-query';\n\nimport { getDspCustomerListMethod } from './dea-customer-list-search.service';\n\nimport type {\n DspResponseListPersonalCustomerProfileResponseDto,\n PersonalCustomerProfileRequestDto\n} from './dea-customer-list-search.dto';\nimport type { CustomQueryOptions } from '../../method.types';\nimport type { AxiosRequestConfig } from 'axios';\n\nexport const useSearchDspCustomerListQuery = (\n params: PersonalCustomerProfileRequestDto,\n options?: CustomQueryOptions<DspResponseListPersonalCustomerProfileResponseDto>,\n config?: AxiosRequestConfig\n) => {\n return useQuery({\n enabled: !!params.customerName,\n retry: false,\n queryKey: ['searchDspCustomerList', JSON.stringify(params)],\n queryFn: () => {\n return getDspCustomerListMethod(params, config);\n },\n ...options\n });\n};\n","import { AxiosRequestConfig } from 'axios';\nimport { getDspApiHostNameFromEnvironment } from 'sales-frontend-utils';\n\nimport { HttpClientAxios } from '../../../client';\n\nimport type { DspResponseVisaStatusListResponseDto } from './visa-search.dto';\n\nexport const getVisaListMethod = async (config?: AxiosRequestConfig) => {\n const apiUrl = `${getDspApiHostNameFromEnvironment('dis')}/v1/get/codes/visa-status-list`;\n const httpClient = new HttpClientAxios(config);\n const res = await httpClient.api.post<DspResponseVisaStatusListResponseDto>(apiUrl);\n\n return res.data;\n};\n","import { useQuery } from '@tanstack/react-query';\n\nimport { getVisaListMethod } from './visa-search.service';\n\nimport type { DspResponseVisaStatusListResponseDto } from './visa-search.dto';\nimport type { CustomQueryOptions } from '../../method.types';\nimport type { AxiosRequestConfig } from 'axios';\n\nexport const useSearchVisaQuery = (\n options?: CustomQueryOptions<DspResponseVisaStatusListResponseDto>,\n config?: AxiosRequestConfig\n) => {\n return useQuery({\n enabled: true,\n retry: false,\n queryKey: ['searchVisa'],\n queryFn: () => {\n return getVisaListMethod(config);\n },\n ...options\n });\n};\n","import { getDspApiHostNameFromEnvironment } from 'sales-frontend-utils';\n\nimport { HttpClientAxios } from '../../client';\n\nimport { FpLoginResponseDto } from './login-dsp.dto';\n\n/**\n * @param userId 사번\n */\nexport const postLoginMethod = async (userId: number) => {\n console.log('userId', userId);\n const apiUrl = `${getDspApiHostNameFromEnvironment('dat')}/v1/post/login`;\n const httpClient = new HttpClientAxios({\n headers: {\n 'Debug-Refresh-Queue-Off': 'true'\n }\n });\n\n const res = await httpClient.api.post<FpLoginResponseDto>(apiUrl, {\n userId,\n channelType: 'DSP_TABLET'\n });\n\n return res.data;\n};\n","import { getDspApiHostNameFromEnvironment } from 'sales-frontend-utils';\n\nimport { HttpClientAxios } from '../../client';\nimport { getServiceCode } from '../method-util';\n\nimport type { ApiConfig } from '../shared.dto';\nimport type {\n RemoteIdentityVerificationSystemTokenRequestDto,\n DspResponseRemoteIdentityVerificationSystemTokenResponseDto,\n RemoteIdentityVerificationSystemIdentificationCardRequestDto,\n DspResponseRemoteIdentityVerificationSystemIdentificationCardResponseDto\n} from './remote-identity-verification.dto';\n\n/**\n * 토큰 발급 API\n * @param params\n * @param axiosConfig\n * @returns\n */\nexport const getRemoteIdentityVerificationSystemToken = async (\n params: RemoteIdentityVerificationSystemTokenRequestDto,\n axiosConfig?: ApiConfig\n) => {\n const apiUrl = `${getDspApiHostNameFromEnvironment('dea')}/v1/post/participant/remote-identity-verification-system/token`;\n\n const response = await new HttpClientAxios({\n ...axiosConfig\n }).api.post<DspResponseRemoteIdentityVerificationSystemTokenResponseDto>(apiUrl, params);\n\n return response.data;\n};\n\n/**\n * 비대면 인증 시스템 신분증 진위확인 API\n * @param params 진위확인 요청 파라미터\n * @param axiosConfig API 설정\n * @returns 신분증 진위확인 응답 데이터\n */\nexport const confirmRemoteIdentityVerificationSystemIdentificationCard = async (\n params: RemoteIdentityVerificationSystemIdentificationCardRequestDto,\n axiosConfig?: ApiConfig\n) => {\n const apiUrl = `${getDspApiHostNameFromEnvironment('dea')}/v1/post/participant/remote-identity-verification-system/identification-card/confirm`;\n\n const response = await new HttpClientAxios({\n ...axiosConfig\n }).api.post<DspResponseRemoteIdentityVerificationSystemIdentificationCardResponseDto>(apiUrl, params);\n\n return response.data;\n};\n","import { useMutation } from '@tanstack/react-query';\n\nimport { CustomMutationOptions } from '../method.types';\n\nimport {\n RemoteIdentityVerificationSystemIdentificationCardResponseDto,\n RemoteIdentityVerificationSystemIdentificationCardRequestDto\n} from './remote-identity-verification.dto';\nimport { confirmRemoteIdentityVerificationSystemIdentificationCard } from './remote-identity-verification.service';\n\n/**\n * 비대면 인증 시스템 신분증 진위확인 Mutation\n * @param options\n * @returns\n */\nexport const useConfirmRemoteIdentityVerificationSystemIdentificationCardMutation = (\n options?: CustomMutationOptions<\n RemoteIdentityVerificationSystemIdentificationCardResponseDto,\n RemoteIdentityVerificationSystemIdentificationCardRequestDto\n >\n) => {\n return useMutation({\n mutationKey: ['confirmRemoteIdentityVerificationSystemIdentificationCard'],\n mutationFn: async (params) => {\n const response = await confirmRemoteIdentityVerificationSystemIdentificationCard(params);\n\n if (response.isSuccess === false) {\n throw new Error(`${response.code}: ${response.message}`);\n }\n\n return response.data;\n },\n ...options\n });\n};\n","import { AxiosRequestConfig } from 'axios';\nimport { getDspApiHostNameFromEnvironment } from 'sales-frontend-utils';\n\nimport { HttpClientAxios } from '../../client';\n\nimport type { CommonCodeRequestDto, DspResponseCommonCodeResponseDto } from './common-code-search.dto';\n\nexport const getCommonCodeListMethod = async (param: CommonCodeRequestDto, config?: AxiosRequestConfig) => {\n const apiUrl = `${getDspApiHostNameFromEnvironment('dea')}/v1/get/common-code/list`;\n const httpClient = new HttpClientAxios(config);\n const res = await httpClient.api.post<DspResponseCommonCodeResponseDto>(apiUrl, param);\n\n return res.data;\n};\n","import { useQuery } from '@tanstack/react-query';\n\nimport { CustomQueryOptions } from '../method.types';\n\nimport { getCommonCodeListMethod } from './common-code-search.service';\n\nimport type { CommonCodeRequestDto, DspResponseCommonCodeResponseDto } from './common-code-search.dto';\nimport type { AxiosRequestConfig } from 'axios';\n\nexport const useSearchCommonCodeQuery = (\n param: CommonCodeRequestDto,\n options?: CustomQueryOptions<DspResponseCommonCodeResponseDto>,\n config?: AxiosRequestConfig\n) => {\n return useQuery({\n enabled: !!param.commonCodeId,\n retry: false,\n queryKey: ['searchCommonCode', param.commonCodeId],\n queryFn: () => {\n return getCommonCodeListMethod(param, config);\n },\n ...options\n });\n};\n","import { getDspApiHostNameFromEnvironment } from 'sales-frontend-utils';\n\nimport { HttpClientAxios } from '../../client';\n\nimport type { ApiConfig } from '../shared.dto';\nimport type { DspResponseUserProfileResponseDto } from './app-config.dto';\n\n/**\n * FP 기본 정보를 조회합니다.\n * @param axiosConfig\n * @returns\n */\nexport const getUserProfile = async (axiosConfig?: ApiConfig) => {\n const apiUrl = `${getDspApiHostNameFromEnvironment('dat')}/v1/get/user/profile`;\n const response = await new HttpClientAxios({\n ...axiosConfig\n }).api.post<DspResponseUserProfileResponseDto>(apiUrl);\n\n return response.data;\n};\n","import { getDudApiHostNameFromEnvironment, getExt } from 'sales-frontend-utils';\n\nimport { HttpClientAxios } from '../../client';\nimport { getServiceCode } from '../method-util';\n\nimport type {\n DownloadType,\n FileUploadExternalRequestDto,\n FileUploadExternalResponseDto\n} from './dud-external-file.dto';\nimport type { AxiosRequestConfig } from 'axios';\n\nconst getDayDiffFromToday = (date: Date) => {\n const diff = date.getTime() - new Date().getTime();\n\n return Math.floor(diff / (1000 * 60 * 60 * 24));\n};\n\nexport const postFileUploadMethod = async (params: FileUploadExternalRequestDto, config?: AxiosRequestConfig) => {\n const apiUrl = `${getDudApiHostNameFromEnvironment()}/v1/post/file`;\n const formData = new FormData();\n\n if (params.data instanceof File) {\n formData.append('data', params.data, params.name || params.data.name);\n } else if (params.data instanceof Blob) {\n formData.append('data', params.data, params.name || `dud-file.${getExt(params.data)}`);\n }\n\n params.fileIdentifierValue && formData.append('fileIdentifierValue', params.fileIdentifierValue);\n params.fileExtendContent1 && formData.append('fileExtendContent1', params.fileExtendContent1);\n params.fileExtendContent2 && formData.append('fileExtendContent2', params.fileExtendContent2);\n\n /**\n * expireDate , preservationTerm 중에 1가지만\n */\n params.expireDate &&\n formData.append('preservationTerm', (getDayDiffFromToday(params.expireDate) + 1).toString() || '1');\n params.preservationTerm && formData.append('preservationTerm', params.preservationTerm.toString() || '1');\n\n /**\n * 파일/blot객체에서 자동추출하도록 수정\n */\n formData.append('fileType', params.fileType || params.data.type.split('/').pop() || 'png');\n\n const httpClient = new HttpClientAxios({ ...config, withCredentials: false });\n\n /**\n *\n * \"isSuccess\": true,\n * \"code\": \"nxl-dsp-dud-erro-5801\", 'erro' 오타아니라 원래 4글자 규칙이라고합니다.\n * \"message\": \"파일 업로드 가능 확장자는 <br/>ozd, png, jpg, gif, pdf, json, xml, txt 입니다.\"\n *\n * @description \"isSuccess\": true, 이지만 실패처리인 케이스에 대한 별도 interceptor 처리가 필요\n */\n httpClient.api.interceptors.response.use((response) => {\n const { data } = response;\n\n if (data.isSuccess === true && data.code.includes('erro')) {\n return Promise.reject(response);\n }\n\n return response;\n });\n\n const res = await httpClient.api.post<FileUploadExternalResponseDto>(apiUrl, formData);\n\n return res.data;\n};\n\nexport async function postFileDownloadMethod<T extends 'BASE64' | 'BINARY'>(\n params: { fileMgmtId: string; outputType: T },\n config?: AxiosRequestConfig\n) {\n const apiUrl = `${getDudApiHostNameFromEnvironment()}/v1/get/file`;\n\n const httpClient = new HttpClientAxios({\n ...config,\n ...(params.outputType === 'BINARY' && { responseType: 'blob' })\n });\n httpClient.api.interceptors.response.use((response) => {\n const { data } = response;\n\n if (params.outputType === 'BINARY' && !(data instanceof Blob)) {\n return Promise.reject(response);\n }\n\n if (params.outputType === 'BASE64' && data.code.includes('erro')) {\n return Promise.reject(response);\n }\n\n return response;\n });\n\n /**\n * FileExternalRequestDto 의 outputType 에 따라 returnType이 상이\n * outputType = 'BASE64' 이면 returnType 이 FileExternalResponseDto\n * outputType = 'BINARY' 이면 File\n */\n const res = await httpClient.api.post<DownloadType<T>>(apiUrl, params);\n\n return res.data;\n}\n","import { useMutation, useQuery } from '@tanstack/react-query';\n\nimport { postFileDownloadMethod, postFileUploadMethod } from './dud-external-file.service';\n\nimport type { CustomMutationOptions, CustomQueryOptions } from '../method.types';\nimport type {\n DownloadType,\n FileUploadExternalRequestDto,\n FileUploadExternalResponseDto\n} from './dud-external-file.dto';\nimport type { AxiosRequestConfig } from 'axios';\n\nexport const useDudExternalFileUploadQuery = (\n params: FileUploadExternalRequestDto,\n options?: CustomQueryOptions<FileUploadExternalResponseDto>,\n config?: AxiosRequestConfig\n) => {\n return useQuery({\n enabled: !!params,\n retry: false,\n queryKey: ['postFileUploadMethod', JSON.stringify(params)],\n queryFn: () => {\n return postFileUploadMethod(params, config);\n },\n ...options\n });\n};\n\nexport const useDudExternalFileUploadMutation = (\n options?: CustomMutationOptions<FileUploadExternalResponseDto, FileUploadExternalRequestDto>,\n config?: AxiosRequestConfig\n) => {\n return useMutation({\n mutationFn: (params: FileUploadExternalRequestDto) => postFileUploadMethod(params, config),\n ...options\n });\n};\n\nexport const useDudExternalFileDownloadQuery = <T extends 'BASE64' | 'BINARY'>(\n params: {\n fileMgmtId: string;\n outputType: T;\n },\n options?: CustomQueryOptions<DownloadType<T>>,\n config?: AxiosRequestConfig\n) => {\n return useQuery({\n enabled: !!params,\n retry: false,\n queryKey: ['postFileDownloadMethod', JSON.stringify(params)],\n queryFn: () => postFileDownloadMethod(params, config),\n ...options\n });\n};\n"]}