feat(jellyfin): store access token in encrypted local store

This commit is contained in:
2026-02-20 03:26:37 -08:00
parent a4532a5fa0
commit 46a2ac5dc7
22 changed files with 306 additions and 13 deletions

View File

@@ -1,7 +1,25 @@
export function createGetResolvedJellyfinConfigHandler(deps: {
getResolvedConfig: () => { jellyfin: unknown };
loadStoredToken: () => string | null | undefined;
}) {
return () => deps.getResolvedConfig().jellyfin as never;
return () => {
const jellyfin = deps.getResolvedConfig().jellyfin as {
accessToken?: string;
[key: string]: unknown;
};
const configToken = jellyfin.accessToken?.trim() ?? '';
if (configToken.length > 0) {
return jellyfin as never;
}
const storedToken = deps.loadStoredToken()?.trim() ?? '';
if (storedToken.length === 0) {
return jellyfin as never;
}
return {
...jellyfin,
accessToken: storedToken,
} as never;
};
}
export function createGetJellyfinClientInfoHandler(deps: {