@ledgerhq/device-management-kit 0.0.0-develop-20260730002409 → 0.0.0-develop-20260801002526
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.
- package/lib/cjs/package.json +1 -1
- package/lib/cjs/src/api/device-action/task/GetFirmwareMetadataTask.js +1 -1
- package/lib/cjs/src/api/device-action/task/GetFirmwareMetadataTask.js.map +3 -3
- package/lib/cjs/src/api/device-action/task/GetFirmwareMetadataTask.test.js +1 -1
- package/lib/cjs/src/api/device-action/task/GetFirmwareMetadataTask.test.js.map +3 -3
- package/lib/cjs/src/internal/manager-api/data/HttpManagerApiDataSource.js +1 -1
- package/lib/cjs/src/internal/manager-api/data/HttpManagerApiDataSource.js.map +2 -2
- package/lib/cjs/src/internal/manager-api/data/HttpManagerApiDataSource.test.js +1 -1
- package/lib/cjs/src/internal/manager-api/data/HttpManagerApiDataSource.test.js.map +2 -2
- package/lib/cjs/src/internal/manager-api/data/ManagerApiDataSource.js +1 -1
- package/lib/cjs/src/internal/manager-api/data/ManagerApiDataSource.js.map +1 -1
- package/lib/cjs/src/internal/manager-api/model/Firmware.js +1 -1
- package/lib/cjs/src/internal/manager-api/model/Firmware.js.map +1 -1
- package/lib/cjs/src/internal/manager-api/service/ManagerApiService.js.map +1 -1
- package/lib/esm/package.json +1 -1
- package/lib/esm/src/api/device-action/task/GetFirmwareMetadataTask.js +1 -1
- package/lib/esm/src/api/device-action/task/GetFirmwareMetadataTask.js.map +3 -3
- package/lib/esm/src/api/device-action/task/GetFirmwareMetadataTask.test.js +1 -1
- package/lib/esm/src/api/device-action/task/GetFirmwareMetadataTask.test.js.map +3 -3
- package/lib/esm/src/internal/manager-api/data/HttpManagerApiDataSource.js +1 -1
- package/lib/esm/src/internal/manager-api/data/HttpManagerApiDataSource.js.map +3 -3
- package/lib/esm/src/internal/manager-api/data/HttpManagerApiDataSource.test.js +1 -1
- package/lib/esm/src/internal/manager-api/data/HttpManagerApiDataSource.test.js.map +3 -3
- package/lib/types/src/api/device-action/task/GetFirmwareMetadataTask.d.ts +2 -0
- package/lib/types/src/api/device-action/task/GetFirmwareMetadataTask.d.ts.map +1 -1
- package/lib/types/src/internal/manager-api/data/HttpManagerApiDataSource.d.ts +2 -2
- package/lib/types/src/internal/manager-api/data/HttpManagerApiDataSource.d.ts.map +1 -1
- package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts +4 -4
- package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts.map +1 -1
- package/lib/types/src/internal/manager-api/model/Firmware.d.ts +2 -0
- package/lib/types/src/internal/manager-api/model/Firmware.d.ts.map +1 -1
- package/lib/types/src/internal/manager-api/service/DefaultManagerApiService.d.ts +1 -1
- package/lib/types/src/internal/manager-api/service/ManagerApiService.d.ts +3 -3
- package/lib/types/src/internal/manager-api/service/ManagerApiService.d.ts.map +1 -1
- package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../src/internal/manager-api/data/HttpManagerApiDataSource.test.ts"],
|
|
4
|
-
"sourcesContent": ["import { Left, 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 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 id: 361,\n perso: \"perso_11\",\n firmware: \"test\",\n firmwareKey: \"testKey\",\n hash: \"hash\",\n nextFinalFirmware: 567,\n }),\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 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 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 a 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: \"\",\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: \"\",\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 },\n {\n id: 2,\n name: \"1.1\",\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: [],\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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",
|
|
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 i=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var o=Object.prototype.hasOwnProperty;var n=(e,r,p,
|
|
1
|
+
"use strict";var i=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var o=Object.prototype.hasOwnProperty;var n=(e,r,p,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let a of m(r))!o.call(e,a)&&a!==p&&i(e,a,{get:()=>r[a],enumerable:!(t=s(r,a))||t.enumerable});return e};var c=e=>n(i({},"__esModule",{value:!0}),e);var y={};module.exports=c(y);
|
|
2
2
|
//# sourceMappingURL=ManagerApiDataSource.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../src/internal/manager-api/data/ManagerApiDataSource.ts"],
|
|
4
|
-
"sourcesContent": ["import { type EitherAsync } from \"purify-ts\";\n\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\";\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\n/**\n * Interface representing a data source for the Manager API.\n */\nexport interface ManagerApiDataSource {\n /**\n * Retrieves the list of applications for a given target ID and firmware version.\n *\n * @param params - The parameters for getting the application list.\n * @returns EitherAsync containing an array of applications or an HttpFetchApiError.\n */\n getAppList(\n params: GetAppListParams,\n ): EitherAsync<HttpFetchApiError, Array<Application>>;\n\n /**\n * Retrieves applications by their hashes.\n *\n * @param hashes - An array of application hashes, can be got from the response of the ListAppsCommand.\n * @returns EitherAsync containing an array of applications or null values, or an HttpFetchApiError.\n */\n getAppsByHash(\n params: GetAppByHashParams,\n ): EitherAsync<HttpFetchApiError, Array<Application | null>>;\n\n /**\n * Retrieves the device version for a given target ID.\n *\n * @param params - The parameters for getting the device version.\n * @returns EitherAsync containing the device version or an HttpFetchApiError.\n */\n getDeviceVersion(\n params: GetDeviceVersionParams,\n ): EitherAsync<HttpFetchApiError, DeviceVersion>;\n\n /**\n * Retrieves the firmware version for a given version, device ID.\n *\n * @param params - The parameters for getting the firmware version.\n * @returns EitherAsync containing the final firmware or an HttpFetchApiError.\n */\n getFirmwareVersion(\n params: GetFirmwareVersionParams,\n ): EitherAsync<HttpFetchApiError, FinalFirmware>;\n\n /**\n * Sets the provider identifier.\n *\n * @param provider - The provider identifier.\n */\n setProvider(provider: number): void;\n\n /**\n * Returns the current provider.\n */\n getProvider(): number;\n\n /**\n * Retrieves a firmware version from a final firmware ID.\n *\n * @param finalFirmwareId - The ID of the final firmware to retrieve.\n * @returns EitherAsync containing the final firmware or an HttpFetchApiError.\n */\n getFirmwareVersionById(\n finalFirmwareId: number,\n ): EitherAsync<HttpFetchApiError, FinalFirmware>;\n\n /**\n * Retrieves the an OSU firmware version for a given version, device ID.\n *\n * @param params - The parameters for getting the firmware version.\n * @returns EitherAsync containing the OSU firmware or an HttpFetchApiError.\n */\n getOsuFirmwareVersion(\n params: GetFirmwareVersionParams,\n ): EitherAsync<HttpFetchApiError, OsuFirmware>;\n\n /**\n * Retrieves the latest firmware available for a given
|
|
4
|
+
"sourcesContent": ["import { type EitherAsync, type Maybe } from \"purify-ts\";\n\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\";\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\n/**\n * Interface representing a data source for the Manager API.\n */\nexport interface ManagerApiDataSource {\n /**\n * Retrieves the list of applications for a given target ID and firmware version.\n *\n * @param params - The parameters for getting the application list.\n * @returns EitherAsync containing an array of applications or an HttpFetchApiError.\n */\n getAppList(\n params: GetAppListParams,\n ): EitherAsync<HttpFetchApiError, Array<Application>>;\n\n /**\n * Retrieves applications by their hashes.\n *\n * @param hashes - An array of application hashes, can be got from the response of the ListAppsCommand.\n * @returns EitherAsync containing an array of applications or null values, or an HttpFetchApiError.\n */\n getAppsByHash(\n params: GetAppByHashParams,\n ): EitherAsync<HttpFetchApiError, Array<Application | null>>;\n\n /**\n * Retrieves the device version for a given target ID.\n *\n * @param params - The parameters for getting the device version.\n * @returns EitherAsync containing the device version or an HttpFetchApiError.\n */\n getDeviceVersion(\n params: GetDeviceVersionParams,\n ): EitherAsync<HttpFetchApiError, DeviceVersion>;\n\n /**\n * Retrieves the firmware version for a given version, device ID.\n *\n * @param params - The parameters for getting the firmware version.\n * @returns EitherAsync containing the final firmware or an HttpFetchApiError.\n */\n getFirmwareVersion(\n params: GetFirmwareVersionParams,\n ): EitherAsync<HttpFetchApiError, FinalFirmware>;\n\n /**\n * Sets the provider identifier.\n *\n * @param provider - The provider identifier.\n */\n setProvider(provider: number): void;\n\n /**\n * Returns the current provider.\n */\n getProvider(): number;\n\n /**\n * Retrieves a firmware version from a final firmware ID.\n *\n * @param finalFirmwareId - The ID of the final firmware to retrieve.\n * @returns EitherAsync containing the final firmware or an HttpFetchApiError.\n */\n getFirmwareVersionById(\n finalFirmwareId: number,\n ): EitherAsync<HttpFetchApiError, FinalFirmware>;\n\n /**\n * Retrieves the an OSU firmware version for a given version, device ID.\n *\n * @param params - The parameters for getting the firmware version.\n * @returns EitherAsync containing the OSU firmware or an HttpFetchApiError.\n */\n getOsuFirmwareVersion(\n params: GetFirmwareVersionParams,\n ): EitherAsync<HttpFetchApiError, OsuFirmware>;\n\n /**\n * Retrieves the latest firmware available, if any, for a given device.\n *\n * @param params - The parameters for getting the firmware version.\n * @returns EitherAsync containing either an `HttpFetchApiError` or a `Maybe<OsuFirmware>` (Nothing when no update is available).\n */\n getLatestFirmwareVersion(\n params: GetLatestFirmwareVersionParams,\n ): EitherAsync<HttpFetchApiError, Maybe<OsuFirmware>>;\n\n /**\n * Retrieves the available language packages for a device.\n *\n * @param params - The parameters for getting the language packages.\n * @returns EitherAsync containing the list of language packages or an HttpFetchApiError.\n */\n getLanguagePackages(\n params: GetLanguagePackagesParams,\n ): EitherAsync<HttpFetchApiError, Array<LanguagePackage>>;\n\n /**\n * Retrieves the list of available MCU firmwares.\n *\n * @returns EitherAsync containing an array of mcu firmwares or an HttpFetchApiError.\n */\n getMcuList(): EitherAsync<HttpFetchApiError, Array<McuFirmware>>;\n}\n"],
|
|
5
5
|
"mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
|
|
6
6
|
"names": ["ManagerApiDataSource_exports", "__toCommonJS"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var s=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var
|
|
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);
|
|
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 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};\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};\n"],
|
|
5
5
|
"mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
|
|
6
6
|
"names": ["Firmware_exports", "__toCommonJS"]
|
|
7
7
|
}
|
|
@@ -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 } 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 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, OsuFirmware
|
|
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"],
|
|
5
5
|
"mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
|
|
6
6
|
"names": ["ManagerApiService_exports", "__toCommonJS"]
|
|
7
7
|
}
|
package/lib/esm/package.json
CHANGED
|
@@ -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-
|
|
65
|
+
"version": "0.0.0-develop-20260801002526"
|
|
66
66
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{isSuccessCommandResult as
|
|
1
|
+
import{isSuccessCommandResult as c}from"../../command/model/CommandResult";import{GetBackgroundImageSizeCommand as f}from"../../command/os/GetBackgroundImageSizeCommand";import{GetOsVersionCommand as F}from"../../command/os/GetOsVersionCommand";import{InvalidGetFirmwareMetadataResponseError as l}from"../../device-action/task/Errors";import{DmkResultFactory as m}from"../../model/DmkResult";class M{constructor(e){this.api=e}async run(){const e=await this.api.sendCommand(new F);if(!c(e))return m({error:e.error});const t={mcu:e.data.mcuSephVersion,bootloader:e.data.mcuBootloaderVersion,os:e.data.seVersion,metadata:e.data},i=this.api.getManagerApiService(),n=await i.getDeviceVersion(e.data).chain(u=>i.getFirmwareVersion(e.data,u).map(w=>({deviceVersion:u,currentFirmware:w})));if(n.isLeft())return m({error:new l});const{deviceVersion:a,currentFirmware:r}=n.unsafeCoerce(),o=await this.getAvailableUpdate(i,r,a,t),s={currentFirmware:r,availableUpdate:o};let d={};const p=await this.api.sendCommand(new f);return c(p)&&(d={size:p.data}),m({data:{deviceVersion:a,firmware:r,firmwareVersion:t,firmwareUpdateContext:s,customImage:d}})}async getAvailableUpdate(e,t,i,n){const a=await e.getLatestFirmwareVersion(t,i);if(a.isLeft())return;const r=a.unsafeCoerce();if(!r.isNothing())return this.getFirmwareUpdate(e,r.unsafeCoerce(),n)}async getFirmwareUpdate(e,t,i){const n=await e.getNextFirmwareVersion(t);if(n.isLeft())return;const a=await e.getMcuList();if(a.isLeft())return;const r=n.unsafeCoerce(),o=a.unsafeCoerce().find(s=>s.name===i.mcu);return{osuFirmware:t,finalFirmware:r,mcuUpdateRequired:o===void 0||!r.mcuVersions.includes(o.id)}}}export{M as GetFirmwareMetadataTask};
|
|
2
2
|
//# sourceMappingURL=GetFirmwareMetadataTask.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../src/api/device-action/task/GetFirmwareMetadataTask.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n type CommandErrorResult,\n isSuccessCommandResult,\n} from \"@api/command/model/CommandResult\";\nimport { GetBackgroundImageSizeCommand } from \"@api/command/os/GetBackgroundImageSizeCommand\";\nimport { GetOsVersionCommand } from \"@api/command/os/GetOsVersionCommand\";\nimport type { InternalApi } from \"@api/device-action/DeviceAction\";\nimport { InvalidGetFirmwareMetadataResponseError } from \"@api/device-action/task/Errors\";\nimport {\n type CustomImage,\n type FirmwareUpdate,\n type FirmwareUpdateContext,\n type FirmwareVersion,\n} from \"@api/device-session/DeviceSessionState\";\nimport { type DmkResult, DmkResultFactory } from \"@api/model/DmkResult\";\nimport { type DeviceVersion } from \"@internal/manager-api/model/Device\";\nimport {
|
|
5
|
-
"mappings": "AAAA,OAEE,0BAAAA,MACK,mCACP,OAAS,iCAAAC,MAAqC,gDAC9C,OAAS,uBAAAC,MAA2B,sCAEpC,OAAS,2CAAAC,MAA+C,iCAOxD,OAAyB,oBAAAC,MAAwB,
|
|
6
|
-
"names": ["isSuccessCommandResult", "GetBackgroundImageSizeCommand", "GetOsVersionCommand", "InvalidGetFirmwareMetadataResponseError", "DmkResultFactory", "GetFirmwareMetadataTask", "api", "osVersion", "firmwareVersion", "manager", "result", "deviceVersion", "currentFirmware", "availableUpdate", "
|
|
4
|
+
"sourcesContent": ["import {\n type CommandErrorResult,\n isSuccessCommandResult,\n} from \"@api/command/model/CommandResult\";\nimport { GetBackgroundImageSizeCommand } from \"@api/command/os/GetBackgroundImageSizeCommand\";\nimport { GetOsVersionCommand } from \"@api/command/os/GetOsVersionCommand\";\nimport type { InternalApi } from \"@api/device-action/DeviceAction\";\nimport { InvalidGetFirmwareMetadataResponseError } from \"@api/device-action/task/Errors\";\nimport {\n type CustomImage,\n type FirmwareUpdate,\n type FirmwareUpdateContext,\n type FirmwareVersion,\n} from \"@api/device-session/DeviceSessionState\";\nimport { type DmkResult, DmkResultFactory } from \"@api/model/DmkResult\";\nimport { type DeviceVersion } from \"@internal/manager-api/model/Device\";\nimport {\n type FinalFirmware,\n type OsuFirmware,\n} from \"@internal/manager-api/model/Firmware\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\n\nexport type GetFirmwareMetadataTaskResponse = {\n deviceVersion: DeviceVersion;\n firmware: FinalFirmware;\n firmwareVersion: FirmwareVersion;\n firmwareUpdateContext: FirmwareUpdateContext;\n customImage: CustomImage;\n};\n\nexport type GetFirmwareMetadataTaskError =\n | CommandErrorResult[\"error\"]\n | InvalidGetFirmwareMetadataResponseError;\n\nexport type GetFirmwareMetadataTaskResult = DmkResult<\n GetFirmwareMetadataTaskResponse,\n GetFirmwareMetadataTaskError\n>;\n\nexport class GetFirmwareMetadataTask {\n constructor(private readonly api: InternalApi) {}\n\n async run(): Promise<GetFirmwareMetadataTaskResult> {\n // Get installed firmware metadata\n const osVersion = await this.api.sendCommand(new GetOsVersionCommand());\n if (!isSuccessCommandResult(osVersion)) {\n return DmkResultFactory({\n error: osVersion.error,\n });\n }\n const firmwareVersion: FirmwareVersion = {\n mcu: osVersion.data.mcuSephVersion,\n bootloader: osVersion.data.mcuBootloaderVersion,\n os: osVersion.data.seVersion,\n metadata: osVersion.data,\n };\n\n // Fetch current firmware metadata from app store\n const manager = this.api.getManagerApiService();\n const result = await manager\n .getDeviceVersion(osVersion.data)\n .chain((deviceVersion) =>\n manager\n .getFirmwareVersion(osVersion.data, deviceVersion)\n .map((currentFirmware) => ({ deviceVersion, currentFirmware })),\n );\n if (result.isLeft()) {\n return DmkResultFactory({\n error: new InvalidGetFirmwareMetadataResponseError(),\n });\n }\n const { deviceVersion, currentFirmware } = result.unsafeCoerce();\n\n const availableUpdate = await this.getAvailableUpdate(\n manager,\n currentFirmware,\n deviceVersion,\n firmwareVersion,\n );\n\n const firmwareUpdateContext = {\n currentFirmware,\n availableUpdate,\n };\n\n // Get custom image metadata\n let customImage: CustomImage = {};\n const imageSize = await this.api.sendCommand(\n new GetBackgroundImageSizeCommand(),\n );\n if (isSuccessCommandResult(imageSize)) {\n customImage = { size: imageSize.data };\n }\n\n // Return firmware metadata\n return DmkResultFactory({\n data: {\n deviceVersion,\n firmware: currentFirmware,\n firmwareVersion,\n firmwareUpdateContext,\n customImage,\n },\n });\n }\n\n private async getAvailableUpdate(\n manager: ManagerApiService,\n currentFirmware: FinalFirmware,\n deviceVersion: DeviceVersion,\n firmwareVersion: FirmwareVersion,\n ): Promise<FirmwareUpdate | undefined> {\n // Fetch latest firmware available, if any\n const maybeOsuFirmwareResult = await manager.getLatestFirmwareVersion(\n currentFirmware,\n deviceVersion,\n );\n if (maybeOsuFirmwareResult.isLeft()) {\n return undefined;\n }\n\n const maybeOsuFirmware = maybeOsuFirmwareResult.unsafeCoerce();\n if (maybeOsuFirmware.isNothing()) {\n return undefined;\n }\n\n return this.getFirmwareUpdate(\n manager,\n maybeOsuFirmware.unsafeCoerce(),\n firmwareVersion,\n );\n }\n\n private async getFirmwareUpdate(\n manager: ManagerApiService,\n osuFirmware: OsuFirmware,\n firmwareVersion: FirmwareVersion,\n ): Promise<FirmwareUpdate | undefined> {\n const finalFirmwareResult =\n await manager.getNextFirmwareVersion(osuFirmware);\n if (finalFirmwareResult.isLeft()) {\n return undefined;\n }\n\n const mcusResult = await manager.getMcuList();\n if (mcusResult.isLeft()) {\n return undefined;\n }\n\n const finalFirmware = finalFirmwareResult.unsafeCoerce();\n const mcu = mcusResult\n .unsafeCoerce()\n .find((candidate) => candidate.name === firmwareVersion.mcu);\n\n return {\n osuFirmware,\n finalFirmware,\n mcuUpdateRequired:\n mcu === undefined || !finalFirmware.mcuVersions.includes(mcu.id),\n };\n }\n}\n"],
|
|
5
|
+
"mappings": "AAAA,OAEE,0BAAAA,MACK,mCACP,OAAS,iCAAAC,MAAqC,gDAC9C,OAAS,uBAAAC,MAA2B,sCAEpC,OAAS,2CAAAC,MAA+C,iCAOxD,OAAyB,oBAAAC,MAAwB,uBAyB1C,MAAMC,CAAwB,CACnC,YAA6BC,EAAkB,CAAlB,SAAAA,CAAmB,CAEhD,MAAM,KAA8C,CAElD,MAAMC,EAAY,MAAM,KAAK,IAAI,YAAY,IAAIL,CAAqB,EACtE,GAAI,CAACF,EAAuBO,CAAS,EACnC,OAAOH,EAAiB,CACtB,MAAOG,EAAU,KACnB,CAAC,EAEH,MAAMC,EAAmC,CACvC,IAAKD,EAAU,KAAK,eACpB,WAAYA,EAAU,KAAK,qBAC3B,GAAIA,EAAU,KAAK,UACnB,SAAUA,EAAU,IACtB,EAGME,EAAU,KAAK,IAAI,qBAAqB,EACxCC,EAAS,MAAMD,EAClB,iBAAiBF,EAAU,IAAI,EAC/B,MAAOI,GACNF,EACG,mBAAmBF,EAAU,KAAMI,CAAa,EAChD,IAAKC,IAAqB,CAAE,cAAAD,EAAe,gBAAAC,CAAgB,EAAE,CAClE,EACF,GAAIF,EAAO,OAAO,EAChB,OAAON,EAAiB,CACtB,MAAO,IAAID,CACb,CAAC,EAEH,KAAM,CAAE,cAAAQ,EAAe,gBAAAC,CAAgB,EAAIF,EAAO,aAAa,EAEzDG,EAAkB,MAAM,KAAK,mBACjCJ,EACAG,EACAD,EACAH,CACF,EAEMM,EAAwB,CAC5B,gBAAAF,EACA,gBAAAC,CACF,EAGA,IAAIE,EAA2B,CAAC,EAChC,MAAMC,EAAY,MAAM,KAAK,IAAI,YAC/B,IAAIf,CACN,EACA,OAAID,EAAuBgB,CAAS,IAClCD,EAAc,CAAE,KAAMC,EAAU,IAAK,GAIhCZ,EAAiB,CACtB,KAAM,CACJ,cAAAO,EACA,SAAUC,EACV,gBAAAJ,EACA,sBAAAM,EACA,YAAAC,CACF,CACF,CAAC,CACH,CAEA,MAAc,mBACZN,EACAG,EACAD,EACAH,EACqC,CAErC,MAAMS,EAAyB,MAAMR,EAAQ,yBAC3CG,EACAD,CACF,EACA,GAAIM,EAAuB,OAAO,EAChC,OAGF,MAAMC,EAAmBD,EAAuB,aAAa,EAC7D,GAAI,CAAAC,EAAiB,UAAU,EAI/B,OAAO,KAAK,kBACVT,EACAS,EAAiB,aAAa,EAC9BV,CACF,CACF,CAEA,MAAc,kBACZC,EACAU,EACAX,EACqC,CACrC,MAAMY,EACJ,MAAMX,EAAQ,uBAAuBU,CAAW,EAClD,GAAIC,EAAoB,OAAO,EAC7B,OAGF,MAAMC,EAAa,MAAMZ,EAAQ,WAAW,EAC5C,GAAIY,EAAW,OAAO,EACpB,OAGF,MAAMC,EAAgBF,EAAoB,aAAa,EACjDG,EAAMF,EACT,aAAa,EACb,KAAMG,GAAcA,EAAU,OAAShB,EAAgB,GAAG,EAE7D,MAAO,CACL,YAAAW,EACA,cAAAG,EACA,kBACEC,IAAQ,QAAa,CAACD,EAAc,YAAY,SAASC,EAAI,EAAE,CACnE,CACF,CACF",
|
|
6
|
+
"names": ["isSuccessCommandResult", "GetBackgroundImageSizeCommand", "GetOsVersionCommand", "InvalidGetFirmwareMetadataResponseError", "DmkResultFactory", "GetFirmwareMetadataTask", "api", "osVersion", "firmwareVersion", "manager", "result", "deviceVersion", "currentFirmware", "availableUpdate", "firmwareUpdateContext", "customImage", "imageSize", "maybeOsuFirmwareResult", "maybeOsuFirmware", "osuFirmware", "finalFirmwareResult", "mcusResult", "finalFirmware", "mcu", "candidate"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{EitherAsync as
|
|
1
|
+
import{EitherAsync as i,Just as f,Nothing as R}from"purify-ts";import{InvalidStatusWordError as d}from"../../command/Errors";import{CommandResultFactory as o}from"../../command/model/CommandResult";import{makeDeviceActionInternalApiMock as F}from"../../device-action/__test-utils__/makeInternalApi";import{InvalidGetFirmwareMetadataResponseError as V}from"../../device-action/task/Errors";import{DmkResultFactory as m}from"../../model/DmkResult";import{GetFirmwareMetadataTask as u}from"./GetFirmwareMetadataTask";describe("GetFirmwareMetadataTask",()=>{const e=F(),a={mcuSephVersion:"mcu_version",mcuBootloaderVersion:"bl_version",seVersion:"se_version"},w=97,c={id:7},n={id:361,version:"1.6.0",perso:"perso_11"},l={id:362,perso:"perso_11",notes:"notes"},v={id:363,version:"1.7.0",perso:"perso_11",mcuVersions:[1]},p=[{id:3,name:"other_version",fromBootloaderVersion:"1.0"},{id:1,name:"mcu_version",fromBootloaderVersion:"1.0"}],t={getDeviceVersion:vi.fn(),getFirmwareVersion:vi.fn(),getLatestFirmwareVersion:vi.fn(),getNextFirmwareVersion:vi.fn(),getMcuList:vi.fn()};beforeEach(()=>{vi.resetAllMocks(),e.getManagerApiService.mockReturnValue(t),t.getDeviceVersion.mockReturnValue(i(async()=>c)),t.getFirmwareVersion.mockReturnValue(i(async()=>n)),t.getLatestFirmwareVersion.mockReturnValue(i(async()=>f(l))),t.getNextFirmwareVersion.mockReturnValue(i(async()=>v)),t.getMcuList.mockReturnValue(i(async()=>p))}),it("success with no firmware update available",async()=>{e.sendCommand.mockResolvedValueOnce(o({data:a})).mockResolvedValueOnce(o({data:w})),t.getLatestFirmwareVersion.mockReturnValueOnce(i(async()=>R));const r=await new u(e).run();expect(r).toStrictEqual(m({data:{deviceVersion:c,firmware:n,firmwareVersion:{mcu:"mcu_version",bootloader:"bl_version",os:"se_version",metadata:a},firmwareUpdateContext:{currentFirmware:n,availableUpdate:void 0},customImage:{size:w}}}))}),it("success with no firmware update when latest firmware cannot be fetched",async()=>{e.sendCommand.mockResolvedValueOnce(o({data:a})).mockResolvedValueOnce(o({data:w})),t.getLatestFirmwareVersion.mockReturnValueOnce(i(async({throwE:s})=>{s(new Error("error"))}));const r=await new u(e).run();expect(r).toStrictEqual(m({data:{deviceVersion:c,firmware:n,firmwareVersion:{mcu:"mcu_version",bootloader:"bl_version",os:"se_version",metadata:a},firmwareUpdateContext:{currentFirmware:n,availableUpdate:void 0},customImage:{size:w}}}))}),it("success with a firmware update available",async()=>{e.sendCommand.mockResolvedValueOnce(o({data:a})).mockResolvedValueOnce(o({error:new d("error")}));const r=await new u(e).run();expect(r).toStrictEqual(m({data:{deviceVersion:c,firmware:n,firmwareVersion:{mcu:"mcu_version",bootloader:"bl_version",os:"se_version",metadata:a},firmwareUpdateContext:{currentFirmware:n,availableUpdate:{osuFirmware:l,finalFirmware:v,mcuUpdateRequired:!1}},customImage:{}}})),expect(t.getDeviceVersion).toHaveBeenCalledWith(a),expect(t.getFirmwareVersion).toHaveBeenCalledWith(a,c),expect(t.getLatestFirmwareVersion).toHaveBeenCalledWith(n,c),expect(t.getNextFirmwareVersion).toHaveBeenCalledWith(l)}),it("success with a firmware update available and MCU update",async()=>{e.sendCommand.mockResolvedValueOnce(o({data:a})).mockResolvedValueOnce(o({error:new d("error")}));const r={...v,mcuVersions:[3]};t.getNextFirmwareVersion.mockReturnValue(i(async()=>r));const s=await new u(e).run();expect(s).toStrictEqual(m({data:{deviceVersion:c,firmware:n,firmwareVersion:{mcu:"mcu_version",bootloader:"bl_version",os:"se_version",metadata:a},firmwareUpdateContext:{currentFirmware:n,availableUpdate:{osuFirmware:l,finalFirmware:r,mcuUpdateRequired:!0}},customImage:{}}}))}),it("success with a firmware update available when current MCU is unknown",async()=>{e.sendCommand.mockResolvedValueOnce(o({data:a})).mockResolvedValueOnce(o({error:new d("error")})),t.getMcuList.mockReturnValueOnce(i(async()=>[{id:3,name:"other_version",fromBootloaderVersion:"1.0"}]));const r=await new u(e).run();expect(r).toStrictEqual(m({data:{deviceVersion:c,firmware:n,firmwareVersion:{mcu:"mcu_version",bootloader:"bl_version",os:"se_version",metadata:a},firmwareUpdateContext:{currentFirmware:n,availableUpdate:{osuFirmware:l,finalFirmware:v,mcuUpdateRequired:!0}},customImage:{}}}))}),it("success with no firmware update when next firmware cannot be fetched",async()=>{e.sendCommand.mockResolvedValueOnce(o({data:a})).mockResolvedValueOnce(o({error:new d("error")})),t.getNextFirmwareVersion.mockReturnValueOnce(i(async({throwE:s})=>{s(new Error("error"))}));const r=await new u(e).run();expect(r).toStrictEqual(m({data:{deviceVersion:c,firmware:n,firmwareVersion:{mcu:"mcu_version",bootloader:"bl_version",os:"se_version",metadata:a},firmwareUpdateContext:{currentFirmware:n,availableUpdate:void 0},customImage:{}}}))}),it("success with no firmware update when MCU list cannot be fetched",async()=>{e.sendCommand.mockResolvedValueOnce(o({data:a})).mockResolvedValueOnce(o({error:new d("error")})),t.getMcuList.mockReturnValueOnce(i(async({throwE:s})=>{s(new Error("error"))}));const r=await new u(e).run();expect(r).toStrictEqual(m({data:{deviceVersion:c,firmware:n,firmwareVersion:{mcu:"mcu_version",bootloader:"bl_version",os:"se_version",metadata:a},firmwareUpdateContext:{currentFirmware:n,availableUpdate:void 0},customImage:{}}}))}),it("should fail when OS version cannot be retrieved",async()=>{e.sendCommand.mockResolvedValueOnce(o({error:new d("error")}));const r=await new u(e).run();expect(r).toStrictEqual(m({error:new d("error")}))}),it("should fail if device version cannot be fetched with InvalidGetFirmwareMetadataResponseError",async()=>{e.sendCommand.mockResolvedValueOnce(o({data:a})),t.getDeviceVersion.mockReturnValueOnce(i(async({throwE:s})=>{s(new Error("error"))}));const r=await new u(e).run();expect(r).toStrictEqual(m({error:new V}))}),it("should fail if firmware version cannot be fetched with InvalidGetFirmwareMetadataResponseError",async()=>{e.sendCommand.mockResolvedValueOnce(o({data:a})),t.getFirmwareVersion.mockReturnValueOnce(i(async({throwE:s})=>{s(new Error("error"))}));const r=await new u(e).run();expect(r).toStrictEqual(m({error:new V}))})});
|
|
2
2
|
//# sourceMappingURL=GetFirmwareMetadataTask.test.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../src/api/device-action/task/GetFirmwareMetadataTask.test.ts"],
|
|
4
|
-
"sourcesContent": ["import { EitherAsync } from \"purify-ts\";\n\nimport { InvalidStatusWordError } from \"@api/command/Errors\";\nimport { CommandResultFactory } from \"@api/command/model/CommandResult\";\nimport { type GetOsVersionResponse } from \"@api/command/os/GetOsVersionCommand\";\nimport { makeDeviceActionInternalApiMock } from \"@api/device-action/__test-utils__/makeInternalApi\";\nimport { InvalidGetFirmwareMetadataResponseError } from \"@api/device-action/task/Errors\";\nimport { DmkResultFactory } from \"@api/model/DmkResult\";\nimport {\n type FinalFirmware,\n type McuFirmware,\n type OsuFirmware,\n} from \"@internal/manager-api/model/Firmware\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\n\nimport { GetFirmwareMetadataTask } from \"./GetFirmwareMetadataTask\";\n\ndescribe(\"GetFirmwareMetadataTask\", () => {\n const apiMock = makeDeviceActionInternalApiMock();\n const OS_VERSION = {\n mcuSephVersion: \"mcu_version\",\n mcuBootloaderVersion: \"bl_version\",\n seVersion: \"se_version\",\n } as GetOsVersionResponse;\n\n const CUSTOM_IMAGE_SIZE = 97;\n\n const DEVICE_VERSION = {\n id: 7,\n };\n\n const FIRMWARE_VERSION = {\n id: 361,\n version: \"1.6.0\",\n perso: \"perso_11\",\n } as FinalFirmware;\n\n const OSU_VERSION = {\n id: 362,\n perso: \"perso_11\",\n } as OsuFirmware;\n\n const NEXT_FIRMWARE_VERSION = {\n id: 363,\n version: \"1.7.0\",\n perso: \"perso_11\",\n mcuVersions: [1],\n } as FinalFirmware;\n\n const MCUS = [\n {\n id: 3,\n name: \"other_version\",\n },\n {\n id: 1,\n name: \"mcu_version\",\n },\n ] as McuFirmware[];\n\n const MANAGER_MOCK = {\n getDeviceVersion: vi.fn(),\n getFirmwareVersion: vi.fn(),\n getLatestFirmwareVersion: vi.fn(),\n getNextFirmwareVersion: vi.fn(),\n getMcuList: vi.fn(),\n };\n\n beforeEach(() => {\n vi.clearAllMocks();\n\n apiMock.getManagerApiService.mockReturnValue(\n MANAGER_MOCK as unknown as ManagerApiService,\n );\n MANAGER_MOCK.getDeviceVersion.mockReturnValue(\n EitherAsync(async () => DEVICE_VERSION),\n );\n MANAGER_MOCK.getFirmwareVersion.mockReturnValue(\n EitherAsync(async () => FIRMWARE_VERSION),\n );\n MANAGER_MOCK.getLatestFirmwareVersion.mockReturnValue(\n EitherAsync(async () => OSU_VERSION),\n );\n MANAGER_MOCK.getNextFirmwareVersion.mockReturnValue(\n EitherAsync(async () => NEXT_FIRMWARE_VERSION),\n );\n MANAGER_MOCK.getMcuList.mockReturnValue(EitherAsync(async () => MCUS));\n });\n\n it(\"success with no firmware update available\", async () => {\n // GIVEN\n apiMock.sendCommand\n .mockResolvedValueOnce(CommandResultFactory({ data: OS_VERSION }))\n .mockResolvedValueOnce(CommandResultFactory({ data: CUSTOM_IMAGE_SIZE }));\n MANAGER_MOCK.getLatestFirmwareVersion.mockReturnValueOnce(\n EitherAsync(async ({ throwE }) => {\n throwE(new Error(\"error\"));\n }),\n );\n\n // WHEN\n const result = await new GetFirmwareMetadataTask(apiMock).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE_VERSION,\n firmwareVersion: {\n mcu: \"mcu_version\",\n bootloader: \"bl_version\",\n os: \"se_version\",\n metadata: OS_VERSION,\n },\n firmwareUpdateContext: {\n currentFirmware: FIRMWARE_VERSION,\n availableUpdate: undefined,\n },\n customImage: { size: CUSTOM_IMAGE_SIZE },\n },\n }),\n );\n });\n\n it(\"success with a firmware update available\", async () => {\n // GIVEN\n apiMock.sendCommand\n .mockResolvedValueOnce(CommandResultFactory({ data: OS_VERSION }))\n .mockResolvedValueOnce(\n CommandResultFactory({ error: new InvalidStatusWordError(\"error\") }),\n );\n\n // WHEN\n const result = await new GetFirmwareMetadataTask(apiMock).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE_VERSION,\n firmwareVersion: {\n mcu: \"mcu_version\",\n bootloader: \"bl_version\",\n os: \"se_version\",\n metadata: OS_VERSION,\n },\n firmwareUpdateContext: {\n currentFirmware: FIRMWARE_VERSION,\n availableUpdate: {\n osuFirmware: OSU_VERSION,\n finalFirmware: NEXT_FIRMWARE_VERSION,\n mcuUpdateRequired: false,\n },\n },\n customImage: {},\n },\n }),\n );\n expect(MANAGER_MOCK.getDeviceVersion).toHaveBeenCalledWith(OS_VERSION);\n expect(MANAGER_MOCK.getFirmwareVersion).toHaveBeenCalledWith(\n OS_VERSION,\n DEVICE_VERSION,\n );\n expect(MANAGER_MOCK.getLatestFirmwareVersion).toHaveBeenCalledWith(\n FIRMWARE_VERSION,\n DEVICE_VERSION,\n );\n expect(MANAGER_MOCK.getNextFirmwareVersion).toHaveBeenCalledWith(\n OSU_VERSION,\n );\n });\n\n it(\"success with a firmware update available and MCU update\", async () => {\n // GIVEN\n apiMock.sendCommand\n .mockResolvedValueOnce(CommandResultFactory({ data: OS_VERSION }))\n .mockResolvedValueOnce(\n CommandResultFactory({ error: new InvalidStatusWordError(\"error\") }),\n );\n const nextFirmware = {\n ...NEXT_FIRMWARE_VERSION,\n mcuVersions: [3],\n };\n MANAGER_MOCK.getNextFirmwareVersion.mockReturnValue(\n EitherAsync(async () => nextFirmware),\n );\n\n // WHEN\n const result = await new GetFirmwareMetadataTask(apiMock).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE_VERSION,\n firmwareVersion: {\n mcu: \"mcu_version\",\n bootloader: \"bl_version\",\n os: \"se_version\",\n metadata: OS_VERSION,\n },\n firmwareUpdateContext: {\n currentFirmware: FIRMWARE_VERSION,\n availableUpdate: {\n osuFirmware: OSU_VERSION,\n finalFirmware: nextFirmware,\n mcuUpdateRequired: true,\n },\n },\n customImage: {},\n },\n }),\n );\n });\n\n it(\"should fail when OS version cannot be retrieved\", async () => {\n // GIVEN\n apiMock.sendCommand.mockResolvedValueOnce(\n CommandResultFactory({ error: new InvalidStatusWordError(\"error\") }),\n );\n\n // WHEN\n const result = await new GetFirmwareMetadataTask(apiMock).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({ error: new InvalidStatusWordError(\"error\") }),\n );\n });\n\n it(\"should fail if device version cannot be fetched with InvalidGetFirmwareMetadataResponseError\", async () => {\n // GIVEN\n apiMock.sendCommand.mockResolvedValueOnce(\n CommandResultFactory({ data: OS_VERSION }),\n );\n MANAGER_MOCK.getDeviceVersion.mockReturnValueOnce(\n EitherAsync(async ({ throwE }) => {\n throwE(new Error(\"error\"));\n }),\n );\n\n // WHEN\n const result = await new GetFirmwareMetadataTask(apiMock).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({\n error: new InvalidGetFirmwareMetadataResponseError(),\n }),\n );\n });\n\n it(\"should fail if firmware version cannot be fetched with InvalidGetFirmwareMetadataResponseError\", async () => {\n // GIVEN\n apiMock.sendCommand.mockResolvedValueOnce(\n CommandResultFactory({ data: OS_VERSION }),\n );\n MANAGER_MOCK.getFirmwareVersion.mockReturnValueOnce(\n EitherAsync(async ({ throwE }) => {\n throwE(new Error(\"error\"));\n }),\n );\n\n // WHEN\n const result = await new GetFirmwareMetadataTask(apiMock).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({\n error: new InvalidGetFirmwareMetadataResponseError(),\n }),\n );\n });\n});\n"],
|
|
5
|
-
"mappings": "AAAA,OAAS,eAAAA,
|
|
6
|
-
"names": ["EitherAsync", "InvalidStatusWordError", "CommandResultFactory", "makeDeviceActionInternalApiMock", "InvalidGetFirmwareMetadataResponseError", "DmkResultFactory", "GetFirmwareMetadataTask", "apiMock", "OS_VERSION", "CUSTOM_IMAGE_SIZE", "DEVICE_VERSION", "FIRMWARE_VERSION", "OSU_VERSION", "NEXT_FIRMWARE_VERSION", "MCUS", "MANAGER_MOCK", "
|
|
4
|
+
"sourcesContent": ["import { EitherAsync, Just, Nothing } from \"purify-ts\";\n\nimport { InvalidStatusWordError } from \"@api/command/Errors\";\nimport { CommandResultFactory } from \"@api/command/model/CommandResult\";\nimport { type GetOsVersionResponse } from \"@api/command/os/GetOsVersionCommand\";\nimport { makeDeviceActionInternalApiMock } from \"@api/device-action/__test-utils__/makeInternalApi\";\nimport { InvalidGetFirmwareMetadataResponseError } from \"@api/device-action/task/Errors\";\nimport { DmkResultFactory } from \"@api/model/DmkResult\";\nimport {\n type FinalFirmware,\n type McuFirmware,\n type OsuFirmware,\n} from \"@internal/manager-api/model/Firmware\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\n\nimport { GetFirmwareMetadataTask } from \"./GetFirmwareMetadataTask\";\n\ndescribe(\"GetFirmwareMetadataTask\", () => {\n const apiMock = makeDeviceActionInternalApiMock();\n const OS_VERSION = {\n mcuSephVersion: \"mcu_version\",\n mcuBootloaderVersion: \"bl_version\",\n seVersion: \"se_version\",\n } as GetOsVersionResponse;\n\n const CUSTOM_IMAGE_SIZE = 97;\n\n const DEVICE_VERSION = {\n id: 7,\n };\n\n const FIRMWARE_VERSION = {\n id: 361,\n version: \"1.6.0\",\n perso: \"perso_11\",\n } as FinalFirmware;\n\n const OSU_VERSION = {\n id: 362,\n perso: \"perso_11\",\n notes: \"notes\",\n } as OsuFirmware;\n\n const NEXT_FIRMWARE_VERSION = {\n id: 363,\n version: \"1.7.0\",\n perso: \"perso_11\",\n mcuVersions: [1],\n } as FinalFirmware;\n\n const MCUS = [\n {\n id: 3,\n name: \"other_version\",\n fromBootloaderVersion: \"1.0\",\n },\n {\n id: 1,\n name: \"mcu_version\",\n fromBootloaderVersion: \"1.0\",\n },\n ] as McuFirmware[];\n\n const MANAGER_MOCK = {\n getDeviceVersion: vi.fn(),\n getFirmwareVersion: vi.fn(),\n getLatestFirmwareVersion: vi.fn(),\n getNextFirmwareVersion: vi.fn(),\n getMcuList: vi.fn(),\n };\n\n beforeEach(() => {\n vi.resetAllMocks();\n\n apiMock.getManagerApiService.mockReturnValue(\n MANAGER_MOCK as unknown as ManagerApiService,\n );\n MANAGER_MOCK.getDeviceVersion.mockReturnValue(\n EitherAsync(async () => DEVICE_VERSION),\n );\n MANAGER_MOCK.getFirmwareVersion.mockReturnValue(\n EitherAsync(async () => FIRMWARE_VERSION),\n );\n MANAGER_MOCK.getLatestFirmwareVersion.mockReturnValue(\n EitherAsync(async () => Just(OSU_VERSION)),\n );\n MANAGER_MOCK.getNextFirmwareVersion.mockReturnValue(\n EitherAsync(async () => NEXT_FIRMWARE_VERSION),\n );\n MANAGER_MOCK.getMcuList.mockReturnValue(EitherAsync(async () => MCUS));\n });\n\n it(\"success with no firmware update available\", async () => {\n // GIVEN\n apiMock.sendCommand\n .mockResolvedValueOnce(CommandResultFactory({ data: OS_VERSION }))\n .mockResolvedValueOnce(CommandResultFactory({ data: CUSTOM_IMAGE_SIZE }));\n MANAGER_MOCK.getLatestFirmwareVersion.mockReturnValueOnce(\n EitherAsync(async () => Nothing),\n );\n\n // WHEN\n const result = await new GetFirmwareMetadataTask(apiMock).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE_VERSION,\n firmwareVersion: {\n mcu: \"mcu_version\",\n bootloader: \"bl_version\",\n os: \"se_version\",\n metadata: OS_VERSION,\n },\n firmwareUpdateContext: {\n currentFirmware: FIRMWARE_VERSION,\n availableUpdate: undefined,\n },\n customImage: { size: CUSTOM_IMAGE_SIZE },\n },\n }),\n );\n });\n\n it(\"success with no firmware update when latest firmware cannot be fetched\", async () => {\n // GIVEN\n apiMock.sendCommand\n .mockResolvedValueOnce(CommandResultFactory({ data: OS_VERSION }))\n .mockResolvedValueOnce(CommandResultFactory({ data: CUSTOM_IMAGE_SIZE }));\n MANAGER_MOCK.getLatestFirmwareVersion.mockReturnValueOnce(\n EitherAsync(async ({ throwE }) => {\n throwE(new Error(\"error\"));\n }),\n );\n\n // WHEN\n const result = await new GetFirmwareMetadataTask(apiMock).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE_VERSION,\n firmwareVersion: {\n mcu: \"mcu_version\",\n bootloader: \"bl_version\",\n os: \"se_version\",\n metadata: OS_VERSION,\n },\n firmwareUpdateContext: {\n currentFirmware: FIRMWARE_VERSION,\n availableUpdate: undefined,\n },\n customImage: { size: CUSTOM_IMAGE_SIZE },\n },\n }),\n );\n });\n\n it(\"success with a firmware update available\", async () => {\n // GIVEN\n apiMock.sendCommand\n .mockResolvedValueOnce(CommandResultFactory({ data: OS_VERSION }))\n .mockResolvedValueOnce(\n CommandResultFactory({ error: new InvalidStatusWordError(\"error\") }),\n );\n\n // WHEN\n const result = await new GetFirmwareMetadataTask(apiMock).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE_VERSION,\n firmwareVersion: {\n mcu: \"mcu_version\",\n bootloader: \"bl_version\",\n os: \"se_version\",\n metadata: OS_VERSION,\n },\n firmwareUpdateContext: {\n currentFirmware: FIRMWARE_VERSION,\n availableUpdate: {\n osuFirmware: OSU_VERSION,\n finalFirmware: NEXT_FIRMWARE_VERSION,\n mcuUpdateRequired: false,\n },\n },\n customImage: {},\n },\n }),\n );\n expect(MANAGER_MOCK.getDeviceVersion).toHaveBeenCalledWith(OS_VERSION);\n expect(MANAGER_MOCK.getFirmwareVersion).toHaveBeenCalledWith(\n OS_VERSION,\n DEVICE_VERSION,\n );\n expect(MANAGER_MOCK.getLatestFirmwareVersion).toHaveBeenCalledWith(\n FIRMWARE_VERSION,\n DEVICE_VERSION,\n );\n expect(MANAGER_MOCK.getNextFirmwareVersion).toHaveBeenCalledWith(\n OSU_VERSION,\n );\n });\n\n it(\"success with a firmware update available and MCU update\", async () => {\n // GIVEN\n apiMock.sendCommand\n .mockResolvedValueOnce(CommandResultFactory({ data: OS_VERSION }))\n .mockResolvedValueOnce(\n CommandResultFactory({ error: new InvalidStatusWordError(\"error\") }),\n );\n const nextFirmware = {\n ...NEXT_FIRMWARE_VERSION,\n mcuVersions: [3],\n };\n MANAGER_MOCK.getNextFirmwareVersion.mockReturnValue(\n EitherAsync(async () => nextFirmware),\n );\n\n // WHEN\n const result = await new GetFirmwareMetadataTask(apiMock).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE_VERSION,\n firmwareVersion: {\n mcu: \"mcu_version\",\n bootloader: \"bl_version\",\n os: \"se_version\",\n metadata: OS_VERSION,\n },\n firmwareUpdateContext: {\n currentFirmware: FIRMWARE_VERSION,\n availableUpdate: {\n osuFirmware: OSU_VERSION,\n finalFirmware: nextFirmware,\n mcuUpdateRequired: true,\n },\n },\n customImage: {},\n },\n }),\n );\n });\n\n it(\"success with a firmware update available when current MCU is unknown\", async () => {\n // GIVEN\n apiMock.sendCommand\n .mockResolvedValueOnce(CommandResultFactory({ data: OS_VERSION }))\n .mockResolvedValueOnce(\n CommandResultFactory({ error: new InvalidStatusWordError(\"error\") }),\n );\n MANAGER_MOCK.getMcuList.mockReturnValueOnce(\n EitherAsync(async () => [\n {\n id: 3,\n name: \"other_version\",\n fromBootloaderVersion: \"1.0\",\n },\n ]),\n );\n\n // WHEN\n const result = await new GetFirmwareMetadataTask(apiMock).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE_VERSION,\n firmwareVersion: {\n mcu: \"mcu_version\",\n bootloader: \"bl_version\",\n os: \"se_version\",\n metadata: OS_VERSION,\n },\n firmwareUpdateContext: {\n currentFirmware: FIRMWARE_VERSION,\n availableUpdate: {\n osuFirmware: OSU_VERSION,\n finalFirmware: NEXT_FIRMWARE_VERSION,\n mcuUpdateRequired: true,\n },\n },\n customImage: {},\n },\n }),\n );\n });\n\n it(\"success with no firmware update when next firmware cannot be fetched\", async () => {\n // GIVEN\n apiMock.sendCommand\n .mockResolvedValueOnce(CommandResultFactory({ data: OS_VERSION }))\n .mockResolvedValueOnce(\n CommandResultFactory({ error: new InvalidStatusWordError(\"error\") }),\n );\n MANAGER_MOCK.getNextFirmwareVersion.mockReturnValueOnce(\n EitherAsync(async ({ throwE }) => {\n throwE(new Error(\"error\"));\n }),\n );\n\n // WHEN\n const result = await new GetFirmwareMetadataTask(apiMock).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE_VERSION,\n firmwareVersion: {\n mcu: \"mcu_version\",\n bootloader: \"bl_version\",\n os: \"se_version\",\n metadata: OS_VERSION,\n },\n firmwareUpdateContext: {\n currentFirmware: FIRMWARE_VERSION,\n availableUpdate: undefined,\n },\n customImage: {},\n },\n }),\n );\n });\n\n it(\"success with no firmware update when MCU list cannot be fetched\", async () => {\n // GIVEN\n apiMock.sendCommand\n .mockResolvedValueOnce(CommandResultFactory({ data: OS_VERSION }))\n .mockResolvedValueOnce(\n CommandResultFactory({ error: new InvalidStatusWordError(\"error\") }),\n );\n MANAGER_MOCK.getMcuList.mockReturnValueOnce(\n EitherAsync(async ({ throwE }) => {\n throwE(new Error(\"error\"));\n }),\n );\n\n // WHEN\n const result = await new GetFirmwareMetadataTask(apiMock).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE_VERSION,\n firmwareVersion: {\n mcu: \"mcu_version\",\n bootloader: \"bl_version\",\n os: \"se_version\",\n metadata: OS_VERSION,\n },\n firmwareUpdateContext: {\n currentFirmware: FIRMWARE_VERSION,\n availableUpdate: undefined,\n },\n customImage: {},\n },\n }),\n );\n });\n\n it(\"should fail when OS version cannot be retrieved\", async () => {\n // GIVEN\n apiMock.sendCommand.mockResolvedValueOnce(\n CommandResultFactory({ error: new InvalidStatusWordError(\"error\") }),\n );\n\n // WHEN\n const result = await new GetFirmwareMetadataTask(apiMock).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({ error: new InvalidStatusWordError(\"error\") }),\n );\n });\n\n it(\"should fail if device version cannot be fetched with InvalidGetFirmwareMetadataResponseError\", async () => {\n // GIVEN\n apiMock.sendCommand.mockResolvedValueOnce(\n CommandResultFactory({ data: OS_VERSION }),\n );\n MANAGER_MOCK.getDeviceVersion.mockReturnValueOnce(\n EitherAsync(async ({ throwE }) => {\n throwE(new Error(\"error\"));\n }),\n );\n\n // WHEN\n const result = await new GetFirmwareMetadataTask(apiMock).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({\n error: new InvalidGetFirmwareMetadataResponseError(),\n }),\n );\n });\n\n it(\"should fail if firmware version cannot be fetched with InvalidGetFirmwareMetadataResponseError\", async () => {\n // GIVEN\n apiMock.sendCommand.mockResolvedValueOnce(\n CommandResultFactory({ data: OS_VERSION }),\n );\n MANAGER_MOCK.getFirmwareVersion.mockReturnValueOnce(\n EitherAsync(async ({ throwE }) => {\n throwE(new Error(\"error\"));\n }),\n );\n\n // WHEN\n const result = await new GetFirmwareMetadataTask(apiMock).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({\n error: new InvalidGetFirmwareMetadataResponseError(),\n }),\n );\n });\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["EitherAsync", "Just", "Nothing", "InvalidStatusWordError", "CommandResultFactory", "makeDeviceActionInternalApiMock", "InvalidGetFirmwareMetadataResponseError", "DmkResultFactory", "GetFirmwareMetadataTask", "apiMock", "OS_VERSION", "CUSTOM_IMAGE_SIZE", "DEVICE_VERSION", "FIRMWARE_VERSION", "OSU_VERSION", "NEXT_FIRMWARE_VERSION", "MCUS", "MANAGER_MOCK", "result", "throwE", "nextFirmware"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var d=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var y=(n,e,r,t)=>{for(var i=t>1?void 0:t?A(e,r):e,a=n.length-1,p;a>=0;a--)(p=n[a])&&(i=(t?p(e,r,i):p(i))||i);return t&&i&&d(e,r,i),i},u=(n,e)=>(r,t)=>e(r,t,n);import{inject as
|
|
1
|
+
var d=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var y=(n,e,r,t)=>{for(var i=t>1?void 0:t?A(e,r):e,a=n.length-1,p;a>=0;a--)(p=n[a])&&(i=(t?p(e,r,i):p(i))||i);return t&&i&&d(e,r,i),i},u=(n,e)=>(r,t)=>e(r,t,n);import{inject as _,injectable as w}from"inversify";import{EitherAsync as o,Just as D,Nothing as F}from"purify-ts";import{DmkNetworkClient as E}from"../../../api/network/DmkNetworkClient";import{DmkNetworkClientError as L}from"../../../api/network/DmkNetworkClientError";import{managerApiTypes as b}from"../../manager-api/di/managerApiTypes";import{AppType as m}from"../../manager-api/model/Application";import{DEFAULT_PROVIDER as V}from"../../manager-api/model/Const";import{DEFAULT_FIRMWARE_DISTRIBUTION_SALT as P}from"../../manager-api/model/Const";import{HttpFetchApiError as f}from"../../manager-api/model/Errors";import{AppTypeDto as c}from"./ManagerApiDto";const s=n=>n instanceof L&&n.cause!==void 0?new f(n.cause):new f(n);let l=class{http;_provider=V;_firmwareDistributionSalt=P;constructor({managerApiUrl:e,provider:r,firmwareDistributionSalt:t}){this.http=new E({baseUrl:e}),this._provider=r,this._firmwareDistributionSalt=t}setProvider(e){this._provider===e||e<1||(this._provider=e)}getProvider(){return this._provider}getAppList(e){const{targetId:r,firmwareVersionName:t}=e;return o(()=>this.http.get("/v2/apps/by-target",{params:{target_id:r,provider:this._provider,firmware_version_name:t}})).chain(i=>this.mapApplicationDtoToApplication(i)).mapLeft(s)}getMcuList(){return o(()=>this.http.get("/mcu_versions")).chain(e=>this.mapMcuDtoToMcu(e)).mapLeft(s)}getDeviceVersion(e){const{targetId:r}=e;return o(()=>this.http.get("/get_device_version",{params:{target_id:r,provider:this._provider}})).chain(t=>this.mapDeviceVersionDto(t)).mapLeft(s)}getFirmwareVersion(e){const{deviceId:r,version:t}=e;return o(()=>this.http.get("/get_firmware_version",{params:{device_version:r,version_name:t,provider:this._provider}})).chain(i=>this.mapFinalFirmwareDto(i)).mapLeft(s)}getFirmwareVersionById(e){return o(()=>this.http.get(`/firmware_final_versions/${e}`)).chain(r=>this.mapFinalFirmwareDto(r)).mapLeft(s)}getOsuFirmwareVersion(e){const{deviceId:r,version:t}=e;return o(()=>this.http.get("/get_osu_version",{params:{device_version:r,version_name:t,provider:this._provider}})).chain(i=>this.mapOsuFirmwareDto(i)).mapLeft(s)}getLatestFirmwareVersion(e){const r="34.27.0",{currentFinalFirmwareId:t,deviceId:i}=e;return o(()=>this.http.get("/get_latest_firmware",{params:{current_se_firmware_final_version:t,device_version:i,provider:this._provider,salt:this._firmwareDistributionSalt,livecommonversion:r}})).chain(a=>this.mapLatestFirmwareDto(a)).mapLeft(s)}getAppsByHash(e){const{hashes:r}=e;return o(()=>this.http.post("/v2/apps/hash",r)).chain(t=>this.mapNullableApplicationDtoToApplication(t)).mapLeft(s)}getLanguagePackages(e){const{deviceId:r,currentFinalFirmwareId:t}=e;return o(()=>this.http.get("/language-packages",{params:{device_version:r,current_se_firmware_final_version:t}})).chain(i=>this.mapLanguagesDtoToLanguages(i)).mapLeft(s)}mapAppTypeDtoToAppType(e){if(e===null)return null;switch(e){case c.currency:return m.currency;case c.plugin:return m.plugin;case c.tool:return m.tool;case c.swap:return m.swap}}mapApplicationDtoToApplication(e){return o(()=>Promise.resolve(e.map(r=>this.mapApplicationDto(r))))}mapNullableApplicationDtoToApplication(e){return o(()=>Promise.resolve(e.map(r=>r===null?null:this.mapApplicationDto(r))))}mapApplicationDto(e){if(typeof e!="object"||typeof e.versionId!="number"||typeof e.versionName!="string"||e.versionDisplayName!==null&&typeof e.versionDisplayName!="string"||typeof e.version!="string"||e.currencyId!==null&&typeof e.currencyId!="string"||e.description!==null&&typeof e.description!="string"||e.applicationType!==null&&typeof e.applicationType!="string"||typeof e.dateModified!="string"||e.icon!==null&&typeof e.icon!="string"||e.authorName!==null&&typeof e.authorName!="string"||e.supportURL!==null&&typeof e.supportURL!="string"||e.contactURL!==null&&typeof e.contactURL!="string"||e.sourceURL!==null&&typeof e.sourceURL!="string"||e.compatibleWallets!==null&&typeof e.compatibleWallets!="string"||typeof e.hash!="string"||typeof e.perso!="string"||typeof e.firmware!="string"||typeof e.firmwareKey!="string"||typeof e.delete!="string"||typeof e.deleteKey!="string"||e.bytes!==null&&typeof e.bytes!="number"||e.warning!==null&&typeof e.warning!="string"||typeof e.isDevTools!="boolean"||e.category!==null&&typeof e.category!="number"||e.parent!==null&&typeof e.parent!="number"||e.parentName!==null&&typeof e.parentName!="string")throw new Error(`Incomplete application: ${JSON.stringify(e)}`);const{applicationType:r,hash:t,perso:i,firmware:a,firmwareKey:p,delete:h,deleteKey:g,...v}=e;return{...v,hash:t,perso:i,firmware:a,firmwareKey:p,delete:h,deleteKey:g,applicationType:this.mapAppTypeDtoToAppType(r)}}mapMcuDtoToMcu(e){return o(()=>Promise.resolve(e.map(r=>{if(typeof r!="object"||typeof r.id!="number"||typeof r.name!="string"||typeof r.from_bootloader_version!="string")throw new Error(`Incomplete MCU version: ${JSON.stringify(r)}`);return{id:r.id,name:r.name,fromBootloaderVersion:r.from_bootloader_version}})))}mapDeviceVersionDto(e){return o(()=>{if(typeof e!="object"||typeof e.id!="number")throw new Error(`Incomplete device version: ${JSON.stringify(e)}`);const r={id:e.id};return Promise.resolve(r)})}mapFinalFirmwareDto(e){return o(()=>{if(typeof e!="object"||typeof e.id!="number"||typeof e.version!="string"||typeof e.perso!="string"||e.firmware!==null&&typeof e.firmware!="string"||e.firmware_key!==null&&typeof e.firmware_key!="string"||e.hash!==null&&typeof e.hash!="string"||e.bytes!==null&&typeof e.bytes!="number"||!Array.isArray(e.mcu_versions))throw new Error(`Incomplete final firmware: ${JSON.stringify(e)}`);const r={id:e.id,version:e.version,perso:e.perso,firmware:e.firmware,firmwareKey:e.firmware_key,hash:e.hash,bytes:e.bytes,mcuVersions:e.mcu_versions};return Promise.resolve(r)})}mapLatestFirmwareDto(e){return o(()=>{if(e.result==="null")return Promise.resolve(null);if(e.result!=="success"||!e.se_firmware_osu_version)throw new Error(`Latest firmware could not be retrieved: ${e.result}`);const r=e.se_firmware_osu_version;return Promise.resolve(r)}).chain(r=>r===null?o(()=>Promise.resolve(F)):this.mapOsuFirmwareDto(r).map(t=>D(t)))}mapOsuFirmwareDto(e){return o(()=>{if(typeof e!="object"||typeof e.id!="number"||e.notes!==null&&typeof e.notes!="string"||typeof e.perso!="string"||typeof e.firmware!="string"||typeof e.firmware_key!="string"||e.hash!==null&&typeof e.hash!="string"||typeof e.next_se_firmware_final_version!="number")throw new Error(`Incomplete latest firmware: ${JSON.stringify(e)}`);const r={id:e.id,notes:e.notes,perso:e.perso,firmware:e.firmware,firmwareKey:e.firmware_key,hash:e.hash,nextFinalFirmware:e.next_se_firmware_final_version};return Promise.resolve(r)})}mapLanguagesDtoToLanguages(e){return o(()=>Promise.resolve(e.map(r=>this.mapLanguageDto(r))))}mapLanguageDto(e){if(typeof e!="object"||typeof e.language!="string"||typeof e.languagePackageVersionId!="number"||typeof e.version!="string"||typeof e.language_package_id!="number"||typeof e.apdu_install_url!="string"||typeof e.apdu_uninstall_url!="string"||typeof e.bytes!="number"||typeof e.date_creation!="string"||typeof e.date_last_modified!="string")throw new Error(`Incomplete language version: ${JSON.stringify(e)}`);return{language:e.language,languagePackageVersionId:e.languagePackageVersionId,version:e.version,languagePackageId:e.language_package_id,apduInstallUrl:e.apdu_install_url,apduUninstallUrl:e.apdu_uninstall_url,bytes:e.bytes,dateCreation:e.date_creation,dateLastModified:e.date_last_modified}}};l=y([w(),u(0,_(b.DmkConfig))],l);export{l as HttpManagerApiDataSource};
|
|
2
2
|
//# sourceMappingURL=HttpManagerApiDataSource.js.map
|