{"version":3,"file":"CP1gN4K_.js","sources":["../../../../src/components/dialog/productSubscriptionCancel/useProductSubscriptionCancel.ts","../../../../src/components/dialog/productSubscriptionCancel/productSubscriptionCancel.vue"],"sourcesContent":["import { useSecureSessionPost } from '~/composables/dataFetching/genericFetchers';\nimport type { ProductSubscriptionItem } from '~/server/transformers/shop/productSubscriptionListTransformer';\nimport { DialogResponses, useDialogStore } from '@/stores/useDialogStore';\nimport { useToastStore } from '@/stores/useToastStore';\nimport { handleLoadingError } from '~/utils/handleLoadingError';\n\nexport function useProductSubscriptionCancel() {\n const { t } = useTrans();\n const dialogStore = useDialogStore();\n const cancelReason = ref();\n const options = [\n {\n label: t('shop.productSubscription.cancel.option1'),\n value: t('shop.productSubscription.cancel.option1'),\n },\n {\n label: t('shop.productSubscription.cancel.option2'),\n value: t('shop.productSubscription.cancel.option2'),\n },\n {\n label: t('shop.productSubscription.cancel.option3'),\n value: t('shop.productSubscription.cancel.option3'),\n },\n {\n label: t('shop.productSubscription.cancel.option4'),\n value: t('shop.productSubscription.cancel.option4'),\n },\n ];\n\n async function onSubmit(\n subscription: ProductSubscriptionItem,\n reason: string,\n productName: string,\n ) {\n try {\n const site = useSiteIdent();\n const toastStore = useToastStore();\n const currentSubscription = ref(subscription);\n const response = await useSecureSessionPost(\n `/api/${site}/shop/product/productSubscription/update/${subscription.id}`,\n {\n interval: subscription.interval,\n canceled: true,\n cancelReason: reason,\n },\n );\n if (response) {\n currentSubscription.value.canceled = true;\n toastStore.warning({\n text: t('shop.productSubscription.deactivate.notification', {\n name: productName,\n }),\n });\n\n dialogStore.closeDialog(DialogResponses.SUCCESS);\n } else {\n dialogStore.closeDialog(DialogResponses.CANCEL);\n }\n } catch (e: any) {\n dialogStore.closeDialog(DialogResponses.CANCEL);\n handleLoadingError(e);\n }\n }\n\n return {\n cancelReason,\n options,\n onSubmit,\n };\n}\n","\n\n"],"names":["useProductSubscriptionCancel","t","useTrans","dialogStore","useDialogStore","cancelReason","ref","options","onSubmit","subscription","reason","productName","site","useSiteIdent","toastStore","useToastStore","currentSubscription","useSecureSessionPost","DialogResponses","e","handleLoadingError","data"],"mappings":"gxBAMO,SAASA,GAA+B,CACvC,KAAA,CAAE,EAAAC,GAAMC,IACRC,EAAcC,IACdC,EAAeC,IACfC,EAAU,CACd,CACE,MAAON,EAAE,yCAAyC,EAClD,MAAOA,EAAE,yCAAyC,CACpD,EACA,CACE,MAAOA,EAAE,yCAAyC,EAClD,MAAOA,EAAE,yCAAyC,CACpD,EACA,CACE,MAAOA,EAAE,yCAAyC,EAClD,MAAOA,EAAE,yCAAyC,CACpD,EACA,CACE,MAAOA,EAAE,yCAAyC,EAClD,MAAOA,EAAE,yCAAyC,CACpD,CAAA,EAGa,eAAAO,EACbC,EACAC,EACAC,EACA,CACI,GAAA,CACF,MAAMC,EAAOC,IACPC,EAAaC,IACbC,EAAsBV,EAAIG,CAAY,EAC3B,MAAMQ,EACrB,QAAQL,CAAI,4CAA4CH,EAAa,EAAE,GACvE,CACE,SAAUA,EAAa,SACvB,SAAU,GACV,aAAcC,CAChB,CAAA,GAGAM,EAAoB,MAAM,SAAW,GACrCF,EAAW,QAAQ,CACjB,KAAMb,EAAE,mDAAoD,CAC1D,KAAMU,CAAA,CACP,CAAA,CACF,EAEWR,EAAA,YAAYe,EAAgB,OAAO,GAEnCf,EAAA,YAAYe,EAAgB,MAAM,QAEzCC,EAAQ,CACHhB,EAAA,YAAYe,EAAgB,MAAM,EAC9CE,EAAmBD,CAAC,CACtB,CACF,CAEO,MAAA,CACL,aAAAd,EACA,QAAAE,EACA,SAAAC,CAAA,CAEJ,ydCeM,KAAA,CAAE,EAAAP,GAAMC,IACRC,EAAcC,IACRD,EAAA,YAAYF,EAAE,qCAAqC,CAAC,EAC1D,MAAAoB,EAAOlB,EAAY,gBAKnB,CAAE,aAAAE,EAAc,QAAAE,EAAS,SAAAC,GAAaR,EAA6B"}