{
  "version": 3,
  "sources": ["ssg:https://asset.29cm.co.kr/contents/framer/apis/coupon/CouponApiService.js", "ssg:https://asset.29cm.co.kr/contents/framer/hooks/mutations/useDownloadCouponsMutation.js", "ssg:https://asset.29cm.co.kr/contents/framer/components/canvas/CouponDownloadCTA/CouponDownloadCTA.constants.js", "ssg:https://asset.29cm.co.kr/contents/framer/hooks/mutations/useDownloadRandomCouponMutation.js", "ssg:https://asset.29cm.co.kr/contents/framer/hooks/useDownloadCoupons.js"],
  "sourcesContent": ["import { parseErrorMessage, parseDirectionCode } from \"../../utils/error/error.js\";\nimport { GENERAL_ERROR } from \"../../constants/error.js\";\nimport camelcaseKeys from \"../../node_modules/camelcase-keys/index.js\";\nimport { environments, env } from \"../../config/index.js\";\nconst COUPONS_PER_REQUEST = 50;\nclass CouponApiService {\n  async getCoupons(couponIdList, isDevMode = false) {\n    const slicedCouponIdList = couponIdList.slice(0, COUPONS_PER_REQUEST);\n    const baseUrl = isDevMode ? environments.development.api.content : env.api.content;\n    const response = await fetch(`${baseUrl}/api/v4/framers/proxy/promotion-api/api/v1/coupon?couponIdList=${slicedCouponIdList.join(\",\")}`).then((res) => res.json()).then((res) => camelcaseKeys(res, {\n      deep: true\n    }));\n    if (response.result === \"FAIL\" || response.data === null) {\n      throw new Error(response.message ?? GENERAL_ERROR);\n    }\n    return response;\n  }\n  async downloadCouponBulk(couponNoList) {\n    return fetch(`${env.api.promotion}/api/v4/coupons/download:bulk`, {\n      method: \"POST\",\n      body: JSON.stringify({\n        couponList: couponNoList.map((couponId) => ({\n          couponId,\n          downloadCount: 1\n        }))\n      }),\n      headers: {\n        \"Content-Type\": \"application/json\",\n        \"accept\": \"application/json\"\n      },\n      credentials: \"include\"\n    }).then((res) => res.json());\n  }\n  async downloadCoupon(couponNo, downloadCount) {\n    return fetch(`${env.api.promotion}/api/v4/coupons/download`, {\n      method: \"POST\",\n      body: JSON.stringify({\n        couponId: couponNo,\n        downloadCount\n      }),\n      headers: {\n        \"Content-Type\": \"application/json\",\n        \"accept\": \"application/json\"\n      },\n      credentials: \"include\"\n    }).then((res) => res.json());\n  }\n  async downloadLimitedCoupons(couponNoList) {\n    const promises = couponNoList.map(async (couponId) => {\n      return fetch(`${env.api.promotion}/api/v4/coupons/download:limited`, {\n        method: \"POST\",\n        body: JSON.stringify({\n          couponId\n        }),\n        headers: {\n          \"Content-Type\": \"application/json\",\n          \"accept\": \"application/json\"\n        },\n        credentials: \"include\"\n      }).then((res) => res.json());\n    });\n    const [response] = await Promise.all(promises);\n    return response;\n  }\n  async downloadRandomCoupon() {\n    return fetch(`${env.api.promotion}/api/v1/random-coupon/${env.name === \"qa\" ? \"issue-test\" : \"issue\"}`, {\n      method: \"POST\",\n      headers: {\n        \"Content-Type\": \"application/json\",\n        \"accept\": \"application/json\"\n      },\n      credentials: \"include\"\n    }).then((res) => res.json());\n  }\n  async getMaxIssueCount(couponId) {\n    const result = await fetch(`${env.api.promotion}/api/v4/coupons/max-issue-count/${couponId}`);\n    const response = await result.json();\n    if (response.result === \"FAIL\" || response.data === null) {\n      throw new Error(response.errorCode ?? GENERAL_ERROR);\n    }\n    return response;\n  }\n  async getDownloadableCouponSummaries(couponIdList, userId) {\n    const result = await fetch(`${env.api.promotion}/api/v4/coupons/downloadable?userId=${userId}`, {\n      method: \"POST\",\n      body: JSON.stringify({\n        couponIdList\n      }),\n      headers: {\n        \"Content-Type\": \"application/json\",\n        \"accept\": \"application/json\"\n      },\n      credentials: \"include\"\n    });\n    const response = await result.json();\n    if (response.result === \"FAIL\" || response.data === null) {\n      throw new Error(response.errorCode ?? GENERAL_ERROR);\n    }\n    return response.data.downloadableCouponInfoList;\n  }\n  parseDownloadCouponError(error, fallbackMessage) {\n    const message = parseErrorMessage(error, fallbackMessage) ?? \"\";\n    const directionCode = parseDirectionCode(error);\n    const isAuthError = (directionCode == null ? void 0 : directionCode[0]) === \"auth\";\n    return {\n      message,\n      callbackUrl: isAuthError ? \"/mypage/edit/info\" : void 0\n    };\n  }\n}\nconst couponApi = new CouponApiService();\nexport {\n  couponApi\n};\n", "import useSWRMutation from \"../../node_modules/swr/mutation/dist/index.js\";\nimport { couponApi } from \"../../apis/coupon/CouponApiService.js\";\nconst COUPON_MULTI_ISSUE_FETCHER_KEY = \"coupon-multi-issue\";\nconst downloadCoupons = (_key, {\n  arg\n}) => {\n  const {\n    couponIds,\n    downloadCount\n  } = arg;\n  const [couponId] = couponIds;\n  return couponIds.length > 1 ? couponApi.downloadCouponBulk(couponIds) : couponApi.downloadCoupon(couponId, downloadCount);\n};\nconst downloadLimitedCoupons = (_key, {\n  arg\n}) => {\n  return couponApi.downloadLimitedCoupons(arg.couponIds);\n};\nconst useDownloadCouponsMutation = ({\n  isLimited = false,\n  enabled = true,\n  onError,\n  onSuccess\n} = {}) => {\n  return useSWRMutation(enabled ? COUPON_MULTI_ISSUE_FETCHER_KEY : null, isLimited ? downloadLimitedCoupons : downloadCoupons, {\n    onError,\n    onSuccess\n  });\n};\nexport {\n  COUPON_MULTI_ISSUE_FETCHER_KEY,\n  useDownloadCouponsMutation\n};\n", "const DOWNLOAD_COUPON_MESSAGES = {\n  SUCCESS: \"\uCFE0\uD3F0\uC744 \uBC1B\uC558\uC5B4\uC694.\\n\uBC1B\uC740 \uCFE0\uD3F0\uC740 \uB9C8\uC774\uD398\uC774\uC9C0\uC5D0\uC11C \uD655\uC778\uD558\uC138\uC694.\",\n  BULK_SUCCESS: \"\uCFE0\uD3F0\uC744 \uBAA8\uB450 \uBC1B\uC558\uC5B4\uC694.\\n\uBC1B\uC740 \uCFE0\uD3F0\uC740 \uB9C8\uC774\uD398\uC774\uC9C0\uC5D0\uC11C \uD655\uC778\uD558\uC138\uC694.\",\n  LOADING: \"\uCFE0\uD3F0 \uBC1C\uAE09\uC744 \uC2DC\uB3C4\uD558\uACE0 \uC788\uC5B4\uC694. \uC7A0\uC2DC \uAE30\uB2E4\uB824\uC8FC\uC138\uC694.\\n\uC2E0\uCCAD \uC21C\uC11C\uB300\uB85C \uCC98\uB9AC\uB418\uBA70 \uC2E0\uCCAD\uB7C9\uC774 \uB9CE\uC740 \uACBD\uC6B0 \uCFE0\uD3F0\uC774 \uC18C\uC9C4\uB420 \uC218 \uC788\uC5B4\uC694\",\n  NEED_IDENTIFICATION: \"\uCFE0\uD3F0 \uBC1C\uAE09\uC744 \uC704\uD574 \uBCF8\uC778\uD655\uC778\uC774 \uD544\uC694\uD574\uC694.\",\n  FAILED_SOME_COUPON_DOWNLOAD: \"\uCFE0\uD3F0\uC744 \uBAA8\uB450 \uBC1B\uC558\uC5B4\uC694. \uBC1B\uC740 \uCFE0\uD3F0\uC740 MY>\uCFE0\uD3F0\uD568\uC5D0\uC11C \uD655\uC778\uD558\uC138\uC694.\",\n  FAILED_COUPON_DOWNLOAD: \"\uCFE0\uD3F0\uC744 \uBAA8\uB450 \uBC1B\uC558\uC5B4\uC694. \uBC1B\uC740 \uCFE0\uD3F0\uC740 MY>\uCFE0\uD3F0\uD568\uC5D0\uC11C \uD655\uC778\uD558\uC138\uC694.\",\n  NOT_FOUND_USER_ID: \"\uB85C\uADF8\uC778\uC774 \uD544\uC694\uD574\uC694.\",\n  GENERAL_ERROR: \"\uCFE0\uD3F0 \uBC1C\uAE09\uC5D0 \uC2E4\uD328\uD588\uC5B4\uC694.\"\n};\nexport {\n  DOWNLOAD_COUPON_MESSAGES\n};\n", "import useSWRMutation from \"../../node_modules/swr/mutation/dist/index.js\";\nimport { couponApi } from \"../../apis/coupon/CouponApiService.js\";\nconst DOWNLOAD_RANDOM_COUPON_MUTATION_KEY = \"@coupon/download-random-coupon\";\nconst useDownloadRandomCouponMutation = ({\n  enabled = true,\n  onError,\n  onSuccess\n} = {}) => {\n  return useSWRMutation(enabled ? DOWNLOAD_RANDOM_COUPON_MUTATION_KEY : null, () => couponApi.downloadRandomCoupon(), {\n    onError,\n    onSuccess\n  });\n};\nexport {\n  DOWNLOAD_RANDOM_COUPON_MUTATION_KEY,\n  useDownloadRandomCouponMutation\n};\n", "import { useCurrentUser } from \"./useCurrentUser.js\";\nimport { useRedirectLoginDialog } from \"./useRedirectLoginDialog.js\";\nimport { useDownloadCouponsMutation } from \"./mutations/useDownloadCouponsMutation.js\";\nimport \"../node_modules/swr/mutation/dist/index.js\";\nimport \"../config/index.js\";\nimport { useDialog } from \"./useDialog.js\";\nimport { isContentOrigin } from \"../utils/location.js\";\nimport { DOWNLOAD_COUPON_MESSAGES } from \"../components/canvas/CouponDownloadCTA/CouponDownloadCTA.constants.js\";\nimport { useDownloadRandomCouponMutation } from \"./mutations/useDownloadRandomCouponMutation.js\";\nimport { CouponType, DiscountType } from \"../types/models/coupon.js\";\nimport { useTrackSnowplowEvent } from \"./snowplow/useTrackSnowplowEvent.js\";\nconst useDownloadCoupons = (couponType = CouponType.NORMAL, discountType = DiscountType.FIXED_RATE, handleCouponDownloadSuccess) => {\n  const {\n    logged\n  } = useCurrentUser();\n  const {\n    showRedirectLoginDialog\n  } = useRedirectLoginDialog();\n  const isValidOrigin = isContentOrigin();\n  const dialog = useDialog();\n  const trackSnowplowEvent = useTrackSnowplowEvent();\n  const {\n    trigger: downloadCoupons,\n    isMutating: isLoading\n  } = useDownloadCouponsMutation({\n    isLimited: couponType === CouponType.LIMITED,\n    enabled: isValidOrigin\n  });\n  const {\n    trigger: downloadRandomCoupon,\n    isMutating: isRandomCouponLoading\n  } = useDownloadRandomCouponMutation({\n    enabled: isValidOrigin\n  });\n  const handleSuccess = (couponNoList) => (response) => {\n    if ((response == null ? void 0 : response.result) === \"FAIL\") {\n      dialog.show({\n        content: getErrorMessage(response.errorCode, response.message)\n      });\n      return;\n    }\n    if (isRandomCouponResponse(couponType, response)) {\n      trackSnowplowEvent(\"click_download_coupon\", {\n        coupon_no_list: `${response.data.couponId}`\n      });\n    } else {\n      trackSnowplowEvent(\"click_download_coupon\", {\n        coupon_no_list: couponNoList.join(\",\")\n      });\n    }\n    handleCouponDownloadSuccess == null ? void 0 : handleCouponDownloadSuccess();\n    dialog.show({\n      content: getSuccessMessage(response, discountType)\n    });\n  };\n  const validate = () => {\n    if (!isValidOrigin) {\n      return false;\n    }\n    if (!logged) {\n      showRedirectLoginDialog();\n      return false;\n    }\n    if (isLoading || isRandomCouponLoading) {\n      dialog.show({\n        content: DOWNLOAD_COUPON_MESSAGES.LOADING\n      });\n      return false;\n    }\n    return true;\n  };\n  const download = async (couponNoList = [], downloadCount = 1, skipValidation = false) => {\n    if (!skipValidation && !validate()) {\n      return;\n    }\n    if (couponType === CouponType.NORMAL || couponType === CouponType.LIMITED) {\n      await downloadCoupons({\n        couponIds: couponNoList,\n        downloadCount\n      }, {\n        onSuccess: handleSuccess(couponNoList)\n      });\n      return;\n    }\n    if (couponType === CouponType.RANDOM) {\n      await downloadRandomCoupon(void 0, {\n        onSuccess: handleSuccess(couponNoList)\n      });\n      return;\n    }\n  };\n  return {\n    validate,\n    download\n  };\n};\nconst getSuccessMessage = (response, discountType) => {\n  const {\n    data\n  } = response;\n  const isBulk = data && \"downloadSummaryList\" in data;\n  const isRandom = data && \"couponId\" in data;\n  if (isRandom) {\n    return createRandomCouponSuccessMessage(data.discountValue)[discountType];\n  }\n  return isBulk ? DOWNLOAD_COUPON_MESSAGES.BULK_SUCCESS : DOWNLOAD_COUPON_MESSAGES.SUCCESS;\n};\nconst createRandomCouponSuccessMessage = (discountValue) => ({\n  [DiscountType.FIXED_PRICE]: `${discountValue.toLocaleString(\"ko-KR\")}\uC6D0 \uCFE0\uD3F0\uC5D0 \uB2F9\uCCA8\uB410\uC5B4\uC694.\n\uBC1B\uC740 \uCFE0\uD3F0\uC740 \uB9C8\uC774\uD398\uC774\uC9C0\uC5D0\uC11C \uD655\uC778\uD558\uC138\uC694.`,\n  [DiscountType.FIXED_RATE]: `${discountValue}% \uCFE0\uD3F0\uC5D0 \uB2F9\uCCA8\uB410\uC5B4\uC694.\n\uBC1B\uC740 \uCFE0\uD3F0\uC740 \uB9C8\uC774\uD398\uC774\uC9C0\uC5D0\uC11C \uD655\uC778\uD558\uC138\uC694.`\n});\nconst getErrorMessage = (errorCode, errorMessage) => {\n  switch (errorCode) {\n    case \"FAILED_SOME_COUPON_DOWNLOAD\":\n      return DOWNLOAD_COUPON_MESSAGES.FAILED_SOME_COUPON_DOWNLOAD;\n    case \"FAILED_COUPON_DOWNLOAD\":\n      return DOWNLOAD_COUPON_MESSAGES.FAILED_COUPON_DOWNLOAD;\n    case \"NOT_FOUND_USER_ID\":\n      return DOWNLOAD_COUPON_MESSAGES.NOT_FOUND_USER_ID;\n    default:\n      return errorMessage || DOWNLOAD_COUPON_MESSAGES.GENERAL_ERROR;\n  }\n};\nconst toCouponNos = (couponNosStr) => {\n  return couponNosStr.split(\",\").map((item) => Number(item.trim()));\n};\nconst isRandomCouponResponse = (couponType, response) => {\n  var _a;\n  return couponType === CouponType.RANDOM && ((_a = response.data) == null ? void 0 : _a.couponId) !== void 0;\n};\nexport {\n  toCouponNos,\n  useDownloadCoupons\n};\n"],
  "mappings": "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",
  "names": ["COUPONS_PER_REQUEST", "CouponApiService", "couponIdList", "isDevMode", "slicedCouponIdList", "baseUrl", "environments", "env", "response", "res", "camelcaseKeys", "GENERAL_ERROR", "couponNoList", "couponId", "couponNo", "downloadCount", "promises", "userId", "error", "fallbackMessage", "message", "parseErrorMessage", "directionCode", "parseDirectionCode", "isAuthError", "couponApi", "COUPON_MULTI_ISSUE_FETCHER_KEY", "downloadCoupons", "_key", "arg", "couponIds", "downloadCount", "couponId", "couponApi", "downloadLimitedCoupons", "useDownloadCouponsMutation", "isLimited", "enabled", "onError", "onSuccess", "useSWRMutation", "DOWNLOAD_COUPON_MESSAGES", "DOWNLOAD_RANDOM_COUPON_MUTATION_KEY", "useDownloadRandomCouponMutation", "enabled", "onError", "onSuccess", "useSWRMutation", "couponApi", "useDownloadCoupons", "couponType", "CouponType", "discountType", "DiscountType", "handleCouponDownloadSuccess", "logged", "useCurrentUser", "showRedirectLoginDialog", "useRedirectLoginDialog", "isValidOrigin", "isContentOrigin", "dialog", "useDialog", "trackSnowplowEvent", "useTrackSnowplowEvent", "downloadCoupons", "isLoading", "useDownloadCouponsMutation", "downloadRandomCoupon", "isRandomCouponLoading", "useDownloadRandomCouponMutation", "handleSuccess", "couponNoList", "response", "getErrorMessage", "isRandomCouponResponse", "getSuccessMessage", "validate", "DOWNLOAD_COUPON_MESSAGES", "downloadCount", "skipValidation", "data", "isBulk", "createRandomCouponSuccessMessage", "discountValue", "errorCode", "errorMessage", "toCouponNos", "couponNosStr", "item", "_a"]
}
