mirror of
https://github.com/KevinMidboe/immich.git
synced 2025-10-29 17:40:28 +00:00
fix(web): sharing of access token in server API (#1858)
This commit is contained in:
@@ -1,14 +1,7 @@
|
||||
import { api } from '@api';
|
||||
import type { LayoutServerLoad } from './$types';
|
||||
|
||||
export const load = (async ({ cookies }) => {
|
||||
export const load = (async ({ locals: { api } }) => {
|
||||
try {
|
||||
const accessToken = cookies.get('immich_access_token');
|
||||
if (!accessToken) {
|
||||
return { user: undefined };
|
||||
}
|
||||
|
||||
api.setAccessToken(accessToken);
|
||||
const { data: user } = await api.userApi.getMyUserInfo();
|
||||
|
||||
return { user };
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
export const prerender = false;
|
||||
import { api } from '@api';
|
||||
|
||||
import { redirect } from '@sveltejs/kit';
|
||||
import type { PageServerLoad } from './$types';
|
||||
|
||||
export const load: PageServerLoad = async ({ parent }) => {
|
||||
export const load = (async ({ parent, locals: { api } }) => {
|
||||
const { user } = await parent();
|
||||
if (user) {
|
||||
throw redirect(302, '/photos');
|
||||
@@ -22,4 +22,4 @@ export const load: PageServerLoad = async ({ parent }) => {
|
||||
description: 'Immich Web Interface'
|
||||
}
|
||||
};
|
||||
};
|
||||
}) satisfies PageServerLoad;
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
import { redirect } from '@sveltejs/kit';
|
||||
import { api } from '@api';
|
||||
import type { PageServerLoad } from './$types';
|
||||
|
||||
export const load: PageServerLoad = async ({ parent }) => {
|
||||
export const load = (async ({ parent, locals: { api } }) => {
|
||||
const { user } = await parent();
|
||||
|
||||
if (!user) {
|
||||
@@ -19,4 +18,4 @@ export const load: PageServerLoad = async ({ parent }) => {
|
||||
title: 'Server Status'
|
||||
}
|
||||
};
|
||||
};
|
||||
}) satisfies PageServerLoad;
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
import { redirect } from '@sveltejs/kit';
|
||||
import { api } from '@api';
|
||||
import type { PageServerLoad } from './$types';
|
||||
|
||||
export const load: PageServerLoad = async ({ parent }) => {
|
||||
export const load = (async ({ parent, locals: { api } }) => {
|
||||
const { user } = await parent();
|
||||
|
||||
if (!user) {
|
||||
@@ -20,4 +19,4 @@ export const load: PageServerLoad = async ({ parent }) => {
|
||||
title: 'User Management'
|
||||
}
|
||||
};
|
||||
};
|
||||
}) satisfies PageServerLoad;
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
import { redirect } from '@sveltejs/kit';
|
||||
import type { PageServerLoad } from './$types';
|
||||
import { api } from '@api';
|
||||
|
||||
export const load: PageServerLoad = async ({ parent }) => {
|
||||
export const load = (async ({ parent, locals: { api } }) => {
|
||||
try {
|
||||
const { user } = await parent();
|
||||
|
||||
@@ -22,4 +21,4 @@ export const load: PageServerLoad = async ({ parent }) => {
|
||||
} catch (e) {
|
||||
throw redirect(302, '/auth/login');
|
||||
}
|
||||
};
|
||||
}) satisfies PageServerLoad;
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
import { redirect } from '@sveltejs/kit';
|
||||
|
||||
import type { PageServerLoad } from './$types';
|
||||
import { api } from '@api';
|
||||
|
||||
export const load: PageServerLoad = async ({ parent, params }) => {
|
||||
export const load = (async ({ parent, params, locals: { api } }) => {
|
||||
const { user } = await parent();
|
||||
|
||||
if (!user) {
|
||||
@@ -23,4 +21,4 @@ export const load: PageServerLoad = async ({ parent, params }) => {
|
||||
} catch (e) {
|
||||
throw redirect(302, '/albums');
|
||||
}
|
||||
};
|
||||
}) satisfies PageServerLoad;
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
import { api } from '@api';
|
||||
import { redirect } from '@sveltejs/kit';
|
||||
export const prerender = false;
|
||||
|
||||
import type { PageLoad } from './$types';
|
||||
import { redirect } from '@sveltejs/kit';
|
||||
import type { PageServerLoad } from './$types';
|
||||
|
||||
export const load: PageLoad = async () => {
|
||||
export const load = (async ({ locals: { api } }) => {
|
||||
try {
|
||||
const { data: userInfo } = await api.userApi.getMyUserInfo();
|
||||
|
||||
@@ -21,4 +20,4 @@ export const load: PageLoad = async () => {
|
||||
} catch (e) {
|
||||
throw redirect(302, '/auth/login');
|
||||
}
|
||||
};
|
||||
}) satisfies PageServerLoad;
|
||||
@@ -1,8 +1,7 @@
|
||||
import { redirect } from '@sveltejs/kit';
|
||||
import type { PageServerLoad } from './$types';
|
||||
import { api } from '@api';
|
||||
|
||||
export const load: PageServerLoad = async () => {
|
||||
export const load = (async ({ locals: { api } }) => {
|
||||
const { data } = await api.userApi.getUserCount(true);
|
||||
if (data.userCount === 0) {
|
||||
// Admin not registered
|
||||
@@ -14,4 +13,4 @@ export const load: PageServerLoad = async () => {
|
||||
title: 'Login'
|
||||
}
|
||||
};
|
||||
};
|
||||
}) satisfies PageServerLoad;
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
import { redirect } from '@sveltejs/kit';
|
||||
import type { PageServerLoad } from './$types';
|
||||
import { api } from '@api';
|
||||
|
||||
export const load: PageServerLoad = async () => {
|
||||
export const load = (async ({ locals: { api } }) => {
|
||||
const { data } = await api.userApi.getUserCount(true);
|
||||
if (data.userCount != 0) {
|
||||
// Admin has been registered, redirect to login
|
||||
@@ -14,4 +13,4 @@ export const load: PageServerLoad = async () => {
|
||||
title: 'Admin Registration'
|
||||
}
|
||||
};
|
||||
};
|
||||
}) satisfies PageServerLoad;
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
export const prerender = false;
|
||||
import { error } from '@sveltejs/kit';
|
||||
|
||||
import { api } from '@api';
|
||||
import { error } from '@sveltejs/kit';
|
||||
import type { PageServerLoad } from './$types';
|
||||
|
||||
export const load: PageServerLoad = async ({ params }) => {
|
||||
export const load = (async ({ params, locals: { api } }) => {
|
||||
try {
|
||||
const { key, assetId } = params;
|
||||
const { data: asset } = await api.assetApi.getAssetById(assetId, key);
|
||||
@@ -16,4 +15,4 @@ export const load: PageServerLoad = async ({ params }) => {
|
||||
} catch (e) {
|
||||
console.log('Error', e);
|
||||
}
|
||||
};
|
||||
}) satisfies PageServerLoad;
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
import { redirect } from '@sveltejs/kit';
|
||||
export const prerender = false;
|
||||
|
||||
import { api } from '@api';
|
||||
import { redirect } from '@sveltejs/kit';
|
||||
import type { PageServerLoad } from './$types';
|
||||
|
||||
export const load: PageServerLoad = async ({ parent }) => {
|
||||
export const load = (async ({ parent, locals: { api } }) => {
|
||||
try {
|
||||
const { user } = await parent();
|
||||
if (!user) {
|
||||
@@ -23,4 +22,4 @@ export const load: PageServerLoad = async ({ parent }) => {
|
||||
} catch (e) {
|
||||
throw redirect(302, '/auth/login');
|
||||
}
|
||||
};
|
||||
}) satisfies PageServerLoad;
|
||||
|
||||
Reference in New Issue
Block a user