diff --git a/web/src/lib/constants.ts b/web/src/lib/constants.ts index 6d0fe38b0942b..cc3bc635d8251 100644 --- a/web/src/lib/constants.ts +++ b/web/src/lib/constants.ts @@ -18,6 +18,7 @@ export enum AppRoute { SEARCH = '/search', MAP = '/map', USER_SETTINGS = '/user-settings', + MEMORY = '/memory', AUTH_LOGIN = '/auth/login', AUTH_LOGOUT = '/auth/logout', diff --git a/web/src/routes/(user)/albums/[albumId]/photos/[assetId]/+page.ts b/web/src/routes/(user)/albums/[albumId]/photos/[assetId]/+page.ts index 2c337b31be417..683d8492dece9 100644 --- a/web/src/routes/(user)/albums/[albumId]/photos/[assetId]/+page.ts +++ b/web/src/routes/(user)/albums/[albumId]/photos/[assetId]/+page.ts @@ -1,18 +1,19 @@ import { redirect } from '@sveltejs/kit'; export const prerender = false; import type { PageLoad } from './$types'; +import { AppRoute } from '$lib/constants'; export const load: PageLoad = async ({ params, parent }) => { const { user } = await parent(); if (!user) { - throw redirect(302, '/auth/login'); + throw redirect(302, AppRoute.AUTH_LOGIN); } const albumId = params['albumId']; if (albumId) { - throw redirect(302, `/albums/${albumId}`); + throw redirect(302, `${AppRoute.ALBUMS}/${albumId}`); } else { - throw redirect(302, `/photos`); + throw redirect(302, AppRoute.PHOTOS); } }; diff --git a/web/src/routes/(user)/archive/photos/[assetId]/+page.svelte b/web/src/routes/(user)/archive/photos/[assetId]/+page.svelte new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/web/src/routes/(user)/archive/photos/[assetId]/+page.ts b/web/src/routes/(user)/archive/photos/[assetId]/+page.ts new file mode 100644 index 0000000000000..80c499ee8b086 --- /dev/null +++ b/web/src/routes/(user)/archive/photos/[assetId]/+page.ts @@ -0,0 +1,13 @@ +import { redirect } from '@sveltejs/kit'; +export const prerender = false; +import type { PageLoad } from './$types'; +import { AppRoute } from '$lib/constants'; + +export const load: PageLoad = async ({ parent }) => { + const { user } = await parent(); + if (!user) { + throw redirect(302, AppRoute.AUTH_LOGIN); + } + + throw redirect(302, AppRoute.ARCHIVE); +}; diff --git a/web/src/routes/(user)/explore/+page.server.ts b/web/src/routes/(user)/explore/+page.server.ts index 8d4d074742f82..44473aa3aabe0 100644 --- a/web/src/routes/(user)/explore/+page.server.ts +++ b/web/src/routes/(user)/explore/+page.server.ts @@ -1,10 +1,11 @@ import { redirect } from '@sveltejs/kit'; import type { PageServerLoad } from './$types'; +import { AppRoute } from '$lib/constants'; export const load = (async ({ locals, parent }) => { const { user } = await parent(); if (!user) { - throw redirect(302, '/auth/login'); + throw redirect(302, AppRoute.AUTH_LOGIN); } const { data: items } = await locals.api.searchApi.getExploreData(); diff --git a/web/src/routes/(user)/favorites/[assetId]/+page.server.ts b/web/src/routes/(user)/favorites/[assetId]/+page.server.ts index a215862c7bc3b..4a553a1928d32 100644 --- a/web/src/routes/(user)/favorites/[assetId]/+page.server.ts +++ b/web/src/routes/(user)/favorites/[assetId]/+page.server.ts @@ -2,13 +2,14 @@ import { redirect } from '@sveltejs/kit'; export const prerender = false; import type { PageServerLoad } from './$types'; +import { AppRoute } from '$lib/constants'; export const load: PageServerLoad = async ({ parent }) => { const { user } = await parent(); if (!user) { - throw redirect(302, '/auth/login'); + throw redirect(302, AppRoute.AUTH_LOGIN); } else { - throw redirect(302, '/favorites'); + throw redirect(302, AppRoute.FAVORITES); } }; diff --git a/web/src/routes/(user)/memory/photos/+page.server.ts b/web/src/routes/(user)/memory/photos/+page.server.ts index a5498931720d9..b7c5e399129f2 100644 --- a/web/src/routes/(user)/memory/photos/+page.server.ts +++ b/web/src/routes/(user)/memory/photos/+page.server.ts @@ -2,13 +2,14 @@ import { redirect } from '@sveltejs/kit'; export const prerender = false; import type { PageServerLoad } from './$types'; +import { AppRoute } from '$lib/constants'; export const load: PageServerLoad = async ({ parent }) => { const { user } = await parent(); if (!user) { - throw redirect(302, '/auth/login'); + throw redirect(302, AppRoute.AUTH_LOGIN); } else { - throw redirect(302, '/memory'); + throw redirect(302, AppRoute.MEMORY); } }; diff --git a/web/src/routes/(user)/memory/photos/[assetId]/+page.server.ts b/web/src/routes/(user)/memory/photos/[assetId]/+page.server.ts index a5498931720d9..b7c5e399129f2 100644 --- a/web/src/routes/(user)/memory/photos/[assetId]/+page.server.ts +++ b/web/src/routes/(user)/memory/photos/[assetId]/+page.server.ts @@ -2,13 +2,14 @@ import { redirect } from '@sveltejs/kit'; export const prerender = false; import type { PageServerLoad } from './$types'; +import { AppRoute } from '$lib/constants'; export const load: PageServerLoad = async ({ parent }) => { const { user } = await parent(); if (!user) { - throw redirect(302, '/auth/login'); + throw redirect(302, AppRoute.AUTH_LOGIN); } else { - throw redirect(302, '/memory'); + throw redirect(302, AppRoute.MEMORY); } }; diff --git a/web/src/routes/(user)/people/+page.server.ts b/web/src/routes/(user)/people/+page.server.ts index 8fabca2c4e0e0..07ce852f60aa0 100644 --- a/web/src/routes/(user)/people/+page.server.ts +++ b/web/src/routes/(user)/people/+page.server.ts @@ -1,10 +1,11 @@ import { redirect } from '@sveltejs/kit'; import type { PageServerLoad } from './$types'; +import { AppRoute } from '$lib/constants'; export const load = (async ({ locals, parent }) => { const { user } = await parent(); if (!user) { - throw redirect(302, '/auth/login'); + throw redirect(302, AppRoute.AUTH_LOGIN); } const { data: people } = await locals.api.personApi.getAllPeople(); diff --git a/web/src/routes/(user)/people/[personId]/+page.server.ts b/web/src/routes/(user)/people/[personId]/+page.server.ts index e562cd30f2e27..27c3ac7976612 100644 --- a/web/src/routes/(user)/people/[personId]/+page.server.ts +++ b/web/src/routes/(user)/people/[personId]/+page.server.ts @@ -1,10 +1,11 @@ import { redirect } from '@sveltejs/kit'; import type { PageServerLoad } from './$types'; +import { AppRoute } from '$lib/constants'; export const load = (async ({ locals, parent, params }) => { const { user } = await parent(); if (!user) { - throw redirect(302, '/auth/login'); + throw redirect(302, AppRoute.AUTH_LOGIN); } const { data: person } = await locals.api.personApi.getPerson({ id: params.personId }); diff --git a/web/src/routes/(user)/people/[personId]/photos/[assetId]/+page.svelte b/web/src/routes/(user)/people/[personId]/photos/[assetId]/+page.svelte new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/web/src/routes/(user)/people/[personId]/photos/[assetId]/+page.ts b/web/src/routes/(user)/people/[personId]/photos/[assetId]/+page.ts new file mode 100644 index 0000000000000..235e620d6cbd4 --- /dev/null +++ b/web/src/routes/(user)/people/[personId]/photos/[assetId]/+page.ts @@ -0,0 +1,14 @@ +import { redirect } from '@sveltejs/kit'; +export const prerender = false; +import type { PageLoad } from './$types'; +import { AppRoute } from '$lib/constants'; + +export const load: PageLoad = async ({ params, parent }) => { + const { user } = await parent(); + if (!user) { + throw redirect(302, AppRoute.AUTH_LOGIN); + } + + const personId = params['personId']; + throw redirect(302, `${AppRoute.PEOPLE}/${personId}`); +}; diff --git a/web/src/routes/(user)/photos/[assetId]/+page.server.ts b/web/src/routes/(user)/photos/[assetId]/+page.server.ts index 5356085665022..a44ab35a04f17 100644 --- a/web/src/routes/(user)/photos/[assetId]/+page.server.ts +++ b/web/src/routes/(user)/photos/[assetId]/+page.server.ts @@ -2,13 +2,14 @@ import { redirect } from '@sveltejs/kit'; export const prerender = false; import type { PageServerLoad } from './$types'; +import { AppRoute } from '$lib/constants'; export const load: PageServerLoad = async ({ parent }) => { const { user } = await parent(); if (!user) { - throw redirect(302, '/auth/login'); + throw redirect(302, AppRoute.AUTH_LOGIN); } else { - throw redirect(302, '/photos'); + throw redirect(302, AppRoute.PHOTOS); } }; diff --git a/web/src/routes/(user)/search/+page.server.ts b/web/src/routes/(user)/search/+page.server.ts index e2fa1ce6b11cf..14e03c970be93 100644 --- a/web/src/routes/(user)/search/+page.server.ts +++ b/web/src/routes/(user)/search/+page.server.ts @@ -1,10 +1,11 @@ import { redirect } from '@sveltejs/kit'; import type { PageServerLoad } from './$types'; +import { AppRoute } from '$lib/constants'; export const load = (async ({ locals, parent, url }) => { const { user } = await parent(); if (!user) { - throw redirect(302, '/auth/login'); + throw redirect(302, AppRoute.AUTH_LOGIN); } const term = url.searchParams.get('q') || url.searchParams.get('query') || undefined; diff --git a/web/src/routes/(user)/search/photos/[assetId]/+page.svelte b/web/src/routes/(user)/search/photos/[assetId]/+page.svelte new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/web/src/routes/(user)/search/photos/[assetId]/+page.ts b/web/src/routes/(user)/search/photos/[assetId]/+page.ts new file mode 100644 index 0000000000000..3b3b2caf0b1ef --- /dev/null +++ b/web/src/routes/(user)/search/photos/[assetId]/+page.ts @@ -0,0 +1,13 @@ +import { redirect } from '@sveltejs/kit'; +export const prerender = false; +import type { PageLoad } from './$types'; +import { AppRoute } from '$lib/constants'; + +export const load: PageLoad = async ({ parent }) => { + const { user } = await parent(); + if (!user) { + throw redirect(302, AppRoute.AUTH_LOGIN); + } + + throw redirect(302, AppRoute.SEARCH); +}; diff --git a/web/src/routes/+page.server.ts b/web/src/routes/+page.server.ts index b5e4e4d23f383..c2227e2fcf8f3 100644 --- a/web/src/routes/+page.server.ts +++ b/web/src/routes/+page.server.ts @@ -2,18 +2,19 @@ export const prerender = false; import { redirect } from '@sveltejs/kit'; import type { PageServerLoad } from './$types'; +import { AppRoute } from '$lib/constants'; export const load = (async ({ parent, locals: { api } }) => { const { user } = await parent(); if (user) { - throw redirect(302, '/photos'); + throw redirect(302, AppRoute.PHOTOS); } const { data } = await api.userApi.getUserCount({ admin: true }); if (data.userCount > 0) { // Redirect to login page if an admin is already registered. - throw redirect(302, '/auth/login'); + throw redirect(302, AppRoute.AUTH_LOGIN); } return { diff --git a/web/src/routes/admin/+page.server.ts b/web/src/routes/admin/+page.server.ts index f8c59961546c6..bb148ff37b012 100644 --- a/web/src/routes/admin/+page.server.ts +++ b/web/src/routes/admin/+page.server.ts @@ -1,14 +1,15 @@ import { redirect } from '@sveltejs/kit'; import type { PageServerLoad } from './$types'; +import { AppRoute } from '$lib/constants'; export const load: PageServerLoad = async ({ parent }) => { const { user } = await parent(); if (!user) { - throw redirect(302, '/auth/login'); + throw redirect(302, AppRoute.AUTH_LOGIN); } else if (!user.isAdmin) { - throw redirect(302, '/photos'); + throw redirect(302, AppRoute.PHOTOS); } - throw redirect(302, '/admin/user-management'); + throw redirect(302, AppRoute.ADMIN_USER_MANAGEMENT); }; diff --git a/web/src/routes/admin/server-status/+page.server.ts b/web/src/routes/admin/server-status/+page.server.ts index 34a804fbd737c..2e366f365a662 100644 --- a/web/src/routes/admin/server-status/+page.server.ts +++ b/web/src/routes/admin/server-status/+page.server.ts @@ -1,13 +1,14 @@ import { redirect } from '@sveltejs/kit'; import type { PageServerLoad } from './$types'; +import { AppRoute } from '$lib/constants'; export const load = (async ({ parent, locals: { api } }) => { const { user } = await parent(); if (!user) { - throw redirect(302, '/auth/login'); + throw redirect(302, AppRoute.AUTH_LOGIN); } else if (!user.isAdmin) { - throw redirect(302, '/photos'); + throw redirect(302, AppRoute.PHOTOS); } const { data: stats } = await api.serverInfoApi.getStats(); diff --git a/web/src/routes/admin/system-settings/+page.server.ts b/web/src/routes/admin/system-settings/+page.server.ts index d7e21d9cf552f..2550325c991f0 100644 --- a/web/src/routes/admin/system-settings/+page.server.ts +++ b/web/src/routes/admin/system-settings/+page.server.ts @@ -1,13 +1,14 @@ import { redirect } from '@sveltejs/kit'; import type { PageServerLoad } from './$types'; +import { AppRoute } from '$lib/constants'; export const load: PageServerLoad = async ({ parent }) => { const { user } = await parent(); if (!user) { - throw redirect(302, '/auth/login'); + throw redirect(302, AppRoute.AUTH_LOGIN); } else if (!user.isAdmin) { - throw redirect(302, '/photos'); + throw redirect(302, AppRoute.PHOTOS); } return { diff --git a/web/src/routes/admin/user-management/+page.server.ts b/web/src/routes/admin/user-management/+page.server.ts index b2c18fa9ac920..661ef6bccb107 100644 --- a/web/src/routes/admin/user-management/+page.server.ts +++ b/web/src/routes/admin/user-management/+page.server.ts @@ -1,13 +1,14 @@ import { redirect } from '@sveltejs/kit'; import type { PageServerLoad } from './$types'; +import { AppRoute } from '$lib/constants'; export const load = (async ({ parent, locals: { api } }) => { const { user } = await parent(); if (!user) { - throw redirect(302, '/auth/login'); + throw redirect(302, AppRoute.AUTH_LOGIN); } else if (!user.isAdmin) { - throw redirect(302, '/photos'); + throw redirect(302, AppRoute.PHOTOS); } const { data: allUsers } = await api.userApi.getAllUsers({ isAll: false }); diff --git a/web/src/routes/auth/register/+page.server.ts b/web/src/routes/auth/register/+page.server.ts index 4c6fcbc77d02e..3b564e3cd328c 100644 --- a/web/src/routes/auth/register/+page.server.ts +++ b/web/src/routes/auth/register/+page.server.ts @@ -1,11 +1,12 @@ import { redirect } from '@sveltejs/kit'; import type { PageServerLoad } from './$types'; +import { AppRoute } from '$lib/constants'; export const load = (async ({ locals: { api } }) => { const { data } = await api.userApi.getUserCount({ admin: true }); if (data.userCount != 0) { // Admin has been registered, redirect to login - throw redirect(302, '/auth/login'); + throw redirect(302, AppRoute.AUTH_LOGIN); } return {