diff --git a/src/lib/Components/CustomJs.svelte b/src/lib/Components/CustomJs.svelte index 59700c72..95fd191f 100644 --- a/src/lib/Components/CustomJs.svelte +++ b/src/lib/Components/CustomJs.svelte @@ -6,7 +6,7 @@ onMount(async () => { try { - const response = await fetch(`${base}/api/custom_js`); + const response = await fetch(`${base}/_api/custom_js`); const data = await response.json(); if (response.ok) { diff --git a/src/lib/Components/Theme.svelte b/src/lib/Components/Theme.svelte index 5d058903..62fa961c 100644 --- a/src/lib/Components/Theme.svelte +++ b/src/lib/Components/Theme.svelte @@ -31,7 +31,7 @@ */ async function loadTheme(name: string) { try { - const response = await fetch(`${base}/api/load_theme`, { + const response = await fetch(`${base}/_api/load_theme`, { method: 'POST', headers: { 'Content-Type': 'application/json' diff --git a/src/lib/Drawer/AppearanceButton.svelte b/src/lib/Drawer/AppearanceButton.svelte index 68cd92ca..b0ed0c4e 100644 --- a/src/lib/Drawer/AppearanceButton.svelte +++ b/src/lib/Drawer/AppearanceButton.svelte @@ -22,7 +22,7 @@ module.default; try { - const response = await fetch(`${base}/api/get_all_themes`); + const response = await fetch(`${base}/_api/get_all_themes`); const data = await response.json(); if (response.ok) { diff --git a/src/lib/Drawer/SaveButton.svelte b/src/lib/Drawer/SaveButton.svelte index ae09b066..b469435c 100644 --- a/src/lib/Drawer/SaveButton.svelte +++ b/src/lib/Drawer/SaveButton.svelte @@ -28,7 +28,7 @@ if (!modified) return; try { - const response = await fetch(`${base}/api/save_dashboard`, { + const response = await fetch(`${base}/_api/save_dashboard`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify($dashboard) diff --git a/src/lib/Main/Intro.svelte b/src/lib/Main/Intro.svelte index 68a714c6..66512add 100644 --- a/src/lib/Main/Intro.svelte +++ b/src/lib/Main/Intro.svelte @@ -59,7 +59,7 @@ $selectedLanguage = value; try { - const response = await fetch(`${base}/api/get_translation`, { + const response = await fetch(`${base}/_api/get_translation`, { method: 'POST', headers: { 'Content-Type': 'application/json' diff --git a/src/lib/Modal/AppearanceConfig.svelte b/src/lib/Modal/AppearanceConfig.svelte index 2e9735b1..939b6afa 100644 --- a/src/lib/Modal/AppearanceConfig.svelte +++ b/src/lib/Modal/AppearanceConfig.svelte @@ -22,7 +22,7 @@ // load themes if not prop has already loaded if (!themes) { try { - const response = await fetch(`${base}/api/get_all_themes`); + const response = await fetch(`${base}/_api/get_all_themes`); const data = await response.json(); if (response.ok) { diff --git a/src/lib/Modal/CodeConfig.svelte b/src/lib/Modal/CodeConfig.svelte index 6f32081d..8d3123ad 100644 --- a/src/lib/Modal/CodeConfig.svelte +++ b/src/lib/Modal/CodeConfig.svelte @@ -48,7 +48,7 @@ } try { - const response = await fetch(`${base}/api/save_dashboard`, { + const response = await fetch(`${base}/_api/save_dashboard`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(_value) diff --git a/src/lib/Settings/Index.svelte b/src/lib/Settings/Index.svelte index 1e951936..7b475f42 100644 --- a/src/lib/Settings/Index.svelte +++ b/src/lib/Settings/Index.svelte @@ -59,7 +59,7 @@ $motion = 190; } - const response = await fetch(`${base}/api/save_config`, { + const response = await fetch(`${base}/_api/save_config`, { method: 'POST', headers: { 'Content-Type': 'application/json' diff --git a/src/lib/Settings/Language.svelte b/src/lib/Settings/Language.svelte index a87893e1..554df051 100644 --- a/src/lib/Settings/Language.svelte +++ b/src/lib/Settings/Language.svelte @@ -19,7 +19,7 @@ }; try { - const response = await fetch(`${base}/api/list_languages`); + const response = await fetch(`${base}/_api/list_languages`); const data = await response.json(); if (response.ok) { @@ -39,7 +39,7 @@ $selectedLanguage = value; try { - const response = await fetch(`${base}/api/get_translation`, { + const response = await fetch(`${base}/_api/get_translation`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ locale: value }) diff --git a/src/routes/api/custom_js/+server.ts b/src/routes/_api/custom_js/+server.ts similarity index 100% rename from src/routes/api/custom_js/+server.ts rename to src/routes/_api/custom_js/+server.ts diff --git a/src/routes/api/get_all_themes/+server.ts b/src/routes/_api/get_all_themes/+server.ts similarity index 100% rename from src/routes/api/get_all_themes/+server.ts rename to src/routes/_api/get_all_themes/+server.ts diff --git a/src/routes/api/get_calendar/+server.ts b/src/routes/_api/get_calendar/+server.ts similarity index 100% rename from src/routes/api/get_calendar/+server.ts rename to src/routes/_api/get_calendar/+server.ts diff --git a/src/routes/api/get_docs/+server.ts b/src/routes/_api/get_docs/+server.ts similarity index 100% rename from src/routes/api/get_docs/+server.ts rename to src/routes/_api/get_docs/+server.ts diff --git a/src/routes/api/get_translation/+server.ts b/src/routes/_api/get_translation/+server.ts similarity index 100% rename from src/routes/api/get_translation/+server.ts rename to src/routes/_api/get_translation/+server.ts diff --git a/src/routes/api/list_languages/+server.ts b/src/routes/_api/list_languages/+server.ts similarity index 100% rename from src/routes/api/list_languages/+server.ts rename to src/routes/_api/list_languages/+server.ts diff --git a/src/routes/api/load_theme/+server.ts b/src/routes/_api/load_theme/+server.ts similarity index 100% rename from src/routes/api/load_theme/+server.ts rename to src/routes/_api/load_theme/+server.ts diff --git a/src/routes/api/save_config/+server.ts b/src/routes/_api/save_config/+server.ts similarity index 100% rename from src/routes/api/save_config/+server.ts rename to src/routes/_api/save_config/+server.ts diff --git a/src/routes/api/save_dashboard/+server.ts b/src/routes/_api/save_dashboard/+server.ts similarity index 100% rename from src/routes/api/save_dashboard/+server.ts rename to src/routes/_api/save_dashboard/+server.ts diff --git a/src/routes/api/auth/+server.ts b/src/routes/api/auth/+server.ts deleted file mode 100644 index b2035c22..00000000 --- a/src/routes/api/auth/+server.ts +++ /dev/null @@ -1,23 +0,0 @@ -import type { RequestHandler } from './$types'; -import { json, error } from '@sveltejs/kit'; - -export const POST: RequestHandler = async ({ request }) => { - try { - const { clientId, hassUrl } = await request.json(); - - const response = await fetch(`${hassUrl}/auth/login_flow`, { - method: 'POST', - headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify({ - client_id: clientId, - handler: ['homeassistant', null], - redirect_uri: clientId - }) - }); - - const data = await response.json(); - return json(data); - } catch (err: any) { - error(500, err.message); - } -}; diff --git a/src/routes/api/auth/[flow_id]/+server.ts b/src/routes/api/auth/[flow_id]/+server.ts deleted file mode 100644 index becb5bc7..00000000 --- a/src/routes/api/auth/[flow_id]/+server.ts +++ /dev/null @@ -1,50 +0,0 @@ -import type { RequestHandler } from '@sveltejs/kit'; -import { json, error } from '@sveltejs/kit'; - -export const POST: RequestHandler = async ({ params, request }) => { - try { - const { flow_id } = params; - const { username, password, code, clientId, hassUrl } = await request.json(); - - let payload; - if (username && password && clientId) { - payload = { username, password, client_id: clientId }; - } else if (code && clientId) { - payload = { code, client_id: clientId }; - } - - const response = await fetch(`${hassUrl}/auth/login_flow/${flow_id}`, { - method: 'POST', - headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify(payload) - }); - const data = await response.json(); - - // if mfa early return - if (data?.step_id === 'mfa') { - return json(data); - } - - // handle success - if (data?.type === 'create_entry') { - const body = new URLSearchParams(); - body.append('code', data.result); - body.append('client_id', clientId); - body.append('grant_type', 'authorization_code'); - - const tokenResponse = await fetch(`${hassUrl}/auth/token`, { - method: 'POST', - headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, - body - }); - - const tokens = await tokenResponse.json(); - - return json(tokens); - } - - return json({ error: data }); - } catch (err: any) { - return error(500, err.message); - } -};