@ledgerhq/device-management-kit 0.0.0-develop-20260813001639 → 0.0.0-develop-20260815000734

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/lib/cjs/package.json +1 -1
  2. package/lib/cjs/src/api/device-action/model/UserInteractionRequired.js +1 -1
  3. package/lib/cjs/src/api/device-action/model/UserInteractionRequired.js.map +2 -2
  4. package/lib/cjs/src/api/index.js +1 -1
  5. package/lib/cjs/src/api/index.js.map +3 -3
  6. package/lib/cjs/src/internal/manager-api/data/HttpManagerApiDataSource.js +1 -1
  7. package/lib/cjs/src/internal/manager-api/data/HttpManagerApiDataSource.js.map +2 -2
  8. package/lib/cjs/src/internal/manager-api/data/HttpManagerApiDataSource.test.js +1 -1
  9. package/lib/cjs/src/internal/manager-api/data/HttpManagerApiDataSource.test.js.map +2 -2
  10. package/lib/cjs/src/internal/manager-api/model/Firmware.js +1 -1
  11. package/lib/cjs/src/internal/manager-api/model/Firmware.js.map +1 -1
  12. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.js +1 -1
  13. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.js.map +2 -2
  14. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
  15. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +3 -3
  16. package/lib/cjs/src/internal/manager-api/service/ManagerApiService.js +1 -1
  17. package/lib/cjs/src/internal/manager-api/service/ManagerApiService.js.map +1 -1
  18. package/lib/cjs/src/internal/secure-channel/model/Errors.js +1 -1
  19. package/lib/cjs/src/internal/secure-channel/model/Errors.js.map +2 -2
  20. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.js +1 -1
  21. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.js.map +3 -3
  22. package/lib/cjs/src/internal/secure-channel/service/SecureChannelService.js +1 -1
  23. package/lib/cjs/src/internal/secure-channel/service/SecureChannelService.js.map +1 -1
  24. package/lib/esm/package.json +1 -1
  25. package/lib/esm/src/api/device-action/model/UserInteractionRequired.js +1 -1
  26. package/lib/esm/src/api/device-action/model/UserInteractionRequired.js.map +2 -2
  27. package/lib/esm/src/api/index.js +1 -1
  28. package/lib/esm/src/api/index.js.map +3 -3
  29. package/lib/esm/src/internal/manager-api/data/HttpManagerApiDataSource.js +1 -1
  30. package/lib/esm/src/internal/manager-api/data/HttpManagerApiDataSource.js.map +2 -2
  31. package/lib/esm/src/internal/manager-api/data/HttpManagerApiDataSource.test.js +1 -1
  32. package/lib/esm/src/internal/manager-api/data/HttpManagerApiDataSource.test.js.map +2 -2
  33. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.js +1 -1
  34. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.js.map +2 -2
  35. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
  36. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +3 -3
  37. package/lib/esm/src/internal/secure-channel/model/Errors.js +1 -1
  38. package/lib/esm/src/internal/secure-channel/model/Errors.js.map +3 -3
  39. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.js +1 -1
  40. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.js.map +3 -3
  41. package/lib/types/src/api/device-action/model/UserInteractionRequired.d.ts +2 -1
  42. package/lib/types/src/api/device-action/model/UserInteractionRequired.d.ts.map +1 -1
  43. package/lib/types/src/api/index.d.ts +2 -0
  44. package/lib/types/src/api/index.d.ts.map +1 -1
  45. package/lib/types/src/internal/manager-api/data/HttpManagerApiDataSource.d.ts.map +1 -1
  46. package/lib/types/src/internal/manager-api/model/Firmware.d.ts +1 -0
  47. package/lib/types/src/internal/manager-api/model/Firmware.d.ts.map +1 -1
  48. package/lib/types/src/internal/manager-api/service/DefaultManagerApiService.d.ts +1 -0
  49. package/lib/types/src/internal/manager-api/service/DefaultManagerApiService.d.ts.map +1 -1
  50. package/lib/types/src/internal/manager-api/service/ManagerApiService.d.ts +6 -0
  51. package/lib/types/src/internal/manager-api/service/ManagerApiService.d.ts.map +1 -1
  52. package/lib/types/src/internal/secure-channel/model/Errors.d.ts +8 -1
  53. package/lib/types/src/internal/secure-channel/model/Errors.d.ts.map +1 -1
  54. package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.d.ts +1 -1
  55. package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.d.ts.map +1 -1
  56. package/lib/types/src/internal/secure-channel/service/SecureChannelService.d.ts +2 -2
  57. package/lib/types/src/internal/secure-channel/service/SecureChannelService.d.ts.map +1 -1
  58. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  59. package/package.json +2 -2
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/manager-api/data/HttpManagerApiDataSource.test.ts"],
4
- "sourcesContent": ["import { Just, Left, Nothing, Right } from \"purify-ts\";\n\nimport {\n BTC_APP,\n BTC_APP_METADATA,\n CUSTOM_LOCK_SCREEN_APP,\n CUSTOM_LOCK_SCREEN_APP_METADATA,\n ETH_APP_METADATA,\n} from \"@api/device-action/__test-utils__/data\";\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\n\nimport { HttpManagerApiDataSource } from \"./HttpManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"./ManagerApiDataSource\";\n\ndescribe(\"HttpManagerApiDataSource\", () => {\n describe(\"getAppList\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"should return a list of applications\", async () => {\n // given\n const apps = [BTC_APP_METADATA, ETH_APP_METADATA];\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(JSON.stringify(apps)),\n );\n\n // when\n const response = await api.getAppList({\n targetId: \"targetId\",\n firmwareVersionName: \"firmwareVersionName\",\n });\n\n // then\n expect(response).toEqual(Right(apps));\n });\n it(\"should return an error if payload don't match the dto\", async () => {\n // given\n const { versionId, ...rest } = BTC_APP_METADATA;\n const apps = [{ versionId: \"invalidVersion\", ...rest }];\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(JSON.stringify(apps)),\n );\n\n // when\n const response = await api.getAppList({\n targetId: \"targetId\",\n firmwareVersionName: \"firmwareVersionName\",\n });\n\n // then\n expect(response.isRight()).toEqual(false);\n });\n it(\"should return an error if the request fails\", async () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(globalThis, \"fetch\").mockRejectedValue(error);\n\n // when\n const response = await api.getAppList({\n targetId: \"targetId\",\n firmwareVersionName: \"firmwareVersionName\",\n });\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n describe(\"getAppsByHash\", () => {\n describe(\"success cases\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"with BTC app, should return the metadata\", async () => {\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(JSON.stringify([BTC_APP_METADATA])),\n );\n\n const hashes = [BTC_APP.appFullHash];\n\n const apps = await api.getAppsByHash({ hashes });\n\n expect(apps).toEqual(Right([BTC_APP_METADATA]));\n });\n\n it(\"with no apps, should return an empty list\", async () => {\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(JSON.stringify([])),\n );\n\n const hashes: string[] = [];\n\n const apps = await api.getAppsByHash({ hashes });\n\n expect(apps).toEqual(Right([]));\n });\n\n it(\"with BTC app and custom lock screen, should return the metadata\", async () => {\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify([BTC_APP_METADATA, CUSTOM_LOCK_SCREEN_APP_METADATA]),\n ),\n );\n\n const hashes = [\n BTC_APP.appFullHash,\n CUSTOM_LOCK_SCREEN_APP.appFullHash,\n ];\n\n const apps = await api.getAppsByHash({ hashes });\n\n expect(apps).toEqual(\n Right([BTC_APP_METADATA, CUSTOM_LOCK_SCREEN_APP_METADATA]),\n );\n });\n });\n\n describe(\"error cases\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"with BTC app, should fail if payload don't match the dto\", async () => {\n const { versionId, ...rest } = BTC_APP_METADATA;\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify([{ versionId: \"invalidVersion\", ...rest }]),\n ),\n );\n\n const hashes = [BTC_APP.appFullHash];\n\n const apps = await api.getAppsByHash({ hashes });\n\n expect(apps.isRight()).toEqual(false);\n });\n\n it(\"should throw an error if the request fails\", async () => {\n // given\n const api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n\n const err = new Error(\"fetch error\");\n vi.spyOn(globalThis, \"fetch\").mockRejectedValue(err);\n\n const hashes = [BTC_APP.appFullHash];\n\n // when\n const response = await api.getAppsByHash({ hashes });\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(err)));\n });\n });\n });\n\n describe(\"getDeviceVersion\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"should return a complete device version\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n id: 17,\n target_id: \"857735172\",\n }),\n ),\n );\n\n // when\n const response = await api.getDeviceVersion({\n targetId: \"targetId\",\n });\n\n // then\n expect(response).toEqual(Right({ id: 17 }));\n });\n\n it(\"should return an error if payload don't match dto\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n target_id: \"857735172\",\n }),\n ),\n );\n\n // when\n const response = await api.getDeviceVersion({\n targetId: \"targetId\",\n });\n\n // then\n expect(response.isRight()).toEqual(false);\n });\n\n it(\"should return an error if the request fails\", async () => {\n // given\n\n const error = new Error(\"fetch error\");\n vi.spyOn(globalThis, \"fetch\").mockRejectedValue(error);\n\n // when\n const response = await api.getDeviceVersion({\n targetId: \"targetId\",\n });\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n\n describe(\"getFirmwareVersion\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"should return a complete firmware version\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n id: 361,\n version: \"1.6.0\",\n perso: \"perso_11\",\n firmware: null,\n firmware_key: \"testKey\",\n hash: \"hash\",\n bytes: 194,\n mcu_versions: [1, 5, 7],\n }),\n ),\n );\n\n // when\n const response = await api.getFirmwareVersion({\n version: \"versionName\",\n deviceId: 42,\n });\n\n // then\n expect(response).toEqual(\n Right({\n id: 361,\n version: \"1.6.0\",\n perso: \"perso_11\",\n firmware: null,\n firmwareKey: \"testKey\",\n hash: \"hash\",\n bytes: 194,\n mcuVersions: [1, 5, 7],\n }),\n );\n });\n it(\"should return an error if payload don't match the dto\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n id: \"invalidId\",\n version: \"1.6.0\",\n perso: \"perso_11\",\n firmware: null,\n firmware_key: \"testKey\",\n hash: \"hash\",\n bytes: 194,\n mcu_versions: [1, 5, 7],\n }),\n ),\n );\n\n // when\n const response = await api.getFirmwareVersion({\n version: \"versionName\",\n deviceId: 42,\n });\n\n // then\n expect(response.isRight()).toEqual(false);\n });\n it(\"should return an error if the request fails\", async () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(globalThis, \"fetch\").mockRejectedValue(error);\n\n // when\n const response = await api.getFirmwareVersion({\n version: \"versionName\",\n deviceId: 42,\n });\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n\n describe(\"setProvider\", () => {\n let api: HttpManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://fake-url.com\",\n provider: 1,\n } as DmkConfig);\n });\n\n it(\"should not change the provider if the new value is the same\", () => {\n // given\n const initialProvider = (api as unknown as { _provider: number })\n ._provider;\n\n // when\n api.setProvider(initialProvider);\n\n // then\n expect((api as unknown as { _provider: number })._provider).toBe(\n initialProvider,\n );\n });\n\n it(\"should not change the provider if the new value is less than 1\", () => {\n // given\n const initialProvider = (api as unknown as { _provider: number })\n ._provider;\n\n // when\n api.setProvider(0); // invalid\n api.setProvider(-5); // invalid\n\n // then\n expect((api as unknown as { _provider: number })._provider).toBe(\n initialProvider,\n );\n });\n\n it(\"should update the provider if a valid and different value is provided\", () => {\n // given\n const newProvider = 2;\n\n // when\n api.setProvider(newProvider);\n\n // then\n expect((api as unknown as { _provider: number })._provider).toBe(\n newProvider,\n );\n });\n });\n\n describe(\"getFirmwareVersionById\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"should return a complete firmware version\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n id: 361,\n version: \"1.6.0\",\n perso: \"perso_11\",\n firmware: null,\n firmware_key: \"testKey\",\n hash: \"hash\",\n bytes: 194,\n mcu_versions: [1, 5, 7],\n }),\n ),\n );\n\n // when\n const response = await api.getFirmwareVersionById(42);\n\n // then\n expect(response).toEqual(\n Right({\n id: 361,\n version: \"1.6.0\",\n perso: \"perso_11\",\n firmware: null,\n firmwareKey: \"testKey\",\n hash: \"hash\",\n bytes: 194,\n mcuVersions: [1, 5, 7],\n }),\n );\n });\n });\n\n describe(\"getLatestFirmwareVersion\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"should return the latest firmware version\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n result: \"success\",\n se_firmware_osu_version: {\n id: 361,\n perso: \"perso_11\",\n notes: \"notes\",\n firmware: \"test\",\n firmware_key: \"testKey\",\n hash: \"hash\",\n next_se_firmware_final_version: 567,\n },\n }),\n ),\n );\n\n // when\n const response = await api.getLatestFirmwareVersion({\n currentFinalFirmwareId: 200,\n deviceId: 42,\n });\n\n // then\n expect(response).toEqual(\n Right(\n Just({\n id: 361,\n perso: \"perso_11\",\n notes: \"notes\",\n firmware: \"test\",\n firmwareKey: \"testKey\",\n hash: \"hash\",\n nextFinalFirmware: 567,\n }),\n ),\n );\n });\n\n it(\"should return nothing when no latest firmware version is available\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n result: \"null\",\n se_firmware_osu_version: null,\n }),\n ),\n );\n\n // when\n const response = await api.getLatestFirmwareVersion({\n currentFinalFirmwareId: 200,\n deviceId: 42,\n });\n\n // then\n expect(response).toEqual(Right(Nothing));\n });\n\n it(\"should return an error if result is not success\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n result: \"failed\",\n se_firmware_osu_version: null,\n }),\n ),\n );\n\n // when\n const response = await api.getLatestFirmwareVersion({\n currentFinalFirmwareId: 200,\n deviceId: 42,\n });\n\n // then\n expect(response.isRight()).toEqual(false);\n });\n it(\"should return an error if payload don't match the dto\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n result: \"success\",\n se_firmware_osu_version: {\n id: \"InvalidId\",\n perso: \"perso_11\",\n firmware: \"test\",\n firmware_key: \"testKey\",\n hash: \"hash\",\n next_se_firmware_final_version: 567,\n },\n }),\n ),\n );\n\n // when\n const response = await api.getLatestFirmwareVersion({\n currentFinalFirmwareId: 200,\n deviceId: 42,\n });\n\n // then\n expect(response.isRight()).toEqual(false);\n });\n it(\"should return an error if the request fails\", async () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(globalThis, \"fetch\").mockRejectedValue(error);\n\n // when\n const response = await api.getLatestFirmwareVersion({\n currentFinalFirmwareId: 200,\n deviceId: 42,\n });\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n\n describe(\"getOsuFirmwareVersion\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"should return a complete OSU firmware version\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n id: 361,\n perso: \"perso_11\",\n notes: \"notes\",\n firmware: \"test\",\n firmware_key: \"testKey\",\n hash: \"hash\",\n next_se_firmware_final_version: 567,\n }),\n ),\n );\n\n // when\n const response = await api.getOsuFirmwareVersion({\n version: \"versionName\",\n deviceId: 42,\n });\n\n // then\n expect(response).toEqual(\n Right({\n id: 361,\n perso: \"perso_11\",\n notes: \"notes\",\n firmware: \"test\",\n firmwareKey: \"testKey\",\n hash: \"hash\",\n nextFinalFirmware: 567,\n }),\n );\n });\n it(\"should return an error if payload don't match the dto\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n id: \"invalidId\",\n perso: \"perso_11\",\n firmware: \"test\",\n firmware_key: \"testKey\",\n hash: \"hash\",\n next_se_firmware_final_version: 567,\n }),\n ),\n );\n\n // when\n const response = await api.getOsuFirmwareVersion({\n version: \"versionName\",\n deviceId: 42,\n });\n\n // then\n expect(response.isRight()).toEqual(false);\n });\n it(\"should return an error if the request fails\", async () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(globalThis, \"fetch\").mockRejectedValue(error);\n\n // when\n const response = await api.getOsuFirmwareVersion({\n version: \"versionName\",\n deviceId: 42,\n });\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n\n describe(\"getLanguagePackages\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"should return the langage packages version\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify([\n {\n language: \"turkish\",\n languagePackageVersionId: 474,\n version: \"0.0.4\",\n language_package_id: 57,\n apdu_install_url:\n \"https://download.languages.ledger.com/stax/turkish/bolos_1.6.2_pack_0.0.4_tr.apdu\",\n apdu_uninstall_url:\n \"https://download.languages.ledger.com/stax/turkish/bolos_1.6.2_pack_0.0.4_tr_del.apdu\",\n device_versions: [17],\n se_firmware_final_versions: [432],\n bytes: 20800,\n date_creation: \"2025-03-04T10:48:27.910630Z\",\n date_last_modified: \"2025-03-04T10:48:27.910630Z\",\n },\n {\n language: \"russian\",\n languagePackageVersionId: 470,\n version: \"0.0.4\",\n language_package_id: 56,\n apdu_install_url:\n \"https://download.languages.ledger.com/stax/russian/bolos_1.6.2_pack_0.0.4_ru.apdu\",\n apdu_uninstall_url:\n \"https://download.languages.ledger.com/stax/russian/bolos_1.6.2_pack_0.0.4_ru_del.apdu\",\n device_versions: [17],\n se_firmware_final_versions: [432],\n bytes: 46592,\n date_creation: \"2025-03-04T10:48:26.218729Z\",\n date_last_modified: \"2025-03-04T10:48:26.218729Z\",\n },\n ]),\n ),\n );\n\n // when\n const response = await api.getLanguagePackages({\n deviceId: 1,\n currentFinalFirmwareId: 42,\n });\n\n // then\n expect(response).toEqual(\n Right([\n {\n language: \"turkish\",\n languagePackageVersionId: 474,\n version: \"0.0.4\",\n languagePackageId: 57,\n apduInstallUrl:\n \"https://download.languages.ledger.com/stax/turkish/bolos_1.6.2_pack_0.0.4_tr.apdu\",\n apduUninstallUrl:\n \"https://download.languages.ledger.com/stax/turkish/bolos_1.6.2_pack_0.0.4_tr_del.apdu\",\n bytes: 20800,\n dateCreation: \"2025-03-04T10:48:27.910630Z\",\n dateLastModified: \"2025-03-04T10:48:27.910630Z\",\n },\n {\n language: \"russian\",\n languagePackageVersionId: 470,\n version: \"0.0.4\",\n languagePackageId: 56,\n apduInstallUrl:\n \"https://download.languages.ledger.com/stax/russian/bolos_1.6.2_pack_0.0.4_ru.apdu\",\n apduUninstallUrl:\n \"https://download.languages.ledger.com/stax/russian/bolos_1.6.2_pack_0.0.4_ru_del.apdu\",\n bytes: 46592,\n dateCreation: \"2025-03-04T10:48:26.218729Z\",\n dateLastModified: \"2025-03-04T10:48:26.218729Z\",\n },\n ]),\n );\n });\n it(\"should return an error if payload don't match the dto\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify([\n {\n language: \"turkish\",\n version: \"0.0.4\",\n language_package_id: \"invalid\",\n },\n ]),\n ),\n );\n\n // when\n const response = await api.getLanguagePackages({\n deviceId: 1,\n currentFinalFirmwareId: 42,\n });\n\n // then\n expect(response.isRight()).toEqual(false);\n });\n it(\"should return an error if the request fails\", async () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(globalThis, \"fetch\").mockRejectedValue(error);\n\n // when\n const response = await api.getLanguagePackages({\n deviceId: 1,\n currentFinalFirmwareId: 42,\n });\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n\n describe(\"getMcuList\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"should return the list of MCUs\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify([\n {\n id: 1,\n mcu: 1,\n name: \"1.0\",\n description: null,\n providers: [],\n device_versions: [1, 2],\n from_bootloader_version: \"1.0\",\n from_bootloader_version_id: 2,\n se_firmware_final_versions: [7, 12, 13, 14, 15],\n date_creation: \"2018-09-20T13:30:50.156394Z\",\n date_last_modified: \"2018-09-20T13:30:50.156453Z\",\n },\n {\n id: 2,\n mcu: 1,\n name: \"1.1\",\n description: null,\n providers: [],\n device_versions: [1, 2],\n from_bootloader_version: \"1.0\",\n from_bootloader_version_id: 2,\n se_firmware_final_versions: [7, 12, 13, 14, 15],\n date_creation: \"2018-09-20T13:30:50.339966Z\",\n date_last_modified: \"2018-09-20T13:30:50.340031Z\",\n },\n ]),\n ),\n );\n\n // when\n const response = await api.getMcuList();\n\n // then\n expect(response).toEqual(\n Right([\n {\n id: 1,\n name: \"1.0\",\n fromBootloaderVersion: \"1.0\",\n },\n {\n id: 2,\n name: \"1.1\",\n fromBootloaderVersion: \"1.0\",\n },\n ]),\n );\n });\n\n it(\"should return an error when the payload don't match the dto\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify([\n {\n id: \"invalid id\",\n mcu: 1,\n name: \"1.0\",\n description: null,\n providers: [],\n se_firmware_final_versions: [7, 12, 13, 14, 15],\n date_creation: \"2018-09-20T13:30:50.156394Z\",\n date_last_modified: \"2018-09-20T13:30:50.156453Z\",\n },\n ]),\n ),\n );\n\n // when\n const response = await api.getMcuList();\n\n // then\n expect(response.isRight()).toEqual(false);\n });\n\n it(\"should return an error if the request fails\", async () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(globalThis, \"fetch\").mockRejectedValue(error);\n\n // when\n const response = await api.getMcuList();\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n describe(\"getProvider\", () => {\n let api: HttpManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://fake-url.com\",\n provider: 123,\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n\n it(\"should return the initial provider\", () => {\n expect(api.getProvider()).toBe(123);\n });\n\n it(\"should return the updated provider after setProvider is called\", () => {\n api.setProvider(321);\n expect(api.getProvider()).toBe(321);\n });\n });\n});\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { Just, Left, Nothing, Right } from \"purify-ts\";\n\nimport {\n BTC_APP,\n BTC_APP_METADATA,\n CUSTOM_LOCK_SCREEN_APP,\n CUSTOM_LOCK_SCREEN_APP_METADATA,\n ETH_APP_METADATA,\n} from \"@api/device-action/__test-utils__/data\";\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\n\nimport { HttpManagerApiDataSource } from \"./HttpManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"./ManagerApiDataSource\";\n\ndescribe(\"HttpManagerApiDataSource\", () => {\n describe(\"getAppList\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"should return a list of applications\", async () => {\n // given\n const apps = [BTC_APP_METADATA, ETH_APP_METADATA];\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(JSON.stringify(apps)),\n );\n\n // when\n const response = await api.getAppList({\n targetId: \"targetId\",\n firmwareVersionName: \"firmwareVersionName\",\n });\n\n // then\n expect(response).toEqual(Right(apps));\n });\n it(\"should return an error if payload don't match the dto\", async () => {\n // given\n const { versionId, ...rest } = BTC_APP_METADATA;\n const apps = [{ versionId: \"invalidVersion\", ...rest }];\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(JSON.stringify(apps)),\n );\n\n // when\n const response = await api.getAppList({\n targetId: \"targetId\",\n firmwareVersionName: \"firmwareVersionName\",\n });\n\n // then\n expect(response.isRight()).toEqual(false);\n });\n it(\"should return an error if the request fails\", async () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(globalThis, \"fetch\").mockRejectedValue(error);\n\n // when\n const response = await api.getAppList({\n targetId: \"targetId\",\n firmwareVersionName: \"firmwareVersionName\",\n });\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n describe(\"getAppsByHash\", () => {\n describe(\"success cases\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"with BTC app, should return the metadata\", async () => {\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(JSON.stringify([BTC_APP_METADATA])),\n );\n\n const hashes = [BTC_APP.appFullHash];\n\n const apps = await api.getAppsByHash({ hashes });\n\n expect(apps).toEqual(Right([BTC_APP_METADATA]));\n });\n\n it(\"with no apps, should return an empty list\", async () => {\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(JSON.stringify([])),\n );\n\n const hashes: string[] = [];\n\n const apps = await api.getAppsByHash({ hashes });\n\n expect(apps).toEqual(Right([]));\n });\n\n it(\"with BTC app and custom lock screen, should return the metadata\", async () => {\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify([BTC_APP_METADATA, CUSTOM_LOCK_SCREEN_APP_METADATA]),\n ),\n );\n\n const hashes = [\n BTC_APP.appFullHash,\n CUSTOM_LOCK_SCREEN_APP.appFullHash,\n ];\n\n const apps = await api.getAppsByHash({ hashes });\n\n expect(apps).toEqual(\n Right([BTC_APP_METADATA, CUSTOM_LOCK_SCREEN_APP_METADATA]),\n );\n });\n });\n\n describe(\"error cases\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"with BTC app, should fail if payload don't match the dto\", async () => {\n const { versionId, ...rest } = BTC_APP_METADATA;\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify([{ versionId: \"invalidVersion\", ...rest }]),\n ),\n );\n\n const hashes = [BTC_APP.appFullHash];\n\n const apps = await api.getAppsByHash({ hashes });\n\n expect(apps.isRight()).toEqual(false);\n });\n\n it(\"should throw an error if the request fails\", async () => {\n // given\n const api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n\n const err = new Error(\"fetch error\");\n vi.spyOn(globalThis, \"fetch\").mockRejectedValue(err);\n\n const hashes = [BTC_APP.appFullHash];\n\n // when\n const response = await api.getAppsByHash({ hashes });\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(err)));\n });\n });\n });\n\n describe(\"getDeviceVersion\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"should return a complete device version\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n id: 17,\n target_id: \"857735172\",\n }),\n ),\n );\n\n // when\n const response = await api.getDeviceVersion({\n targetId: \"targetId\",\n });\n\n // then\n expect(response).toEqual(Right({ id: 17 }));\n });\n\n it(\"should return an error if payload don't match dto\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n target_id: \"857735172\",\n }),\n ),\n );\n\n // when\n const response = await api.getDeviceVersion({\n targetId: \"targetId\",\n });\n\n // then\n expect(response.isRight()).toEqual(false);\n });\n\n it(\"should return an error if the request fails\", async () => {\n // given\n\n const error = new Error(\"fetch error\");\n vi.spyOn(globalThis, \"fetch\").mockRejectedValue(error);\n\n // when\n const response = await api.getDeviceVersion({\n targetId: \"targetId\",\n });\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n\n describe(\"getFirmwareVersion\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"should return a complete firmware version\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n id: 361,\n version: \"1.6.0\",\n perso: \"perso_11\",\n firmware: null,\n firmware_key: \"testKey\",\n hash: \"hash\",\n bytes: 194,\n mcu_versions: [1, 5, 7],\n }),\n ),\n );\n\n // when\n const response = await api.getFirmwareVersion({\n version: \"versionName\",\n deviceId: 42,\n });\n\n // then\n expect(response).toEqual(\n Right({\n id: 361,\n version: \"1.6.0\",\n perso: \"perso_11\",\n firmware: null,\n firmwareKey: \"testKey\",\n hash: \"hash\",\n bytes: 194,\n mcuVersions: [1, 5, 7],\n }),\n );\n });\n it(\"should return an error if payload don't match the dto\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n id: \"invalidId\",\n version: \"1.6.0\",\n perso: \"perso_11\",\n firmware: null,\n firmware_key: \"testKey\",\n hash: \"hash\",\n bytes: 194,\n mcu_versions: [1, 5, 7],\n }),\n ),\n );\n\n // when\n const response = await api.getFirmwareVersion({\n version: \"versionName\",\n deviceId: 42,\n });\n\n // then\n expect(response.isRight()).toEqual(false);\n });\n it(\"should return an error if the request fails\", async () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(globalThis, \"fetch\").mockRejectedValue(error);\n\n // when\n const response = await api.getFirmwareVersion({\n version: \"versionName\",\n deviceId: 42,\n });\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n\n describe(\"setProvider\", () => {\n let api: HttpManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://fake-url.com\",\n provider: 1,\n } as DmkConfig);\n });\n\n it(\"should not change the provider if the new value is the same\", () => {\n // given\n const initialProvider = (api as unknown as { _provider: number })\n ._provider;\n\n // when\n api.setProvider(initialProvider);\n\n // then\n expect((api as unknown as { _provider: number })._provider).toBe(\n initialProvider,\n );\n });\n\n it(\"should not change the provider if the new value is less than 1\", () => {\n // given\n const initialProvider = (api as unknown as { _provider: number })\n ._provider;\n\n // when\n api.setProvider(0); // invalid\n api.setProvider(-5); // invalid\n\n // then\n expect((api as unknown as { _provider: number })._provider).toBe(\n initialProvider,\n );\n });\n\n it(\"should update the provider if a valid and different value is provided\", () => {\n // given\n const newProvider = 2;\n\n // when\n api.setProvider(newProvider);\n\n // then\n expect((api as unknown as { _provider: number })._provider).toBe(\n newProvider,\n );\n });\n });\n\n describe(\"getFirmwareVersionById\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"should return a complete firmware version\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n id: 361,\n version: \"1.6.0\",\n perso: \"perso_11\",\n firmware: null,\n firmware_key: \"testKey\",\n hash: \"hash\",\n bytes: 194,\n mcu_versions: [1, 5, 7],\n }),\n ),\n );\n\n // when\n const response = await api.getFirmwareVersionById(42);\n\n // then\n expect(response).toEqual(\n Right({\n id: 361,\n version: \"1.6.0\",\n perso: \"perso_11\",\n firmware: null,\n firmwareKey: \"testKey\",\n hash: \"hash\",\n bytes: 194,\n mcuVersions: [1, 5, 7],\n }),\n );\n });\n });\n\n describe(\"getLatestFirmwareVersion\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"should return the latest firmware version\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n result: \"success\",\n se_firmware_osu_version: {\n id: 361,\n perso: \"perso_11\",\n notes: \"notes\",\n firmware: \"test\",\n firmware_key: \"testKey\",\n hash: \"hash\",\n next_se_firmware_final_version: 567,\n },\n }),\n ),\n );\n\n // when\n const response = await api.getLatestFirmwareVersion({\n currentFinalFirmwareId: 200,\n deviceId: 42,\n });\n\n // then\n expect(response).toEqual(\n Right(\n Just({\n id: 361,\n perso: \"perso_11\",\n notes: \"notes\",\n firmware: \"test\",\n firmwareKey: \"testKey\",\n hash: \"hash\",\n nextFinalFirmware: 567,\n }),\n ),\n );\n });\n\n it(\"should return nothing when no latest firmware version is available\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n result: \"null\",\n se_firmware_osu_version: null,\n }),\n ),\n );\n\n // when\n const response = await api.getLatestFirmwareVersion({\n currentFinalFirmwareId: 200,\n deviceId: 42,\n });\n\n // then\n expect(response).toEqual(Right(Nothing));\n });\n\n it(\"should return an error if result is not success\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n result: \"failed\",\n se_firmware_osu_version: null,\n }),\n ),\n );\n\n // when\n const response = await api.getLatestFirmwareVersion({\n currentFinalFirmwareId: 200,\n deviceId: 42,\n });\n\n // then\n expect(response.isRight()).toEqual(false);\n });\n it(\"should return an error if payload don't match the dto\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n result: \"success\",\n se_firmware_osu_version: {\n id: \"InvalidId\",\n perso: \"perso_11\",\n firmware: \"test\",\n firmware_key: \"testKey\",\n hash: \"hash\",\n next_se_firmware_final_version: 567,\n },\n }),\n ),\n );\n\n // when\n const response = await api.getLatestFirmwareVersion({\n currentFinalFirmwareId: 200,\n deviceId: 42,\n });\n\n // then\n expect(response.isRight()).toEqual(false);\n });\n it(\"should return an error if the request fails\", async () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(globalThis, \"fetch\").mockRejectedValue(error);\n\n // when\n const response = await api.getLatestFirmwareVersion({\n currentFinalFirmwareId: 200,\n deviceId: 42,\n });\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n\n describe(\"getOsuFirmwareVersion\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"should return a complete OSU firmware version\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n id: 361,\n perso: \"perso_11\",\n notes: \"notes\",\n firmware: \"test\",\n firmware_key: \"testKey\",\n hash: \"hash\",\n next_se_firmware_final_version: 567,\n }),\n ),\n );\n\n // when\n const response = await api.getOsuFirmwareVersion({\n version: \"versionName\",\n deviceId: 42,\n });\n\n // then\n expect(response).toEqual(\n Right({\n id: 361,\n perso: \"perso_11\",\n notes: \"notes\",\n firmware: \"test\",\n firmwareKey: \"testKey\",\n hash: \"hash\",\n nextFinalFirmware: 567,\n }),\n );\n });\n it(\"should return an error if payload don't match the dto\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n id: \"invalidId\",\n perso: \"perso_11\",\n firmware: \"test\",\n firmware_key: \"testKey\",\n hash: \"hash\",\n next_se_firmware_final_version: 567,\n }),\n ),\n );\n\n // when\n const response = await api.getOsuFirmwareVersion({\n version: \"versionName\",\n deviceId: 42,\n });\n\n // then\n expect(response.isRight()).toEqual(false);\n });\n it(\"should return an error if the request fails\", async () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(globalThis, \"fetch\").mockRejectedValue(error);\n\n // when\n const response = await api.getOsuFirmwareVersion({\n version: \"versionName\",\n deviceId: 42,\n });\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n\n describe(\"getLanguagePackages\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"should return the langage packages version\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify([\n {\n language: \"turkish\",\n languagePackageVersionId: 474,\n version: \"0.0.4\",\n language_package_id: 57,\n apdu_install_url:\n \"https://download.languages.ledger.com/stax/turkish/bolos_1.6.2_pack_0.0.4_tr.apdu\",\n apdu_uninstall_url:\n \"https://download.languages.ledger.com/stax/turkish/bolos_1.6.2_pack_0.0.4_tr_del.apdu\",\n device_versions: [17],\n se_firmware_final_versions: [432],\n bytes: 20800,\n date_creation: \"2025-03-04T10:48:27.910630Z\",\n date_last_modified: \"2025-03-04T10:48:27.910630Z\",\n },\n {\n language: \"russian\",\n languagePackageVersionId: 470,\n version: \"0.0.4\",\n language_package_id: 56,\n apdu_install_url:\n \"https://download.languages.ledger.com/stax/russian/bolos_1.6.2_pack_0.0.4_ru.apdu\",\n apdu_uninstall_url:\n \"https://download.languages.ledger.com/stax/russian/bolos_1.6.2_pack_0.0.4_ru_del.apdu\",\n device_versions: [17],\n se_firmware_final_versions: [432],\n bytes: 46592,\n date_creation: \"2025-03-04T10:48:26.218729Z\",\n date_last_modified: \"2025-03-04T10:48:26.218729Z\",\n },\n ]),\n ),\n );\n\n // when\n const response = await api.getLanguagePackages({\n deviceId: 1,\n currentFinalFirmwareId: 42,\n });\n\n // then\n expect(response).toEqual(\n Right([\n {\n language: \"turkish\",\n languagePackageVersionId: 474,\n version: \"0.0.4\",\n languagePackageId: 57,\n apduInstallUrl:\n \"https://download.languages.ledger.com/stax/turkish/bolos_1.6.2_pack_0.0.4_tr.apdu\",\n apduUninstallUrl:\n \"https://download.languages.ledger.com/stax/turkish/bolos_1.6.2_pack_0.0.4_tr_del.apdu\",\n bytes: 20800,\n dateCreation: \"2025-03-04T10:48:27.910630Z\",\n dateLastModified: \"2025-03-04T10:48:27.910630Z\",\n },\n {\n language: \"russian\",\n languagePackageVersionId: 470,\n version: \"0.0.4\",\n languagePackageId: 56,\n apduInstallUrl:\n \"https://download.languages.ledger.com/stax/russian/bolos_1.6.2_pack_0.0.4_ru.apdu\",\n apduUninstallUrl:\n \"https://download.languages.ledger.com/stax/russian/bolos_1.6.2_pack_0.0.4_ru_del.apdu\",\n bytes: 46592,\n dateCreation: \"2025-03-04T10:48:26.218729Z\",\n dateLastModified: \"2025-03-04T10:48:26.218729Z\",\n },\n ]),\n );\n });\n it(\"should return an error if payload don't match the dto\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify([\n {\n language: \"turkish\",\n version: \"0.0.4\",\n language_package_id: \"invalid\",\n },\n ]),\n ),\n );\n\n // when\n const response = await api.getLanguagePackages({\n deviceId: 1,\n currentFinalFirmwareId: 42,\n });\n\n // then\n expect(response.isRight()).toEqual(false);\n });\n it(\"should return an error if the request fails\", async () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(globalThis, \"fetch\").mockRejectedValue(error);\n\n // when\n const response = await api.getLanguagePackages({\n deviceId: 1,\n currentFinalFirmwareId: 42,\n });\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n\n describe(\"getMcuList\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"should return the list of MCUs\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify([\n {\n id: 1,\n mcu: 1,\n name: \"1.0\",\n description: null,\n providers: [1],\n device_versions: [1, 2],\n from_bootloader_version: \"1.0\",\n from_bootloader_version_id: 2,\n se_firmware_final_versions: [7, 12, 13, 14, 15],\n date_creation: \"2018-09-20T13:30:50.156394Z\",\n date_last_modified: \"2018-09-20T13:30:50.156453Z\",\n },\n {\n id: 2,\n mcu: 1,\n name: \"1.1\",\n description: null,\n providers: [1, 2],\n device_versions: [1, 2],\n from_bootloader_version: \"1.0\",\n from_bootloader_version_id: 2,\n se_firmware_final_versions: [7, 12, 13, 14, 15],\n date_creation: \"2018-09-20T13:30:50.339966Z\",\n date_last_modified: \"2018-09-20T13:30:50.340031Z\",\n },\n ]),\n ),\n );\n\n // when\n const response = await api.getMcuList();\n\n // then\n expect(response).toEqual(\n Right([\n {\n id: 1,\n name: \"1.0\",\n fromBootloaderVersion: \"1.0\",\n providers: [1],\n },\n {\n id: 2,\n name: \"1.1\",\n fromBootloaderVersion: \"1.0\",\n providers: [1, 2],\n },\n ]),\n );\n });\n\n it(\"should return an error when the payload don't match the dto\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify([\n {\n id: \"invalid id\",\n mcu: 1,\n name: \"1.0\",\n description: null,\n providers: [],\n se_firmware_final_versions: [7, 12, 13, 14, 15],\n date_creation: \"2018-09-20T13:30:50.156394Z\",\n date_last_modified: \"2018-09-20T13:30:50.156453Z\",\n },\n ]),\n ),\n );\n\n // when\n const response = await api.getMcuList();\n\n // then\n expect(response.isRight()).toEqual(false);\n });\n\n it(\"should return an error if the request fails\", async () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(globalThis, \"fetch\").mockRejectedValue(error);\n\n // when\n const response = await api.getMcuList();\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n describe(\"getProvider\", () => {\n let api: HttpManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://fake-url.com\",\n provider: 123,\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n\n it(\"should return the initial provider\", () => {\n expect(api.getProvider()).toBe(123);\n });\n\n it(\"should return the updated provider after setProvider is called\", () => {\n api.setProvider(321);\n expect(api.getProvider()).toBe(321);\n });\n });\n});\n"],
5
+ "mappings": "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",
6
6
  "names": ["import_purify_ts", "import_data", "import_Errors", "import_HttpManagerApiDataSource", "api", "apps", "response", "versionId", "rest", "error", "hashes", "err", "initialProvider"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var s=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var a=(e,r,t,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of l(r))!u.call(e,n)&&n!==t&&s(e,n,{get:()=>r[n],enumerable:!(i=m(r,n))||i.enumerable});return e};var o=e=>a(s({},"__esModule",{value:!0}),e);var g={};module.exports=o(g);
1
+ "use strict";var s=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var a=(e,r,t,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of u(r))!l.call(e,n)&&n!==t&&s(e,n,{get:()=>r[n],enumerable:!(i=m(r,n))||i.enumerable});return e};var o=e=>a(s({},"__esModule",{value:!0}),e);var g={};module.exports=o(g);
2
2
  //# sourceMappingURL=Firmware.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/manager-api/model/Firmware.ts"],
4
- "sourcesContent": ["export type OsuFirmware = {\n id: number;\n notes: string | null;\n perso: string;\n firmware: string;\n firmwareKey: string;\n hash: string | null;\n nextFinalFirmware: number;\n};\n\nexport type FinalFirmware = {\n id: number;\n version: string;\n perso: string;\n firmware: string | null;\n firmwareKey: string | null;\n hash: string | null;\n bytes: number | null;\n mcuVersions: number[];\n};\n\nexport type McuFirmware = {\n id: number;\n name: string;\n fromBootloaderVersion: string;\n};\n"],
4
+ "sourcesContent": ["export type OsuFirmware = {\n id: number;\n notes: string | null;\n perso: string;\n firmware: string;\n firmwareKey: string;\n hash: string | null;\n nextFinalFirmware: number;\n};\n\nexport type FinalFirmware = {\n id: number;\n version: string;\n perso: string;\n firmware: string | null;\n firmwareKey: string | null;\n hash: string | null;\n bytes: number | null;\n mcuVersions: number[];\n};\n\nexport type McuFirmware = {\n id: number;\n name: string;\n fromBootloaderVersion: string;\n providers: number[];\n};\n"],
5
5
  "mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
6
  "names": ["Firmware_exports", "__toCommonJS"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var o=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var h=Object.prototype.hasOwnProperty;var w=(i,e)=>{for(var r in e)o(i,r,{get:e[r],enumerable:!0})},A=(i,e,r,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of y(e))!h.call(i,a)&&a!==r&&o(i,a,{get:()=>e[a],enumerable:!(t=g(e,a))||t.enumerable});return i};var G=i=>A(o({},"__esModule",{value:!0}),i),u=(i,e,r,t)=>{for(var a=t>1?void 0:t?g(e,r):e,s=i.length-1,m;s>=0;s--)(m=i[s])&&(a=(t?m(e,r,a):m(a))||a);return t&&a&&o(e,r,a),a},F=(i,e)=>(r,t)=>e(r,t,i);var P={};w(P,{DefaultManagerApiService:()=>n});module.exports=G(P);var p=require("inversify"),d=require("purify-ts"),V=require("../../manager-api/di/managerApiTypes"),c=require("../../manager-api/model/Errors");let n=class{constructor(e){this.dataSource=e}getAppList(e){const r={targetId:e.targetId.toString(),firmwareVersionName:e.seVersion};return this.dataSource.getAppList(r)}getDeviceVersion(e){const r={targetId:e.targetId.toString()};return this.dataSource.getDeviceVersion(r)}getFirmwareVersion(e,r){const t={version:e.seVersion,deviceId:r.id};return this.dataSource.getFirmwareVersion(t)}getOsuFirmwareVersion(e,r){const t={version:e.seVersion,deviceId:r.id};return this.dataSource.getOsuFirmwareVersion(t)}getLatestFirmwareVersion(e,r){const t={currentFinalFirmwareId:e.id,deviceId:r.id};return this.dataSource.getLatestFirmwareVersion(t)}getNextFirmwareVersion(e){return this.dataSource.getFirmwareVersionById(e.nextFinalFirmware)}getLanguagePackages(e,r){const t={deviceId:e.id,currentFinalFirmwareId:r.id};return this.dataSource.getLanguagePackages(t)}getMcuList(){return this.dataSource.getMcuList()}getAppsByHash(e){const r={hashes:e};return(0,d.EitherAsync)(async({fromPromise:t,throwE:a})=>{if(r.hashes.length===0)return[];try{return await t(this.dataSource.getAppsByHash(r))}catch(s){return s instanceof c.HttpFetchApiError?a(s):a(new c.HttpFetchApiError(s))}})}};n=u([(0,p.injectable)(),F(0,(0,p.inject)(V.managerApiTypes.ManagerApiDataSource))],n);0&&(module.exports={DefaultManagerApiService});
1
+ "use strict";var n=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var h=Object.prototype.hasOwnProperty;var w=(i,e)=>{for(var r in e)n(i,r,{get:e[r],enumerable:!0})},A=(i,e,r,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of y(e))!h.call(i,a)&&a!==r&&n(i,a,{get:()=>e[a],enumerable:!(t=g(e,a))||t.enumerable});return i};var P=i=>A(n({},"__esModule",{value:!0}),i),u=(i,e,r,t)=>{for(var a=t>1?void 0:t?g(e,r):e,s=i.length-1,m;s>=0;s--)(m=i[s])&&(a=(t?m(e,r,a):m(a))||a);return t&&a&&n(e,r,a),a},d=(i,e)=>(r,t)=>e(r,t,i);var G={};w(G,{DefaultManagerApiService:()=>o});module.exports=P(G);var p=require("inversify"),F=require("purify-ts"),V=require("../../manager-api/di/managerApiTypes"),c=require("../../manager-api/model/Errors");let o=class{constructor(e){this.dataSource=e}getAppList(e){const r={targetId:e.targetId.toString(),firmwareVersionName:e.seVersion};return this.dataSource.getAppList(r)}getDeviceVersion(e){const r={targetId:e.targetId.toString()};return this.dataSource.getDeviceVersion(r)}getFirmwareVersion(e,r){const t={version:e.seVersion,deviceId:r.id};return this.dataSource.getFirmwareVersion(t)}getOsuFirmwareVersion(e,r){const t={version:e.seVersion,deviceId:r.id};return this.dataSource.getOsuFirmwareVersion(t)}getLatestFirmwareVersion(e,r){const t={currentFinalFirmwareId:e.id,deviceId:r.id};return this.dataSource.getLatestFirmwareVersion(t)}getNextFirmwareVersion(e){return this.dataSource.getFirmwareVersionById(e.nextFinalFirmware)}getLanguagePackages(e,r){const t={deviceId:e.id,currentFinalFirmwareId:r.id};return this.dataSource.getLanguagePackages(t)}getMcuList(){return this.dataSource.getMcuList()}getAppsByHash(e){const r={hashes:e};return(0,F.EitherAsync)(async({fromPromise:t,throwE:a})=>{if(r.hashes.length===0)return[];try{return await t(this.dataSource.getAppsByHash(r))}catch(s){return s instanceof c.HttpFetchApiError?a(s):a(new c.HttpFetchApiError(s))}})}getProvider(){return this.dataSource.getProvider()}};o=u([(0,p.injectable)(),d(0,(0,p.inject)(V.managerApiTypes.ManagerApiDataSource))],o);0&&(module.exports={DefaultManagerApiService});
2
2
  //# sourceMappingURL=DefaultManagerApiService.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/manager-api/service/DefaultManagerApiService.ts"],
4
- "sourcesContent": ["import { inject, injectable } from \"inversify\";\nimport { EitherAsync } from \"purify-ts\";\n\nimport { type GetOsVersionResponse } from \"@api/command/os/GetOsVersionCommand\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { managerApiTypes } from \"@internal/manager-api/di/managerApiTypes\";\nimport { type Application } from \"@internal/manager-api/model/Application\";\nimport { type DeviceVersion } from \"@internal/manager-api/model/Device\";\nimport { HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\nimport {\n type FinalFirmware,\n type McuFirmware,\n type OsuFirmware,\n} from \"@internal/manager-api/model/Firmware\";\nimport {\n type GetAppByHashParams,\n type GetAppListParams,\n type GetDeviceVersionParams,\n type GetFirmwareVersionParams,\n type GetLanguagePackagesParams,\n type GetLatestFirmwareVersionParams,\n} from \"@internal/manager-api/model/Params\";\n\nimport { type ManagerApiService } from \"./ManagerApiService\";\n\n@injectable()\nexport class DefaultManagerApiService implements ManagerApiService {\n constructor(\n @inject(managerApiTypes.ManagerApiDataSource)\n private readonly dataSource: ManagerApiDataSource,\n ) {}\n\n getAppList(\n deviceInfo: GetOsVersionResponse,\n ): EitherAsync<HttpFetchApiError, Array<Application>> {\n const params: GetAppListParams = {\n targetId: deviceInfo.targetId.toString(),\n firmwareVersionName: deviceInfo.seVersion,\n };\n return this.dataSource.getAppList(params);\n }\n\n getDeviceVersion(deviceInfo: GetOsVersionResponse) {\n const params: GetDeviceVersionParams = {\n targetId: deviceInfo.targetId.toString(),\n };\n return this.dataSource.getDeviceVersion(params);\n }\n\n getFirmwareVersion(\n deviceInfo: GetOsVersionResponse,\n deviceVersion: DeviceVersion,\n ) {\n const params: GetFirmwareVersionParams = {\n version: deviceInfo.seVersion,\n deviceId: deviceVersion.id,\n };\n return this.dataSource.getFirmwareVersion(params);\n }\n\n getOsuFirmwareVersion(\n deviceInfo: GetOsVersionResponse,\n deviceVersion: DeviceVersion,\n ) {\n const params: GetFirmwareVersionParams = {\n version: deviceInfo.seVersion,\n deviceId: deviceVersion.id,\n };\n return this.dataSource.getOsuFirmwareVersion(params);\n }\n\n getLatestFirmwareVersion(\n currentFirmware: FinalFirmware,\n deviceVersion: DeviceVersion,\n ) {\n const params: GetLatestFirmwareVersionParams = {\n currentFinalFirmwareId: currentFirmware.id,\n deviceId: deviceVersion.id,\n };\n return this.dataSource.getLatestFirmwareVersion(params);\n }\n\n getNextFirmwareVersion(osuFirmware: OsuFirmware) {\n return this.dataSource.getFirmwareVersionById(\n osuFirmware.nextFinalFirmware,\n );\n }\n\n getLanguagePackages(\n deviceVersion: DeviceVersion,\n currentFirmware: FinalFirmware,\n ) {\n const params: GetLanguagePackagesParams = {\n deviceId: deviceVersion.id,\n currentFinalFirmwareId: currentFirmware.id,\n };\n return this.dataSource.getLanguagePackages(params);\n }\n\n getMcuList(): EitherAsync<HttpFetchApiError, Array<McuFirmware>> {\n return this.dataSource.getMcuList();\n }\n\n getAppsByHash(appHashes: Array<string>) {\n const params: GetAppByHashParams = {\n hashes: appHashes,\n };\n return EitherAsync<HttpFetchApiError, Array<Application | null>>(\n async ({ fromPromise, throwE }) => {\n if (params.hashes.length === 0) {\n return [];\n }\n try {\n const response = await fromPromise(\n this.dataSource.getAppsByHash(params),\n );\n return response;\n } catch (error) {\n if (error instanceof HttpFetchApiError) {\n return throwE(error);\n }\n return throwE(new HttpFetchApiError(error));\n }\n },\n );\n }\n}\n"],
5
- "mappings": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,8BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAmC,qBACnCC,EAA4B,qBAI5BC,EAAgC,oDAGhCC,EAAkC,8CAkB3B,IAAMC,EAAN,KAA4D,CACjE,YAEmBC,EACjB,CADiB,gBAAAA,CAChB,CAEH,WACEC,EACoD,CACpD,MAAMC,EAA2B,CAC/B,SAAUD,EAAW,SAAS,SAAS,EACvC,oBAAqBA,EAAW,SAClC,EACA,OAAO,KAAK,WAAW,WAAWC,CAAM,CAC1C,CAEA,iBAAiBD,EAAkC,CACjD,MAAMC,EAAiC,CACrC,SAAUD,EAAW,SAAS,SAAS,CACzC,EACA,OAAO,KAAK,WAAW,iBAAiBC,CAAM,CAChD,CAEA,mBACED,EACAE,EACA,CACA,MAAMD,EAAmC,CACvC,QAASD,EAAW,UACpB,SAAUE,EAAc,EAC1B,EACA,OAAO,KAAK,WAAW,mBAAmBD,CAAM,CAClD,CAEA,sBACED,EACAE,EACA,CACA,MAAMD,EAAmC,CACvC,QAASD,EAAW,UACpB,SAAUE,EAAc,EAC1B,EACA,OAAO,KAAK,WAAW,sBAAsBD,CAAM,CACrD,CAEA,yBACEE,EACAD,EACA,CACA,MAAMD,EAAyC,CAC7C,uBAAwBE,EAAgB,GACxC,SAAUD,EAAc,EAC1B,EACA,OAAO,KAAK,WAAW,yBAAyBD,CAAM,CACxD,CAEA,uBAAuBG,EAA0B,CAC/C,OAAO,KAAK,WAAW,uBACrBA,EAAY,iBACd,CACF,CAEA,oBACEF,EACAC,EACA,CACA,MAAMF,EAAoC,CACxC,SAAUC,EAAc,GACxB,uBAAwBC,EAAgB,EAC1C,EACA,OAAO,KAAK,WAAW,oBAAoBF,CAAM,CACnD,CAEA,YAAiE,CAC/D,OAAO,KAAK,WAAW,WAAW,CACpC,CAEA,cAAcI,EAA0B,CACtC,MAAMJ,EAA6B,CACjC,OAAQI,CACV,EACA,SAAO,eACL,MAAO,CAAE,YAAAC,EAAa,OAAAC,CAAO,IAAM,CACjC,GAAIN,EAAO,OAAO,SAAW,EAC3B,MAAO,CAAC,EAEV,GAAI,CAIF,OAHiB,MAAMK,EACrB,KAAK,WAAW,cAAcL,CAAM,CACtC,CAEF,OAASO,EAAO,CACd,OAAIA,aAAiB,oBACZD,EAAOC,CAAK,EAEdD,EAAO,IAAI,oBAAkBC,CAAK,CAAC,CAC5C,CACF,CACF,CACF,CACF,EApGaV,EAANW,EAAA,IADN,cAAW,EAGPC,EAAA,eAAO,kBAAgB,oBAAoB,IAFnCZ",
4
+ "sourcesContent": ["import { inject, injectable } from \"inversify\";\nimport { EitherAsync } from \"purify-ts\";\n\nimport { type GetOsVersionResponse } from \"@api/command/os/GetOsVersionCommand\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { managerApiTypes } from \"@internal/manager-api/di/managerApiTypes\";\nimport { type Application } from \"@internal/manager-api/model/Application\";\nimport { type DeviceVersion } from \"@internal/manager-api/model/Device\";\nimport { HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\nimport {\n type FinalFirmware,\n type McuFirmware,\n type OsuFirmware,\n} from \"@internal/manager-api/model/Firmware\";\nimport {\n type GetAppByHashParams,\n type GetAppListParams,\n type GetDeviceVersionParams,\n type GetFirmwareVersionParams,\n type GetLanguagePackagesParams,\n type GetLatestFirmwareVersionParams,\n} from \"@internal/manager-api/model/Params\";\n\nimport { type ManagerApiService } from \"./ManagerApiService\";\n\n@injectable()\nexport class DefaultManagerApiService implements ManagerApiService {\n constructor(\n @inject(managerApiTypes.ManagerApiDataSource)\n private readonly dataSource: ManagerApiDataSource,\n ) {}\n\n getAppList(\n deviceInfo: GetOsVersionResponse,\n ): EitherAsync<HttpFetchApiError, Array<Application>> {\n const params: GetAppListParams = {\n targetId: deviceInfo.targetId.toString(),\n firmwareVersionName: deviceInfo.seVersion,\n };\n return this.dataSource.getAppList(params);\n }\n\n getDeviceVersion(deviceInfo: GetOsVersionResponse) {\n const params: GetDeviceVersionParams = {\n targetId: deviceInfo.targetId.toString(),\n };\n return this.dataSource.getDeviceVersion(params);\n }\n\n getFirmwareVersion(\n deviceInfo: GetOsVersionResponse,\n deviceVersion: DeviceVersion,\n ) {\n const params: GetFirmwareVersionParams = {\n version: deviceInfo.seVersion,\n deviceId: deviceVersion.id,\n };\n return this.dataSource.getFirmwareVersion(params);\n }\n\n getOsuFirmwareVersion(\n deviceInfo: GetOsVersionResponse,\n deviceVersion: DeviceVersion,\n ) {\n const params: GetFirmwareVersionParams = {\n version: deviceInfo.seVersion,\n deviceId: deviceVersion.id,\n };\n return this.dataSource.getOsuFirmwareVersion(params);\n }\n\n getLatestFirmwareVersion(\n currentFirmware: FinalFirmware,\n deviceVersion: DeviceVersion,\n ) {\n const params: GetLatestFirmwareVersionParams = {\n currentFinalFirmwareId: currentFirmware.id,\n deviceId: deviceVersion.id,\n };\n return this.dataSource.getLatestFirmwareVersion(params);\n }\n\n getNextFirmwareVersion(osuFirmware: OsuFirmware) {\n return this.dataSource.getFirmwareVersionById(\n osuFirmware.nextFinalFirmware,\n );\n }\n\n getLanguagePackages(\n deviceVersion: DeviceVersion,\n currentFirmware: FinalFirmware,\n ) {\n const params: GetLanguagePackagesParams = {\n deviceId: deviceVersion.id,\n currentFinalFirmwareId: currentFirmware.id,\n };\n return this.dataSource.getLanguagePackages(params);\n }\n\n getMcuList(): EitherAsync<HttpFetchApiError, Array<McuFirmware>> {\n return this.dataSource.getMcuList();\n }\n\n getAppsByHash(appHashes: Array<string>) {\n const params: GetAppByHashParams = {\n hashes: appHashes,\n };\n return EitherAsync<HttpFetchApiError, Array<Application | null>>(\n async ({ fromPromise, throwE }) => {\n if (params.hashes.length === 0) {\n return [];\n }\n try {\n const response = await fromPromise(\n this.dataSource.getAppsByHash(params),\n );\n return response;\n } catch (error) {\n if (error instanceof HttpFetchApiError) {\n return throwE(error);\n }\n return throwE(new HttpFetchApiError(error));\n }\n },\n );\n }\n\n getProvider(): number {\n return this.dataSource.getProvider();\n }\n}\n"],
5
+ "mappings": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,8BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAmC,qBACnCC,EAA4B,qBAI5BC,EAAgC,oDAGhCC,EAAkC,8CAkB3B,IAAMC,EAAN,KAA4D,CACjE,YAEmBC,EACjB,CADiB,gBAAAA,CAChB,CAEH,WACEC,EACoD,CACpD,MAAMC,EAA2B,CAC/B,SAAUD,EAAW,SAAS,SAAS,EACvC,oBAAqBA,EAAW,SAClC,EACA,OAAO,KAAK,WAAW,WAAWC,CAAM,CAC1C,CAEA,iBAAiBD,EAAkC,CACjD,MAAMC,EAAiC,CACrC,SAAUD,EAAW,SAAS,SAAS,CACzC,EACA,OAAO,KAAK,WAAW,iBAAiBC,CAAM,CAChD,CAEA,mBACED,EACAE,EACA,CACA,MAAMD,EAAmC,CACvC,QAASD,EAAW,UACpB,SAAUE,EAAc,EAC1B,EACA,OAAO,KAAK,WAAW,mBAAmBD,CAAM,CAClD,CAEA,sBACED,EACAE,EACA,CACA,MAAMD,EAAmC,CACvC,QAASD,EAAW,UACpB,SAAUE,EAAc,EAC1B,EACA,OAAO,KAAK,WAAW,sBAAsBD,CAAM,CACrD,CAEA,yBACEE,EACAD,EACA,CACA,MAAMD,EAAyC,CAC7C,uBAAwBE,EAAgB,GACxC,SAAUD,EAAc,EAC1B,EACA,OAAO,KAAK,WAAW,yBAAyBD,CAAM,CACxD,CAEA,uBAAuBG,EAA0B,CAC/C,OAAO,KAAK,WAAW,uBACrBA,EAAY,iBACd,CACF,CAEA,oBACEF,EACAC,EACA,CACA,MAAMF,EAAoC,CACxC,SAAUC,EAAc,GACxB,uBAAwBC,EAAgB,EAC1C,EACA,OAAO,KAAK,WAAW,oBAAoBF,CAAM,CACnD,CAEA,YAAiE,CAC/D,OAAO,KAAK,WAAW,WAAW,CACpC,CAEA,cAAcI,EAA0B,CACtC,MAAMJ,EAA6B,CACjC,OAAQI,CACV,EACA,SAAO,eACL,MAAO,CAAE,YAAAC,EAAa,OAAAC,CAAO,IAAM,CACjC,GAAIN,EAAO,OAAO,SAAW,EAC3B,MAAO,CAAC,EAEV,GAAI,CAIF,OAHiB,MAAMK,EACrB,KAAK,WAAW,cAAcL,CAAM,CACtC,CAEF,OAASO,EAAO,CACd,OAAIA,aAAiB,oBACZD,EAAOC,CAAK,EAEdD,EAAO,IAAI,oBAAkBC,CAAK,CAAC,CAC5C,CACF,CACF,CACF,CAEA,aAAsB,CACpB,OAAO,KAAK,WAAW,YAAY,CACrC,CACF,EAxGaV,EAANW,EAAA,IADN,cAAW,EAGPC,EAAA,eAAO,kBAAgB,oBAAoB,IAFnCZ",
6
6
  "names": ["DefaultManagerApiService_exports", "__export", "DefaultManagerApiService", "__toCommonJS", "import_inversify", "import_purify_ts", "import_managerApiTypes", "import_Errors", "DefaultManagerApiService", "dataSource", "deviceInfo", "params", "deviceVersion", "currentFirmware", "osuFirmware", "appHashes", "fromPromise", "throwE", "error", "__decorateClass", "__decorateParam"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var i=require("purify-ts"),s=require("../../../api/command/os/__mocks__/GetOsVersionCommand"),c=require("../../../api/device/DeviceModel"),t=require("../../../api/device-action/__test-utils__/data"),n=require("../../manager-api/data/HttpManagerApiDataSource"),p=require("../../manager-api/model/Errors"),l=require("./DefaultManagerApiService");vi.mock("@internal/manager-api/data/HttpManagerApiDataSource");let a,r;describe("ManagerApiService",()=>{beforeEach(()=>{a=new n.HttpManagerApiDataSource({}),r=new l.DefaultManagerApiService(a)}),describe("getAppList",()=>{it("should call api with the correct parameters",()=>{const e=(0,s.getOsVersionCommandResponseMockBuilder)(c.DeviceModelId.STAX);r.getAppList(e),expect(a.getAppList).toHaveBeenCalledWith({targetId:"857735172",firmwareVersionName:"1.3.0"})})}),describe("getAppsByHash",()=>{describe("success cases",()=>{it("with no apps, should return an empty list",async()=>{a.getAppsByHash.mockResolvedValue((0,i.Right)([])),expect(await r.getAppsByHash([])).toEqual((0,i.Right)([]))}),it("with one app, should return the metadata",async()=>{a.getAppsByHash.mockResolvedValue((0,i.Right)([t.BTC_APP_METADATA])),expect(await r.getAppsByHash([t.BTC_APP.appFullHash])).toEqual((0,i.Right)([t.BTC_APP_METADATA]))}),it("with two app, should return the metadata of both apps",async()=>{a.getAppsByHash.mockResolvedValue((0,i.Right)([t.BTC_APP_METADATA,t.ETH_APP_METADATA])),expect(await r.getAppsByHash([t.BTC_APP,t.ETH_APP].map(e=>e.appFullHash))).toEqual((0,i.Right)([t.BTC_APP_METADATA,t.ETH_APP_METADATA]))}),it("with one app and one without `appFullHash`, should return the metadata of the correct app",async()=>{a.getAppsByHash.mockResolvedValue((0,i.Right)([t.BTC_APP_METADATA]));const e={...t.ETH_APP,appFullHash:""};expect(await r.getAppsByHash([t.BTC_APP,e].map(o=>o.appFullHash))).toEqual((0,i.Right)([t.BTC_APP_METADATA]))})}),describe("error cases",()=>{it("should return an error when the data source fails with a known error",async()=>{const e=new p.HttpFetchApiError(new Error("Failed to fetch data"));a.getAppsByHash.mockRejectedValue(e),expect(await r.getAppsByHash([t.BTC_APP.appFullHash])).toEqual((0,i.Left)(e))}),it("should return an error when the data source fails with an unknown error",async()=>{const e=new Error("unkown error");a.getAppsByHash.mockRejectedValue(e),expect(await r.getAppsByHash([t.BTC_APP.appFullHash])).toEqual((0,i.Left)(new p.HttpFetchApiError(e)))})})}),describe("getDeviceVersion",()=>{it("should call api with the correct parameters",()=>{const e=(0,s.getOsVersionCommandResponseMockBuilder)(c.DeviceModelId.STAX);r.getDeviceVersion(e),expect(a.getDeviceVersion).toHaveBeenCalledWith({targetId:"857735172"})})}),describe("getFirmwareVersion",()=>{it("should call api with the correct parameters",()=>{const e={id:17,target_id:"857735172"},o=(0,s.getOsVersionCommandResponseMockBuilder)(c.DeviceModelId.STAX);r.getFirmwareVersion(o,e),expect(a.getFirmwareVersion).toHaveBeenCalledWith({deviceId:17,version:"1.3.0"})})}),describe("getOsuFirmwareVersion",()=>{it("should call api with the correct parameters",()=>{const e={id:17,target_id:"857735172"},o=(0,s.getOsVersionCommandResponseMockBuilder)(c.DeviceModelId.STAX);r.getOsuFirmwareVersion(o,e),expect(a.getOsuFirmwareVersion).toHaveBeenCalledWith({deviceId:17,version:"1.3.0"})})}),describe("getLatestFirmwareVersion",()=>{it("should call api with the correct parameters",()=>{const e={id:17,target_id:"857735172"},o={id:159};r.getLatestFirmwareVersion(o,e),expect(a.getLatestFirmwareVersion).toHaveBeenCalledWith({currentFinalFirmwareId:159,deviceId:17})})}),describe("getNextFirmwareVersion",()=>{it("should call api with the correct parameters",()=>{const e={nextFinalFirmware:159};r.getNextFirmwareVersion(e),expect(a.getFirmwareVersionById).toHaveBeenCalledWith(159)})}),describe("getLanguagePackages",()=>{it("should call api with the correct parameters",()=>{const e={id:17,target_id:"857735172"},o={id:159};r.getLanguagePackages(e,o),expect(a.getLanguagePackages).toHaveBeenCalledWith({deviceId:17,currentFinalFirmwareId:159})})}),describe("getMcuList",()=>{it("should call api with the correct parameters",()=>{r.getMcuList(),expect(a.getMcuList).toHaveBeenCalled()})})});
1
+ "use strict";var i=require("purify-ts"),s=require("../../../api/command/os/__mocks__/GetOsVersionCommand"),c=require("../../../api/device/DeviceModel"),t=require("../../../api/device-action/__test-utils__/data"),n=require("../../manager-api/data/HttpManagerApiDataSource"),p=require("../../manager-api/model/Errors"),l=require("./DefaultManagerApiService");vi.mock("@internal/manager-api/data/HttpManagerApiDataSource");let r,a;describe("ManagerApiService",()=>{beforeEach(()=>{r=new n.HttpManagerApiDataSource({}),a=new l.DefaultManagerApiService(r)}),describe("getAppList",()=>{it("should call api with the correct parameters",()=>{const e=(0,s.getOsVersionCommandResponseMockBuilder)(c.DeviceModelId.STAX);a.getAppList(e),expect(r.getAppList).toHaveBeenCalledWith({targetId:"857735172",firmwareVersionName:"1.3.0"})})}),describe("getAppsByHash",()=>{describe("success cases",()=>{it("with no apps, should return an empty list",async()=>{r.getAppsByHash.mockResolvedValue((0,i.Right)([])),expect(await a.getAppsByHash([])).toEqual((0,i.Right)([]))}),it("with one app, should return the metadata",async()=>{r.getAppsByHash.mockResolvedValue((0,i.Right)([t.BTC_APP_METADATA])),expect(await a.getAppsByHash([t.BTC_APP.appFullHash])).toEqual((0,i.Right)([t.BTC_APP_METADATA]))}),it("with two app, should return the metadata of both apps",async()=>{r.getAppsByHash.mockResolvedValue((0,i.Right)([t.BTC_APP_METADATA,t.ETH_APP_METADATA])),expect(await a.getAppsByHash([t.BTC_APP,t.ETH_APP].map(e=>e.appFullHash))).toEqual((0,i.Right)([t.BTC_APP_METADATA,t.ETH_APP_METADATA]))}),it("with one app and one without `appFullHash`, should return the metadata of the correct app",async()=>{r.getAppsByHash.mockResolvedValue((0,i.Right)([t.BTC_APP_METADATA]));const e={...t.ETH_APP,appFullHash:""};expect(await a.getAppsByHash([t.BTC_APP,e].map(o=>o.appFullHash))).toEqual((0,i.Right)([t.BTC_APP_METADATA]))})}),describe("error cases",()=>{it("should return an error when the data source fails with a known error",async()=>{const e=new p.HttpFetchApiError(new Error("Failed to fetch data"));r.getAppsByHash.mockRejectedValue(e),expect(await a.getAppsByHash([t.BTC_APP.appFullHash])).toEqual((0,i.Left)(e))}),it("should return an error when the data source fails with an unknown error",async()=>{const e=new Error("unkown error");r.getAppsByHash.mockRejectedValue(e),expect(await a.getAppsByHash([t.BTC_APP.appFullHash])).toEqual((0,i.Left)(new p.HttpFetchApiError(e)))})})}),describe("getDeviceVersion",()=>{it("should call api with the correct parameters",()=>{const e=(0,s.getOsVersionCommandResponseMockBuilder)(c.DeviceModelId.STAX);a.getDeviceVersion(e),expect(r.getDeviceVersion).toHaveBeenCalledWith({targetId:"857735172"})})}),describe("getFirmwareVersion",()=>{it("should call api with the correct parameters",()=>{const e={id:17,target_id:"857735172"},o=(0,s.getOsVersionCommandResponseMockBuilder)(c.DeviceModelId.STAX);a.getFirmwareVersion(o,e),expect(r.getFirmwareVersion).toHaveBeenCalledWith({deviceId:17,version:"1.3.0"})})}),describe("getOsuFirmwareVersion",()=>{it("should call api with the correct parameters",()=>{const e={id:17,target_id:"857735172"},o=(0,s.getOsVersionCommandResponseMockBuilder)(c.DeviceModelId.STAX);a.getOsuFirmwareVersion(o,e),expect(r.getOsuFirmwareVersion).toHaveBeenCalledWith({deviceId:17,version:"1.3.0"})})}),describe("getLatestFirmwareVersion",()=>{it("should call api with the correct parameters",()=>{const e={id:17,target_id:"857735172"},o={id:159};a.getLatestFirmwareVersion(o,e),expect(r.getLatestFirmwareVersion).toHaveBeenCalledWith({currentFinalFirmwareId:159,deviceId:17})})}),describe("getNextFirmwareVersion",()=>{it("should call api with the correct parameters",()=>{const e={nextFinalFirmware:159};a.getNextFirmwareVersion(e),expect(r.getFirmwareVersionById).toHaveBeenCalledWith(159)})}),describe("getLanguagePackages",()=>{it("should call api with the correct parameters",()=>{const e={id:17,target_id:"857735172"},o={id:159};a.getLanguagePackages(e,o),expect(r.getLanguagePackages).toHaveBeenCalledWith({deviceId:17,currentFinalFirmwareId:159})})}),describe("getMcuList",()=>{it("should call api with the correct parameters",()=>{a.getMcuList(),expect(r.getMcuList).toHaveBeenCalled()})}),describe("getProvider",()=>{it("should return the provider",()=>{r.getProvider.mockReturnValue(1);const e=a.getProvider();expect(e).toEqual(1)})})});
2
2
  //# sourceMappingURL=DefaultManagerApiService.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/manager-api/service/DefaultManagerApiService.test.ts"],
4
- "sourcesContent": ["import { Left, Right } from \"purify-ts\";\nimport { type Mocked } from \"vitest\";\n\nimport { getOsVersionCommandResponseMockBuilder } from \"@api/command/os/__mocks__/GetOsVersionCommand\";\nimport { DeviceModelId } from \"@api/device/DeviceModel\";\nimport {\n BTC_APP,\n BTC_APP_METADATA,\n ETH_APP,\n ETH_APP_METADATA,\n} from \"@api/device-action/__test-utils__/data\";\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { HttpManagerApiDataSource } from \"@internal/manager-api/data/HttpManagerApiDataSource\";\nimport { HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\nimport {\n type FinalFirmware,\n type OsuFirmware,\n} from \"@internal/manager-api/model/Firmware\";\n\nimport { DefaultManagerApiService } from \"./DefaultManagerApiService\";\nimport { type ManagerApiService } from \"./ManagerApiService\";\n\nvi.mock(\"@internal/manager-api/data/HttpManagerApiDataSource\");\nlet dataSource: Mocked<HttpManagerApiDataSource>;\nlet service: ManagerApiService;\ndescribe(\"ManagerApiService\", () => {\n beforeEach(() => {\n dataSource = new HttpManagerApiDataSource(\n {} as DmkConfig,\n ) as Mocked<HttpManagerApiDataSource>;\n service = new DefaultManagerApiService(dataSource);\n });\n\n describe(\"getAppList\", () => {\n it(\"should call api with the correct parameters\", () => {\n // given\n const deviceInfo = getOsVersionCommandResponseMockBuilder(\n DeviceModelId.STAX,\n );\n // when\n service.getAppList(deviceInfo);\n // then\n expect(dataSource.getAppList).toHaveBeenCalledWith({\n targetId: \"857735172\",\n firmwareVersionName: \"1.3.0\",\n });\n });\n });\n\n describe(\"getAppsByHash\", () => {\n describe(\"success cases\", () => {\n it(\"with no apps, should return an empty list\", async () => {\n dataSource.getAppsByHash.mockResolvedValue(Right([]));\n expect(await service.getAppsByHash([])).toEqual(Right([]));\n });\n\n it(\"with one app, should return the metadata\", async () => {\n dataSource.getAppsByHash.mockResolvedValue(Right([BTC_APP_METADATA]));\n expect(await service.getAppsByHash([BTC_APP.appFullHash])).toEqual(\n Right([BTC_APP_METADATA]),\n );\n });\n\n it(\"with two app, should return the metadata of both apps\", async () => {\n dataSource.getAppsByHash.mockResolvedValue(\n Right([BTC_APP_METADATA, ETH_APP_METADATA]),\n );\n expect(\n await service.getAppsByHash(\n [BTC_APP, ETH_APP].map((app) => app.appFullHash),\n ),\n ).toEqual(Right([BTC_APP_METADATA, ETH_APP_METADATA]));\n });\n\n it(\"with one app and one without `appFullHash`, should return the metadata of the correct app\", async () => {\n dataSource.getAppsByHash.mockResolvedValue(Right([BTC_APP_METADATA]));\n const APP_WITH_NO_HASH = { ...ETH_APP, appFullHash: \"\" };\n expect(\n await service.getAppsByHash(\n [BTC_APP, APP_WITH_NO_HASH].map((app) => app.appFullHash),\n ),\n ).toEqual(Right([BTC_APP_METADATA]));\n });\n });\n\n describe(\"error cases\", () => {\n it(\"should return an error when the data source fails with a known error\", async () => {\n const error = new HttpFetchApiError(new Error(\"Failed to fetch data\"));\n dataSource.getAppsByHash.mockRejectedValue(error);\n expect(await service.getAppsByHash([BTC_APP.appFullHash])).toEqual(\n Left(error),\n );\n });\n\n it(\"should return an error when the data source fails with an unknown error\", async () => {\n const error = new Error(\"unkown error\");\n dataSource.getAppsByHash.mockRejectedValue(error);\n expect(await service.getAppsByHash([BTC_APP.appFullHash])).toEqual(\n Left(new HttpFetchApiError(error)),\n );\n });\n });\n });\n\n describe(\"getDeviceVersion\", () => {\n it(\"should call api with the correct parameters\", () => {\n // given\n const deviceInfo = getOsVersionCommandResponseMockBuilder(\n DeviceModelId.STAX,\n );\n // when\n service.getDeviceVersion(deviceInfo);\n // then\n expect(dataSource.getDeviceVersion).toHaveBeenCalledWith({\n targetId: \"857735172\",\n });\n });\n });\n\n describe(\"getFirmwareVersion\", () => {\n it(\"should call api with the correct parameters\", () => {\n // given\n const mockGetDeviceVersion = {\n id: 17,\n target_id: \"857735172\",\n };\n const deviceInfo = getOsVersionCommandResponseMockBuilder(\n DeviceModelId.STAX,\n );\n // when\n service.getFirmwareVersion(deviceInfo, mockGetDeviceVersion);\n // then\n expect(dataSource.getFirmwareVersion).toHaveBeenCalledWith({\n deviceId: 17,\n version: \"1.3.0\",\n });\n });\n });\n\n describe(\"getOsuFirmwareVersion\", () => {\n it(\"should call api with the correct parameters\", () => {\n // given\n const mockGetDeviceVersion = {\n id: 17,\n target_id: \"857735172\",\n };\n const deviceInfo = getOsVersionCommandResponseMockBuilder(\n DeviceModelId.STAX,\n );\n // when\n service.getOsuFirmwareVersion(deviceInfo, mockGetDeviceVersion);\n // then\n expect(dataSource.getOsuFirmwareVersion).toHaveBeenCalledWith({\n deviceId: 17,\n version: \"1.3.0\",\n });\n });\n });\n\n describe(\"getLatestFirmwareVersion\", () => {\n it(\"should call api with the correct parameters\", () => {\n // given\n const deviceVersion = {\n id: 17,\n target_id: \"857735172\",\n };\n const currentFirmware = {\n id: 159,\n } as FinalFirmware;\n // when\n service.getLatestFirmwareVersion(currentFirmware, deviceVersion);\n // then\n expect(dataSource.getLatestFirmwareVersion).toHaveBeenCalledWith({\n currentFinalFirmwareId: 159,\n deviceId: 17,\n });\n });\n });\n\n describe(\"getNextFirmwareVersion\", () => {\n it(\"should call api with the correct parameters\", () => {\n // given\n const osuFirmware = {\n nextFinalFirmware: 159,\n } as OsuFirmware;\n // when\n service.getNextFirmwareVersion(osuFirmware);\n // then\n expect(dataSource.getFirmwareVersionById).toHaveBeenCalledWith(159);\n });\n });\n\n describe(\"getLanguagePackages\", () => {\n it(\"should call api with the correct parameters\", () => {\n // given\n const deviceVersion = {\n id: 17,\n target_id: \"857735172\",\n };\n const currentFirmware = {\n id: 159,\n } as FinalFirmware;\n // when\n service.getLanguagePackages(deviceVersion, currentFirmware);\n // then\n expect(dataSource.getLanguagePackages).toHaveBeenCalledWith({\n deviceId: 17,\n currentFinalFirmwareId: 159,\n });\n });\n });\n\n describe(\"getMcuList\", () => {\n it(\"should call api with the correct parameters\", () => {\n // when\n service.getMcuList();\n // then\n expect(dataSource.getMcuList).toHaveBeenCalled();\n });\n });\n});\n"],
5
- "mappings": "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",
6
- "names": ["import_purify_ts", "import_GetOsVersionCommand", "import_DeviceModel", "import_data", "import_HttpManagerApiDataSource", "import_Errors", "import_DefaultManagerApiService", "dataSource", "service", "deviceInfo", "app", "APP_WITH_NO_HASH", "error", "mockGetDeviceVersion", "deviceVersion", "currentFirmware", "osuFirmware"]
4
+ "sourcesContent": ["import { Left, Right } from \"purify-ts\";\nimport { type Mocked } from \"vitest\";\n\nimport { getOsVersionCommandResponseMockBuilder } from \"@api/command/os/__mocks__/GetOsVersionCommand\";\nimport { DeviceModelId } from \"@api/device/DeviceModel\";\nimport {\n BTC_APP,\n BTC_APP_METADATA,\n ETH_APP,\n ETH_APP_METADATA,\n} from \"@api/device-action/__test-utils__/data\";\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { HttpManagerApiDataSource } from \"@internal/manager-api/data/HttpManagerApiDataSource\";\nimport { HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\nimport {\n type FinalFirmware,\n type OsuFirmware,\n} from \"@internal/manager-api/model/Firmware\";\n\nimport { DefaultManagerApiService } from \"./DefaultManagerApiService\";\nimport { type ManagerApiService } from \"./ManagerApiService\";\n\nvi.mock(\"@internal/manager-api/data/HttpManagerApiDataSource\");\nlet dataSource: Mocked<HttpManagerApiDataSource>;\nlet service: ManagerApiService;\ndescribe(\"ManagerApiService\", () => {\n beforeEach(() => {\n dataSource = new HttpManagerApiDataSource(\n {} as DmkConfig,\n ) as Mocked<HttpManagerApiDataSource>;\n service = new DefaultManagerApiService(dataSource);\n });\n\n describe(\"getAppList\", () => {\n it(\"should call api with the correct parameters\", () => {\n // given\n const deviceInfo = getOsVersionCommandResponseMockBuilder(\n DeviceModelId.STAX,\n );\n // when\n service.getAppList(deviceInfo);\n // then\n expect(dataSource.getAppList).toHaveBeenCalledWith({\n targetId: \"857735172\",\n firmwareVersionName: \"1.3.0\",\n });\n });\n });\n\n describe(\"getAppsByHash\", () => {\n describe(\"success cases\", () => {\n it(\"with no apps, should return an empty list\", async () => {\n dataSource.getAppsByHash.mockResolvedValue(Right([]));\n expect(await service.getAppsByHash([])).toEqual(Right([]));\n });\n\n it(\"with one app, should return the metadata\", async () => {\n dataSource.getAppsByHash.mockResolvedValue(Right([BTC_APP_METADATA]));\n expect(await service.getAppsByHash([BTC_APP.appFullHash])).toEqual(\n Right([BTC_APP_METADATA]),\n );\n });\n\n it(\"with two app, should return the metadata of both apps\", async () => {\n dataSource.getAppsByHash.mockResolvedValue(\n Right([BTC_APP_METADATA, ETH_APP_METADATA]),\n );\n expect(\n await service.getAppsByHash(\n [BTC_APP, ETH_APP].map((app) => app.appFullHash),\n ),\n ).toEqual(Right([BTC_APP_METADATA, ETH_APP_METADATA]));\n });\n\n it(\"with one app and one without `appFullHash`, should return the metadata of the correct app\", async () => {\n dataSource.getAppsByHash.mockResolvedValue(Right([BTC_APP_METADATA]));\n const APP_WITH_NO_HASH = { ...ETH_APP, appFullHash: \"\" };\n expect(\n await service.getAppsByHash(\n [BTC_APP, APP_WITH_NO_HASH].map((app) => app.appFullHash),\n ),\n ).toEqual(Right([BTC_APP_METADATA]));\n });\n });\n\n describe(\"error cases\", () => {\n it(\"should return an error when the data source fails with a known error\", async () => {\n const error = new HttpFetchApiError(new Error(\"Failed to fetch data\"));\n dataSource.getAppsByHash.mockRejectedValue(error);\n expect(await service.getAppsByHash([BTC_APP.appFullHash])).toEqual(\n Left(error),\n );\n });\n\n it(\"should return an error when the data source fails with an unknown error\", async () => {\n const error = new Error(\"unkown error\");\n dataSource.getAppsByHash.mockRejectedValue(error);\n expect(await service.getAppsByHash([BTC_APP.appFullHash])).toEqual(\n Left(new HttpFetchApiError(error)),\n );\n });\n });\n });\n\n describe(\"getDeviceVersion\", () => {\n it(\"should call api with the correct parameters\", () => {\n // given\n const deviceInfo = getOsVersionCommandResponseMockBuilder(\n DeviceModelId.STAX,\n );\n // when\n service.getDeviceVersion(deviceInfo);\n // then\n expect(dataSource.getDeviceVersion).toHaveBeenCalledWith({\n targetId: \"857735172\",\n });\n });\n });\n\n describe(\"getFirmwareVersion\", () => {\n it(\"should call api with the correct parameters\", () => {\n // given\n const mockGetDeviceVersion = {\n id: 17,\n target_id: \"857735172\",\n };\n const deviceInfo = getOsVersionCommandResponseMockBuilder(\n DeviceModelId.STAX,\n );\n // when\n service.getFirmwareVersion(deviceInfo, mockGetDeviceVersion);\n // then\n expect(dataSource.getFirmwareVersion).toHaveBeenCalledWith({\n deviceId: 17,\n version: \"1.3.0\",\n });\n });\n });\n\n describe(\"getOsuFirmwareVersion\", () => {\n it(\"should call api with the correct parameters\", () => {\n // given\n const mockGetDeviceVersion = {\n id: 17,\n target_id: \"857735172\",\n };\n const deviceInfo = getOsVersionCommandResponseMockBuilder(\n DeviceModelId.STAX,\n );\n // when\n service.getOsuFirmwareVersion(deviceInfo, mockGetDeviceVersion);\n // then\n expect(dataSource.getOsuFirmwareVersion).toHaveBeenCalledWith({\n deviceId: 17,\n version: \"1.3.0\",\n });\n });\n });\n\n describe(\"getLatestFirmwareVersion\", () => {\n it(\"should call api with the correct parameters\", () => {\n // given\n const deviceVersion = {\n id: 17,\n target_id: \"857735172\",\n };\n const currentFirmware = {\n id: 159,\n } as FinalFirmware;\n // when\n service.getLatestFirmwareVersion(currentFirmware, deviceVersion);\n // then\n expect(dataSource.getLatestFirmwareVersion).toHaveBeenCalledWith({\n currentFinalFirmwareId: 159,\n deviceId: 17,\n });\n });\n });\n\n describe(\"getNextFirmwareVersion\", () => {\n it(\"should call api with the correct parameters\", () => {\n // given\n const osuFirmware = {\n nextFinalFirmware: 159,\n } as OsuFirmware;\n // when\n service.getNextFirmwareVersion(osuFirmware);\n // then\n expect(dataSource.getFirmwareVersionById).toHaveBeenCalledWith(159);\n });\n });\n\n describe(\"getLanguagePackages\", () => {\n it(\"should call api with the correct parameters\", () => {\n // given\n const deviceVersion = {\n id: 17,\n target_id: \"857735172\",\n };\n const currentFirmware = {\n id: 159,\n } as FinalFirmware;\n // when\n service.getLanguagePackages(deviceVersion, currentFirmware);\n // then\n expect(dataSource.getLanguagePackages).toHaveBeenCalledWith({\n deviceId: 17,\n currentFinalFirmwareId: 159,\n });\n });\n });\n\n describe(\"getMcuList\", () => {\n it(\"should call api with the correct parameters\", () => {\n // when\n service.getMcuList();\n // then\n expect(dataSource.getMcuList).toHaveBeenCalled();\n });\n });\n\n describe(\"getProvider\", () => {\n it(\"should return the provider\", () => {\n // given\n dataSource.getProvider.mockReturnValue(1);\n // when\n const provider = service.getProvider();\n // then\n expect(provider).toEqual(1);\n });\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["import_purify_ts", "import_GetOsVersionCommand", "import_DeviceModel", "import_data", "import_HttpManagerApiDataSource", "import_Errors", "import_DefaultManagerApiService", "dataSource", "service", "deviceInfo", "app", "APP_WITH_NO_HASH", "error", "mockGetDeviceVersion", "deviceVersion", "currentFirmware", "osuFirmware", "provider"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var s=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var a=Object.prototype.hasOwnProperty;var c=(r,e,o,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of p(e))!a.call(r,i)&&i!==o&&s(r,i,{get:()=>e[i],enumerable:!(t=n(e,i))||t.enumerable});return r};var F=r=>c(s({},"__esModule",{value:!0}),r);var m={};module.exports=F(m);
1
+ "use strict";var s=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var a=Object.prototype.hasOwnProperty;var c=(r,e,o,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of p(e))!a.call(r,i)&&i!==o&&s(r,i,{get:()=>e[i],enumerable:!(t=n(e,i))||t.enumerable});return r};var m=r=>c(s({},"__esModule",{value:!0}),r);var F={};module.exports=m(F);
2
2
  //# sourceMappingURL=ManagerApiService.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/manager-api/service/ManagerApiService.ts"],
4
- "sourcesContent": ["import { type EitherAsync, type Maybe } from \"purify-ts\";\n\nimport { type GetOsVersionResponse } from \"@api/command/os/GetOsVersionCommand\";\nimport { type Application } from \"@internal/manager-api/model/Application\";\nimport { type DeviceVersion } from \"@internal/manager-api/model/Device\";\nimport { type HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\nimport {\n type FinalFirmware,\n type McuFirmware,\n type OsuFirmware,\n} from \"@internal/manager-api/model/Firmware\";\nimport { type LanguagePackage } from \"@internal/manager-api/model/Language\";\n\n/**\n * Interface representing the Manager API service.\n */\nexport interface ManagerApiService {\n /**\n * Retrieves the list of applications for a given device.\n *\n * @param deviceInfo - Response of the GetOsVersionCommand.\n * @returns An `EitherAsync` containing either an `HttpFetchApiError` or an array of `Application` objects.\n */\n getAppList(\n deviceInfo: GetOsVersionResponse,\n ): EitherAsync<HttpFetchApiError, Array<Application>>;\n\n /**\n * Retrieves applications by their hash values.\n *\n * @param appHashes - An array of application hash values.\n * @returns An `EitherAsync` containing either an `HttpFetchApiError` or an array of `Application` objects or `null`.\n */\n getAppsByHash(\n appHashes: Array<string>,\n ): EitherAsync<HttpFetchApiError, Array<Application | null>>;\n\n /**\n * Retrieves the device version for a given device.\n *\n * @param deviceInfo - Response of the GetOsVersionCommand.\n * @returns An `EitherAsync` containing either an `HttpFetchApiError` or a `DeviceVersion` object.\n */\n getDeviceVersion(\n deviceInfo: GetOsVersionResponse,\n ): EitherAsync<HttpFetchApiError, DeviceVersion>;\n\n /**\n * Retrieves the firmware version for a given device.\n *\n * @param deviceInfo - Response of the GetOsVersionCommand.\n * @param deviceVersion - Response of the GetDeviceVersion HTTP request.\n * @returns An `EitherAsync` containing either an `HttpFetchApiError` or a `FinalFirmware` object.\n */\n getFirmwareVersion(\n deviceInfo: GetOsVersionResponse,\n deviceVersion: DeviceVersion,\n ): EitherAsync<HttpFetchApiError, FinalFirmware>;\n\n /**\n * Retrieves an OSU firmware version for a given device.\n *\n * @param deviceInfo - Response of the GetOsVersionCommand.\n * @param deviceVersion - Response of the GetDeviceVersion HTTP request.\n * @returns An `EitherAsync` containing either an `HttpFetchApiError` or a `FinalFirmware` object.\n */\n getOsuFirmwareVersion(\n deviceInfo: GetOsVersionResponse,\n deviceVersion: DeviceVersion,\n ): EitherAsync<HttpFetchApiError, OsuFirmware>;\n\n /**\n * Retrieves the latest firmware available, if any, for a given device.\n *\n * @param currentFirmware - Current firmware obtained from getFirmwareVersion.\n * @param deviceVersion - Response of the GetDeviceVersion HTTP request.\n * @returns An `EitherAsync` containing either an `HttpFetchApiError` or a `OsuFirmware` object.\n */\n getLatestFirmwareVersion(\n currentFirmware: FinalFirmware,\n deviceVersion: DeviceVersion,\n ): EitherAsync<HttpFetchApiError, Maybe<OsuFirmware>>;\n\n /**\n * Retrieves the next final firmware following an OSU.\n *\n * @param osuFirmware - OSU firmware from which the next firmware should be fetched.\n * @returns An `EitherAsync` containing either an `HttpFetchApiError` or a `FinalFirmware` object.\n */\n getNextFirmwareVersion(\n osuFirmware: OsuFirmware,\n ): EitherAsync<HttpFetchApiError, FinalFirmware>;\n\n /**\n * Retrieves the available language packages for a device.\n *\n * @param deviceVersion - Response of the GetDeviceVersion HTTP request.\n * @param currentFirmware - Current firmware obtained from getFirmwareVersion.\n * @returns An `EitherAsync` containing either an `HttpFetchApiError` or the list of languages.\n */\n getLanguagePackages(\n deviceVersion: DeviceVersion,\n currentFirmware: FinalFirmware,\n ): EitherAsync<HttpFetchApiError, Array<LanguagePackage>>;\n\n /**\n * Retrieves the list of available MCU firmwares.\n *\n * @returns An `EitherAsync` containing either an `HttpFetchApiError` or an array of `McuFirmware` objects.\n */\n getMcuList(): EitherAsync<HttpFetchApiError, Array<McuFirmware>>;\n}\n"],
4
+ "sourcesContent": ["import { type EitherAsync, type Maybe } from \"purify-ts\";\n\nimport { type GetOsVersionResponse } from \"@api/command/os/GetOsVersionCommand\";\nimport { type Application } from \"@internal/manager-api/model/Application\";\nimport { type DeviceVersion } from \"@internal/manager-api/model/Device\";\nimport { type HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\nimport {\n type FinalFirmware,\n type McuFirmware,\n type OsuFirmware,\n} from \"@internal/manager-api/model/Firmware\";\nimport { type LanguagePackage } from \"@internal/manager-api/model/Language\";\n\n/**\n * Interface representing the Manager API service.\n */\nexport interface ManagerApiService {\n /**\n * Retrieves the list of applications for a given device.\n *\n * @param deviceInfo - Response of the GetOsVersionCommand.\n * @returns An `EitherAsync` containing either an `HttpFetchApiError` or an array of `Application` objects.\n */\n getAppList(\n deviceInfo: GetOsVersionResponse,\n ): EitherAsync<HttpFetchApiError, Array<Application>>;\n\n /**\n * Retrieves applications by their hash values.\n *\n * @param appHashes - An array of application hash values.\n * @returns An `EitherAsync` containing either an `HttpFetchApiError` or an array of `Application` objects or `null`.\n */\n getAppsByHash(\n appHashes: Array<string>,\n ): EitherAsync<HttpFetchApiError, Array<Application | null>>;\n\n /**\n * Retrieves the device version for a given device.\n *\n * @param deviceInfo - Response of the GetOsVersionCommand.\n * @returns An `EitherAsync` containing either an `HttpFetchApiError` or a `DeviceVersion` object.\n */\n getDeviceVersion(\n deviceInfo: GetOsVersionResponse,\n ): EitherAsync<HttpFetchApiError, DeviceVersion>;\n\n /**\n * Retrieves the firmware version for a given device.\n *\n * @param deviceInfo - Response of the GetOsVersionCommand.\n * @param deviceVersion - Response of the GetDeviceVersion HTTP request.\n * @returns An `EitherAsync` containing either an `HttpFetchApiError` or a `FinalFirmware` object.\n */\n getFirmwareVersion(\n deviceInfo: GetOsVersionResponse,\n deviceVersion: DeviceVersion,\n ): EitherAsync<HttpFetchApiError, FinalFirmware>;\n\n /**\n * Retrieves an OSU firmware version for a given device.\n *\n * @param deviceInfo - Response of the GetOsVersionCommand.\n * @param deviceVersion - Response of the GetDeviceVersion HTTP request.\n * @returns An `EitherAsync` containing either an `HttpFetchApiError` or a `FinalFirmware` object.\n */\n getOsuFirmwareVersion(\n deviceInfo: GetOsVersionResponse,\n deviceVersion: DeviceVersion,\n ): EitherAsync<HttpFetchApiError, OsuFirmware>;\n\n /**\n * Retrieves the latest firmware available, if any, for a given device.\n *\n * @param currentFirmware - Current firmware obtained from getFirmwareVersion.\n * @param deviceVersion - Response of the GetDeviceVersion HTTP request.\n * @returns An `EitherAsync` containing either an `HttpFetchApiError` or a `OsuFirmware` object.\n */\n getLatestFirmwareVersion(\n currentFirmware: FinalFirmware,\n deviceVersion: DeviceVersion,\n ): EitherAsync<HttpFetchApiError, Maybe<OsuFirmware>>;\n\n /**\n * Retrieves the next final firmware following an OSU.\n *\n * @param osuFirmware - OSU firmware from which the next firmware should be fetched.\n * @returns An `EitherAsync` containing either an `HttpFetchApiError` or a `FinalFirmware` object.\n */\n getNextFirmwareVersion(\n osuFirmware: OsuFirmware,\n ): EitherAsync<HttpFetchApiError, FinalFirmware>;\n\n /**\n * Retrieves the available language packages for a device.\n *\n * @param deviceVersion - Response of the GetDeviceVersion HTTP request.\n * @param currentFirmware - Current firmware obtained from getFirmwareVersion.\n * @returns An `EitherAsync` containing either an `HttpFetchApiError` or the list of languages.\n */\n getLanguagePackages(\n deviceVersion: DeviceVersion,\n currentFirmware: FinalFirmware,\n ): EitherAsync<HttpFetchApiError, Array<LanguagePackage>>;\n\n /**\n * Retrieves the list of available MCU firmwares.\n *\n * @returns An `EitherAsync` containing either an `HttpFetchApiError` or an array of `McuFirmware` objects.\n */\n getMcuList(): EitherAsync<HttpFetchApiError, Array<McuFirmware>>;\n\n /**\n * Retrieves the provider for the Manager API.\n *\n * @returns The provider for the Manager API.\n */\n getProvider(): number;\n}\n"],
5
5
  "mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
6
  "names": ["ManagerApiService_exports", "__toCommonJS"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var l=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var E=Object.prototype.hasOwnProperty;var p=(n,r)=>{for(var t in r)l(n,t,{get:r[t],enumerable:!0})},d=(n,r,t,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(let s of i(r))!E.call(n,s)&&s!==t&&l(n,s,{get:()=>r[s],enumerable:!(a=u(r,s))||a.enumerable});return n};var D=n=>d(l({},"__esModule",{value:!0}),n);var m={};p(m,{SecureChannelError:()=>A,SecureChannelErrorType:()=>c,WebSocketConnectionError:()=>y});module.exports=D(m);var o=require("../../../api/device-action/os/Errors"),c=(e=>(e[e.AppAlreadyInstalled=0]="AppAlreadyInstalled",e[e.DeviceLocked=1]="DeviceLocked",e[e.OutOfMemory=2]="OutOfMemory",e[e.RefusedByUser=3]="RefusedByUser",e[e.Unknown=4]="Unknown",e))(c||{});class y{constructor(r){this.error=r;this.originalError=r}_tag="WebSocketConnectionError";originalError}class A{constructor(r,t=4){this.error=r;this.errorType=t;this.originalError=r}_tag="SecureChannelError";originalError;mapDAErrors(){switch(this.errorType){case 1:return new o.DeviceLockedError;case 3:return new o.RefusedByUserDAError;default:return this}}mapInstallDAErrors(){switch(this.errorType){case 1:return new o.DeviceLockedError;case 3:return new o.RefusedByUserDAError;case 0:return new o.AppAlreadyInstalledDAError;case 2:return new o.OutOfMemoryDAError;default:return this}}}0&&(module.exports={SecureChannelError,SecureChannelErrorType,WebSocketConnectionError});
1
+ "use strict";var a=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var p=(o,e)=>{for(var t in e)a(o,t,{get:e[t],enumerable:!0})},D=(o,e,t,c)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of E(e))!i.call(o,s)&&s!==t&&a(o,s,{get:()=>e[s],enumerable:!(c=l(e,s))||c.enumerable});return o};var d=o=>D(a({},"__esModule",{value:!0}),o);var A={};p(A,{SecureChannelError:()=>y,SecureChannelErrorType:()=>u,WebSocketConnectionError:()=>h});module.exports=d(A);var r=require("../../../api/device-action/os/Errors"),u=(n=>(n[n.AppAlreadyInstalled=0]="AppAlreadyInstalled",n[n.DeviceLocked=1]="DeviceLocked",n[n.OutOfMemory=2]="OutOfMemory",n[n.RefusedByUser=3]="RefusedByUser",n[n.Unknown=4]="Unknown",n))(u||{});class h{constructor(e){this.error=e;this.originalError=e}_tag="WebSocketConnectionError";originalError}class y{constructor(e,t=4){this.error=e;this.errorType=t;this.originalError=e}_tag="SecureChannelError";originalError;mapDAErrors(){switch(this.errorType){case 1:return new r.DeviceLockedError;case 3:return new r.RefusedByUserDAError;default:return this}}mapInstallDAErrors(){switch(this.errorType){case 1:return new r.DeviceLockedError;case 3:return new r.RefusedByUserDAError;case 0:return new r.AppAlreadyInstalledDAError;case 2:return new r.OutOfMemoryDAError;default:return this}}mapUpdateFirmwareDAErrors(){switch(this.errorType){case 2:return new r.OutOfMemoryDAError;case 1:return new r.DeviceLockedError;case 3:return new r.RefusedByUserDAError;case 4:return new r.UnknownDAError;default:return this}}mapFlashMcuDAErrors(){switch(this.errorType){case 1:return new r.DeviceLockedError;case 4:return new r.UnknownDAError;default:return this}}}0&&(module.exports={SecureChannelError,SecureChannelErrorType,WebSocketConnectionError});
2
2
  //# sourceMappingURL=Errors.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/secure-channel/model/Errors.ts"],
4
- "sourcesContent": ["import {\n AppAlreadyInstalledDAError,\n DeviceLockedError,\n OutOfMemoryDAError,\n RefusedByUserDAError,\n} from \"@api/device-action/os/Errors\";\nimport type { DmkError } from \"@api/Error\";\n\nexport enum SecureChannelErrorType {\n AppAlreadyInstalled,\n DeviceLocked,\n OutOfMemory,\n RefusedByUser,\n Unknown,\n}\n\n/**\n * Errors that can possibly occur during a secure channel operation\n */\nexport type SecureChannelDAErrors =\n | SecureChannelError\n | DeviceLockedError\n | RefusedByUserDAError;\n\n/**\n * Errors that can possibly occur during a secure channel install operation\n * such as installApp or installFirmware\n */\nexport type SecureChannelInstallDAErrors =\n | SecureChannelError\n | AppAlreadyInstalledDAError\n | OutOfMemoryDAError\n | DeviceLockedError\n | RefusedByUserDAError;\n\nexport class WebSocketConnectionError implements DmkError {\n _tag = \"WebSocketConnectionError\";\n originalError?: unknown;\n\n constructor(public readonly error: unknown) {\n this.originalError = error;\n }\n}\n\nexport class SecureChannelError implements DmkError {\n _tag = \"SecureChannelError\";\n originalError?: unknown;\n\n constructor(\n public readonly error: unknown,\n public readonly errorType: SecureChannelErrorType = SecureChannelErrorType.Unknown,\n ) {\n this.originalError = error;\n }\n\n mapDAErrors(): SecureChannelDAErrors {\n switch (this.errorType) {\n case SecureChannelErrorType.DeviceLocked:\n return new DeviceLockedError();\n case SecureChannelErrorType.RefusedByUser:\n return new RefusedByUserDAError();\n default:\n return this;\n }\n }\n\n mapInstallDAErrors(): SecureChannelInstallDAErrors {\n switch (this.errorType) {\n case SecureChannelErrorType.DeviceLocked:\n return new DeviceLockedError();\n case SecureChannelErrorType.RefusedByUser:\n return new RefusedByUserDAError();\n case SecureChannelErrorType.AppAlreadyInstalled:\n return new AppAlreadyInstalledDAError();\n case SecureChannelErrorType.OutOfMemory:\n return new OutOfMemoryDAError();\n default:\n return this;\n }\n }\n}\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,wBAAAE,EAAA,2BAAAC,EAAA,6BAAAC,IAAA,eAAAC,EAAAL,GAAA,IAAAM,EAKO,wCAGKH,OACVA,IAAA,6CACAA,IAAA,+BACAA,IAAA,6BACAA,IAAA,iCACAA,IAAA,qBALUA,OAAA,IA2BL,MAAMC,CAA6C,CAIxD,YAA4BG,EAAgB,CAAhB,WAAAA,EAC1B,KAAK,cAAgBA,CACvB,CALA,KAAO,2BACP,aAKF,CAEO,MAAML,CAAuC,CAIlD,YACkBK,EACAC,EAAoC,EACpD,CAFgB,WAAAD,EACA,eAAAC,EAEhB,KAAK,cAAgBD,CACvB,CARA,KAAO,qBACP,cASA,aAAqC,CACnC,OAAQ,KAAK,UAAW,CACtB,IAAK,GACH,OAAO,IAAI,oBACb,IAAK,GACH,OAAO,IAAI,uBACb,QACE,OAAO,IACX,CACF,CAEA,oBAAmD,CACjD,OAAQ,KAAK,UAAW,CACtB,IAAK,GACH,OAAO,IAAI,oBACb,IAAK,GACH,OAAO,IAAI,uBACb,IAAK,GACH,OAAO,IAAI,6BACb,IAAK,GACH,OAAO,IAAI,qBACb,QACE,OAAO,IACX,CACF,CACF",
4
+ "sourcesContent": ["import {\n AppAlreadyInstalledDAError,\n DeviceLockedError,\n OutOfMemoryDAError,\n RefusedByUserDAError,\n UnknownDAError,\n} from \"@api/device-action/os/Errors\";\nimport type { DmkError } from \"@api/Error\";\n\nexport enum SecureChannelErrorType {\n AppAlreadyInstalled,\n DeviceLocked,\n OutOfMemory,\n RefusedByUser,\n Unknown,\n}\n\n/**\n * Errors that can possibly occur during a secure channel operation\n */\nexport type SecureChannelDAErrors =\n | SecureChannelError\n | DeviceLockedError\n | RefusedByUserDAError;\n\n/**\n * Errors that can possibly occur during a secure channel install operation\n * such as installApp or installFirmware\n */\nexport type SecureChannelInstallDAErrors =\n | SecureChannelError\n | AppAlreadyInstalledDAError\n | OutOfMemoryDAError\n | DeviceLockedError\n | RefusedByUserDAError;\n\n/**\n * Errors that can possibly occur during a secure channel update firmware operation\n */\nexport type SecureChannelUpdateFirmwareDAErrors =\n | SecureChannelError\n | OutOfMemoryDAError\n | DeviceLockedError\n | RefusedByUserDAError\n | UnknownDAError;\n\nexport type SecureChannelFlashMcuDAErrors =\n | SecureChannelError\n | DeviceLockedError\n | UnknownDAError;\n\nexport class WebSocketConnectionError implements DmkError {\n _tag = \"WebSocketConnectionError\";\n originalError?: unknown;\n\n constructor(public readonly error: unknown) {\n this.originalError = error;\n }\n}\n\nexport class SecureChannelError implements DmkError {\n _tag = \"SecureChannelError\";\n originalError?: unknown;\n\n constructor(\n public readonly error: unknown,\n public readonly errorType: SecureChannelErrorType = SecureChannelErrorType.Unknown,\n ) {\n this.originalError = error;\n }\n\n mapDAErrors(): SecureChannelDAErrors {\n switch (this.errorType) {\n case SecureChannelErrorType.DeviceLocked:\n return new DeviceLockedError();\n case SecureChannelErrorType.RefusedByUser:\n return new RefusedByUserDAError();\n default:\n return this;\n }\n }\n\n mapInstallDAErrors(): SecureChannelInstallDAErrors {\n switch (this.errorType) {\n case SecureChannelErrorType.DeviceLocked:\n return new DeviceLockedError();\n case SecureChannelErrorType.RefusedByUser:\n return new RefusedByUserDAError();\n case SecureChannelErrorType.AppAlreadyInstalled:\n return new AppAlreadyInstalledDAError();\n case SecureChannelErrorType.OutOfMemory:\n return new OutOfMemoryDAError();\n default:\n return this;\n }\n }\n\n mapUpdateFirmwareDAErrors(): SecureChannelUpdateFirmwareDAErrors {\n switch (this.errorType) {\n case SecureChannelErrorType.OutOfMemory:\n return new OutOfMemoryDAError();\n case SecureChannelErrorType.DeviceLocked:\n return new DeviceLockedError();\n case SecureChannelErrorType.RefusedByUser:\n return new RefusedByUserDAError();\n case SecureChannelErrorType.Unknown:\n return new UnknownDAError();\n default:\n return this;\n }\n }\n\n mapFlashMcuDAErrors(): SecureChannelFlashMcuDAErrors {\n switch (this.errorType) {\n case SecureChannelErrorType.DeviceLocked:\n return new DeviceLockedError();\n case SecureChannelErrorType.Unknown:\n return new UnknownDAError();\n default:\n return this;\n }\n }\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,wBAAAE,EAAA,2BAAAC,EAAA,6BAAAC,IAAA,eAAAC,EAAAL,GAAA,IAAAM,EAMO,wCAGKH,OACVA,IAAA,6CACAA,IAAA,+BACAA,IAAA,6BACAA,IAAA,iCACAA,IAAA,qBALUA,OAAA,IA0CL,MAAMC,CAA6C,CAIxD,YAA4BG,EAAgB,CAAhB,WAAAA,EAC1B,KAAK,cAAgBA,CACvB,CALA,KAAO,2BACP,aAKF,CAEO,MAAML,CAAuC,CAIlD,YACkBK,EACAC,EAAoC,EACpD,CAFgB,WAAAD,EACA,eAAAC,EAEhB,KAAK,cAAgBD,CACvB,CARA,KAAO,qBACP,cASA,aAAqC,CACnC,OAAQ,KAAK,UAAW,CACtB,IAAK,GACH,OAAO,IAAI,oBACb,IAAK,GACH,OAAO,IAAI,uBACb,QACE,OAAO,IACX,CACF,CAEA,oBAAmD,CACjD,OAAQ,KAAK,UAAW,CACtB,IAAK,GACH,OAAO,IAAI,oBACb,IAAK,GACH,OAAO,IAAI,uBACb,IAAK,GACH,OAAO,IAAI,6BACb,IAAK,GACH,OAAO,IAAI,qBACb,QACE,OAAO,IACX,CACF,CAEA,2BAAiE,CAC/D,OAAQ,KAAK,UAAW,CACtB,IAAK,GACH,OAAO,IAAI,qBACb,IAAK,GACH,OAAO,IAAI,oBACb,IAAK,GACH,OAAO,IAAI,uBACb,IAAK,GACH,OAAO,IAAI,iBACb,QACE,OAAO,IACX,CACF,CAEA,qBAAqD,CACnD,OAAQ,KAAK,UAAW,CACtB,IAAK,GACH,OAAO,IAAI,oBACb,IAAK,GACH,OAAO,IAAI,iBACb,QACE,OAAO,IACX,CACF,CACF",
6
6
  "names": ["Errors_exports", "__export", "SecureChannelError", "SecureChannelErrorType", "WebSocketConnectionError", "__toCommonJS", "import_Errors", "error", "errorType"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var p=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var y=(o,e)=>{for(var r in e)p(o,r,{get:e[r],enumerable:!0})},k=(o,e,r,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of h(e))!g.call(o,a)&&a!==r&&p(o,a,{get:()=>e[a],enumerable:!(t=l(e,a))||t.enumerable});return o};var f=o=>k(p({},"__esModule",{value:!0}),o),d=(o,e,r,t)=>{for(var a=t>1?void 0:t?l(e,r):e,s=o.length-1,n;s>=0;s--)(n=o[s])&&(a=(t?n(e,r,a):n(a))||a);return t&&a&&p(e,r,a),a},u=(o,e)=>(r,t)=>e(r,t,o);var I={};y(I,{DefaultSecureChannelService:()=>i});module.exports=f(I);var c=require("inversify"),S=require("../../secure-channel/di/secureChannelTypes");let i=class{constructor(e){this.dataSource=e}genuineCheck(e,r){const t={targetId:e.targetId.toString(),perso:r.perso};return this.dataSource.genuineCheck(t)}installApp(e,r){const{perso:t,firmware:a,firmwareKey:s,hash:n}=r,m={targetId:e.targetId.toString(),perso:t,firmware:a,firmwareKey:s,hash:n};return this.dataSource.installApp(m)}listInstalledApps(e,r){const t={targetId:e.targetId.toString(),perso:r.perso};return this.dataSource.listInstalledApps(t)}uninstallApp(e,r){const{perso:t,delete:a,deleteKey:s,hash:n}=r,m={targetId:e.targetId.toString(),perso:t,firmware:a,firmwareKey:s,hash:n};return this.dataSource.uninstallApp(m)}updateFirmware(e,r){const t={targetId:e.targetId.toString(),perso:r.perso,firmware:r.firmware,firmwareKey:r.firmwareKey};return this.dataSource.updateFirmware(t)}updateMcu(e,r){const t={targetId:e.targetId.toString(),version:r.version};return this.dataSource.updateMcu(t)}};i=d([(0,c.injectable)(),u(0,(0,c.inject)(S.secureChannelTypes.SecureChannelDataSource))],i);0&&(module.exports={DefaultSecureChannelService});
1
+ "use strict";var p=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var y=Object.prototype.hasOwnProperty;var g=(o,e)=>{for(var r in e)p(o,r,{get:e[r],enumerable:!0})},k=(o,e,r,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of h(e))!y.call(o,a)&&a!==r&&p(o,a,{get:()=>e[a],enumerable:!(t=l(e,a))||t.enumerable});return o};var w=o=>k(p({},"__esModule",{value:!0}),o),d=(o,e,r,t)=>{for(var a=t>1?void 0:t?l(e,r):e,s=o.length-1,n;s>=0;s--)(n=o[s])&&(a=(t?n(e,r,a):n(a))||a);return t&&a&&p(e,r,a),a},u=(o,e)=>(r,t)=>e(r,t,o);var f={};g(f,{DefaultSecureChannelService:()=>i});module.exports=w(f);var m=require("inversify"),S=require("../../secure-channel/di/secureChannelTypes");let i=class{constructor(e){this.dataSource=e}genuineCheck(e,r){const t={targetId:e.targetId.toString(),perso:r.perso};return this.dataSource.genuineCheck(t)}installApp(e,r){const{perso:t,firmware:a,firmwareKey:s,hash:n}=r,c={targetId:e.targetId.toString(),perso:t,firmware:a,firmwareKey:s,hash:n};return this.dataSource.installApp(c)}listInstalledApps(e,r){const t={targetId:e.targetId.toString(),perso:r.perso};return this.dataSource.listInstalledApps(t)}uninstallApp(e,r){const{perso:t,delete:a,deleteKey:s,hash:n}=r,c={targetId:e.targetId.toString(),perso:t,firmware:a,firmwareKey:s,hash:n};return this.dataSource.uninstallApp(c)}updateFirmware(e,r){const t={targetId:e.targetId.toString(),perso:r.perso,firmware:r.firmware,firmwareKey:r.firmwareKey};return this.dataSource.updateFirmware(t)}updateMcu(e,r){const t={targetId:e.targetId.toString(),version:r.version};return this.dataSource.updateMcu(t)}};i=d([(0,m.injectable)(),u(0,(0,m.inject)(S.secureChannelTypes.SecureChannelDataSource))],i);0&&(module.exports={DefaultSecureChannelService});
2
2
  //# sourceMappingURL=DefaultSecureChannelService.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/secure-channel/service/DefaultSecureChannelService.ts"],
4
- "sourcesContent": ["import { inject, injectable } from \"inversify\";\nimport WebSocket from \"isomorphic-ws\";\nimport { Either } from \"purify-ts\";\n\nimport { type GetOsVersionResponse } from \"@api/index\";\nimport { type Application } from \"@internal/manager-api/model/Application\";\nimport {\n type FinalFirmware,\n type OsuFirmware,\n} from \"@internal/manager-api/model/Firmware\";\nimport { type SecureChannelDataSource } from \"@internal/secure-channel/data/SecureChannelDataSource\";\nimport { secureChannelTypes } from \"@internal/secure-channel/di/secureChannelTypes\";\nimport { WebSocketConnectionError } from \"@internal/secure-channel/model/Errors\";\nimport {\n type GenuineCheckParams,\n type InstallAppsParams,\n type ListInstalledAppsParams,\n type UninstallAppsParams,\n type UpdateFirmwareParams,\n type UpdateMcuParams,\n} from \"@internal/secure-channel/model/Params\";\n\nimport { type SecureChannelService } from \"./SecureChannelService\";\n\n@injectable()\nexport class DefaultSecureChannelService implements SecureChannelService {\n constructor(\n @inject(secureChannelTypes.SecureChannelDataSource)\n private readonly dataSource: SecureChannelDataSource,\n ) {}\n\n genuineCheck(\n deviceInfo: GetOsVersionResponse,\n finalFirmware: FinalFirmware,\n ): Either<WebSocketConnectionError, WebSocket> {\n const params: GenuineCheckParams = {\n targetId: deviceInfo.targetId.toString(),\n perso: finalFirmware.perso,\n };\n return this.dataSource.genuineCheck(params);\n }\n\n installApp(\n deviceInfo: GetOsVersionResponse,\n app: Pick<Application, \"perso\" | \"firmware\" | \"firmwareKey\" | \"hash\">,\n ): Either<WebSocketConnectionError, WebSocket> {\n const { perso, firmware, firmwareKey, hash } = app;\n const params: InstallAppsParams = {\n targetId: deviceInfo.targetId.toString(),\n perso,\n firmware,\n firmwareKey,\n hash,\n };\n return this.dataSource.installApp(params);\n }\n\n listInstalledApps(\n deviceInfo: GetOsVersionResponse,\n finalFirmware: FinalFirmware,\n ): Either<WebSocketConnectionError, WebSocket> {\n const params: ListInstalledAppsParams = {\n targetId: deviceInfo.targetId.toString(),\n perso: finalFirmware.perso,\n };\n return this.dataSource.listInstalledApps(params);\n }\n\n uninstallApp(\n deviceInfo: GetOsVersionResponse,\n app: Pick<Application, \"perso\" | \"delete\" | \"deleteKey\" | \"hash\">,\n ): Either<WebSocketConnectionError, WebSocket> {\n const { perso, delete: appDelete, deleteKey, hash } = app;\n const params: UninstallAppsParams = {\n targetId: deviceInfo.targetId.toString(),\n perso,\n firmware: appDelete,\n firmwareKey: deleteKey,\n hash,\n };\n return this.dataSource.uninstallApp(params);\n }\n\n updateFirmware(\n deviceInfo: GetOsVersionResponse,\n osuFirmware: OsuFirmware,\n ): Either<WebSocketConnectionError, WebSocket> {\n const params: UpdateFirmwareParams = {\n targetId: deviceInfo.targetId.toString(),\n perso: osuFirmware.perso,\n firmware: osuFirmware.firmware,\n firmwareKey: osuFirmware.firmwareKey,\n };\n return this.dataSource.updateFirmware(params);\n }\n\n updateMcu(\n deviceInfo: GetOsVersionResponse,\n param: { version: string },\n ): Either<WebSocketConnectionError, WebSocket> {\n const params: UpdateMcuParams = {\n targetId: deviceInfo.targetId.toString(),\n version: param.version,\n };\n return this.dataSource.updateMcu(params);\n }\n}\n"],
5
- "mappings": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,iCAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAmC,qBAWnCC,EAAmC,0DAc5B,IAAMC,EAAN,KAAkE,CACvE,YAEmBC,EACjB,CADiB,gBAAAA,CAChB,CAEH,aACEC,EACAC,EAC6C,CAC7C,MAAMC,EAA6B,CACjC,SAAUF,EAAW,SAAS,SAAS,EACvC,MAAOC,EAAc,KACvB,EACA,OAAO,KAAK,WAAW,aAAaC,CAAM,CAC5C,CAEA,WACEF,EACAG,EAC6C,CAC7C,KAAM,CAAE,MAAAC,EAAO,SAAAC,EAAU,YAAAC,EAAa,KAAAC,CAAK,EAAIJ,EACzCD,EAA4B,CAChC,SAAUF,EAAW,SAAS,SAAS,EACvC,MAAAI,EACA,SAAAC,EACA,YAAAC,EACA,KAAAC,CACF,EACA,OAAO,KAAK,WAAW,WAAWL,CAAM,CAC1C,CAEA,kBACEF,EACAC,EAC6C,CAC7C,MAAMC,EAAkC,CACtC,SAAUF,EAAW,SAAS,SAAS,EACvC,MAAOC,EAAc,KACvB,EACA,OAAO,KAAK,WAAW,kBAAkBC,CAAM,CACjD,CAEA,aACEF,EACAG,EAC6C,CAC7C,KAAM,CAAE,MAAAC,EAAO,OAAQI,EAAW,UAAAC,EAAW,KAAAF,CAAK,EAAIJ,EAChDD,EAA8B,CAClC,SAAUF,EAAW,SAAS,SAAS,EACvC,MAAAI,EACA,SAAUI,EACV,YAAaC,EACb,KAAAF,CACF,EACA,OAAO,KAAK,WAAW,aAAaL,CAAM,CAC5C,CAEA,eACEF,EACAU,EAC6C,CAC7C,MAAMR,EAA+B,CACnC,SAAUF,EAAW,SAAS,SAAS,EACvC,MAAOU,EAAY,MACnB,SAAUA,EAAY,SACtB,YAAaA,EAAY,WAC3B,EACA,OAAO,KAAK,WAAW,eAAeR,CAAM,CAC9C,CAEA,UACEF,EACAW,EAC6C,CAC7C,MAAMT,EAA0B,CAC9B,SAAUF,EAAW,SAAS,SAAS,EACvC,QAASW,EAAM,OACjB,EACA,OAAO,KAAK,WAAW,UAAUT,CAAM,CACzC,CACF,EAjFaJ,EAANc,EAAA,IADN,cAAW,EAGPC,EAAA,eAAO,qBAAmB,uBAAuB,IAFzCf",
6
- "names": ["DefaultSecureChannelService_exports", "__export", "DefaultSecureChannelService", "__toCommonJS", "import_inversify", "import_secureChannelTypes", "DefaultSecureChannelService", "dataSource", "deviceInfo", "finalFirmware", "params", "app", "perso", "firmware", "firmwareKey", "hash", "appDelete", "deleteKey", "osuFirmware", "param", "__decorateClass", "__decorateParam"]
4
+ "sourcesContent": ["import { inject, injectable } from \"inversify\";\nimport WebSocket from \"isomorphic-ws\";\nimport { Either } from \"purify-ts\";\n\nimport { type GetOsVersionResponse } from \"@api/index\";\nimport { type Application } from \"@internal/manager-api/model/Application\";\nimport {\n type FinalFirmware,\n type OsuFirmware,\n} from \"@internal/manager-api/model/Firmware\";\nimport { type SecureChannelDataSource } from \"@internal/secure-channel/data/SecureChannelDataSource\";\nimport { secureChannelTypes } from \"@internal/secure-channel/di/secureChannelTypes\";\nimport { WebSocketConnectionError } from \"@internal/secure-channel/model/Errors\";\nimport {\n type GenuineCheckParams,\n type InstallAppsParams,\n type ListInstalledAppsParams,\n type UninstallAppsParams,\n type UpdateFirmwareParams,\n type UpdateMcuParams,\n} from \"@internal/secure-channel/model/Params\";\n\nimport { type SecureChannelService } from \"./SecureChannelService\";\n\n@injectable()\nexport class DefaultSecureChannelService implements SecureChannelService {\n constructor(\n @inject(secureChannelTypes.SecureChannelDataSource)\n private readonly dataSource: SecureChannelDataSource,\n ) {}\n\n genuineCheck(\n deviceInfo: GetOsVersionResponse,\n finalFirmware: FinalFirmware,\n ): Either<WebSocketConnectionError, WebSocket> {\n const params: GenuineCheckParams = {\n targetId: deviceInfo.targetId.toString(),\n perso: finalFirmware.perso,\n };\n return this.dataSource.genuineCheck(params);\n }\n\n installApp(\n deviceInfo: GetOsVersionResponse,\n app: Pick<Application, \"perso\" | \"firmware\" | \"firmwareKey\" | \"hash\">,\n ): Either<WebSocketConnectionError, WebSocket> {\n const { perso, firmware, firmwareKey, hash } = app;\n const params: InstallAppsParams = {\n targetId: deviceInfo.targetId.toString(),\n perso,\n firmware,\n firmwareKey,\n hash,\n };\n return this.dataSource.installApp(params);\n }\n\n listInstalledApps(\n deviceInfo: GetOsVersionResponse,\n finalFirmware: FinalFirmware,\n ): Either<WebSocketConnectionError, WebSocket> {\n const params: ListInstalledAppsParams = {\n targetId: deviceInfo.targetId.toString(),\n perso: finalFirmware.perso,\n };\n return this.dataSource.listInstalledApps(params);\n }\n\n uninstallApp(\n deviceInfo: GetOsVersionResponse,\n app: Pick<Application, \"perso\" | \"delete\" | \"deleteKey\" | \"hash\">,\n ): Either<WebSocketConnectionError, WebSocket> {\n const { perso, delete: appDelete, deleteKey, hash } = app;\n const params: UninstallAppsParams = {\n targetId: deviceInfo.targetId.toString(),\n perso,\n firmware: appDelete,\n firmwareKey: deleteKey,\n hash,\n };\n return this.dataSource.uninstallApp(params);\n }\n\n updateFirmware(\n deviceInfo: GetOsVersionResponse,\n firmware: Pick<OsuFirmware, \"perso\" | \"firmware\" | \"firmwareKey\">,\n ): Either<WebSocketConnectionError, WebSocket> {\n const params: UpdateFirmwareParams = {\n targetId: deviceInfo.targetId.toString(),\n perso: firmware.perso,\n firmware: firmware.firmware,\n firmwareKey: firmware.firmwareKey,\n };\n return this.dataSource.updateFirmware(params);\n }\n\n updateMcu(\n deviceInfo: GetOsVersionResponse,\n param: { version: string },\n ): Either<WebSocketConnectionError, WebSocket> {\n const params: UpdateMcuParams = {\n targetId: deviceInfo.targetId.toString(),\n version: param.version,\n };\n return this.dataSource.updateMcu(params);\n }\n}\n"],
5
+ "mappings": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,iCAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAmC,qBAWnCC,EAAmC,0DAc5B,IAAMC,EAAN,KAAkE,CACvE,YAEmBC,EACjB,CADiB,gBAAAA,CAChB,CAEH,aACEC,EACAC,EAC6C,CAC7C,MAAMC,EAA6B,CACjC,SAAUF,EAAW,SAAS,SAAS,EACvC,MAAOC,EAAc,KACvB,EACA,OAAO,KAAK,WAAW,aAAaC,CAAM,CAC5C,CAEA,WACEF,EACAG,EAC6C,CAC7C,KAAM,CAAE,MAAAC,EAAO,SAAAC,EAAU,YAAAC,EAAa,KAAAC,CAAK,EAAIJ,EACzCD,EAA4B,CAChC,SAAUF,EAAW,SAAS,SAAS,EACvC,MAAAI,EACA,SAAAC,EACA,YAAAC,EACA,KAAAC,CACF,EACA,OAAO,KAAK,WAAW,WAAWL,CAAM,CAC1C,CAEA,kBACEF,EACAC,EAC6C,CAC7C,MAAMC,EAAkC,CACtC,SAAUF,EAAW,SAAS,SAAS,EACvC,MAAOC,EAAc,KACvB,EACA,OAAO,KAAK,WAAW,kBAAkBC,CAAM,CACjD,CAEA,aACEF,EACAG,EAC6C,CAC7C,KAAM,CAAE,MAAAC,EAAO,OAAQI,EAAW,UAAAC,EAAW,KAAAF,CAAK,EAAIJ,EAChDD,EAA8B,CAClC,SAAUF,EAAW,SAAS,SAAS,EACvC,MAAAI,EACA,SAAUI,EACV,YAAaC,EACb,KAAAF,CACF,EACA,OAAO,KAAK,WAAW,aAAaL,CAAM,CAC5C,CAEA,eACEF,EACAK,EAC6C,CAC7C,MAAMH,EAA+B,CACnC,SAAUF,EAAW,SAAS,SAAS,EACvC,MAAOK,EAAS,MAChB,SAAUA,EAAS,SACnB,YAAaA,EAAS,WACxB,EACA,OAAO,KAAK,WAAW,eAAeH,CAAM,CAC9C,CAEA,UACEF,EACAU,EAC6C,CAC7C,MAAMR,EAA0B,CAC9B,SAAUF,EAAW,SAAS,SAAS,EACvC,QAASU,EAAM,OACjB,EACA,OAAO,KAAK,WAAW,UAAUR,CAAM,CACzC,CACF,EAjFaJ,EAANa,EAAA,IADN,cAAW,EAGPC,EAAA,eAAO,qBAAmB,uBAAuB,IAFzCd",
6
+ "names": ["DefaultSecureChannelService_exports", "__export", "DefaultSecureChannelService", "__toCommonJS", "import_inversify", "import_secureChannelTypes", "DefaultSecureChannelService", "dataSource", "deviceInfo", "finalFirmware", "params", "app", "perso", "firmware", "firmwareKey", "hash", "appDelete", "deleteKey", "param", "__decorateClass", "__decorateParam"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var t=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var a=(r,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of p(e))!c.call(r,o)&&o!==n&&t(r,o,{get:()=>e[o],enumerable:!(i=s(e,o))||i.enumerable});return r};var m=r=>a(t({},"__esModule",{value:!0}),r);var l={};module.exports=m(l);
1
+ "use strict";var t=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var a=(r,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of s(e))!c.call(r,o)&&o!==n&&t(r,o,{get:()=>e[o],enumerable:!(i=p(e,o))||i.enumerable});return r};var m=r=>a(t({},"__esModule",{value:!0}),r);var f={};module.exports=m(f);
2
2
  //# sourceMappingURL=SecureChannelService.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/secure-channel/service/SecureChannelService.ts"],
4
- "sourcesContent": ["import type WebSocket from \"isomorphic-ws\";\nimport { type Either } from \"purify-ts\";\n\nimport { type GetOsVersionResponse } from \"@api/index\";\nimport { type Application } from \"@internal/manager-api/model/Application\";\nimport {\n type FinalFirmware,\n type OsuFirmware,\n} from \"@internal/manager-api/model/Firmware\";\nimport { type WebSocketConnectionError } from \"@internal/secure-channel/model/Errors\";\n\n/**\n * Interface representing a secure channel service for device management.\n */\nexport interface SecureChannelService {\n /**\n * Construct a WebSocket connection for genuine check.\n * @param deviceInfo - Response of the GetOsVersionCommand.\n * @param finalFirmware - Response of the GetFirmwareVersion HTTP request in manager API.\n * @returns Either a WebSocketConnectionError or a WebSocket.\n */\n genuineCheck(\n deviceInfo: GetOsVersionResponse,\n finalFirmware: FinalFirmware,\n ): Either<WebSocketConnectionError, WebSocket>;\n\n /**\n * Construct a WebSocket connection for installing an application.\n * @param deviceInfo - Response of the GetOsVersionCommand.\n * @param app - The application to be installed, must have perso, firmware, firmwareKey, and hash properties.\n * @returns Either a WebSocketConnectionError or a WebSocket.\n */\n installApp(\n deviceInfo: GetOsVersionResponse,\n app: Pick<Application, \"perso\" | \"firmware\" | \"firmwareKey\" | \"hash\">,\n ): Either<WebSocketConnectionError, WebSocket>;\n\n /**\n * Construct a WebSocket connection for listing installed applications.\n * @param deviceInfo - Response of the GetOsVersionCommand.\n * @param finalFirmware - Response of the GetFirmwareVersion HTTP request in manager API.\n * @returns Either a WebSocketConnectionError or a WebSocket.\n */\n listInstalledApps(\n deviceInfo: GetOsVersionResponse,\n finalFirmware: FinalFirmware,\n ): Either<WebSocketConnectionError, WebSocket>;\n\n /**\n * Construct a WebSocket connection for uninstalling an application.\n * @param deviceInfo - Response of the GetOsVersionCommand.\n * @param app - The application to be uninstalled, must have perso, delete, deleteKey, and hash properties.\n * @returns Either a WebSocketConnectionError or a WebSocket.\n */\n uninstallApp(\n deviceInfo: GetOsVersionResponse,\n app: Pick<Application, \"perso\" | \"delete\" | \"deleteKey\" | \"hash\">,\n ): Either<WebSocketConnectionError, WebSocket>;\n\n /**\n * Construct a WebSocket connection for updating the firmware of the device.\n * @param deviceInfo - Response of the GetOsVersionCommand.\n * @param osuFirmware - The osu firmware to be updated.\n * @returns Either a WebSocketConnectionError or a WebSocket.\n */\n updateFirmware(\n deviceInfo: GetOsVersionResponse,\n osuFirmware: OsuFirmware,\n ): Either<WebSocketConnectionError, WebSocket>;\n\n /**\n * Construct a WebSocket connection for updating the MCU (Microcontroller Unit) of the device.\n * @param deviceInfo - Response of the GetOsVersionCommand.\n * @param param - Parameters for the MCU update, including the version.\n * @returns Either a WebSocketConnectionError or a WebSocket.\n */\n updateMcu(\n deviceInfo: GetOsVersionResponse,\n param: { version: string },\n ): Either<WebSocketConnectionError, WebSocket>;\n}\n"],
4
+ "sourcesContent": ["import type WebSocket from \"isomorphic-ws\";\nimport { type Either } from \"purify-ts\";\n\nimport { type GetOsVersionResponse } from \"@api/index\";\nimport { type Application } from \"@internal/manager-api/model/Application\";\nimport {\n type FinalFirmware,\n type OsuFirmware,\n} from \"@internal/manager-api/model/Firmware\";\nimport { type WebSocketConnectionError } from \"@internal/secure-channel/model/Errors\";\n\n/**\n * Interface representing a secure channel service for device management.\n */\nexport interface SecureChannelService {\n /**\n * Construct a WebSocket connection for genuine check.\n * @param deviceInfo - Response of the GetOsVersionCommand.\n * @param finalFirmware - Response of the GetFirmwareVersion HTTP request in manager API.\n * @returns Either a WebSocketConnectionError or a WebSocket.\n */\n genuineCheck(\n deviceInfo: GetOsVersionResponse,\n finalFirmware: FinalFirmware,\n ): Either<WebSocketConnectionError, WebSocket>;\n\n /**\n * Construct a WebSocket connection for installing an application.\n * @param deviceInfo - Response of the GetOsVersionCommand.\n * @param app - The application to be installed, must have perso, firmware, firmwareKey, and hash properties.\n * @returns Either a WebSocketConnectionError or a WebSocket.\n */\n installApp(\n deviceInfo: GetOsVersionResponse,\n app: Pick<Application, \"perso\" | \"firmware\" | \"firmwareKey\" | \"hash\">,\n ): Either<WebSocketConnectionError, WebSocket>;\n\n /**\n * Construct a WebSocket connection for listing installed applications.\n * @param deviceInfo - Response of the GetOsVersionCommand.\n * @param finalFirmware - Response of the GetFirmwareVersion HTTP request in manager API.\n * @returns Either a WebSocketConnectionError or a WebSocket.\n */\n listInstalledApps(\n deviceInfo: GetOsVersionResponse,\n finalFirmware: FinalFirmware,\n ): Either<WebSocketConnectionError, WebSocket>;\n\n /**\n * Construct a WebSocket connection for uninstalling an application.\n * @param deviceInfo - Response of the GetOsVersionCommand.\n * @param app - The application to be uninstalled, must have perso, delete, deleteKey, and hash properties.\n * @returns Either a WebSocketConnectionError or a WebSocket.\n */\n uninstallApp(\n deviceInfo: GetOsVersionResponse,\n app: Pick<Application, \"perso\" | \"delete\" | \"deleteKey\" | \"hash\">,\n ): Either<WebSocketConnectionError, WebSocket>;\n\n /**\n * Construct a WebSocket connection for updating the firmware of the device.\n * @param deviceInfo - Response of the GetOsVersionCommand.\n * @param firmware - The firmware to be updated.\n * @returns Either a WebSocketConnectionError or a WebSocket.\n */\n updateFirmware(\n deviceInfo: GetOsVersionResponse,\n firmware: Pick<OsuFirmware, \"perso\" | \"firmware\" | \"firmwareKey\">,\n ): Either<WebSocketConnectionError, WebSocket>;\n\n /**\n * Construct a WebSocket connection for updating the MCU (Microcontroller Unit) of the device.\n * @param deviceInfo - Response of the GetOsVersionCommand.\n * @param param - Parameters for the MCU update, including the version.\n * @returns Either a WebSocketConnectionError or a WebSocket.\n */\n updateMcu(\n deviceInfo: GetOsVersionResponse,\n param: { version: string },\n ): Either<WebSocketConnectionError, WebSocket>;\n}\n"],
5
5
  "mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
6
  "names": ["SecureChannelService_exports", "__toCommonJS"]
7
7
  }
@@ -62,5 +62,5 @@
62
62
  "watch:builds": "pnpm ldmk-tool watch --entryPoints index.ts,src/**/*.ts --tsconfig tsconfig.prod.json",
63
63
  "watch:types": "concurrently \"tsc --watch -p tsconfig.prod.json\" \"tsc-alias --watch -p tsconfig.prod.json\""
64
64
  },
65
- "version": "0.0.0-develop-20260813001639"
65
+ "version": "0.0.0-develop-20260815000734"
66
66
  }
@@ -1,2 +1,2 @@
1
- var m=(o=>(o.None="none",o.UnlockDevice="unlock-device",o.AllowSecureConnection="allow-secure-connection",o.ConfirmOpenApp="confirm-open-app",o.SignTransaction="sign-transaction",o.SignTypedData="sign-typed-data",o.AllowListApps="allow-list-apps",o.VerifyAddress="verify-address",o.SignPersonalMessage="sign-personal-message",o.SignDelegationAuthorization="sign-delegation-authorization",o.Web3ChecksOptIn="web3-checks-opt-in",o.VerifySafeAddress="verify-safe-address",o.RegisterWallet="register-wallet",o.ConfirmLoadImage="confirm-load-image",o.ConfirmCommitImage="confirm-commit-image",o.ConfirmRemoveImage="confirm-remove-image",o.GrantConsent="grant-consent",o))(m||{});export{m as UserInteractionRequired};
1
+ var o=(l=>(l.None="none",l.UnlockDevice="unlock-device",l.AllowSecureConnection="allow-secure-connection",l.ConfirmOpenApp="confirm-open-app",l.SignTransaction="sign-transaction",l.SignTypedData="sign-typed-data",l.AllowListApps="allow-list-apps",l.VerifyAddress="verify-address",l.SignPersonalMessage="sign-personal-message",l.SignDelegationAuthorization="sign-delegation-authorization",l.Web3ChecksOptIn="web3-checks-opt-in",l.VerifySafeAddress="verify-safe-address",l.RegisterWallet="register-wallet",l.ConfirmLoadImage="confirm-load-image",l.ConfirmCommitImage="confirm-commit-image",l.ConfirmRemoveImage="confirm-remove-image",l.GrantConsent="grant-consent",l.AllowInstallFirmware="allow-install-firmware",l))(o||{});export{o as UserInteractionRequired};
2
2
  //# sourceMappingURL=UserInteractionRequired.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/api/device-action/model/UserInteractionRequired.ts"],
4
- "sourcesContent": ["/**\n * The user interaction required on the device to move further in a device action.\n * This is used to inform the users about the action they need to take on the device.\n */\nexport enum UserInteractionRequired {\n None = \"none\",\n UnlockDevice = \"unlock-device\",\n AllowSecureConnection = \"allow-secure-connection\",\n ConfirmOpenApp = \"confirm-open-app\",\n SignTransaction = \"sign-transaction\",\n SignTypedData = \"sign-typed-data\",\n AllowListApps = \"allow-list-apps\",\n VerifyAddress = \"verify-address\",\n SignPersonalMessage = \"sign-personal-message\",\n SignDelegationAuthorization = \"sign-delegation-authorization\",\n Web3ChecksOptIn = \"web3-checks-opt-in\",\n VerifySafeAddress = \"verify-safe-address\",\n RegisterWallet = \"register-wallet\",\n ConfirmLoadImage = \"confirm-load-image\",\n ConfirmCommitImage = \"confirm-commit-image\",\n ConfirmRemoveImage = \"confirm-remove-image\",\n GrantConsent = \"grant-consent\",\n}\n"],
5
- "mappings": "AAIO,IAAKA,OACVA,EAAA,KAAO,OACPA,EAAA,aAAe,gBACfA,EAAA,sBAAwB,0BACxBA,EAAA,eAAiB,mBACjBA,EAAA,gBAAkB,mBAClBA,EAAA,cAAgB,kBAChBA,EAAA,cAAgB,kBAChBA,EAAA,cAAgB,iBAChBA,EAAA,oBAAsB,wBACtBA,EAAA,4BAA8B,gCAC9BA,EAAA,gBAAkB,qBAClBA,EAAA,kBAAoB,sBACpBA,EAAA,eAAiB,kBACjBA,EAAA,iBAAmB,qBACnBA,EAAA,mBAAqB,uBACrBA,EAAA,mBAAqB,uBACrBA,EAAA,aAAe,gBAjBLA,OAAA",
4
+ "sourcesContent": ["/**\n * The user interaction required on the device to move further in a device action.\n * This is used to inform the users about the action they need to take on the device.\n */\nexport enum UserInteractionRequired {\n None = \"none\",\n UnlockDevice = \"unlock-device\",\n AllowSecureConnection = \"allow-secure-connection\",\n ConfirmOpenApp = \"confirm-open-app\",\n SignTransaction = \"sign-transaction\",\n SignTypedData = \"sign-typed-data\",\n AllowListApps = \"allow-list-apps\",\n VerifyAddress = \"verify-address\",\n SignPersonalMessage = \"sign-personal-message\",\n SignDelegationAuthorization = \"sign-delegation-authorization\",\n Web3ChecksOptIn = \"web3-checks-opt-in\",\n VerifySafeAddress = \"verify-safe-address\",\n RegisterWallet = \"register-wallet\",\n ConfirmLoadImage = \"confirm-load-image\",\n ConfirmCommitImage = \"confirm-commit-image\",\n ConfirmRemoveImage = \"confirm-remove-image\",\n GrantConsent = \"grant-consent\",\n AllowInstallFirmware = \"allow-install-firmware\",\n}\n"],
5
+ "mappings": "AAIO,IAAKA,OACVA,EAAA,KAAO,OACPA,EAAA,aAAe,gBACfA,EAAA,sBAAwB,0BACxBA,EAAA,eAAiB,mBACjBA,EAAA,gBAAkB,mBAClBA,EAAA,cAAgB,kBAChBA,EAAA,cAAgB,kBAChBA,EAAA,cAAgB,iBAChBA,EAAA,oBAAsB,wBACtBA,EAAA,4BAA8B,gCAC9BA,EAAA,gBAAkB,qBAClBA,EAAA,kBAAoB,sBACpBA,EAAA,eAAiB,kBACjBA,EAAA,iBAAmB,qBACnBA,EAAA,mBAAqB,uBACrBA,EAAA,mBAAqB,uBACrBA,EAAA,aAAe,gBACfA,EAAA,qBAAuB,yBAlBbA,OAAA",
6
6
  "names": ["UserInteractionRequired"]
7
7
  }