1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4938],{74938:(e,t,a)=>{a.d(t,{TV:()=>d,NJ:()=>p,jc:()=>m,hA:()=>R,vd:()=>A});var r=a(32960),s=a(26715),l=a(5041);let n=a(23464).A.create({timeout:3e4,headers:{Accept:"application/json","Content-Type":"application/json"}});n.interceptors.request.use(e=>{let t=localStorage.getItem("authToken");return t&&(e.headers.Authorization="Bearer ".concat(t)),e},e=>(console.error("[API Request Error]",e),Promise.reject(e))),n.interceptors.response.use(e=>e,e=>{if(e.response){let{status:t,data:a}=e.response;switch(t){case 401:localStorage.removeItem("authToken");break;case 403:console.error("Forbidden: You don't have permission to access this resource");break;case 404:console.error("Not Found: The requested resource doesn't exist");break;case 429:console.error("Too Many Requests: Rate limit exceeded");break;case 500:console.error("Server Error: Internal server error occurred");break;default:console.error("API Error [".concat(t,"]:"),(null==a?void 0:a.message)||e.message)}}else e.request?console.error("Network Error: No response received",e.request):console.error("API Error:",e.message);return Promise.reject(e)});let o={get:(e,t)=>n.get(e,t),post:(e,t,a)=>n.post(e,t,a)},i={API:"/api"},u=e=>"".concat(i.API).concat(e),T={SYSTEM:{ROOT:"/",STATUS:u("/durum"),UPDATE:u("/guncelle")},INTEREST_RATES:{ALL:u("/faiz-oranlari"),BY_BANK:e=>u("/faiz-oranlari/".concat(e))},DEPOSIT_RATES:{ALL:u("/mevduat-oranlari")},BANKS:{LIST:u("/bankalar")}},c={CACHE_TIME:{INTEREST_RATES:3e5,BANKS:36e5,STATUS:3e4},STALE_TIME:{INTEREST_RATES:12e4,BANKS:18e5,STATUS:1e4},RETRY:{DEFAULT:3,UPDATE:1},REFETCH_INTERVAL:{STATUS:!1,INTEREST_RATES:!1,DEPOSIT_RATES:!1}};var E=a(94511),S=a(26332);let m=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{termMonths:a,options:s}=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(null==e)return{termMonths:null,options:t||{}};if("number"==typeof e||"string"==typeof e){let a=Number.parseInt(e,10);return{termMonths:Number.isFinite(a)&&a>0?a:null,options:t||{}}}return{termMonths:null,options:e||{}}}(e,t);return(0,r.I)({queryKey:E.lH.interestRates.list(a),queryFn:async()=>{let{data:e}=await o.get(T.INTEREST_RATES.ALL,{params:a?{vade:a}:void 0});if(!(null==e?void 0:e.data))return null;let{data:t,guncelleme_tarihi:r,toplam_banka:s,vade_ay:l}=e;return{rates:Object.entries(t).map(e=>{let[t,a]=e,r=S.vi[t],s=(null==r?void 0:r.bankName)||t.replace(/-/g," ").replace(/\b\w/g,e=>e.toUpperCase());return{bankSlug:t,bankName:s,...a}}),ratesMap:t,lastUpdate:r,totalBanks:s,termMonths:l,timestamp:new Date().toISOString()}},staleTime:c.STALE_TIME.INTEREST_RATES,cacheTime:c.CACHE_TIME.INTEREST_RATES,refetchInterval:c.REFETCH_INTERVAL.INTEREST_RATES,...s})},p=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(0,r.I)({queryKey:E.lH.depositRates.list(e),queryFn:async()=>{let{data:t}=await o.get(T.DEPOSIT_RATES.ALL,{params:{vade:e}});if(!(null==t?void 0:t.data))return null;let{data:a,guncelleme_tarihi:r,toplam_banka:s,vade_ay:l}=t;return{rates:Object.entries(a).map(e=>{let[t,a]=e,r=a.bank_slug||t.split(":")[0],s=S.vi[r],l=(null==s?void 0:s.bankName)||a.banka_adi||r.replace(/-/g," ").replace(/\b\w/g,e=>e.toUpperCase());return{rowKey:t,bankSlug:r,bankName:l,...a}}),ratesMap:a,lastUpdate:r,totalBanks:s,termMonths:l,timestamp:new Date().toISOString()}},staleTime:0,cacheTime:c.CACHE_TIME.INTEREST_RATES,refetchOnMount:"always",refetchOnWindowFocus:!1,refetchInterval:c.REFETCH_INTERVAL.DEPOSIT_RATES,...t})},A=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=(0,s.jE)();return(0,l.n)({mutationKey:E.ce.system.update(),mutationFn:async()=>{let{data:e}=await o.post(T.SYSTEM.UPDATE);return e},onSuccess:a=>{var r;t.invalidateQueries({queryKey:E.lH.interestRates.all()}),t.invalidateQueries({queryKey:E.lH.system.status()}),null==(r=e.onSuccess)||r.call(e,a)},retry:c.RETRY.UPDATE,...e})},d=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return(0,r.I)({queryKey:E.lH.banks.list(),queryFn:async()=>{let{data:e}=await o.get(T.BANKS.LIST),t=e.bankalar.map(e=>{let{bank:t}=(0,S.v2)({slug:e});return t?{name:t.bankName,logo:t.logo}:{name:e,logo:null}});return{total:e.toplam,banks:t.sort((e,t)=>
1e.name.localeCompare(t.name))}},...e})},R=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return(0,r.I)({queryKey:E.lH.system.status(),queryFn:async()=>{let{data:e}=await o.get(T.SYSTEM.STATUS);return e?{status:e.status,isActive:"aktif"===e.status,lastUpdate:e.son_guncelleme,totalBanks:e.toplam_banka,message:e.mesaj,timestamp:new Date().toISOString()}:null},staleTime:c.STALE_TIME.STATUS,cacheTime:c.CACHE_TIME.STATUS,refetchInterval:c.REFETCH_INTERVAL.STATUS,...e})};a(8296)},94511:(e,t,a)=>{a.d(t,{ce:()=>s,lH:()=>r});let r={all:["api"],interestRates:{all:()=>[...r.all,"interest-rates"],list:e=>[...r.interestRates.all(),"list",e||"all"],detail:(e,t)=>[...r.interestRates.all(),"detail",e,t||"all"]},depositRates:{all:()=>[...r.all,"deposit-rates"],list:e=>[...r.depositRates.all(),"list",e]},banks:{all:()=>[...r.all,"banks"],list:()=>[...r.banks.all(),"list"]},system:{all:()=>[...r.all,"system"],status:()=>[...r.system.all(),"status"],info:()=>[...r.system.all(),"info"]}},s={system:{update:()=>["system","update"]}}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.