mirror of
https://github.com/immich-app/immich
synced 2026-08-29 13:15:45 +00:00
feat: magic link to enable backups
This commit is contained in:
parent
5ded6f89b7
commit
d18e09de30
17 changed files with 225 additions and 35 deletions
|
|
@ -88,7 +88,9 @@
|
|||
<NavbarItem title={$t('folders')} href={Route.folders()} icon={{ icon: mdiFolderOutline, flipped: true }} />
|
||||
{/if}
|
||||
|
||||
<NavbarItem title="Backups" href={Route.backups()} icon={mdiBackupRestore} />
|
||||
{#if featureFlagsManager.value.backups && authManager.user.isAdmin}
|
||||
<NavbarItem title="Backups" href={Route.backups()} icon={mdiBackupRestore} />
|
||||
{/if}
|
||||
|
||||
<NavbarItem title={$t('utilities')} href={Route.utilities()} icon={mdiToolboxOutline} activeIcon={mdiToolbox} />
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
import { getConfig, updateConfig } from '@immich/sdk';
|
||||
import { redirect } from '@sveltejs/kit';
|
||||
import { OpenQueryParam } from '$lib/constants';
|
||||
import { Route } from '$lib/route';
|
||||
|
|
@ -8,9 +9,10 @@ enum LinkTarget {
|
|||
UNSUBSCRIBE = 'unsubscribe',
|
||||
VIEW_ASSET = 'view_asset',
|
||||
ACTIVATE_LICENSE = 'activate_license',
|
||||
BACKUPS = 'backups',
|
||||
}
|
||||
|
||||
export const load = (({ url }) => {
|
||||
export const load = (async ({ url }) => {
|
||||
const queryParams = url.searchParams;
|
||||
const target = queryParams.get('target') as LinkTarget;
|
||||
switch (target) {
|
||||
|
|
@ -22,6 +24,17 @@ export const load = (({ url }) => {
|
|||
return redirect(307, Route.userSettings({ isOpen: OpenQueryParam.NOTIFICATIONS }));
|
||||
}
|
||||
|
||||
case LinkTarget.BACKUPS: {
|
||||
const config = await getConfig().catch(() => undefined);
|
||||
if (config && !config.backup.beta) {
|
||||
await updateConfig({
|
||||
systemConfigDto: { ...config, backup: { ...config.backup, beta: true } },
|
||||
}).catch(() => undefined);
|
||||
}
|
||||
|
||||
return redirect(307, Route.backups());
|
||||
}
|
||||
|
||||
case LinkTarget.VIEW_ASSET: {
|
||||
const id = queryParams.get('id');
|
||||
if (id) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue