{"version":3,"file":"CcuHCGzz.js","sources":["../../../../stores/reports/reports.ts"],"sourcesContent":["import { getReports } from '@/services';\nimport { type IQueryParams } from '@/types';\nimport { calculatePageResults, PAGE_LIMIT } from '@/utils';\nimport { defineStore } from 'pinia';\n\ntype TabKey = 'awaiting_fix' | 'fix_pending' | 'fixed';\n\ntype State = {\n [key in TabKey]: {\n loading: boolean;\n loaded: boolean;\n data: Record;\n hasMore: boolean;\n batchInfo: string;\n page: number;\n };\n};\n\nexport const useReportsStore = defineStore('reports', {\n state: (): State => ({\n fixed: {\n loading: false,\n loaded: false,\n data: {},\n hasMore: true,\n batchInfo: '',\n page: 1\n },\n awaiting_fix: {\n loading: false,\n loaded: false,\n data: {},\n hasMore: false,\n batchInfo: '',\n page: 1\n },\n fix_pending: {\n loading: false,\n loaded: false,\n data: {},\n hasMore: false,\n batchInfo: '',\n page: 1\n }\n }),\n\n actions: {\n async fetchReportTab(tab: TabKey, query: IQueryParams) {\n try {\n if (this.$state[tab].loaded) return;\n\n const newQuery = {\n ...query,\n page: query.page ? query.page : this.$state[tab].page\n };\n\n this.$state[tab].loading = true;\n const { data } = await getReports(tab, newQuery);\n if (data.value) {\n const { from, to } = calculatePageResults(\n this.$state[tab].page,\n data.value?.pagination.total,\n PAGE_LIMIT\n );\n this.$state[tab].data[this.$state[tab].page] = data?.value?.data;\n this.$state[tab].hasMore =\n data.value?.pagination.next_page_url !== null;\n this.$state[tab].loaded = true;\n this.$state[tab].batchInfo = `Results ${from} - ${to}`;\n }\n } catch (err) {\n throw new Error('Error fetching tab data');\n } finally {\n this.$state[tab].loading = false;\n }\n },\n loadMore(tab: TabKey) {\n this.$state[tab].page++;\n this.$reset(tab);\n },\n $reset(tab: TabKey) {\n this.$state[tab].loaded = false;\n },\n resetData(tab: TabKey) {\n this.$state[tab].data = {};\n this.$state[tab].page = 1;\n }\n }\n});\n"],"names":["useReportsStore","defineStore","tab","query","newQuery","data","getReports","from","to","calculatePageResults","_a","PAGE_LIMIT","_b","_c"],"mappings":"kcAkBa,MAAAA,EAAkBC,EAAY,UAAW,CACpD,MAAO,KAAc,CACnB,MAAO,CACL,QAAS,GACT,OAAQ,GACR,KAAM,CAAC,EACP,QAAS,GACT,UAAW,GACX,KAAM,CACR,EACA,aAAc,CACZ,QAAS,GACT,OAAQ,GACR,KAAM,CAAC,EACP,QAAS,GACT,UAAW,GACX,KAAM,CACR,EACA,YAAa,CACX,QAAS,GACT,OAAQ,GACR,KAAM,CAAC,EACP,QAAS,GACT,UAAW,GACX,KAAM,CAAA,CACR,GAGF,QAAS,CACP,MAAM,eAAeC,EAAaC,EAAqB,WACjD,GAAA,CACF,GAAI,KAAK,OAAOD,CAAG,EAAE,OAAQ,OAE7B,MAAME,EAAW,CACf,GAAGD,EACH,KAAMA,EAAM,KAAOA,EAAM,KAAO,KAAK,OAAOD,CAAG,EAAE,IACnD,EAEK,KAAA,OAAOA,CAAG,EAAE,QAAU,GAC3B,KAAM,CAAE,KAAAG,CAAK,EAAI,MAAMC,EAAWJ,EAAKE,CAAQ,EAC/C,GAAIC,EAAK,MAAO,CACR,KAAA,CAAE,KAAAE,EAAM,GAAAC,CAAA,EAAOC,EACnB,KAAK,OAAOP,CAAG,EAAE,MACjBQ,EAAAL,EAAK,QAAL,YAAAK,EAAY,WAAW,MACvBC,CACF,EACK,KAAA,OAAOT,CAAG,EAAE,KAAK,KAAK,OAAOA,CAAG,EAAE,IAAI,GAAIU,EAAAP,GAAA,YAAAA,EAAM,QAAN,YAAAO,EAAa,KAC5D,KAAK,OAAOV,CAAG,EAAE,UACfW,EAAAR,EAAK,QAAL,YAAAQ,EAAY,WAAW,iBAAkB,KACtC,KAAA,OAAOX,CAAG,EAAE,OAAS,GAC1B,KAAK,OAAOA,CAAG,EAAE,UAAY,WAAWK,CAAI,MAAMC,CAAE,EAAA,OAE1C,CACN,MAAA,IAAI,MAAM,yBAAyB,CAAA,QACzC,CACK,KAAA,OAAON,CAAG,EAAE,QAAU,EAAA,CAE/B,EACA,SAASA,EAAa,CACf,KAAA,OAAOA,CAAG,EAAE,OACjB,KAAK,OAAOA,CAAG,CACjB,EACA,OAAOA,EAAa,CACb,KAAA,OAAOA,CAAG,EAAE,OAAS,EAC5B,EACA,UAAUA,EAAa,CACrB,KAAK,OAAOA,CAAG,EAAE,KAAO,CAAC,EACpB,KAAA,OAAOA,CAAG,EAAE,KAAO,CAAA,CAC1B,CAEJ,CAAC"}