mirror of
https://github.com/Flomp/wanderer.git
synced 2025-12-21 04:50:01 -06:00
Fixes response for protected API routes
This commit is contained in:
@@ -4,7 +4,7 @@ import type { Settings } from '$lib/models/settings'
|
|||||||
|
|
||||||
import PocketBase from 'pocketbase'
|
import PocketBase from 'pocketbase'
|
||||||
import { isRouteProtected } from '$lib/util/authorization_util'
|
import { isRouteProtected } from '$lib/util/authorization_util'
|
||||||
import { json, redirect, text, type Handle } from '@sveltejs/kit'
|
import { error, json, redirect, text, type Handle } from '@sveltejs/kit'
|
||||||
import { sequence } from '@sveltejs/kit/hooks'
|
import { sequence } from '@sveltejs/kit/hooks'
|
||||||
import { MeiliSearch } from 'meilisearch'
|
import { MeiliSearch } from 'meilisearch'
|
||||||
import { locale } from 'svelte-i18n'
|
import { locale } from 'svelte-i18n'
|
||||||
@@ -60,6 +60,9 @@ const auth: Handle = async ({ event, resolve }) => {
|
|||||||
|
|
||||||
// validate the user existence and if the path is acceesible
|
// validate the user existence and if the path is acceesible
|
||||||
if (!pb.authStore.record && isRouteProtected(url)) {
|
if (!pb.authStore.record && isRouteProtected(url)) {
|
||||||
|
if (url.pathname.startsWith("/api")) {
|
||||||
|
return json({ message: "Unauthorized" }, { status: 401 })
|
||||||
|
}
|
||||||
throw redirect(302, '/login?r=' + url.pathname);
|
throw redirect(302, '/login?r=' + url.pathname);
|
||||||
} else if (pb.authStore.record && url.pathname === "/login") {
|
} else if (pb.authStore.record && url.pathname === "/login") {
|
||||||
throw redirect(302, '/');
|
throw redirect(302, '/');
|
||||||
|
|||||||
@@ -2,9 +2,9 @@ import type { Trail } from "$lib/models/trail";
|
|||||||
import { categories_index } from "$lib/stores/category_store";
|
import { categories_index } from "$lib/stores/category_store";
|
||||||
import { feed_index } from "$lib/stores/feed_store";
|
import { feed_index } from "$lib/stores/feed_store";
|
||||||
import { trails_recommend } from "$lib/stores/trail_store";
|
import { trails_recommend } from "$lib/stores/trail_store";
|
||||||
import type { ServerLoad } from "@sveltejs/kit";
|
import type { Load } from "@sveltejs/kit";
|
||||||
|
|
||||||
export const load: ServerLoad = async ({ params, locals, fetch }) => {
|
export const load: Load = async ({ fetch }) => {
|
||||||
try {
|
try {
|
||||||
await categories_index(fetch)
|
await categories_index(fetch)
|
||||||
|
|
||||||
@@ -14,7 +14,9 @@ export const load: ServerLoad = async ({ params, locals, fetch }) => {
|
|||||||
return { trails: trails ?? [], feed }
|
return { trails: trails ?? [], feed }
|
||||||
|
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error(e)
|
if (!(e instanceof Error) || e.message !== "Unauthorized") {
|
||||||
|
console.error(e)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return { trails: [], feed: {items: [], page: 1, perPage: 1, totalItems: 0, totalPages: 0} }
|
return { trails: [], feed: { items: [], page: 1, perPage: 1, totalItems: 0, totalPages: 0 } }
|
||||||
};
|
};
|
||||||
Reference in New Issue
Block a user