{"version":3,"file":"DkA6NIou.js","sources":["../../../../src/components/dialog/productSubscriptionEdit/useProductSubscriptionEdit.ts"],"sourcesContent":["import { useSecureSessionPost } from '~/composables/dataFetching/genericFetchers';\nimport type { ProductSubscriptionItem } from '~/server/transformers/shop/productSubscriptionListTransformer';\nimport { DialogResponses, useDialogStore } from '@/stores/useDialogStore';\nimport type { NewDeliveryDate } from '@/server/gateway/connections/shopware/loaders/loadNewDeliveryDate';\nimport { handleLoadingError } from '~/utils/handleLoadingError';\n\nexport function useProductSubscriptionEdit(\n subscription: ProductSubscriptionItem,\n) {\n const dialogStore = useDialogStore();\n\n const quantity = ref(subscription.quantity);\n const interval = ref(subscription.interval);\n const desiredDeliveryDay = ref(subscription.desiredDeliveryDay);\n\n async function onSubmit(\n subscriptionId: string,\n quantity: number,\n interval: string,\n desiredDeliveryDay: string,\n ) {\n try {\n const site = useSiteIdent();\n const deliveryDay: number = +desiredDeliveryDay;\n const response = await useSecureSessionPost(\n `/api/${site}/shop/product/productSubscription/update/${subscriptionId}`,\n {\n quantity: quantity,\n interval: interval,\n desiredDeliveryDay: deliveryDay,\n },\n );\n if (response) {\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 async function getNewDeliveryDate(\n subscriptionId: string,\n interval: string,\n desiredDeliveryDay: string,\n ) {\n try {\n const site = useSiteIdent();\n const deliveryDay: number = +desiredDeliveryDay;\n const response = await useSecureSessionPost(\n `/api/${site}/shop/product/productSubscription/deliveryDate/load`,\n {\n subscriptionId: subscriptionId,\n interval: interval,\n desiredDeliveryDay: deliveryDay,\n },\n );\n return response?.date;\n } catch (e: any) {\n handleLoadingError(e);\n return null;\n }\n }\n\n return {\n quantity,\n interval,\n desiredDeliveryDay,\n onSubmit,\n getNewDeliveryDate,\n };\n}\n"],"names":["useProductSubscriptionEdit","subscription","dialogStore","useDialogStore","quantity","ref","interval","desiredDeliveryDay","onSubmit","subscriptionId","site","useSiteIdent","deliveryDay","useSecureSessionPost","DialogResponses","e","handleLoadingError","getNewDeliveryDate","response"],"mappings":"uEAMO,SAASA,EACdC,EACA,CACA,MAAMC,EAAcC,IAEdC,EAAWC,EAAIJ,EAAa,QAAQ,EACpCK,EAAWD,EAAIJ,EAAa,QAAQ,EACpCM,EAAqBF,EAAIJ,EAAa,kBAAkB,EAE9D,eAAeO,EACbC,EACAL,EACAE,EACAC,EACA,CACI,GAAA,CACF,MAAMG,EAAOC,IACPC,EAAsB,CAACL,EACZ,MAAMM,EACrB,QAAQH,CAAI,4CAA4CD,CAAc,GACtE,CACE,SAAUL,EACV,SAAUE,EACV,mBAAoBM,CACtB,CAAA,EAGYV,EAAA,YAAYY,EAAgB,OAAO,EAEnCZ,EAAA,YAAYY,EAAgB,MAAM,QAEzCC,EAAQ,CACHb,EAAA,YAAYY,EAAgB,MAAM,EAC9CE,EAAmBD,CAAC,CACtB,CACF,CAEe,eAAAE,EACbR,EACAH,EACAC,EACA,CACI,GAAA,CACF,MAAMG,EAAOC,IACPC,EAAsB,CAACL,EACvBW,EAAW,MAAML,EACrB,QAAQH,CAAI,sDACZ,CACE,eAAAD,EACA,SAAUH,EACV,mBAAoBM,CACtB,CAAA,EAEF,OAAOM,GAAA,YAAAA,EAAU,WACV,EAAQ,CACf,OAAAF,EAAmB,CAAC,EACb,IACT,CACF,CAEO,MAAA,CACL,SAAAZ,EACA,SAAAE,EACA,mBAAAC,EACA,SAAAC,EACA,mBAAAS,CAAA,CAEJ"}