mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-02-27 18:22:41 -08:00
fix(jellyfin): align session-store config contract
This commit is contained in:
@@ -85,8 +85,6 @@ export const INTEGRATIONS_DEFAULT_CONFIG: Pick<
|
||||
enabled: false,
|
||||
serverUrl: '',
|
||||
username: '',
|
||||
accessToken: '',
|
||||
userId: '',
|
||||
deviceId: 'subminer',
|
||||
clientName: 'SubMiner',
|
||||
clientVersion: '0.1.0',
|
||||
|
||||
@@ -41,8 +41,6 @@ export function applyIntegrationConfig(context: ResolveContext): void {
|
||||
const stringKeys = [
|
||||
'serverUrl',
|
||||
'username',
|
||||
'accessToken',
|
||||
'userId',
|
||||
'deviceId',
|
||||
'clientName',
|
||||
'clientVersion',
|
||||
|
||||
@@ -14,3 +14,14 @@ test('jellyfin directPlayContainers are normalized', () => {
|
||||
|
||||
assert.deepEqual(context.resolved.jellyfin.directPlayContainers, ['mkv', 'mp4', 'webm']);
|
||||
});
|
||||
|
||||
test('jellyfin legacy auth keys are ignored by resolver', () => {
|
||||
const { context } = createResolveContext({
|
||||
jellyfin: ({ accessToken: 'legacy-token', userId: 'legacy-user' } as unknown) as never,
|
||||
});
|
||||
|
||||
applyIntegrationConfig(context);
|
||||
|
||||
assert.equal('accessToken' in (context.resolved.jellyfin as Record<string, unknown>), false);
|
||||
assert.equal('userId' in (context.resolved.jellyfin as Record<string, unknown>), false);
|
||||
});
|
||||
|
||||
11
src/main.ts
11
src/main.ts
@@ -1145,7 +1145,8 @@ function getResolvedConfig() {
|
||||
const buildGetResolvedJellyfinConfigMainDepsHandler =
|
||||
createBuildGetResolvedJellyfinConfigMainDepsHandler({
|
||||
getResolvedConfig: () => getResolvedConfig(),
|
||||
loadStoredToken: () => jellyfinTokenStore.loadToken(),
|
||||
loadStoredSession: () => jellyfinTokenStore.loadSession(),
|
||||
getEnv: (name) => process.env[name],
|
||||
});
|
||||
const getResolvedJellyfinConfigMainDeps = buildGetResolvedJellyfinConfigMainDepsHandler();
|
||||
const getResolvedJellyfinConfigHandler = createGetResolvedJellyfinConfigHandler(
|
||||
@@ -1295,8 +1296,8 @@ const buildHandleJellyfinAuthCommandsMainDepsHandler =
|
||||
},
|
||||
authenticateWithPassword: (serverUrl, username, password, clientInfo) =>
|
||||
authenticateWithPasswordRuntime(serverUrl, username, password, clientInfo),
|
||||
saveStoredToken: (token) => jellyfinTokenStore.saveToken(token),
|
||||
clearStoredToken: () => jellyfinTokenStore.clearToken(),
|
||||
saveStoredSession: (session) => jellyfinTokenStore.saveSession(session),
|
||||
clearStoredSession: () => jellyfinTokenStore.clearSession(),
|
||||
logInfo: (message) => logger.info(message),
|
||||
});
|
||||
const handleJellyfinAuthCommandsMainDeps = buildHandleJellyfinAuthCommandsMainDepsHandler();
|
||||
@@ -1536,15 +1537,13 @@ const buildOpenJellyfinSetupWindowMainDepsHandler =
|
||||
authenticateWithPassword: (server, username, password, clientInfo) =>
|
||||
authenticateWithPasswordRuntime(server, username, password, clientInfo),
|
||||
getJellyfinClientInfo: () => getJellyfinClientInfo(),
|
||||
saveStoredToken: (token) => jellyfinTokenStore.saveToken(token),
|
||||
saveStoredSession: (session) => jellyfinTokenStore.saveSession(session),
|
||||
patchJellyfinConfig: (session) => {
|
||||
configService.patchRawConfig({
|
||||
jellyfin: {
|
||||
enabled: true,
|
||||
serverUrl: session.serverUrl,
|
||||
username: session.username,
|
||||
accessToken: '',
|
||||
userId: session.userId,
|
||||
},
|
||||
});
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user