import{b as A}from"./chunk-I6XJVXQ2.js";import{c as V,d as H}from"./chunk-FEX34NJQ.js";import{a as j}from"./chunk-5L2Z4GZW.js";import{M as T,la as w}from"./chunk-VJMBWEKA.js";import{f as $,i as m}from"./chunk-RN3RVYIR.js";import{d as n,e as a,s as F}from"./chunk-VYUKN3XQ.js";import{c as y}from"./chunk-AYHVL37M.js";import{h as G}from"./chunk-KXVCY5JT.js";import{L as b,Na as q,O as h,P as L,Ta as O,ca as B,l as E,wa as M}from"./chunk-XNQ3RS5P.js";var v=function(e){return e.CanBuy="CAN_BUY",e.CannotBuy="CANNOT_BUY",e}(v||{}),f=function(e){return e.Basic="BASIC",e.Premium="PREMIUM",e}(f||{}),re=function(e){return e.ActionNotAllowed="ACTION_NOT_ALLOWED",e.CategoryNotEligible="CATEGORY_NOT_ELIGIBLE",e.FeatureNotAvailable="FEATURE_NOT_AVAILABLE",e.ImeiNotEligible="IMEI_NOT_ELIGIBLE",e.ImeiOrSerialNoNotValid="IMEI_OR_SERIAL_NO_NOT_VALID",e.InvalidProductDataFromTgw="INVALID_PRODUCT_DATA_FROM_TGW",e.NoEligibleCategories="NO_ELIGIBLE_CATEGORIES",e.NoExchangeRateAvailable="NO_EXCHANGE_RATE_AVAILABLE",e.NoInsuranceFound="NO_INSURANCE_FOUND",e.NoRequestedCategories="NO_REQUESTED_CATEGORIES",e.NoSaleProduct="NO_SALE_PRODUCT",e.NoTransactionData="NO_TRANSACTION_DATA",e.ProductNotEligible="PRODUCT_NOT_ELIGIBLE",e.RequestedTierNotAvailableForPurchase="REQUESTED_TIER_NOT_AVAILABLE_FOR_PURCHASE",e}(re||{}),Y,g=m(Y||(Y=E(["\n    fragment Money on Money {\n  currency\n  displayValue\n  value\n  valueWithoutVat\n}\n    "]))),Q,oe=m(Q||(Q=E(["\n    fragment InsuranceProductOfferedTierItem on InsuranceProductOfferedTierItem {\n  tier\n  startingPrice {\n    ...Money\n  }\n  state\n  isRequested\n}\n    ",""])),g),k,ne=m(k||(k=E(["\n    fragment InsuranceOption on InsuranceOption {\n  insuranceId\n  tier\n  fee {\n    ...Money\n  }\n  state\n}\n    ",""])),g),z,x=m(z||(z=E(["\n    fragment InsuranceNotSellableReason on InsuranceNotSellableReason {\n  reason\n  message\n}\n    "]))),W,se=m(W||(W=E(["\n    fragment InsurableProductItem on InsurableProductItem {\n  imei\n  oaCode\n  categoryId\n  displayName\n  imageHref\n  state\n  standardPriceNoVat {\n    ...Money\n  }\n  options {\n    ...InsuranceOption\n  }\n  notSellableReason {\n    ...InsuranceNotSellableReason\n  }\n}\n    ","\n","\n",""])),g,ne,x),X,ae=m(X||(X=E(["\n    fragment InsuranceProductItem on InsuranceProductItem {\n  deviceCategoryId\n  requestedTier\n  name\n  insuranceId\n  offeredTiers {\n    ...InsuranceProductOfferedTierItem\n  }\n  insurableProducts {\n    ...InsurableProductItem\n  }\n  price {\n    ...Money\n  }\n  notSellableReason {\n    ...InsuranceNotSellableReason\n  }\n}\n    ","\n","\n","\n",""])),oe,se,g,x),J,ce=m(J||(J=E(["\n    fragment CategoryMappedProducts on InsuranceProductCategorizedDetails {\n  categoryId\n  state\n  product {\n    ...InsuranceProductItem\n  }\n}\n    ",""])),ae),K,ie=m(K||(K=E(["\n    fragment InsuranceProductPersonalizedDetails on InsuranceProductPersonalizedDetails {\n  categoryMappedProducts {\n    ...CategoryMappedProducts\n  }\n  notSellableReason {\n    ...InsuranceNotSellableReason\n  }\n}\n    ","\n",""])),ce,x),Z,ee=m(Z||(Z=E(["\n    query GetInsuranceProductCustomDetails($request: InsuranceProductDetailsRequest) {\n  getInsuranceProductCustomDetails(request: $request) {\n    ...InsuranceProductPersonalizedDetails\n  }\n}\n    ",""])),ie);var P=function(e){return e.Custom="custom",e}(P||{});var ue=function(e){return e.Phone="Telefoane",e.Tablet="Tablete",e.Smartwatch="Smartwatches",e.ConnectedObject="Obiecte conectate",e}(ue||{}),de=function(e){return e.Phone="telefoane",e.Tablet="tablete",e.Smartwatch="smartwatches",e.ConnectedObject="obiecte-conectate",e}(de||{});var s=function(e){return e.ADD_INSURANCE="[Cart] Add insurance",e.ADD_INSURANCE_ERROR="[Cart] Add insurance (error)",e.ADD_INSURANCE_SUCCESS="[Cart] Add insurance (success)",e.ADD_INSURANCE_PRODUCT="[Cart] Add insurance product",e.ADD_INSURANCE_PRODUCT_ERROR="[Cart] Add insurance product (error)",e.ADD_INSURANCE_PRODUCT_SUCCESS="[Cart] Add insurance product (success)",e.ADD_MULTIPLE_INSURANCE="[Cart] Add multiple insurance",e.ADD_MULTIPLE_INSURANCE_ERROR="[Cart] Add multiple insurance (error)",e.ADD_MULTIPLE_INSURANCE_SUCCESS="[Cart] Add multiple insurance (success)",e.CHANGE_INSURANCE_MSISDN="[Cart] Change insurance msisdn",e.CHANGE_INSURANCE_MSISDN_ERROR="[Cart] Change insurance msisdn (error)",e.CHANGE_INSURANCE_MSISDN_SUCCESS="[Cart] Change insurance msisdn (success)",e.REMOVE_INSURANCE="[Cart] Remove insurance",e.REMOVE_INSURANCE_ERROR="[Cart] Remove insurance (error)",e.REMOVE_INSURANCE_SUCCESS="[Cart] Remove insurance (success)",e.NO_ACTION_INSURANCE="[Cart] No action insurance",e.UPGRADE_INSURANCE="[Cart] Upgrade insurance",e.UPGRADE_INSURANCE_ERROR="[Cart] Upgrade insurance (error)",e.UPGRADE_INSURANCE_SUCCESS="[Cart] Upgrade insurance (success)",e}(s||{}),fe=n(s.ADD_INSURANCE,a()),Ue=n(s.ADD_INSURANCE_ERROR,a()),De=n(s.ADD_INSURANCE_SUCCESS,a()),te=n(s.ADD_INSURANCE_PRODUCT,a()),Oe=n(s.ADD_INSURANCE_PRODUCT_ERROR,a()),ge=n(s.ADD_INSURANCE_PRODUCT_SUCCESS,a()),Pe=n(s.ADD_MULTIPLE_INSURANCE,a()),he=n(s.ADD_MULTIPLE_INSURANCE_ERROR,a()),Me=n(s.ADD_MULTIPLE_INSURANCE_SUCCESS,a()),Te=n(s.CHANGE_INSURANCE_MSISDN,a()),ve=n(s.CHANGE_INSURANCE_MSISDN_ERROR,a()),xe=n(s.CHANGE_INSURANCE_MSISDN_SUCCESS,a()),be=n(s.REMOVE_INSURANCE,a()),Le=n(s.REMOVE_INSURANCE_ERROR,a()),Be=n(s.REMOVE_INSURANCE_SUCCESS,a()),qe=n(s.NO_ACTION_INSURANCE),Ge=n(s.UPGRADE_INSURANCE,a()),ye=n(s.UPGRADE_INSURANCE_ERROR,a()),Fe=n(s.UPGRADE_INSURANCE_SUCCESS,a());var ot=(()=>{let l=class l{constructor(){this.apollo=O($),this.store=O(F),this.httpClient=O(G),this.insuranceCategoryOfferingsUrl=y.getInsuranceCategoryApi(),this.REQUEST_TIMEOUT=3e4,this.RETRY_COUNT=2}saveUserAgreement(t,r){let o=V(r.gdprConsents);this.store.dispatch(H({insuranceTermsAgreed:t,isAbove16:r.isAbove16,hasPaymentCommitment:r.hasPaymentCommitment,keepIdCard:r.keepIdCard,gdprConsents:o,notificationChannel:r.notificationChannel}))}fetchCategoryOfferings(){return this.httpClient.get(this.insuranceCategoryOfferingsUrl,{withCredentials:!0,headers:{Accept:"application/json","Content-Type":"application/json"}}).pipe(h(this.REQUEST_TIMEOUT),M(this.RETRY_COUNT),B(this.handleError))}buildInsuranceProductDetailsRequest(t,r,o,u,c,i,d){return r||console.error("Active MSISDN is required to build the insurance product details request."),{deviceCategoryId:void 0,deviceImei:t===P.Custom?c:void 0,deviceOaCode:i,msisdn:r,orderId:d,productCategoryIds:o?[o]:[],tier:u}}getInsuranceProductCustomDetails(t){return this.apollo.use(j).query({query:ee,variables:{request:t},errorPolicy:"all",fetchPolicy:"cache-first"}).pipe(h(this.REQUEST_TIMEOUT),M(this.RETRY_COUNT),L(({data:r,errors:o,loading:u})=>{if(o&&o.length>0)return{success:!1,errors:o.map(d=>{var p,C;return{message:d.message,code:((p=d.extensions)==null?void 0:p.code)||"GRAPHQL_ERROR",field:((C=d.path)==null?void 0:C.join("."))||void 0}}),metadata:{requestId:this.generateRequestId(),timestamp:new Date().toISOString()}};let c=r==null?void 0:r.getInsuranceProductCustomDetails;return c?{success:!0,data:{getInsuranceProductCustomDetails:c},metadata:{requestId:this.generateRequestId(),timestamp:new Date().toISOString()}}:{success:!1,errors:[{message:"No product details returned from server",code:"EMPTY_RESPONSE"}],metadata:{requestId:this.generateRequestId(),timestamp:new Date().toISOString()}}}))}processInsuranceProductDetails(t){if(!t)return{categoryMappedProducts:[],notSellableReason:null,isAvailable:!1,availableProducts:[]};let r=(t.categoryMappedProducts||[]).filter(c=>c!=null),o=r.filter(c=>c.state===v.CanBuy),u=t.notSellableReason||null;return{categoryMappedProducts:r,notSellableReason:u,isAvailable:o.length>0&&!u,availableProducts:o}}addInsurance(t,r,o,u,c){var N,I;if(!r||!o){console.error("Missing required fields: selectedProduct, selectedItem, or activeMsisdn");return}let d=t===P.Custom?u:r.imei,p=(I=(N=r.options)==null?void 0:N[0])==null?void 0:I.insuranceId,C=c===f.Basic?T.Basic:T.Premium,S=this.getInsuranceTerm(),U=this.getProductDetails(r,d);if(!p){console.error("Missing insuranceId");return}let D={productDetails:U,term:S,insuranceId:p,insuranceType:C,msisdn:o};this.dispatchAddInsuranceProduct(D)}calculateLoggedInInsurableProduct(t,r){var o,u;if(r===f.Basic){let c=t.options||[],i=A(c);return((o=i==null?void 0:i.fee)==null?void 0:o.value)||0}else{let c=t.options||[],i=A(c);return((u=i==null?void 0:i.fee)==null?void 0:u.value)||0}}calculateLoggedInItemPrice(t,r){var o,u,c,i,d,p,C,S,U,D;if(r===f.Basic){let N=((o=t.options)==null?void 0:o.BASIC)||((i=(c=(u=t.children)==null?void 0:u.find(R=>{var _;return((_=R==null?void 0:R.options)==null?void 0:_.BASIC)&&R.options.BASIC.length>0}))==null?void 0:c.options)==null?void 0:i.BASIC)||[],I=A(N);return((d=I==null?void 0:I.optionFee)==null?void 0:d.value)||0}else{let N=((p=t.options)==null?void 0:p.PREMIUM)||((U=(S=(C=t.children)==null?void 0:C.find(R=>{var _;return((_=R==null?void 0:R.options)==null?void 0:_.PREMIUM)&&R.options.PREMIUM.length>0}))==null?void 0:S.options)==null?void 0:U.PREMIUM)||[],I=A(N);return((D=I==null?void 0:I.optionFee)==null?void 0:D.value)||0}}getProductDetails(t,r){return{oaCode:t.oaCode||"",imei:r||"",categoryId:t.categoryId||1,thumbnail:t.imageHref||""}}getInsuranceTerm(t=w.Months,r=24){return{unit:t,value:r}}dispatchAddInsuranceProduct(t){this.store.dispatch(te({insurance:t}))}handleError(t){return t.status===0?console.error("An error occurred:",t.error):console.error("Backend returned code ".concat(t.status,", body was: "),t.error),b(()=>new Error("Something bad happened; please try again later."))}generateRequestId(){return"req_".concat(Date.now(),"_").concat(Math.random().toString(36).substr(2,9))}};l.\u0275fac=function(r){return new(r||l)},l.\u0275prov=q({token:l,factory:l.\u0275fac,providedIn:"root"});let e=l;return e})();export{v as a,f as b,re as c,ue as d,de as e,P as f,fe as g,Ue as h,De as i,te as j,Oe as k,ge as l,Pe as m,he as n,Me as o,Te as p,ve as q,xe as r,be as s,Le as t,Be as u,qe as v,Ge as w,ye as x,Fe as y,ot as z};