diff --git a/src/music_service.ts b/src/music_service.ts index 6625df0..2411561 100644 --- a/src/music_service.ts +++ b/src/music_service.ts @@ -1,6 +1,5 @@ import axios from "axios"; import { Md5 } from "ts-md5/dist/md5"; -import { AuthToken } from "./link_codes"; const s = "foobar100"; const navidrome = process.env["BONOB_NAVIDROME_URL"]; @@ -14,7 +13,7 @@ export function isSuccess(authResult: AuthSuccess | AuthFailure): authResult is } export type AuthSuccess = { - authToken: AuthToken + authToken: string userId: string nickname: string } @@ -29,7 +28,7 @@ export interface MusicService { export class Navidrome implements MusicService { login({ username }: Credentials) { - return { authToken: { value: `${username}`, version: "1" }, userId: username, nickname: username } + return { authToken: `v1:${username}`, userId: username, nickname: username } } ping = (): Promise => diff --git a/src/smapi.ts b/src/smapi.ts index db3d6c0..89c8348 100644 --- a/src/smapi.ts +++ b/src/smapi.ts @@ -71,7 +71,7 @@ class SonosSoap { if (association) { return { getDeviceAuthTokenResult: { - authToken: association.authToken.value, + authToken: association.authToken, privateKey: "", userInfo: { nickname: association.nickname, diff --git a/tests/in_memory_music_service.ts b/tests/in_memory_music_service.ts index d7c6d98..abb937f 100644 --- a/tests/in_memory_music_service.ts +++ b/tests/in_memory_music_service.ts @@ -15,7 +15,7 @@ export class InMemoryMusicService implements MusicService { password != undefined && this.users[username] == password ) { - return { authToken: { value: "token123", version: "1" }, userId: username, nickname: username }; + return { authToken: "v1:token123", userId: username, nickname: username }; } else { return { message: `Invalid user:${username}` }; } diff --git a/tests/link_codes.test.ts b/tests/link_codes.test.ts index 5d4df4f..83c967e 100644 --- a/tests/link_codes.test.ts +++ b/tests/link_codes.test.ts @@ -18,7 +18,7 @@ describe("InMemoryLinkCodes", () => { describe('when token is valid', () => { it('should associate the token', () => { const linkCode = linkCodes.mint(); - const association = { authToken: { value: "token123", version: "22" }, nickname: "bob", userId: "1" }; + const association = { authToken: "token123", nickname: "bob", userId: "1" }; linkCodes.associate(linkCode, association); @@ -29,7 +29,7 @@ describe("InMemoryLinkCodes", () => { describe('when token is valid', () => { it('should throw an error', () => { const invalidLinkCode = "invalidLinkCode"; - const association = { authToken: { value: "token123", version: "33" }, nickname: "bob", userId: "1" }; + const association = { authToken: "token456", nickname: "bob", userId: "1" }; expect(() => linkCodes.associate(invalidLinkCode, association)).toThrow(`Invalid linkCode ${invalidLinkCode}`) }); diff --git a/tests/smapi.test.ts b/tests/smapi.test.ts index 938cb15..1ce235c 100644 --- a/tests/smapi.test.ts +++ b/tests/smapi.test.ts @@ -175,7 +175,7 @@ describe("api", () => { describe("when there is a linkCode association", () => { it("should return a device auth token", async () => { const linkCode = linkCodes.mint(); - const association = { authToken: { value: "at", version: "66" }, userId: "uid", nickname: "nn" }; + const association = { authToken: "at", userId: "uid", nickname: "nn" }; linkCodes.associate(linkCode, association); const ws = await createClientAsync(`${service.uri}?wsdl`, { @@ -187,8 +187,8 @@ describe("api", () => { expect(result[0]).toEqual({ getDeviceAuthTokenResult: { - authToken: association.authToken.value, - privateKey: association.authToken.version, + authToken: association.authToken, + privateKey: "", userInfo: { nickname: association.nickname, userIdHashCode: crypto