From 577b866bb3b7c5cacb64de4a644fd5cf7e59171a Mon Sep 17 00:00:00 2001 From: Jesse Wierzbinski Date: Tue, 9 Apr 2024 01:48:13 -1000 Subject: [PATCH] Refactor API URL configuration --- packages/frontend/pages/[username]/[uuid].vue | 4 +--- packages/frontend/pages/[username]/index.vue | 24 +++++++++++-------- packages/frontend/server/api/config.ts | 3 +++ 3 files changed, 18 insertions(+), 13 deletions(-) diff --git a/packages/frontend/pages/[username]/[uuid].vue b/packages/frontend/pages/[username]/[uuid].vue index 1b14b10f..ca508bd8 100644 --- a/packages/frontend/pages/[username]/[uuid].vue +++ b/packages/frontend/pages/[username]/[uuid].vue @@ -20,12 +20,10 @@ if (!config) { throw new Error("Config not found"); } -const url = `${config.http.bind}:${config.http.bind_port}`; - const route = useRoute(); const data = await fetch( - new URL(`/api/v1/statuses/${route.params.uuid}`, url), + new URL(`/api/v1/statuses/${route.params.uuid}`, config.http.url), { headers: { Accept: "application/json", diff --git a/packages/frontend/pages/[username]/index.vue b/packages/frontend/pages/[username]/index.vue index 5da29472..57319403 100644 --- a/packages/frontend/pages/[username]/index.vue +++ b/packages/frontend/pages/[username]/index.vue @@ -20,28 +20,32 @@ if (!config) { throw new Error("Config not found"); } -const url = `${config.http.bind}:${config.http.bind_port}`; - const route = useRoute(); const username = (route.params.username as string).replace("@", ""); -const id = await fetch(new URL(`/api/v1/accounts/search?q=${username}`, url), { - headers: { - Accept: "application/json", +const id = await fetch( + new URL(`/api/v1/accounts/search?q=${username}`, config.http.url), + { + headers: { + Accept: "application/json", + }, }, -}) +) .then((res) => res.json()) .catch(() => null); let data = null; if (id && id.length > 0) { - data = await fetch(new URL(`/api/v1/accounts/${id[0].id}`, url), { - headers: { - Accept: "application/json", + data = await fetch( + new URL(`/api/v1/accounts/${id[0].id}`, config.http.url), + { + headers: { + Accept: "application/json", + }, }, - }) + ) .then((res) => res.json()) .catch(() => ({ error: "Failed to fetch user (it probably doesn't exist)", diff --git a/packages/frontend/server/api/config.ts b/packages/frontend/server/api/config.ts index ad9db0d8..d055c92b 100644 --- a/packages/frontend/server/api/config.ts +++ b/packages/frontend/server/api/config.ts @@ -13,6 +13,9 @@ export default defineEventHandler(async () => { bind: config?.http.bind, bind_port: config?.http.bind_port, base_url: config?.http.base_url, + url: config?.http.bind.includes("http") + ? `${config?.http.bind}:${config?.http.bind_port}` + : `http://${config?.http.bind}:${config?.http.bind_port}`, }, }; });