diff --git a/src/marbas/MarbasObject.ts b/src/marbas/MarbasObject.ts new file mode 100644 index 0000000..f04914c --- /dev/null +++ b/src/marbas/MarbasObject.ts @@ -0,0 +1,3 @@ +export type MarbasObject = { + id: number; +} \ No newline at end of file diff --git a/src/marbas/index.ts b/src/marbas/index.ts new file mode 100644 index 0000000..b532667 --- /dev/null +++ b/src/marbas/index.ts @@ -0,0 +1,3 @@ +export * from './MarbasObject'; +export * from './marbasService'; + diff --git a/src/marbas/marbasService.ts b/src/marbas/marbasService.ts new file mode 100644 index 0000000..5a13473 --- /dev/null +++ b/src/marbas/marbasService.ts @@ -0,0 +1,46 @@ +import { useAuthStore } from "@/auth"; +import { logResource } from "@/service"; +import axios from "axios"; + +export const marbasAxiosInstance = axios.create({ + baseURL: import.meta.env.VITE_MARBAS_URL, + headers: { + 'Accept': 'application/json', + "Content-Type": "application/json", + }, +}) + +marbasAxiosInstance.interceptors.request.use(r => { + const authStore = useAuthStore(); + + if (!authStore.isLoggedIn) { + throw new Error("Not logged in"); + } + + const accessToken = authStore.accessToken; + + if (accessToken) { + r.headers.Authorization = `Bearer ${accessToken}`; + } + if (!r.params?.page_size) { + r.params = { ...r.params, page_size: 250 }; + } + return r; +}) +logResource(marbasAxiosInstance) +marbasAxiosInstance.interceptors.response.use(async r => { + const next = r.data?.next; + let results = r.data?.results; + + if (next) { + results = results.concat((await marbasAxiosInstance.request({ + ...r.config, + url: next, + baseURL: '', + })).data); + } + if (results) { + r.data = results; + } + return r; +}) \ No newline at end of file diff --git a/src/market/acquisition/AcquiredType.ts b/src/market/acquisition/AcquiredType.ts index 358015f..096a9dd 100644 --- a/src/market/acquisition/AcquiredType.ts +++ b/src/market/acquisition/AcquiredType.ts @@ -1,7 +1,7 @@ import { MarketType } from ".."; -import { AcquiredMarketType } from "./acquisition"; +import { MarbasAcquiredType } from "./acquisition"; -export type AcquiredType = Omit & { +export type AcquiredType = Omit & { type: MarketType, buy: number, sell: number diff --git a/src/market/acquisition/AcquisitionResultTable.vue b/src/market/acquisition/AcquisitionResultTable.vue index 0bc3459..f829fad 100644 --- a/src/market/acquisition/AcquisitionResultTable.vue +++ b/src/market/acquisition/AcquisitionResultTable.vue @@ -1,7 +1,7 @@