@ledgerhq/device-management-kit 0.0.0-develop-20250402001126 → 0.0.0-develop-20250404001133

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/README.md +8 -0
  2. package/lib/cjs/src/api/DeviceManagementKit.js +1 -1
  3. package/lib/cjs/src/api/DeviceManagementKit.js.map +2 -2
  4. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js +1 -1
  5. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +2 -2
  6. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +1 -1
  7. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +2 -2
  8. package/lib/cjs/src/internal/manager-api/data/ManagerApiDataSource.js.map +1 -1
  9. package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js +1 -1
  10. package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +2 -2
  11. package/lib/esm/src/api/DeviceManagementKit.js +1 -1
  12. package/lib/esm/src/api/DeviceManagementKit.js.map +2 -2
  13. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js +1 -1
  14. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +2 -2
  15. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +1 -1
  16. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +2 -2
  17. package/lib/esm/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js +1 -1
  18. package/lib/esm/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +2 -2
  19. package/lib/types/src/api/DeviceManagementKit.d.ts +4 -0
  20. package/lib/types/src/api/DeviceManagementKit.d.ts.map +1 -1
  21. package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts +1 -0
  22. package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts.map +1 -1
  23. package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts +4 -0
  24. package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts.map +1 -1
  25. package/lib/types/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.d.ts +1 -0
  26. package/lib/types/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.d.ts.map +1 -1
  27. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  28. package/package.json +1 -1
package/README.md CHANGED
@@ -106,6 +106,14 @@ export const sdk = new DeviceManagementKitBuilder()
106
106
  dmk.setProvider(123); // using the setProvider from DMK
107
107
  ```
108
108
 
109
+ ### Get the current provider
110
+
111
+ getProvider function will return the current provider set within the Device Management Kit, whether it has been set at build or run time:
112
+
113
+ ```ts
114
+ dmk.getProvider();
115
+ ```
116
+
109
117
  ### Connecting to a Device
110
118
 
111
119
  There are two steps to connecting to a device:
@@ -1,2 +1,2 @@
1
- "use strict";var c=Object.defineProperty;var D=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var U=Object.prototype.hasOwnProperty;var g=(t,e)=>{for(var r in e)c(t,r,{get:e[r],enumerable:!0})},y=(t,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of u(e))!U.call(t,i)&&i!==r&&c(t,i,{get:()=>e[i],enumerable:!(o=D(e,i))||o.enumerable});return t};var S=t=>y(c({},"__esModule",{value:!0}),t);var l={};g(l,{DeviceManagementKit:()=>A});module.exports=S(l);var a=require("./command/di/commandTypes"),C=require("../internal/config/di/configTypes"),n=require("../internal/device-session/di/deviceSessionTypes"),s=require("../internal/discovery/di/discoveryTypes"),m=require("../internal/manager-api/di/managerApiTypes"),p=require("../internal/send/di/sendTypes"),v=require("../../src/di"),d=require("./device-action/di/deviceActionTypes");class A{container;constructor({stub:e,transports:r,loggers:o,config:i}={}){this.container=(0,v.makeContainer)({stub:e,transports:r,loggers:o,config:i})}getVersion(){return this.container.get(C.configTypes.GetDmkVersionUseCase).getDmkVersion()}startDiscovering(e){return this.container.get(s.discoveryTypes.StartDiscoveringUseCase).execute(e)}stopDiscovering(){return this.container.get(s.discoveryTypes.StopDiscoveringUseCase).execute()}listenToAvailableDevices(e){return this.container.get(s.discoveryTypes.ListenToAvailableDevicesUseCase).execute(e)}connect(e){return this.container.get(s.discoveryTypes.ConnectUseCase).execute(e)}disconnect(e){return this.container.get(s.discoveryTypes.DisconnectUseCase).execute(e)}sendApdu(e){return this.container.get(p.sendTypes.SendApduUseCase).execute(e)}sendCommand(e){return this.container.get(a.commandTypes.SendCommandUseCase).execute(e)}executeDeviceAction(e){return this.container.get(d.deviceActionTypes.ExecuteDeviceActionUseCase).execute(e)}getConnectedDevice(e){return this.container.get(s.discoveryTypes.GetConnectedDeviceUseCase).execute(e)}getDeviceSessionState(e){return this.container.get(n.deviceSessionTypes.GetDeviceSessionStateUseCase).execute(e)}close(){return this.container.get(n.deviceSessionTypes.CloseSessionsUseCase).execute()}listConnectedDevices(){return this.container.get(s.discoveryTypes.ListConnectedDevicesUseCase).execute()}listenToConnectedDevice(){return this.container.get(s.discoveryTypes.ListenToConnectedDeviceUseCase).execute()}disableDeviceSessionRefresher(e){return this.container.get(n.deviceSessionTypes.DisableDeviceSessionRefresherUseCase).execute(e)}setProvider(e){return this.container.get(m.managerApiTypes.SetProviderUseCase).execute(e)}}0&&(module.exports={DeviceManagementKit});
1
+ "use strict";var c=Object.defineProperty;var D=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var U=Object.prototype.hasOwnProperty;var g=(t,e)=>{for(var i in e)c(t,i,{get:e[i],enumerable:!0})},y=(t,e,i,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of u(e))!U.call(t,r)&&r!==i&&c(t,r,{get:()=>e[r],enumerable:!(o=D(e,r))||o.enumerable});return t};var S=t=>y(c({},"__esModule",{value:!0}),t);var l={};g(l,{DeviceManagementKit:()=>A});module.exports=S(l);var p=require("./command/di/commandTypes"),m=require("../internal/config/di/configTypes"),n=require("../internal/device-session/di/deviceSessionTypes"),s=require("../internal/discovery/di/discoveryTypes"),a=require("../internal/manager-api/di/managerApiTypes"),C=require("../internal/send/di/sendTypes"),v=require("../../src/di"),d=require("./device-action/di/deviceActionTypes");class A{container;constructor({stub:e,transports:i,loggers:o,config:r}={}){this.container=(0,v.makeContainer)({stub:e,transports:i,loggers:o,config:r})}getVersion(){return this.container.get(m.configTypes.GetDmkVersionUseCase).getDmkVersion()}startDiscovering(e){return this.container.get(s.discoveryTypes.StartDiscoveringUseCase).execute(e)}stopDiscovering(){return this.container.get(s.discoveryTypes.StopDiscoveringUseCase).execute()}listenToAvailableDevices(e){return this.container.get(s.discoveryTypes.ListenToAvailableDevicesUseCase).execute(e)}connect(e){return this.container.get(s.discoveryTypes.ConnectUseCase).execute(e)}disconnect(e){return this.container.get(s.discoveryTypes.DisconnectUseCase).execute(e)}sendApdu(e){return this.container.get(C.sendTypes.SendApduUseCase).execute(e)}sendCommand(e){return this.container.get(p.commandTypes.SendCommandUseCase).execute(e)}executeDeviceAction(e){return this.container.get(d.deviceActionTypes.ExecuteDeviceActionUseCase).execute(e)}getConnectedDevice(e){return this.container.get(s.discoveryTypes.GetConnectedDeviceUseCase).execute(e)}getDeviceSessionState(e){return this.container.get(n.deviceSessionTypes.GetDeviceSessionStateUseCase).execute(e)}close(){return this.container.get(n.deviceSessionTypes.CloseSessionsUseCase).execute()}listConnectedDevices(){return this.container.get(s.discoveryTypes.ListConnectedDevicesUseCase).execute()}listenToConnectedDevice(){return this.container.get(s.discoveryTypes.ListenToConnectedDeviceUseCase).execute()}disableDeviceSessionRefresher(e){return this.container.get(n.deviceSessionTypes.DisableDeviceSessionRefresherUseCase).execute(e)}setProvider(e){return this.container.get(a.managerApiTypes.SetProviderUseCase).execute(e)}getProvider(){return this.container.get(a.managerApiTypes.ManagerApiDataSource).getProvider()}}0&&(module.exports={DeviceManagementKit});
2
2
  //# sourceMappingURL=DeviceManagementKit.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/api/DeviceManagementKit.ts"],
4
- "sourcesContent": ["import { type Container } from \"inversify\";\nimport { type Observable } from \"rxjs\";\n\nimport { commandTypes } from \"@api/command/di/commandTypes\";\nimport { type CommandResult } from \"@api/command/model/CommandResult\";\nimport {\n type SendCommandUseCase,\n type SendCommandUseCaseArgs,\n} from \"@api/command/use-case/SendCommandUseCase\";\nimport {\n type ExecuteDeviceActionUseCase,\n type ExecuteDeviceActionUseCaseArgs,\n} from \"@api/device-action/use-case/ExecuteDeviceActionUseCase\";\nimport { type ApduResponse } from \"@api/device-session/ApduResponse\";\nimport { type DeviceSessionState } from \"@api/device-session/DeviceSessionState\";\nimport { type DeviceSessionId } from \"@api/device-session/types\";\nimport { type ConnectedDevice } from \"@api/transport/model/ConnectedDevice\";\nimport {\n type ConnectUseCaseArgs,\n type DisconnectUseCaseArgs,\n type DiscoveredDevice,\n type GetConnectedDeviceUseCaseArgs,\n type SendApduUseCaseArgs,\n type StartDiscoveringUseCaseArgs,\n} from \"@api/types\";\nimport { configTypes } from \"@internal/config/di/configTypes\";\nimport { type GetDmkVersionUseCase } from \"@internal/config/use-case/GetDmkVersionUseCase\";\nimport { deviceSessionTypes } from \"@internal/device-session/di/deviceSessionTypes\";\nimport { type CloseSessionsUseCase } from \"@internal/device-session/use-case/CloseSessionsUseCase\";\nimport { type GetDeviceSessionStateUseCase } from \"@internal/device-session/use-case/GetDeviceSessionStateUseCase\";\nimport { discoveryTypes } from \"@internal/discovery/di/discoveryTypes\";\nimport { type ConnectUseCase } from \"@internal/discovery/use-case/ConnectUseCase\";\nimport { type DisconnectUseCase } from \"@internal/discovery/use-case/DisconnectUseCase\";\nimport { type GetConnectedDeviceUseCase } from \"@internal/discovery/use-case/GetConnectedDeviceUseCase\";\nimport { type ListConnectedDevicesUseCase } from \"@internal/discovery/use-case/ListConnectedDevicesUseCase\";\nimport {\n type ListenToAvailableDevicesUseCase,\n type ListenToAvailableDevicesUseCaseArgs,\n} from \"@internal/discovery/use-case/ListenToAvailableDevicesUseCase\";\nimport { type ListenToConnectedDeviceUseCase } from \"@internal/discovery/use-case/ListenToConnectedDeviceUseCase\";\nimport type { StartDiscoveringUseCase } from \"@internal/discovery/use-case/StartDiscoveringUseCase\";\nimport type { StopDiscoveringUseCase } from \"@internal/discovery/use-case/StopDiscoveringUseCase\";\nimport { managerApiTypes } from \"@internal/manager-api/di/managerApiTypes\";\nimport { type SetProviderUseCase } from \"@internal/manager-api/use-case/SetProviderUseCase\";\nimport { sendTypes } from \"@internal/send/di/sendTypes\";\nimport { type SendApduUseCase } from \"@internal/send/use-case/SendApduUseCase\";\nimport { makeContainer, type MakeContainerProps } from \"@root/src/di\";\n\nimport {\n type DeviceActionIntermediateValue,\n type ExecuteDeviceActionReturnType,\n} from \"./device-action/DeviceAction\";\nimport { deviceActionTypes } from \"./device-action/di/deviceActionTypes\";\nimport { type DisableDeviceSessionRefresherUseCase } from \"./device-session/use-case/DisableDeviceSessionRefresher\";\nimport { type DmkError } from \"./Error\";\n\n/**\n * The main class to interact with the Device Management Kit.\n *\n * NB: do not instantiate this class directly, instead, use `LedgerDMKBuilder`.\n */\nexport class DeviceManagementKit {\n readonly container: Container;\n /** @internal */\n constructor({\n stub,\n transports,\n loggers,\n config,\n }: Partial<MakeContainerProps> = {}) {\n // NOTE: MakeContainerProps might not be the exact type here\n // For the init of the project this is sufficient, but we might need to\n // update the constructor arguments as we go (we might have more than just the container config)\n this.container = makeContainer({\n stub,\n transports,\n loggers,\n config,\n });\n }\n\n /**\n * Returns a promise resolving to the version of the SDK.\n */\n getVersion(): Promise<string> {\n return this.container\n .get<GetDmkVersionUseCase>(configTypes.GetDmkVersionUseCase)\n .getDmkVersion();\n }\n\n /**\n * Starts discovering devices connected.\n *\n * For the WeHID implementation, this use-case needs to be called as a result\n * of an user interaction (button \"click\" event for ex).\n *\n * @param {StartDiscoveringUseCaseArgs} args - The transport to use for discover, or undefined to discover from all transports.\n * @returns {Observable<DiscoveredDevice>} An observable of discovered devices.\n */\n startDiscovering(\n args: StartDiscoveringUseCaseArgs,\n ): Observable<DiscoveredDevice> {\n return this.container\n .get<StartDiscoveringUseCase>(discoveryTypes.StartDiscoveringUseCase)\n .execute(args);\n }\n\n /**\n * Stops discovering devices connected.\n */\n stopDiscovering() {\n return this.container\n .get<StopDiscoveringUseCase>(discoveryTypes.StopDiscoveringUseCase)\n .execute();\n }\n\n /**\n * Listen to list of known discovered devices (and later BLE).\n * @param {ListenToAvailableDevicesUseCaseArgs} args - The transport to use for discover, or undefined to discover from all transports.\n * @returns {Observable<DiscoveredDevice[]>} An observable of known discovered devices.\n */\n listenToAvailableDevices(\n args: ListenToAvailableDevicesUseCaseArgs,\n ): Observable<DiscoveredDevice[]> {\n return this.container\n .get<ListenToAvailableDevicesUseCase>(\n discoveryTypes.ListenToAvailableDevicesUseCase,\n )\n .execute(args);\n }\n\n /**\n * Connects to a device previously discovered with `DeviceManagementKit.startDiscovering`.\n * Creates a new device session which:\n * - Represents the connection to the device.\n * - Is terminated upon disconnection of the device.\n * - Exposes the device state through an observable (see `DeviceManagementKit.getDeviceSessionState`)\n * - Should be used for all subsequent communication with the device.\n *\n * @param {ConnectUseCaseArgs} args - The arguments for connecting to the device.\n * - `device`: The discovered device obtained from `StartDiscoveringUseCase`.\n * - `sessionRefresherOptions` (optional): Configuration for session refreshing.\n * - `isRefresherDisabled`: Whether the refresher is disabled.\n * - `pollingInterval`: The refresh interval in milliseconds\n * @returns The session ID to use for further communication with the device.\n */\n connect(args: ConnectUseCaseArgs): Promise<DeviceSessionId> {\n return this.container\n .get<ConnectUseCase>(discoveryTypes.ConnectUseCase)\n .execute(args);\n }\n\n /**\n * Disconnects to a discovered device.\n *\n * @param {DisconnectUseCaseArgs} args - The session ID to disconnect.\n */\n disconnect(args: DisconnectUseCaseArgs): Promise<void> {\n return this.container\n .get<DisconnectUseCase>(discoveryTypes.DisconnectUseCase)\n .execute(args);\n }\n\n /**\n * Sends an APDU command to a device through a device session.\n *\n * @param {SendApduUseCaseArgs} args - The device session ID and APDU command to send.\n */\n sendApdu(args: SendApduUseCaseArgs): Promise<ApduResponse> {\n return this.container\n .get<SendApduUseCase>(sendTypes.SendApduUseCase)\n .execute(args);\n }\n\n /**\n * Sends a command to a device through a device session.\n *\n * @param {SendCommandUseCaseArgs<Response, Args, ErrorCodes>} args - The device session ID, command, command error codes and command parameters to send.\n * @returns A promise resolving with the response from the command.\n */\n sendCommand<Response, Args, ErrorCodes>(\n args: SendCommandUseCaseArgs<Response, Args, ErrorCodes>,\n ): Promise<CommandResult<Response, ErrorCodes>> {\n return this.container\n .get<SendCommandUseCase>(commandTypes.SendCommandUseCase)\n .execute(args);\n }\n\n executeDeviceAction<\n Output,\n Input,\n Error extends DmkError,\n IntermediateValue extends DeviceActionIntermediateValue,\n >(\n args: ExecuteDeviceActionUseCaseArgs<\n Output,\n Input,\n Error,\n IntermediateValue\n >,\n ): ExecuteDeviceActionReturnType<Output, Error, IntermediateValue> {\n return this.container\n .get<ExecuteDeviceActionUseCase>(\n deviceActionTypes.ExecuteDeviceActionUseCase,\n )\n .execute(args);\n }\n\n /**\n * Gets the connected from its device session ID.\n *\n * @param {GetConnectedDeviceUseCaseArgs} args - The device session ID.\n * @returns {ConnectedDevice} The connected device.\n */\n getConnectedDevice(args: GetConnectedDeviceUseCaseArgs): ConnectedDevice {\n return this.container\n .get<GetConnectedDeviceUseCase>(discoveryTypes.GetConnectedDeviceUseCase)\n .execute(args);\n }\n\n /**\n * Gets the device state of a session.\n *\n * @param {{ sessionId: DeviceSessionId }} args - The device session ID.\n * @returns {Observable<DeviceSessionState>} An observable of the session device state.\n */\n getDeviceSessionState(args: {\n sessionId: DeviceSessionId;\n }): Observable<DeviceSessionState> {\n return this.container\n .get<GetDeviceSessionStateUseCase>(\n deviceSessionTypes.GetDeviceSessionStateUseCase,\n )\n .execute(args);\n }\n\n /**\n * Close the Device Management kit.\n *\n */\n close() {\n return this.container\n .get<CloseSessionsUseCase>(deviceSessionTypes.CloseSessionsUseCase)\n .execute();\n }\n\n /**\n * Lists all connected devices.\n *\n * @returns {ConnectedDevice[]} The list of device sessions.\n */\n listConnectedDevices(): ConnectedDevice[] {\n return this.container\n .get<ListConnectedDevicesUseCase>(\n discoveryTypes.ListConnectedDevicesUseCase,\n )\n .execute();\n }\n\n /**\n * Listen to connected device.\n *\n * @returns {Observable<ConnectedDevice>} An observable of connected device.\n */\n listenToConnectedDevice(): Observable<ConnectedDevice> {\n return this.container\n .get<ListenToConnectedDeviceUseCase>(\n discoveryTypes.ListenToConnectedDeviceUseCase,\n )\n .execute();\n }\n\n /**\n * Disable the device session refresher.\n *\n * @param {DisableDeviceSessionRefresherUseCaseArgs} args - The device session ID and a string to identify the blocker.\n * @returns {() => void} A function to reenable the device session refresher.\n */\n disableDeviceSessionRefresher(args: {\n sessionId: DeviceSessionId;\n blockerId: string;\n }): () => void {\n return this.container\n .get<DisableDeviceSessionRefresherUseCase>(\n deviceSessionTypes.DisableDeviceSessionRefresherUseCase,\n )\n .execute(args);\n }\n /**\n * Sets the provider for the manager API.\n *\n * @param {number} provider - The provider to set.\n */\n setProvider(provider: number): void {\n return this.container\n .get<SetProviderUseCase>(managerApiTypes.SetProviderUseCase)\n .execute(provider);\n }\n}\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,yBAAAE,IAAA,eAAAC,EAAAH,GAGA,IAAAI,EAA6B,wCAsB7BC,EAA4B,2CAE5BC,EAAmC,0DAGnCC,EAA+B,iDAY/BC,EAAgC,oDAEhCC,EAA0B,uCAE1BC,EAAuD,wBAMvDC,EAAkC,gDAS3B,MAAMT,CAAoB,CACtB,UAET,YAAY,CACV,KAAAU,EACA,WAAAC,EACA,QAAAC,EACA,OAAAC,CACF,EAAiC,CAAC,EAAG,CAInC,KAAK,aAAY,iBAAc,CAC7B,KAAAH,EACA,WAAAC,EACA,QAAAC,EACA,OAAAC,CACF,CAAC,CACH,CAKA,YAA8B,CAC5B,OAAO,KAAK,UACT,IAA0B,cAAY,oBAAoB,EAC1D,cAAc,CACnB,CAWA,iBACEC,EAC8B,CAC9B,OAAO,KAAK,UACT,IAA6B,iBAAe,uBAAuB,EACnE,QAAQA,CAAI,CACjB,CAKA,iBAAkB,CAChB,OAAO,KAAK,UACT,IAA4B,iBAAe,sBAAsB,EACjE,QAAQ,CACb,CAOA,yBACEA,EACgC,CAChC,OAAO,KAAK,UACT,IACC,iBAAe,+BACjB,EACC,QAAQA,CAAI,CACjB,CAiBA,QAAQA,EAAoD,CAC1D,OAAO,KAAK,UACT,IAAoB,iBAAe,cAAc,EACjD,QAAQA,CAAI,CACjB,CAOA,WAAWA,EAA4C,CACrD,OAAO,KAAK,UACT,IAAuB,iBAAe,iBAAiB,EACvD,QAAQA,CAAI,CACjB,CAOA,SAASA,EAAkD,CACzD,OAAO,KAAK,UACT,IAAqB,YAAU,eAAe,EAC9C,QAAQA,CAAI,CACjB,CAQA,YACEA,EAC8C,CAC9C,OAAO,KAAK,UACT,IAAwB,eAAa,kBAAkB,EACvD,QAAQA,CAAI,CACjB,CAEA,oBAMEA,EAMiE,CACjE,OAAO,KAAK,UACT,IACC,oBAAkB,0BACpB,EACC,QAAQA,CAAI,CACjB,CAQA,mBAAmBA,EAAsD,CACvE,OAAO,KAAK,UACT,IAA+B,iBAAe,yBAAyB,EACvE,QAAQA,CAAI,CACjB,CAQA,sBAAsBA,EAEa,CACjC,OAAO,KAAK,UACT,IACC,qBAAmB,4BACrB,EACC,QAAQA,CAAI,CACjB,CAMA,OAAQ,CACN,OAAO,KAAK,UACT,IAA0B,qBAAmB,oBAAoB,EACjE,QAAQ,CACb,CAOA,sBAA0C,CACxC,OAAO,KAAK,UACT,IACC,iBAAe,2BACjB,EACC,QAAQ,CACb,CAOA,yBAAuD,CACrD,OAAO,KAAK,UACT,IACC,iBAAe,8BACjB,EACC,QAAQ,CACb,CAQA,8BAA8BA,EAGf,CACb,OAAO,KAAK,UACT,IACC,qBAAmB,oCACrB,EACC,QAAQA,CAAI,CACjB,CAMA,YAAYC,EAAwB,CAClC,OAAO,KAAK,UACT,IAAwB,kBAAgB,kBAAkB,EAC1D,QAAQA,CAAQ,CACrB,CACF",
4
+ "sourcesContent": ["import { type Container } from \"inversify\";\nimport { type Observable } from \"rxjs\";\n\nimport { commandTypes } from \"@api/command/di/commandTypes\";\nimport { type CommandResult } from \"@api/command/model/CommandResult\";\nimport {\n type SendCommandUseCase,\n type SendCommandUseCaseArgs,\n} from \"@api/command/use-case/SendCommandUseCase\";\nimport {\n type ExecuteDeviceActionUseCase,\n type ExecuteDeviceActionUseCaseArgs,\n} from \"@api/device-action/use-case/ExecuteDeviceActionUseCase\";\nimport { type ApduResponse } from \"@api/device-session/ApduResponse\";\nimport { type DeviceSessionState } from \"@api/device-session/DeviceSessionState\";\nimport { type DeviceSessionId } from \"@api/device-session/types\";\nimport { type ConnectedDevice } from \"@api/transport/model/ConnectedDevice\";\nimport {\n type ConnectUseCaseArgs,\n type DisconnectUseCaseArgs,\n type DiscoveredDevice,\n type GetConnectedDeviceUseCaseArgs,\n type SendApduUseCaseArgs,\n type StartDiscoveringUseCaseArgs,\n} from \"@api/types\";\nimport { configTypes } from \"@internal/config/di/configTypes\";\nimport { type GetDmkVersionUseCase } from \"@internal/config/use-case/GetDmkVersionUseCase\";\nimport { deviceSessionTypes } from \"@internal/device-session/di/deviceSessionTypes\";\nimport { type CloseSessionsUseCase } from \"@internal/device-session/use-case/CloseSessionsUseCase\";\nimport { type GetDeviceSessionStateUseCase } from \"@internal/device-session/use-case/GetDeviceSessionStateUseCase\";\nimport { discoveryTypes } from \"@internal/discovery/di/discoveryTypes\";\nimport { type ConnectUseCase } from \"@internal/discovery/use-case/ConnectUseCase\";\nimport { type DisconnectUseCase } from \"@internal/discovery/use-case/DisconnectUseCase\";\nimport { type GetConnectedDeviceUseCase } from \"@internal/discovery/use-case/GetConnectedDeviceUseCase\";\nimport { type ListConnectedDevicesUseCase } from \"@internal/discovery/use-case/ListConnectedDevicesUseCase\";\nimport {\n type ListenToAvailableDevicesUseCase,\n type ListenToAvailableDevicesUseCaseArgs,\n} from \"@internal/discovery/use-case/ListenToAvailableDevicesUseCase\";\nimport { type ListenToConnectedDeviceUseCase } from \"@internal/discovery/use-case/ListenToConnectedDeviceUseCase\";\nimport type { StartDiscoveringUseCase } from \"@internal/discovery/use-case/StartDiscoveringUseCase\";\nimport type { StopDiscoveringUseCase } from \"@internal/discovery/use-case/StopDiscoveringUseCase\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { managerApiTypes } from \"@internal/manager-api/di/managerApiTypes\";\nimport { type SetProviderUseCase } from \"@internal/manager-api/use-case/SetProviderUseCase\";\nimport { sendTypes } from \"@internal/send/di/sendTypes\";\nimport { type SendApduUseCase } from \"@internal/send/use-case/SendApduUseCase\";\nimport { makeContainer, type MakeContainerProps } from \"@root/src/di\";\n\nimport {\n type DeviceActionIntermediateValue,\n type ExecuteDeviceActionReturnType,\n} from \"./device-action/DeviceAction\";\nimport { deviceActionTypes } from \"./device-action/di/deviceActionTypes\";\nimport { type DisableDeviceSessionRefresherUseCase } from \"./device-session/use-case/DisableDeviceSessionRefresher\";\nimport { type DmkError } from \"./Error\";\n\n/**\n * The main class to interact with the Device Management Kit.\n *\n * NB: do not instantiate this class directly, instead, use `LedgerDMKBuilder`.\n */\nexport class DeviceManagementKit {\n readonly container: Container;\n /** @internal */\n constructor({\n stub,\n transports,\n loggers,\n config,\n }: Partial<MakeContainerProps> = {}) {\n // NOTE: MakeContainerProps might not be the exact type here\n // For the init of the project this is sufficient, but we might need to\n // update the constructor arguments as we go (we might have more than just the container config)\n this.container = makeContainer({\n stub,\n transports,\n loggers,\n config,\n });\n }\n\n /**\n * Returns a promise resolving to the version of the SDK.\n */\n getVersion(): Promise<string> {\n return this.container\n .get<GetDmkVersionUseCase>(configTypes.GetDmkVersionUseCase)\n .getDmkVersion();\n }\n\n /**\n * Starts discovering devices connected.\n *\n * For the WeHID implementation, this use-case needs to be called as a result\n * of an user interaction (button \"click\" event for ex).\n *\n * @param {StartDiscoveringUseCaseArgs} args - The transport to use for discover, or undefined to discover from all transports.\n * @returns {Observable<DiscoveredDevice>} An observable of discovered devices.\n */\n startDiscovering(\n args: StartDiscoveringUseCaseArgs,\n ): Observable<DiscoveredDevice> {\n return this.container\n .get<StartDiscoveringUseCase>(discoveryTypes.StartDiscoveringUseCase)\n .execute(args);\n }\n\n /**\n * Stops discovering devices connected.\n */\n stopDiscovering() {\n return this.container\n .get<StopDiscoveringUseCase>(discoveryTypes.StopDiscoveringUseCase)\n .execute();\n }\n\n /**\n * Listen to list of known discovered devices (and later BLE).\n * @param {ListenToAvailableDevicesUseCaseArgs} args - The transport to use for discover, or undefined to discover from all transports.\n * @returns {Observable<DiscoveredDevice[]>} An observable of known discovered devices.\n */\n listenToAvailableDevices(\n args: ListenToAvailableDevicesUseCaseArgs,\n ): Observable<DiscoveredDevice[]> {\n return this.container\n .get<ListenToAvailableDevicesUseCase>(\n discoveryTypes.ListenToAvailableDevicesUseCase,\n )\n .execute(args);\n }\n\n /**\n * Connects to a device previously discovered with `DeviceManagementKit.startDiscovering`.\n * Creates a new device session which:\n * - Represents the connection to the device.\n * - Is terminated upon disconnection of the device.\n * - Exposes the device state through an observable (see `DeviceManagementKit.getDeviceSessionState`)\n * - Should be used for all subsequent communication with the device.\n *\n * @param {ConnectUseCaseArgs} args - The arguments for connecting to the device.\n * - `device`: The discovered device obtained from `StartDiscoveringUseCase`.\n * - `sessionRefresherOptions` (optional): Configuration for session refreshing.\n * - `isRefresherDisabled`: Whether the refresher is disabled.\n * - `pollingInterval`: The refresh interval in milliseconds\n * @returns The session ID to use for further communication with the device.\n */\n connect(args: ConnectUseCaseArgs): Promise<DeviceSessionId> {\n return this.container\n .get<ConnectUseCase>(discoveryTypes.ConnectUseCase)\n .execute(args);\n }\n\n /**\n * Disconnects to a discovered device.\n *\n * @param {DisconnectUseCaseArgs} args - The session ID to disconnect.\n */\n disconnect(args: DisconnectUseCaseArgs): Promise<void> {\n return this.container\n .get<DisconnectUseCase>(discoveryTypes.DisconnectUseCase)\n .execute(args);\n }\n\n /**\n * Sends an APDU command to a device through a device session.\n *\n * @param {SendApduUseCaseArgs} args - The device session ID and APDU command to send.\n */\n sendApdu(args: SendApduUseCaseArgs): Promise<ApduResponse> {\n return this.container\n .get<SendApduUseCase>(sendTypes.SendApduUseCase)\n .execute(args);\n }\n\n /**\n * Sends a command to a device through a device session.\n *\n * @param {SendCommandUseCaseArgs<Response, Args, ErrorCodes>} args - The device session ID, command, command error codes and command parameters to send.\n * @returns A promise resolving with the response from the command.\n */\n sendCommand<Response, Args, ErrorCodes>(\n args: SendCommandUseCaseArgs<Response, Args, ErrorCodes>,\n ): Promise<CommandResult<Response, ErrorCodes>> {\n return this.container\n .get<SendCommandUseCase>(commandTypes.SendCommandUseCase)\n .execute(args);\n }\n\n executeDeviceAction<\n Output,\n Input,\n Error extends DmkError,\n IntermediateValue extends DeviceActionIntermediateValue,\n >(\n args: ExecuteDeviceActionUseCaseArgs<\n Output,\n Input,\n Error,\n IntermediateValue\n >,\n ): ExecuteDeviceActionReturnType<Output, Error, IntermediateValue> {\n return this.container\n .get<ExecuteDeviceActionUseCase>(\n deviceActionTypes.ExecuteDeviceActionUseCase,\n )\n .execute(args);\n }\n\n /**\n * Gets the connected from its device session ID.\n *\n * @param {GetConnectedDeviceUseCaseArgs} args - The device session ID.\n * @returns {ConnectedDevice} The connected device.\n */\n getConnectedDevice(args: GetConnectedDeviceUseCaseArgs): ConnectedDevice {\n return this.container\n .get<GetConnectedDeviceUseCase>(discoveryTypes.GetConnectedDeviceUseCase)\n .execute(args);\n }\n\n /**\n * Gets the device state of a session.\n *\n * @param {{ sessionId: DeviceSessionId }} args - The device session ID.\n * @returns {Observable<DeviceSessionState>} An observable of the session device state.\n */\n getDeviceSessionState(args: {\n sessionId: DeviceSessionId;\n }): Observable<DeviceSessionState> {\n return this.container\n .get<GetDeviceSessionStateUseCase>(\n deviceSessionTypes.GetDeviceSessionStateUseCase,\n )\n .execute(args);\n }\n\n /**\n * Close the Device Management kit.\n *\n */\n close() {\n return this.container\n .get<CloseSessionsUseCase>(deviceSessionTypes.CloseSessionsUseCase)\n .execute();\n }\n\n /**\n * Lists all connected devices.\n *\n * @returns {ConnectedDevice[]} The list of device sessions.\n */\n listConnectedDevices(): ConnectedDevice[] {\n return this.container\n .get<ListConnectedDevicesUseCase>(\n discoveryTypes.ListConnectedDevicesUseCase,\n )\n .execute();\n }\n\n /**\n * Listen to connected device.\n *\n * @returns {Observable<ConnectedDevice>} An observable of connected device.\n */\n listenToConnectedDevice(): Observable<ConnectedDevice> {\n return this.container\n .get<ListenToConnectedDeviceUseCase>(\n discoveryTypes.ListenToConnectedDeviceUseCase,\n )\n .execute();\n }\n\n /**\n * Disable the device session refresher.\n *\n * @param {DisableDeviceSessionRefresherUseCaseArgs} args - The device session ID and a string to identify the blocker.\n * @returns {() => void} A function to reenable the device session refresher.\n */\n disableDeviceSessionRefresher(args: {\n sessionId: DeviceSessionId;\n blockerId: string;\n }): () => void {\n return this.container\n .get<DisableDeviceSessionRefresherUseCase>(\n deviceSessionTypes.DisableDeviceSessionRefresherUseCase,\n )\n .execute(args);\n }\n /**\n * Sets the provider for the manager API.\n *\n * @param {number} provider - The provider to set.\n */\n setProvider(provider: number): void {\n return this.container\n .get<SetProviderUseCase>(managerApiTypes.SetProviderUseCase)\n .execute(provider);\n }\n\n /**\n * Returns the current provider value from the manager API data source.\n */\n getProvider(): number {\n return this.container\n .get<ManagerApiDataSource>(managerApiTypes.ManagerApiDataSource)\n .getProvider();\n }\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,yBAAAE,IAAA,eAAAC,EAAAH,GAGA,IAAAI,EAA6B,wCAsB7BC,EAA4B,2CAE5BC,EAAmC,0DAGnCC,EAA+B,iDAa/BC,EAAgC,oDAEhCC,EAA0B,uCAE1BC,EAAuD,wBAMvDC,EAAkC,gDAS3B,MAAMT,CAAoB,CACtB,UAET,YAAY,CACV,KAAAU,EACA,WAAAC,EACA,QAAAC,EACA,OAAAC,CACF,EAAiC,CAAC,EAAG,CAInC,KAAK,aAAY,iBAAc,CAC7B,KAAAH,EACA,WAAAC,EACA,QAAAC,EACA,OAAAC,CACF,CAAC,CACH,CAKA,YAA8B,CAC5B,OAAO,KAAK,UACT,IAA0B,cAAY,oBAAoB,EAC1D,cAAc,CACnB,CAWA,iBACEC,EAC8B,CAC9B,OAAO,KAAK,UACT,IAA6B,iBAAe,uBAAuB,EACnE,QAAQA,CAAI,CACjB,CAKA,iBAAkB,CAChB,OAAO,KAAK,UACT,IAA4B,iBAAe,sBAAsB,EACjE,QAAQ,CACb,CAOA,yBACEA,EACgC,CAChC,OAAO,KAAK,UACT,IACC,iBAAe,+BACjB,EACC,QAAQA,CAAI,CACjB,CAiBA,QAAQA,EAAoD,CAC1D,OAAO,KAAK,UACT,IAAoB,iBAAe,cAAc,EACjD,QAAQA,CAAI,CACjB,CAOA,WAAWA,EAA4C,CACrD,OAAO,KAAK,UACT,IAAuB,iBAAe,iBAAiB,EACvD,QAAQA,CAAI,CACjB,CAOA,SAASA,EAAkD,CACzD,OAAO,KAAK,UACT,IAAqB,YAAU,eAAe,EAC9C,QAAQA,CAAI,CACjB,CAQA,YACEA,EAC8C,CAC9C,OAAO,KAAK,UACT,IAAwB,eAAa,kBAAkB,EACvD,QAAQA,CAAI,CACjB,CAEA,oBAMEA,EAMiE,CACjE,OAAO,KAAK,UACT,IACC,oBAAkB,0BACpB,EACC,QAAQA,CAAI,CACjB,CAQA,mBAAmBA,EAAsD,CACvE,OAAO,KAAK,UACT,IAA+B,iBAAe,yBAAyB,EACvE,QAAQA,CAAI,CACjB,CAQA,sBAAsBA,EAEa,CACjC,OAAO,KAAK,UACT,IACC,qBAAmB,4BACrB,EACC,QAAQA,CAAI,CACjB,CAMA,OAAQ,CACN,OAAO,KAAK,UACT,IAA0B,qBAAmB,oBAAoB,EACjE,QAAQ,CACb,CAOA,sBAA0C,CACxC,OAAO,KAAK,UACT,IACC,iBAAe,2BACjB,EACC,QAAQ,CACb,CAOA,yBAAuD,CACrD,OAAO,KAAK,UACT,IACC,iBAAe,8BACjB,EACC,QAAQ,CACb,CAQA,8BAA8BA,EAGf,CACb,OAAO,KAAK,UACT,IACC,qBAAmB,oCACrB,EACC,QAAQA,CAAI,CACjB,CAMA,YAAYC,EAAwB,CAClC,OAAO,KAAK,UACT,IAAwB,kBAAgB,kBAAkB,EAC1D,QAAQA,CAAQ,CACrB,CAKA,aAAsB,CACpB,OAAO,KAAK,UACT,IAA0B,kBAAgB,oBAAoB,EAC9D,YAAY,CACjB,CACF",
6
6
  "names": ["DeviceManagementKit_exports", "__export", "DeviceManagementKit", "__toCommonJS", "import_commandTypes", "import_configTypes", "import_deviceSessionTypes", "import_discoveryTypes", "import_managerApiTypes", "import_sendTypes", "import_di", "import_deviceActionTypes", "stub", "transports", "loggers", "config", "args", "provider"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var D=Object.create;var a=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var T=Object.getPrototypeOf,F=Object.prototype.hasOwnProperty;var E=(i,r)=>{for(var e in r)a(i,e,{get:r[e],enumerable:!0})},g=(i,r,e,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let p of w(r))!F.call(i,p)&&p!==e&&a(i,p,{get:()=>r[p],enumerable:!(t=v(r,p))||t.enumerable});return i};var V=(i,r,e)=>(e=i!=null?D(T(i)):{},g(r||!i||!i.__esModule?a(e,"default",{value:i,enumerable:!0}):e,i)),P=i=>g(a({},"__esModule",{value:!0}),i),f=(i,r,e,t)=>{for(var p=t>1?void 0:t?v(r,e):r,y=i.length-1,h;y>=0;y--)(h=i[y])&&(p=(t?h(r,e,p):h(p))||p);return t&&p&&a(r,e,p),p},u=(i,r)=>(e,t)=>r(e,t,i);var B={};E(B,{AxiosManagerApiDataSource:()=>A});module.exports=P(B);var o=V(require("axios")),l=require("inversify"),n=require("purify-ts"),_=require("../../manager-api/di/managerApiTypes"),s=require("../../manager-api/model/Application"),d=require("../../manager-api/model/Const"),m=require("../../manager-api/model/Errors"),c=require("./ManagerApiDto");let A=class{_managerApiBaseUrl;_provider=d.DEFAULT_PROVIDER;constructor({managerApiUrl:r,provider:e}){this._managerApiBaseUrl=r,this._provider=e}setProvider(r){this._provider===r||r<1||(this._provider=r)}getAppList(r){const{targetId:e,firmwareVersionName:t}=r;return(0,n.EitherAsync)(()=>o.default.get(`${this._managerApiBaseUrl}/v2/apps/by-target`,{params:{target_id:e,provider:this._provider,firmware_version_name:t}})).map(p=>p.data).mapLeft(p=>new m.HttpFetchApiError(p))}getDeviceVersion(r){const{targetId:e}=r;return(0,n.EitherAsync)(()=>o.default.get(`${this._managerApiBaseUrl}/get_device_version`,{params:{target_id:e,provider:this._provider}})).map(t=>t.data).mapLeft(t=>new m.HttpFetchApiError(t))}getFirmwareVersion(r){const{deviceId:e,version:t}=r;return(0,n.EitherAsync)(()=>o.default.get(`${this._managerApiBaseUrl}/get_firmware_version`,{params:{device_version:e,version_name:t,provider:this._provider}})).map(p=>p.data).mapLeft(p=>new m.HttpFetchApiError(p))}getAppsByHash(r){const{hashes:e}=r;return(0,n.EitherAsync)(()=>o.default.post(`${this._managerApiBaseUrl}/v2/apps/hash`,e)).map(t=>t.data).map(t=>this.mapApplicationDtoToApplication(t)).mapLeft(t=>new m.HttpFetchApiError(t))}mapAppTypeDtoToAppType(r){switch(r){case c.AppTypeDto.currency:return s.AppType.currency;case c.AppTypeDto.plugin:return s.AppType.plugin;case c.AppTypeDto.tool:return s.AppType.tool;case c.AppTypeDto.swap:return s.AppType.swap}}mapApplicationDtoToApplication(r){return r.map(e=>{if(e===null)return null;const{applicationType:t,...p}=e;return{...p,applicationType:this.mapAppTypeDtoToAppType(t)}})}};A=f([(0,l.injectable)(),u(0,(0,l.inject)(_.managerApiTypes.DmkConfig))],A);0&&(module.exports={AxiosManagerApiDataSource});
1
+ "use strict";var D=Object.create;var a=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var T=Object.getPrototypeOf,F=Object.prototype.hasOwnProperty;var E=(i,r)=>{for(var e in r)a(i,e,{get:r[e],enumerable:!0})},g=(i,r,e,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let p of w(r))!F.call(i,p)&&p!==e&&a(i,p,{get:()=>r[p],enumerable:!(t=h(r,p))||t.enumerable});return i};var P=(i,r,e)=>(e=i!=null?D(T(i)):{},g(r||!i||!i.__esModule?a(e,"default",{value:i,enumerable:!0}):e,i)),V=i=>g(a({},"__esModule",{value:!0}),i),u=(i,r,e,t)=>{for(var p=t>1?void 0:t?h(r,e):r,y=i.length-1,v;y>=0;y--)(v=i[y])&&(p=(t?v(r,e,p):v(p))||p);return t&&p&&a(r,e,p),p},d=(i,r)=>(e,t)=>r(e,t,i);var B={};E(B,{AxiosManagerApiDataSource:()=>A});module.exports=V(B);var o=P(require("axios")),l=require("inversify"),n=require("purify-ts"),f=require("../../manager-api/di/managerApiTypes"),s=require("../../manager-api/model/Application"),_=require("../../manager-api/model/Const"),m=require("../../manager-api/model/Errors"),c=require("./ManagerApiDto");let A=class{_managerApiBaseUrl;_provider=_.DEFAULT_PROVIDER;constructor({managerApiUrl:r,provider:e}){this._managerApiBaseUrl=r,this._provider=e}setProvider(r){this._provider===r||r<1||(this._provider=r)}getProvider(){return this._provider}getAppList(r){const{targetId:e,firmwareVersionName:t}=r;return(0,n.EitherAsync)(()=>o.default.get(`${this._managerApiBaseUrl}/v2/apps/by-target`,{params:{target_id:e,provider:this._provider,firmware_version_name:t}})).map(p=>p.data).mapLeft(p=>new m.HttpFetchApiError(p))}getDeviceVersion(r){const{targetId:e}=r;return(0,n.EitherAsync)(()=>o.default.get(`${this._managerApiBaseUrl}/get_device_version`,{params:{target_id:e,provider:this._provider}})).map(t=>t.data).mapLeft(t=>new m.HttpFetchApiError(t))}getFirmwareVersion(r){const{deviceId:e,version:t}=r;return(0,n.EitherAsync)(()=>o.default.get(`${this._managerApiBaseUrl}/get_firmware_version`,{params:{device_version:e,version_name:t,provider:this._provider}})).map(p=>p.data).mapLeft(p=>new m.HttpFetchApiError(p))}getAppsByHash(r){const{hashes:e}=r;return(0,n.EitherAsync)(()=>o.default.post(`${this._managerApiBaseUrl}/v2/apps/hash`,e)).map(t=>t.data).map(t=>this.mapApplicationDtoToApplication(t)).mapLeft(t=>new m.HttpFetchApiError(t))}mapAppTypeDtoToAppType(r){switch(r){case c.AppTypeDto.currency:return s.AppType.currency;case c.AppTypeDto.plugin:return s.AppType.plugin;case c.AppTypeDto.tool:return s.AppType.tool;case c.AppTypeDto.swap:return s.AppType.swap}}mapApplicationDtoToApplication(r){return r.map(e=>{if(e===null)return null;const{applicationType:t,...p}=e;return{...p,applicationType:this.mapAppTypeDtoToAppType(t)}})}};A=u([(0,l.injectable)(),d(0,(0,l.inject)(f.managerApiTypes.DmkConfig))],A);0&&(module.exports={AxiosManagerApiDataSource});
2
2
  //# sourceMappingURL=AxiosManagerApiDataSource.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/manager-api/data/AxiosManagerApiDataSource.ts"],
4
- "sourcesContent": ["import axios from \"axios\";\nimport { inject, injectable } from \"inversify\";\nimport { EitherAsync } from \"purify-ts\";\n\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { managerApiTypes } from \"@internal/manager-api/di/managerApiTypes\";\nimport {\n type Application,\n AppType,\n} from \"@internal/manager-api/model/Application\";\nimport { DEFAULT_PROVIDER } from \"@internal/manager-api/model/Const\";\nimport { type DeviceVersion } from \"@internal/manager-api/model/Device\";\nimport { HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\nimport { type FinalFirmware } from \"@internal/manager-api/model/Firmware\";\nimport {\n type GetAppByHashParams,\n type GetAppListParams,\n type GetDeviceVersionParams,\n type GetFirmwareVersionParams,\n} from \"@internal/manager-api/model/Params\";\n\nimport { ManagerApiDataSource } from \"./ManagerApiDataSource\";\nimport { ApplicationDto, AppTypeDto } from \"./ManagerApiDto\";\n\n@injectable()\nexport class AxiosManagerApiDataSource implements ManagerApiDataSource {\n private readonly _managerApiBaseUrl: string;\n private _provider: number = DEFAULT_PROVIDER;\n\n constructor(\n @inject(managerApiTypes.DmkConfig)\n { managerApiUrl, provider }: DmkConfig,\n ) {\n this._managerApiBaseUrl = managerApiUrl;\n this._provider = provider;\n }\n\n setProvider(provider: number): void {\n if (this._provider === provider || provider < 1) {\n return;\n }\n this._provider = provider;\n }\n\n getAppList(\n params: GetAppListParams,\n ): EitherAsync<HttpFetchApiError, Application[]> {\n const { targetId, firmwareVersionName } = params;\n return EitherAsync(() =>\n axios.get<Application[]>(`${this._managerApiBaseUrl}/v2/apps/by-target`, {\n params: {\n target_id: targetId,\n provider: this._provider,\n firmware_version_name: firmwareVersionName,\n },\n }),\n )\n .map((res) => res.data)\n .mapLeft((error) => new HttpFetchApiError(error));\n }\n\n getDeviceVersion(\n params: GetDeviceVersionParams,\n ): EitherAsync<HttpFetchApiError, DeviceVersion> {\n const { targetId } = params;\n return EitherAsync(() =>\n axios.get<DeviceVersion>(\n `${this._managerApiBaseUrl}/get_device_version`,\n {\n params: {\n target_id: targetId,\n provider: this._provider,\n },\n },\n ),\n )\n .map((res) => res.data)\n .mapLeft((error) => new HttpFetchApiError(error));\n }\n\n getFirmwareVersion(\n params: GetFirmwareVersionParams,\n ): EitherAsync<HttpFetchApiError, FinalFirmware> {\n const { deviceId, version } = params;\n return EitherAsync(() =>\n axios.get<FinalFirmware>(\n `${this._managerApiBaseUrl}/get_firmware_version`,\n {\n params: {\n device_version: deviceId,\n version_name: version,\n provider: this._provider,\n },\n },\n ),\n )\n .map((res) => res.data)\n .mapLeft((error) => new HttpFetchApiError(error));\n }\n\n getAppsByHash(\n params: GetAppByHashParams,\n ): EitherAsync<HttpFetchApiError, Array<Application | null>> {\n const { hashes } = params;\n return EitherAsync(() =>\n axios.post<Array<ApplicationDto | null>>(\n `${this._managerApiBaseUrl}/v2/apps/hash`,\n hashes,\n ),\n )\n .map((res) => res.data)\n .map((apps) => this.mapApplicationDtoToApplication(apps))\n .mapLeft((error) => new HttpFetchApiError(error));\n }\n\n private mapAppTypeDtoToAppType(appType: AppTypeDto): AppType {\n switch (appType) {\n case AppTypeDto.currency:\n return AppType.currency;\n case AppTypeDto.plugin:\n return AppType.plugin;\n case AppTypeDto.tool:\n return AppType.tool;\n case AppTypeDto.swap:\n return AppType.swap;\n }\n }\n\n private mapApplicationDtoToApplication(\n apps: Array<ApplicationDto | null>,\n ): Array<Application | null> {\n return apps.map((app) => {\n if (app === null) {\n return null;\n }\n const { applicationType, ...rest } = app;\n return {\n ...rest,\n applicationType: this.mapAppTypeDtoToAppType(applicationType),\n };\n });\n }\n}\n"],
5
- "mappings": "qtBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,+BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAkB,oBAClBC,EAAmC,qBACnCC,EAA4B,qBAG5BC,EAAgC,oDAChCC,EAGO,mDACPC,EAAiC,6CAEjCC,EAAkC,8CAUlCC,EAA2C,2BAGpC,IAAMC,EAAN,KAAgE,CACpD,mBACT,UAAoB,mBAE5B,YAEE,CAAE,cAAAC,EAAe,SAAAC,CAAS,EAC1B,CACA,KAAK,mBAAqBD,EAC1B,KAAK,UAAYC,CACnB,CAEA,YAAYA,EAAwB,CAC9B,KAAK,YAAcA,GAAYA,EAAW,IAG9C,KAAK,UAAYA,EACnB,CAEA,WACEC,EAC+C,CAC/C,KAAM,CAAE,SAAAC,EAAU,oBAAAC,CAAoB,EAAIF,EAC1C,SAAO,eAAY,IACjB,EAAAG,QAAM,IAAmB,GAAG,KAAK,kBAAkB,qBAAsB,CACvE,OAAQ,CACN,UAAWF,EACX,SAAU,KAAK,UACf,sBAAuBC,CACzB,CACF,CAAC,CACH,EACG,IAAKE,GAAQA,EAAI,IAAI,EACrB,QAASC,GAAU,IAAI,oBAAkBA,CAAK,CAAC,CACpD,CAEA,iBACEL,EAC+C,CAC/C,KAAM,CAAE,SAAAC,CAAS,EAAID,EACrB,SAAO,eAAY,IACjB,EAAAG,QAAM,IACJ,GAAG,KAAK,kBAAkB,sBAC1B,CACE,OAAQ,CACN,UAAWF,EACX,SAAU,KAAK,SACjB,CACF,CACF,CACF,EACG,IAAKG,GAAQA,EAAI,IAAI,EACrB,QAASC,GAAU,IAAI,oBAAkBA,CAAK,CAAC,CACpD,CAEA,mBACEL,EAC+C,CAC/C,KAAM,CAAE,SAAAM,EAAU,QAAAC,CAAQ,EAAIP,EAC9B,SAAO,eAAY,IACjB,EAAAG,QAAM,IACJ,GAAG,KAAK,kBAAkB,wBAC1B,CACE,OAAQ,CACN,eAAgBG,EAChB,aAAcC,EACd,SAAU,KAAK,SACjB,CACF,CACF,CACF,EACG,IAAKH,GAAQA,EAAI,IAAI,EACrB,QAASC,GAAU,IAAI,oBAAkBA,CAAK,CAAC,CACpD,CAEA,cACEL,EAC2D,CAC3D,KAAM,CAAE,OAAAQ,CAAO,EAAIR,EACnB,SAAO,eAAY,IACjB,EAAAG,QAAM,KACJ,GAAG,KAAK,kBAAkB,gBAC1BK,CACF,CACF,EACG,IAAKJ,GAAQA,EAAI,IAAI,EACrB,IAAKK,GAAS,KAAK,+BAA+BA,CAAI,CAAC,EACvD,QAASJ,GAAU,IAAI,oBAAkBA,CAAK,CAAC,CACpD,CAEQ,uBAAuBK,EAA8B,CAC3D,OAAQA,EAAS,CACf,KAAK,aAAW,SACd,OAAO,UAAQ,SACjB,KAAK,aAAW,OACd,OAAO,UAAQ,OACjB,KAAK,aAAW,KACd,OAAO,UAAQ,KACjB,KAAK,aAAW,KACd,OAAO,UAAQ,IACnB,CACF,CAEQ,+BACND,EAC2B,CAC3B,OAAOA,EAAK,IAAKE,GAAQ,CACvB,GAAIA,IAAQ,KACV,OAAO,KAET,KAAM,CAAE,gBAAAC,EAAiB,GAAGC,CAAK,EAAIF,EACrC,MAAO,CACL,GAAGE,EACH,gBAAiB,KAAK,uBAAuBD,CAAe,CAC9D,CACF,CAAC,CACH,CACF,EArHaf,EAANiB,EAAA,IADN,cAAW,EAMPC,EAAA,eAAO,kBAAgB,SAAS,IALxBlB",
4
+ "sourcesContent": ["import axios from \"axios\";\nimport { inject, injectable } from \"inversify\";\nimport { EitherAsync } from \"purify-ts\";\n\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { managerApiTypes } from \"@internal/manager-api/di/managerApiTypes\";\nimport {\n type Application,\n AppType,\n} from \"@internal/manager-api/model/Application\";\nimport { DEFAULT_PROVIDER } from \"@internal/manager-api/model/Const\";\nimport { type DeviceVersion } from \"@internal/manager-api/model/Device\";\nimport { HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\nimport { type FinalFirmware } from \"@internal/manager-api/model/Firmware\";\nimport {\n type GetAppByHashParams,\n type GetAppListParams,\n type GetDeviceVersionParams,\n type GetFirmwareVersionParams,\n} from \"@internal/manager-api/model/Params\";\n\nimport { ManagerApiDataSource } from \"./ManagerApiDataSource\";\nimport { ApplicationDto, AppTypeDto } from \"./ManagerApiDto\";\n\n@injectable()\nexport class AxiosManagerApiDataSource implements ManagerApiDataSource {\n private readonly _managerApiBaseUrl: string;\n private _provider: number = DEFAULT_PROVIDER;\n\n constructor(\n @inject(managerApiTypes.DmkConfig)\n { managerApiUrl, provider }: DmkConfig,\n ) {\n this._managerApiBaseUrl = managerApiUrl;\n this._provider = provider;\n }\n\n setProvider(provider: number): void {\n if (this._provider === provider || provider < 1) {\n return;\n }\n this._provider = provider;\n }\n\n getProvider(): number {\n return this._provider;\n }\n\n getAppList(\n params: GetAppListParams,\n ): EitherAsync<HttpFetchApiError, Application[]> {\n const { targetId, firmwareVersionName } = params;\n return EitherAsync(() =>\n axios.get<Application[]>(`${this._managerApiBaseUrl}/v2/apps/by-target`, {\n params: {\n target_id: targetId,\n provider: this._provider,\n firmware_version_name: firmwareVersionName,\n },\n }),\n )\n .map((res) => res.data)\n .mapLeft((error) => new HttpFetchApiError(error));\n }\n\n getDeviceVersion(\n params: GetDeviceVersionParams,\n ): EitherAsync<HttpFetchApiError, DeviceVersion> {\n const { targetId } = params;\n return EitherAsync(() =>\n axios.get<DeviceVersion>(\n `${this._managerApiBaseUrl}/get_device_version`,\n {\n params: {\n target_id: targetId,\n provider: this._provider,\n },\n },\n ),\n )\n .map((res) => res.data)\n .mapLeft((error) => new HttpFetchApiError(error));\n }\n\n getFirmwareVersion(\n params: GetFirmwareVersionParams,\n ): EitherAsync<HttpFetchApiError, FinalFirmware> {\n const { deviceId, version } = params;\n return EitherAsync(() =>\n axios.get<FinalFirmware>(\n `${this._managerApiBaseUrl}/get_firmware_version`,\n {\n params: {\n device_version: deviceId,\n version_name: version,\n provider: this._provider,\n },\n },\n ),\n )\n .map((res) => res.data)\n .mapLeft((error) => new HttpFetchApiError(error));\n }\n\n getAppsByHash(\n params: GetAppByHashParams,\n ): EitherAsync<HttpFetchApiError, Array<Application | null>> {\n const { hashes } = params;\n return EitherAsync(() =>\n axios.post<Array<ApplicationDto | null>>(\n `${this._managerApiBaseUrl}/v2/apps/hash`,\n hashes,\n ),\n )\n .map((res) => res.data)\n .map((apps) => this.mapApplicationDtoToApplication(apps))\n .mapLeft((error) => new HttpFetchApiError(error));\n }\n\n private mapAppTypeDtoToAppType(appType: AppTypeDto): AppType {\n switch (appType) {\n case AppTypeDto.currency:\n return AppType.currency;\n case AppTypeDto.plugin:\n return AppType.plugin;\n case AppTypeDto.tool:\n return AppType.tool;\n case AppTypeDto.swap:\n return AppType.swap;\n }\n }\n\n private mapApplicationDtoToApplication(\n apps: Array<ApplicationDto | null>,\n ): Array<Application | null> {\n return apps.map((app) => {\n if (app === null) {\n return null;\n }\n const { applicationType, ...rest } = app;\n return {\n ...rest,\n applicationType: this.mapAppTypeDtoToAppType(applicationType),\n };\n });\n }\n}\n"],
5
+ "mappings": "qtBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,+BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAkB,oBAClBC,EAAmC,qBACnCC,EAA4B,qBAG5BC,EAAgC,oDAChCC,EAGO,mDACPC,EAAiC,6CAEjCC,EAAkC,8CAUlCC,EAA2C,2BAGpC,IAAMC,EAAN,KAAgE,CACpD,mBACT,UAAoB,mBAE5B,YAEE,CAAE,cAAAC,EAAe,SAAAC,CAAS,EAC1B,CACA,KAAK,mBAAqBD,EAC1B,KAAK,UAAYC,CACnB,CAEA,YAAYA,EAAwB,CAC9B,KAAK,YAAcA,GAAYA,EAAW,IAG9C,KAAK,UAAYA,EACnB,CAEA,aAAsB,CACpB,OAAO,KAAK,SACd,CAEA,WACEC,EAC+C,CAC/C,KAAM,CAAE,SAAAC,EAAU,oBAAAC,CAAoB,EAAIF,EAC1C,SAAO,eAAY,IACjB,EAAAG,QAAM,IAAmB,GAAG,KAAK,kBAAkB,qBAAsB,CACvE,OAAQ,CACN,UAAWF,EACX,SAAU,KAAK,UACf,sBAAuBC,CACzB,CACF,CAAC,CACH,EACG,IAAKE,GAAQA,EAAI,IAAI,EACrB,QAASC,GAAU,IAAI,oBAAkBA,CAAK,CAAC,CACpD,CAEA,iBACEL,EAC+C,CAC/C,KAAM,CAAE,SAAAC,CAAS,EAAID,EACrB,SAAO,eAAY,IACjB,EAAAG,QAAM,IACJ,GAAG,KAAK,kBAAkB,sBAC1B,CACE,OAAQ,CACN,UAAWF,EACX,SAAU,KAAK,SACjB,CACF,CACF,CACF,EACG,IAAKG,GAAQA,EAAI,IAAI,EACrB,QAASC,GAAU,IAAI,oBAAkBA,CAAK,CAAC,CACpD,CAEA,mBACEL,EAC+C,CAC/C,KAAM,CAAE,SAAAM,EAAU,QAAAC,CAAQ,EAAIP,EAC9B,SAAO,eAAY,IACjB,EAAAG,QAAM,IACJ,GAAG,KAAK,kBAAkB,wBAC1B,CACE,OAAQ,CACN,eAAgBG,EAChB,aAAcC,EACd,SAAU,KAAK,SACjB,CACF,CACF,CACF,EACG,IAAKH,GAAQA,EAAI,IAAI,EACrB,QAASC,GAAU,IAAI,oBAAkBA,CAAK,CAAC,CACpD,CAEA,cACEL,EAC2D,CAC3D,KAAM,CAAE,OAAAQ,CAAO,EAAIR,EACnB,SAAO,eAAY,IACjB,EAAAG,QAAM,KACJ,GAAG,KAAK,kBAAkB,gBAC1BK,CACF,CACF,EACG,IAAKJ,GAAQA,EAAI,IAAI,EACrB,IAAKK,GAAS,KAAK,+BAA+BA,CAAI,CAAC,EACvD,QAASJ,GAAU,IAAI,oBAAkBA,CAAK,CAAC,CACpD,CAEQ,uBAAuBK,EAA8B,CAC3D,OAAQA,EAAS,CACf,KAAK,aAAW,SACd,OAAO,UAAQ,SACjB,KAAK,aAAW,OACd,OAAO,UAAQ,OACjB,KAAK,aAAW,KACd,OAAO,UAAQ,KACjB,KAAK,aAAW,KACd,OAAO,UAAQ,IACnB,CACF,CAEQ,+BACND,EAC2B,CAC3B,OAAOA,EAAK,IAAKE,GAAQ,CACvB,GAAIA,IAAQ,KACV,OAAO,KAET,KAAM,CAAE,gBAAAC,EAAiB,GAAGC,CAAK,EAAIF,EACrC,MAAO,CACL,GAAGE,EACH,gBAAiB,KAAK,uBAAuBD,CAAe,CAC9D,CACF,CAAC,CACH,CACF,EAzHaf,EAANiB,EAAA,IADN,cAAW,EAMPC,EAAA,eAAO,kBAAgB,SAAS,IALxBlB",
6
6
  "names": ["AxiosManagerApiDataSource_exports", "__export", "AxiosManagerApiDataSource", "__toCommonJS", "import_axios", "import_inversify", "import_purify_ts", "import_managerApiTypes", "import_Application", "import_Const", "import_Errors", "import_ManagerApiDto", "AxiosManagerApiDataSource", "managerApiUrl", "provider", "params", "targetId", "firmwareVersionName", "axios", "res", "error", "deviceId", "version", "hashes", "apps", "appType", "app", "applicationType", "rest", "__decorateClass", "__decorateParam"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var h=Object.create;var d=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var f=Object.getPrototypeOf,g=Object.prototype.hasOwnProperty;var w=(e,r,a,p)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of m(r))!g.call(e,n)&&n!==a&&d(e,n,{get:()=>r[n],enumerable:!(p=v(r,n))||p.enumerable});return e};var A=(e,r,a)=>(a=e!=null?h(f(e)):{},w(r||!e||!e.__esModule?d(a,"default",{value:e,enumerable:!0}):a,e));var s=A(require("axios")),o=require("purify-ts"),t=require("../../../api/device-action/__test-utils__/data"),c=require("../../manager-api/model/Errors"),i=require("./AxiosManagerApiDataSource");vi.mock("axios");const l={id:17,target_id:"857735172"},u={id:361,perso:"perso_11"};describe("AxiosManagerApiDataSource",()=>{describe("getAppList",()=>{let e;beforeEach(()=>{e=new i.AxiosManagerApiDataSource({})}),afterEach(()=>{vi.clearAllMocks()}),it("should return a list of applications",async()=>{const r=[t.BTC_APP_METADATA,t.CUSTOM_LOCK_SCREEN_APP_METADATA];vi.spyOn(s.default,"get").mockResolvedValue({data:r});const a=await e.getAppList({targetId:"targetId",firmwareVersionName:"firmwareVersionName"});expect(a).toEqual((0,o.Right)(r))}),it("should return an error if the request fails",async()=>{const r=new Error("fetch error");vi.spyOn(s.default,"get").mockRejectedValue(r);const a=await e.getAppList({targetId:"targetId",firmwareVersionName:"firmwareVersionName"});expect(a).toEqual((0,o.Left)(new c.HttpFetchApiError(r)))})}),describe("getAppsByHash",()=>{describe("success cases",()=>{let e;beforeEach(()=>{e=new i.AxiosManagerApiDataSource({})}),afterEach(()=>{vi.clearAllMocks()}),it("with BTC app, should return the metadata",async()=>{vi.spyOn(s.default,"post").mockResolvedValue({data:[t.BTC_APP_METADATA]});const r=[t.BTC_APP.appFullHash],a=await e.getAppsByHash({hashes:r});expect(a).toEqual((0,o.Right)([t.BTC_APP_METADATA]))}),it("with no apps, should return an empty list",async()=>{vi.spyOn(s.default,"post").mockResolvedValue({data:[]});const r=[],a=await e.getAppsByHash({hashes:r});expect(a).toEqual((0,o.Right)([]))}),it("with BTC app and custom lock screen, should return the metadata",async()=>{vi.spyOn(s.default,"post").mockResolvedValue({data:[t.BTC_APP_METADATA,t.CUSTOM_LOCK_SCREEN_APP_METADATA]});const r=[t.BTC_APP.appFullHash,t.CUSTOM_LOCK_SCREEN_APP.appFullHash],a=await e.getAppsByHash({hashes:r});expect(a).toEqual((0,o.Right)([t.BTC_APP_METADATA,t.CUSTOM_LOCK_SCREEN_APP_METADATA]))})}),describe("error cases",()=>{afterEach(()=>{vi.clearAllMocks()}),it("should throw an error if the request fails",async()=>{const e=new i.AxiosManagerApiDataSource({}),r=new Error("fetch error");vi.spyOn(s.default,"post").mockRejectedValue(r);const a=[t.BTC_APP.appFullHash],p=await e.getAppsByHash({hashes:a});expect(p).toEqual((0,o.Left)(new c.HttpFetchApiError(r)))})})}),describe("getDeviceVersion",()=>{let e;beforeEach(()=>{e=new i.AxiosManagerApiDataSource({})}),afterEach(()=>{vi.clearAllMocks()}),it("should return a complete device version",async()=>{vi.spyOn(s.default,"get").mockResolvedValue({data:l});const r=await e.getDeviceVersion({targetId:"targetId"});expect(r).toEqual((0,o.Right)(l))}),it("should return an error if the request fails",async()=>{const r=new Error("fetch error");vi.spyOn(s.default,"get").mockRejectedValue(r);const a=await e.getDeviceVersion({targetId:"targetId"});expect(a).toEqual((0,o.Left)(new c.HttpFetchApiError(r)))})}),describe("getFirmwareVersion",()=>{let e;beforeEach(()=>{e=new i.AxiosManagerApiDataSource({})}),afterEach(()=>{vi.clearAllMocks()}),it("should return a complete firmware version",async()=>{vi.spyOn(s.default,"get").mockResolvedValue({data:u});const r=await e.getFirmwareVersion({version:"versionName",deviceId:42});expect(r).toEqual((0,o.Right)(u))}),it("should return an error if the request fails",async()=>{const r=new Error("fetch error");vi.spyOn(s.default,"get").mockRejectedValue(r);const a=await e.getFirmwareVersion({version:"versionName",deviceId:42});expect(a).toEqual((0,o.Left)(new c.HttpFetchApiError(r)))})}),describe("setProvider",()=>{let e;beforeEach(()=>{e=new i.AxiosManagerApiDataSource({managerApiUrl:"http://fake-url.com",provider:1})}),it("should not change the provider if the new value is the same",()=>{const r=e._provider;e.setProvider(r),expect(e._provider).toBe(r)}),it("should not change the provider if the new value is less than 1",()=>{const r=e._provider;e.setProvider(0),e.setProvider(-5),expect(e._provider).toBe(r)}),it("should update the provider if a valid and different value is provided",()=>{e.setProvider(2),expect(e._provider).toBe(2)})})});
1
+ "use strict";var h=Object.create;var d=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var g=Object.getPrototypeOf,f=Object.prototype.hasOwnProperty;var w=(e,r,t,p)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of m(r))!f.call(e,n)&&n!==t&&d(e,n,{get:()=>r[n],enumerable:!(p=v(r,n))||p.enumerable});return e};var A=(e,r,t)=>(t=e!=null?h(g(e)):{},w(r||!e||!e.__esModule?d(t,"default",{value:e,enumerable:!0}):t,e));var s=A(require("axios")),o=require("purify-ts"),a=require("../../../api/device-action/__test-utils__/data"),c=require("../../manager-api/model/Errors"),i=require("./AxiosManagerApiDataSource");vi.mock("axios");const l={id:17,target_id:"857735172"},u={id:361,perso:"perso_11"};describe("AxiosManagerApiDataSource",()=>{describe("getAppList",()=>{let e;beforeEach(()=>{e=new i.AxiosManagerApiDataSource({})}),afterEach(()=>{vi.clearAllMocks()}),it("should return a list of applications",async()=>{const r=[a.BTC_APP_METADATA,a.CUSTOM_LOCK_SCREEN_APP_METADATA];vi.spyOn(s.default,"get").mockResolvedValue({data:r});const t=await e.getAppList({targetId:"targetId",firmwareVersionName:"firmwareVersionName"});expect(t).toEqual((0,o.Right)(r))}),it("should return an error if the request fails",async()=>{const r=new Error("fetch error");vi.spyOn(s.default,"get").mockRejectedValue(r);const t=await e.getAppList({targetId:"targetId",firmwareVersionName:"firmwareVersionName"});expect(t).toEqual((0,o.Left)(new c.HttpFetchApiError(r)))})}),describe("getAppsByHash",()=>{describe("success cases",()=>{let e;beforeEach(()=>{e=new i.AxiosManagerApiDataSource({})}),afterEach(()=>{vi.clearAllMocks()}),it("with BTC app, should return the metadata",async()=>{vi.spyOn(s.default,"post").mockResolvedValue({data:[a.BTC_APP_METADATA]});const r=[a.BTC_APP.appFullHash],t=await e.getAppsByHash({hashes:r});expect(t).toEqual((0,o.Right)([a.BTC_APP_METADATA]))}),it("with no apps, should return an empty list",async()=>{vi.spyOn(s.default,"post").mockResolvedValue({data:[]});const r=[],t=await e.getAppsByHash({hashes:r});expect(t).toEqual((0,o.Right)([]))}),it("with BTC app and custom lock screen, should return the metadata",async()=>{vi.spyOn(s.default,"post").mockResolvedValue({data:[a.BTC_APP_METADATA,a.CUSTOM_LOCK_SCREEN_APP_METADATA]});const r=[a.BTC_APP.appFullHash,a.CUSTOM_LOCK_SCREEN_APP.appFullHash],t=await e.getAppsByHash({hashes:r});expect(t).toEqual((0,o.Right)([a.BTC_APP_METADATA,a.CUSTOM_LOCK_SCREEN_APP_METADATA]))})}),describe("error cases",()=>{afterEach(()=>{vi.clearAllMocks()}),it("should throw an error if the request fails",async()=>{const e=new i.AxiosManagerApiDataSource({}),r=new Error("fetch error");vi.spyOn(s.default,"post").mockRejectedValue(r);const t=[a.BTC_APP.appFullHash],p=await e.getAppsByHash({hashes:t});expect(p).toEqual((0,o.Left)(new c.HttpFetchApiError(r)))})})}),describe("getDeviceVersion",()=>{let e;beforeEach(()=>{e=new i.AxiosManagerApiDataSource({})}),afterEach(()=>{vi.clearAllMocks()}),it("should return a complete device version",async()=>{vi.spyOn(s.default,"get").mockResolvedValue({data:l});const r=await e.getDeviceVersion({targetId:"targetId"});expect(r).toEqual((0,o.Right)(l))}),it("should return an error if the request fails",async()=>{const r=new Error("fetch error");vi.spyOn(s.default,"get").mockRejectedValue(r);const t=await e.getDeviceVersion({targetId:"targetId"});expect(t).toEqual((0,o.Left)(new c.HttpFetchApiError(r)))})}),describe("getFirmwareVersion",()=>{let e;beforeEach(()=>{e=new i.AxiosManagerApiDataSource({})}),afterEach(()=>{vi.clearAllMocks()}),it("should return a complete firmware version",async()=>{vi.spyOn(s.default,"get").mockResolvedValue({data:u});const r=await e.getFirmwareVersion({version:"versionName",deviceId:42});expect(r).toEqual((0,o.Right)(u))}),it("should return an error if the request fails",async()=>{const r=new Error("fetch error");vi.spyOn(s.default,"get").mockRejectedValue(r);const t=await e.getFirmwareVersion({version:"versionName",deviceId:42});expect(t).toEqual((0,o.Left)(new c.HttpFetchApiError(r)))})}),describe("setProvider",()=>{let e;beforeEach(()=>{e=new i.AxiosManagerApiDataSource({managerApiUrl:"http://fake-url.com",provider:1})}),it("should not change the provider if the new value is the same",()=>{const r=e._provider;e.setProvider(r),expect(e._provider).toBe(r)}),it("should not change the provider if the new value is less than 1",()=>{const r=e._provider;e.setProvider(0),e.setProvider(-5),expect(e._provider).toBe(r)}),it("should update the provider if a valid and different value is provided",()=>{e.setProvider(2),expect(e._provider).toBe(2)})}),describe("getProvider",()=>{let e;beforeEach(()=>{e=new i.AxiosManagerApiDataSource({managerApiUrl:"http://fake-url.com",provider:123})}),afterEach(()=>{vi.clearAllMocks()}),it("should return the initial provider",()=>{expect(e.getProvider()).toBe(123)}),it("should return the updated provider after setProvider is called",()=>{e.setProvider(321),expect(e.getProvider()).toBe(321)})})});
2
2
  //# sourceMappingURL=AxiosManagerApiDataSource.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/manager-api/data/AxiosManagerApiDataSource.test.ts"],
4
- "sourcesContent": ["import axios from \"axios\";\nimport { 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} from \"@api/device-action/__test-utils__/data\";\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\n\nimport { AxiosManagerApiDataSource } from \"./AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"./ManagerApiDataSource\";\n\nvi.mock(\"axios\");\n\nconst mockGetDeviceVersion = {\n id: 17,\n target_id: \"857735172\",\n};\n\nconst mockGetFirmwareVersion = {\n id: 361,\n perso: \"perso_11\",\n};\n\ndescribe(\"AxiosManagerApiDataSource\", () => {\n describe(\"getAppList\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new AxiosManagerApiDataSource({} as DmkConfig);\n });\n afterEach(() => {\n vi.clearAllMocks();\n });\n it(\"should return a list of applications\", async () => {\n // given\n const apps = [BTC_APP_METADATA, CUSTOM_LOCK_SCREEN_APP_METADATA];\n vi.spyOn(axios, \"get\").mockResolvedValue({ data: apps });\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 the request fails\", async () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(axios, \"get\").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 AxiosManagerApiDataSource({} as DmkConfig);\n });\n afterEach(() => {\n vi.clearAllMocks();\n });\n it(\"with BTC app, should return the metadata\", async () => {\n vi.spyOn(axios, \"post\").mockResolvedValue({\n data: [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(axios, \"post\").mockResolvedValue({\n data: [],\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(axios, \"post\").mockResolvedValue({\n data: [BTC_APP_METADATA, CUSTOM_LOCK_SCREEN_APP_METADATA],\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 afterEach(() => {\n vi.clearAllMocks();\n });\n it(\"should throw an error if the request fails\", async () => {\n // given\n const api = new AxiosManagerApiDataSource({} as DmkConfig);\n\n const err = new Error(\"fetch error\");\n vi.spyOn(axios, \"post\").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 AxiosManagerApiDataSource({} as DmkConfig);\n });\n afterEach(() => {\n vi.clearAllMocks();\n });\n it(\"should return a complete device version\", async () => {\n // given\n vi.spyOn(axios, \"get\").mockResolvedValue({ data: mockGetDeviceVersion });\n\n // when\n const response = await api.getDeviceVersion({\n targetId: \"targetId\",\n });\n\n // then\n expect(response).toEqual(Right(mockGetDeviceVersion));\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(axios, \"get\").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 AxiosManagerApiDataSource({} as DmkConfig);\n });\n afterEach(() => {\n vi.clearAllMocks();\n });\n it(\"should return a complete firmware version\", async () => {\n // given\n vi.spyOn(axios, \"get\").mockResolvedValue({\n data: mockGetFirmwareVersion,\n });\n\n // when\n const response = await api.getFirmwareVersion({\n version: \"versionName\",\n deviceId: 42,\n });\n\n // then\n expect(response).toEqual(Right(mockGetFirmwareVersion));\n });\n it(\"should return an error if the request fails\", async () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(axios, \"get\").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 describe(\"setProvider\", () => {\n let api: AxiosManagerApiDataSource;\n beforeEach(() => {\n api = new AxiosManagerApiDataSource({\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"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import axios from \"axios\";\nimport { 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} from \"@api/device-action/__test-utils__/data\";\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\n\nimport { AxiosManagerApiDataSource } from \"./AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"./ManagerApiDataSource\";\n\nvi.mock(\"axios\");\n\nconst mockGetDeviceVersion = {\n id: 17,\n target_id: \"857735172\",\n};\n\nconst mockGetFirmwareVersion = {\n id: 361,\n perso: \"perso_11\",\n};\n\ndescribe(\"AxiosManagerApiDataSource\", () => {\n describe(\"getAppList\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new AxiosManagerApiDataSource({} as DmkConfig);\n });\n afterEach(() => {\n vi.clearAllMocks();\n });\n it(\"should return a list of applications\", async () => {\n // given\n const apps = [BTC_APP_METADATA, CUSTOM_LOCK_SCREEN_APP_METADATA];\n vi.spyOn(axios, \"get\").mockResolvedValue({ data: apps });\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 the request fails\", async () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(axios, \"get\").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 AxiosManagerApiDataSource({} as DmkConfig);\n });\n afterEach(() => {\n vi.clearAllMocks();\n });\n it(\"with BTC app, should return the metadata\", async () => {\n vi.spyOn(axios, \"post\").mockResolvedValue({\n data: [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(axios, \"post\").mockResolvedValue({\n data: [],\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(axios, \"post\").mockResolvedValue({\n data: [BTC_APP_METADATA, CUSTOM_LOCK_SCREEN_APP_METADATA],\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 afterEach(() => {\n vi.clearAllMocks();\n });\n it(\"should throw an error if the request fails\", async () => {\n // given\n const api = new AxiosManagerApiDataSource({} as DmkConfig);\n\n const err = new Error(\"fetch error\");\n vi.spyOn(axios, \"post\").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 AxiosManagerApiDataSource({} as DmkConfig);\n });\n afterEach(() => {\n vi.clearAllMocks();\n });\n it(\"should return a complete device version\", async () => {\n // given\n vi.spyOn(axios, \"get\").mockResolvedValue({ data: mockGetDeviceVersion });\n\n // when\n const response = await api.getDeviceVersion({\n targetId: \"targetId\",\n });\n\n // then\n expect(response).toEqual(Right(mockGetDeviceVersion));\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(axios, \"get\").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 AxiosManagerApiDataSource({} as DmkConfig);\n });\n afterEach(() => {\n vi.clearAllMocks();\n });\n it(\"should return a complete firmware version\", async () => {\n // given\n vi.spyOn(axios, \"get\").mockResolvedValue({\n data: mockGetFirmwareVersion,\n });\n\n // when\n const response = await api.getFirmwareVersion({\n version: \"versionName\",\n deviceId: 42,\n });\n\n // then\n expect(response).toEqual(Right(mockGetFirmwareVersion));\n });\n it(\"should return an error if the request fails\", async () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(axios, \"get\").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 describe(\"setProvider\", () => {\n let api: AxiosManagerApiDataSource;\n beforeEach(() => {\n api = new AxiosManagerApiDataSource({\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 describe(\"getProvider\", () => {\n let api: AxiosManagerApiDataSource;\n beforeEach(() => {\n api = new AxiosManagerApiDataSource({\n managerApiUrl: \"http://fake-url.com\",\n provider: 123,\n } as DmkConfig);\n });\n afterEach(() => {\n vi.clearAllMocks();\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_axios", "import_purify_ts", "import_data", "import_Errors", "import_AxiosManagerApiDataSource", "mockGetDeviceVersion", "mockGetFirmwareVersion", "api", "apps", "axios", "response", "error", "hashes", "err", "initialProvider"]
7
7
  }
@@ -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 { type FinalFirmware } from \"@internal/manager-api/model/Firmware\";\nimport {\n type GetAppByHashParams,\n type GetAppListParams,\n type GetDeviceVersionParams,\n type GetFirmwareVersionParams,\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, provider, 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, 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 and provider.\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, and provider.\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"],
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 { type FinalFirmware } from \"@internal/manager-api/model/Firmware\";\nimport {\n type GetAppByHashParams,\n type GetAppListParams,\n type GetDeviceVersionParams,\n type GetFirmwareVersionParams,\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, provider, 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, 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 and provider.\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, and provider.\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"],
5
5
  "mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
6
  "names": ["ManagerApiDataSource_exports", "__toCommonJS"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var t=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var o=Object.getOwnPropertyNames;var s=Object.prototype.hasOwnProperty;var g=(i,e)=>{for(var r in e)t(i,r,{get:e[r],enumerable:!0})},v=(i,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of o(e))!s.call(i,a)&&a!==r&&t(i,a,{get:()=>e[a],enumerable:!(n=p(e,a))||n.enumerable});return i};var f=i=>v(t({},"__esModule",{value:!0}),i);var c={};g(c,{AxiosManagerApiDataSource:()=>A});module.exports=f(c);class A{getAppList=vi.fn();getDeviceVersion=vi.fn();getFirmwareVersion=vi.fn();getAppsByHash=vi.fn();setProvider=vi.fn()}0&&(module.exports={AxiosManagerApiDataSource});
1
+ "use strict";var t=Object.defineProperty;var o=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var s=Object.prototype.hasOwnProperty;var v=(i,e)=>{for(var a in e)t(i,a,{get:e[a],enumerable:!0})},g=(i,e,a,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of p(e))!s.call(i,r)&&r!==a&&t(i,r,{get:()=>e[r],enumerable:!(n=o(e,r))||n.enumerable});return i};var f=i=>g(t({},"__esModule",{value:!0}),i);var c={};v(c,{AxiosManagerApiDataSource:()=>A});module.exports=f(c);class A{getAppList=vi.fn();getDeviceVersion=vi.fn();getFirmwareVersion=vi.fn();getAppsByHash=vi.fn();setProvider=vi.fn();getProvider=vi.fn()}0&&(module.exports={AxiosManagerApiDataSource});
2
2
  //# sourceMappingURL=AxiosManagerApiDataSource.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.ts"],
4
- "sourcesContent": ["import { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\n\nexport class AxiosManagerApiDataSource implements ManagerApiDataSource {\n getAppList = vi.fn();\n getDeviceVersion = vi.fn();\n getFirmwareVersion = vi.fn();\n getAppsByHash = vi.fn();\n setProvider = vi.fn();\n}\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,+BAAAE,IAAA,eAAAC,EAAAH,GAEO,MAAME,CAA0D,CACrE,WAAa,GAAG,GAAG,EACnB,iBAAmB,GAAG,GAAG,EACzB,mBAAqB,GAAG,GAAG,EAC3B,cAAgB,GAAG,GAAG,EACtB,YAAc,GAAG,GAAG,CACtB",
4
+ "sourcesContent": ["import { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\n\nexport class AxiosManagerApiDataSource implements ManagerApiDataSource {\n getAppList = vi.fn();\n getDeviceVersion = vi.fn();\n getFirmwareVersion = vi.fn();\n getAppsByHash = vi.fn();\n setProvider = vi.fn();\n getProvider = vi.fn();\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,+BAAAE,IAAA,eAAAC,EAAAH,GAEO,MAAME,CAA0D,CACrE,WAAa,GAAG,GAAG,EACnB,iBAAmB,GAAG,GAAG,EACzB,mBAAqB,GAAG,GAAG,EAC3B,cAAgB,GAAG,GAAG,EACtB,YAAc,GAAG,GAAG,EACpB,YAAc,GAAG,GAAG,CACtB",
6
6
  "names": ["AxiosManagerApiDataSource_exports", "__export", "AxiosManagerApiDataSource", "__toCommonJS"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{commandTypes as n}from"./command/di/commandTypes";import{configTypes as c}from"../internal/config/di/configTypes";import{deviceSessionTypes as t}from"../internal/device-session/di/deviceSessionTypes";import{discoveryTypes as s}from"../internal/discovery/di/discoveryTypes";import{managerApiTypes as a}from"../internal/manager-api/di/managerApiTypes";import{sendTypes as C}from"../internal/send/di/sendTypes";import{makeContainer as m}from"../../src/di";import{deviceActionTypes as p}from"./device-action/di/deviceActionTypes";class l{container;constructor({stub:e,transports:i,loggers:r,config:o}={}){this.container=m({stub:e,transports:i,loggers:r,config:o})}getVersion(){return this.container.get(c.GetDmkVersionUseCase).getDmkVersion()}startDiscovering(e){return this.container.get(s.StartDiscoveringUseCase).execute(e)}stopDiscovering(){return this.container.get(s.StopDiscoveringUseCase).execute()}listenToAvailableDevices(e){return this.container.get(s.ListenToAvailableDevicesUseCase).execute(e)}connect(e){return this.container.get(s.ConnectUseCase).execute(e)}disconnect(e){return this.container.get(s.DisconnectUseCase).execute(e)}sendApdu(e){return this.container.get(C.SendApduUseCase).execute(e)}sendCommand(e){return this.container.get(n.SendCommandUseCase).execute(e)}executeDeviceAction(e){return this.container.get(p.ExecuteDeviceActionUseCase).execute(e)}getConnectedDevice(e){return this.container.get(s.GetConnectedDeviceUseCase).execute(e)}getDeviceSessionState(e){return this.container.get(t.GetDeviceSessionStateUseCase).execute(e)}close(){return this.container.get(t.CloseSessionsUseCase).execute()}listConnectedDevices(){return this.container.get(s.ListConnectedDevicesUseCase).execute()}listenToConnectedDevice(){return this.container.get(s.ListenToConnectedDeviceUseCase).execute()}disableDeviceSessionRefresher(e){return this.container.get(t.DisableDeviceSessionRefresherUseCase).execute(e)}setProvider(e){return this.container.get(a.SetProviderUseCase).execute(e)}}export{l as DeviceManagementKit};
1
+ import{commandTypes as c}from"./command/di/commandTypes";import{configTypes as a}from"../internal/config/di/configTypes";import{deviceSessionTypes as t}from"../internal/device-session/di/deviceSessionTypes";import{discoveryTypes as s}from"../internal/discovery/di/discoveryTypes";import{managerApiTypes as r}from"../internal/manager-api/di/managerApiTypes";import{sendTypes as p}from"../internal/send/di/sendTypes";import{makeContainer as m}from"../../src/di";import{deviceActionTypes as C}from"./device-action/di/deviceActionTypes";class l{container;constructor({stub:e,transports:i,loggers:o,config:n}={}){this.container=m({stub:e,transports:i,loggers:o,config:n})}getVersion(){return this.container.get(a.GetDmkVersionUseCase).getDmkVersion()}startDiscovering(e){return this.container.get(s.StartDiscoveringUseCase).execute(e)}stopDiscovering(){return this.container.get(s.StopDiscoveringUseCase).execute()}listenToAvailableDevices(e){return this.container.get(s.ListenToAvailableDevicesUseCase).execute(e)}connect(e){return this.container.get(s.ConnectUseCase).execute(e)}disconnect(e){return this.container.get(s.DisconnectUseCase).execute(e)}sendApdu(e){return this.container.get(p.SendApduUseCase).execute(e)}sendCommand(e){return this.container.get(c.SendCommandUseCase).execute(e)}executeDeviceAction(e){return this.container.get(C.ExecuteDeviceActionUseCase).execute(e)}getConnectedDevice(e){return this.container.get(s.GetConnectedDeviceUseCase).execute(e)}getDeviceSessionState(e){return this.container.get(t.GetDeviceSessionStateUseCase).execute(e)}close(){return this.container.get(t.CloseSessionsUseCase).execute()}listConnectedDevices(){return this.container.get(s.ListConnectedDevicesUseCase).execute()}listenToConnectedDevice(){return this.container.get(s.ListenToConnectedDeviceUseCase).execute()}disableDeviceSessionRefresher(e){return this.container.get(t.DisableDeviceSessionRefresherUseCase).execute(e)}setProvider(e){return this.container.get(r.SetProviderUseCase).execute(e)}getProvider(){return this.container.get(r.ManagerApiDataSource).getProvider()}}export{l as DeviceManagementKit};
2
2
  //# sourceMappingURL=DeviceManagementKit.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/api/DeviceManagementKit.ts"],
4
- "sourcesContent": ["import { type Container } from \"inversify\";\nimport { type Observable } from \"rxjs\";\n\nimport { commandTypes } from \"@api/command/di/commandTypes\";\nimport { type CommandResult } from \"@api/command/model/CommandResult\";\nimport {\n type SendCommandUseCase,\n type SendCommandUseCaseArgs,\n} from \"@api/command/use-case/SendCommandUseCase\";\nimport {\n type ExecuteDeviceActionUseCase,\n type ExecuteDeviceActionUseCaseArgs,\n} from \"@api/device-action/use-case/ExecuteDeviceActionUseCase\";\nimport { type ApduResponse } from \"@api/device-session/ApduResponse\";\nimport { type DeviceSessionState } from \"@api/device-session/DeviceSessionState\";\nimport { type DeviceSessionId } from \"@api/device-session/types\";\nimport { type ConnectedDevice } from \"@api/transport/model/ConnectedDevice\";\nimport {\n type ConnectUseCaseArgs,\n type DisconnectUseCaseArgs,\n type DiscoveredDevice,\n type GetConnectedDeviceUseCaseArgs,\n type SendApduUseCaseArgs,\n type StartDiscoveringUseCaseArgs,\n} from \"@api/types\";\nimport { configTypes } from \"@internal/config/di/configTypes\";\nimport { type GetDmkVersionUseCase } from \"@internal/config/use-case/GetDmkVersionUseCase\";\nimport { deviceSessionTypes } from \"@internal/device-session/di/deviceSessionTypes\";\nimport { type CloseSessionsUseCase } from \"@internal/device-session/use-case/CloseSessionsUseCase\";\nimport { type GetDeviceSessionStateUseCase } from \"@internal/device-session/use-case/GetDeviceSessionStateUseCase\";\nimport { discoveryTypes } from \"@internal/discovery/di/discoveryTypes\";\nimport { type ConnectUseCase } from \"@internal/discovery/use-case/ConnectUseCase\";\nimport { type DisconnectUseCase } from \"@internal/discovery/use-case/DisconnectUseCase\";\nimport { type GetConnectedDeviceUseCase } from \"@internal/discovery/use-case/GetConnectedDeviceUseCase\";\nimport { type ListConnectedDevicesUseCase } from \"@internal/discovery/use-case/ListConnectedDevicesUseCase\";\nimport {\n type ListenToAvailableDevicesUseCase,\n type ListenToAvailableDevicesUseCaseArgs,\n} from \"@internal/discovery/use-case/ListenToAvailableDevicesUseCase\";\nimport { type ListenToConnectedDeviceUseCase } from \"@internal/discovery/use-case/ListenToConnectedDeviceUseCase\";\nimport type { StartDiscoveringUseCase } from \"@internal/discovery/use-case/StartDiscoveringUseCase\";\nimport type { StopDiscoveringUseCase } from \"@internal/discovery/use-case/StopDiscoveringUseCase\";\nimport { managerApiTypes } from \"@internal/manager-api/di/managerApiTypes\";\nimport { type SetProviderUseCase } from \"@internal/manager-api/use-case/SetProviderUseCase\";\nimport { sendTypes } from \"@internal/send/di/sendTypes\";\nimport { type SendApduUseCase } from \"@internal/send/use-case/SendApduUseCase\";\nimport { makeContainer, type MakeContainerProps } from \"@root/src/di\";\n\nimport {\n type DeviceActionIntermediateValue,\n type ExecuteDeviceActionReturnType,\n} from \"./device-action/DeviceAction\";\nimport { deviceActionTypes } from \"./device-action/di/deviceActionTypes\";\nimport { type DisableDeviceSessionRefresherUseCase } from \"./device-session/use-case/DisableDeviceSessionRefresher\";\nimport { type DmkError } from \"./Error\";\n\n/**\n * The main class to interact with the Device Management Kit.\n *\n * NB: do not instantiate this class directly, instead, use `LedgerDMKBuilder`.\n */\nexport class DeviceManagementKit {\n readonly container: Container;\n /** @internal */\n constructor({\n stub,\n transports,\n loggers,\n config,\n }: Partial<MakeContainerProps> = {}) {\n // NOTE: MakeContainerProps might not be the exact type here\n // For the init of the project this is sufficient, but we might need to\n // update the constructor arguments as we go (we might have more than just the container config)\n this.container = makeContainer({\n stub,\n transports,\n loggers,\n config,\n });\n }\n\n /**\n * Returns a promise resolving to the version of the SDK.\n */\n getVersion(): Promise<string> {\n return this.container\n .get<GetDmkVersionUseCase>(configTypes.GetDmkVersionUseCase)\n .getDmkVersion();\n }\n\n /**\n * Starts discovering devices connected.\n *\n * For the WeHID implementation, this use-case needs to be called as a result\n * of an user interaction (button \"click\" event for ex).\n *\n * @param {StartDiscoveringUseCaseArgs} args - The transport to use for discover, or undefined to discover from all transports.\n * @returns {Observable<DiscoveredDevice>} An observable of discovered devices.\n */\n startDiscovering(\n args: StartDiscoveringUseCaseArgs,\n ): Observable<DiscoveredDevice> {\n return this.container\n .get<StartDiscoveringUseCase>(discoveryTypes.StartDiscoveringUseCase)\n .execute(args);\n }\n\n /**\n * Stops discovering devices connected.\n */\n stopDiscovering() {\n return this.container\n .get<StopDiscoveringUseCase>(discoveryTypes.StopDiscoveringUseCase)\n .execute();\n }\n\n /**\n * Listen to list of known discovered devices (and later BLE).\n * @param {ListenToAvailableDevicesUseCaseArgs} args - The transport to use for discover, or undefined to discover from all transports.\n * @returns {Observable<DiscoveredDevice[]>} An observable of known discovered devices.\n */\n listenToAvailableDevices(\n args: ListenToAvailableDevicesUseCaseArgs,\n ): Observable<DiscoveredDevice[]> {\n return this.container\n .get<ListenToAvailableDevicesUseCase>(\n discoveryTypes.ListenToAvailableDevicesUseCase,\n )\n .execute(args);\n }\n\n /**\n * Connects to a device previously discovered with `DeviceManagementKit.startDiscovering`.\n * Creates a new device session which:\n * - Represents the connection to the device.\n * - Is terminated upon disconnection of the device.\n * - Exposes the device state through an observable (see `DeviceManagementKit.getDeviceSessionState`)\n * - Should be used for all subsequent communication with the device.\n *\n * @param {ConnectUseCaseArgs} args - The arguments for connecting to the device.\n * - `device`: The discovered device obtained from `StartDiscoveringUseCase`.\n * - `sessionRefresherOptions` (optional): Configuration for session refreshing.\n * - `isRefresherDisabled`: Whether the refresher is disabled.\n * - `pollingInterval`: The refresh interval in milliseconds\n * @returns The session ID to use for further communication with the device.\n */\n connect(args: ConnectUseCaseArgs): Promise<DeviceSessionId> {\n return this.container\n .get<ConnectUseCase>(discoveryTypes.ConnectUseCase)\n .execute(args);\n }\n\n /**\n * Disconnects to a discovered device.\n *\n * @param {DisconnectUseCaseArgs} args - The session ID to disconnect.\n */\n disconnect(args: DisconnectUseCaseArgs): Promise<void> {\n return this.container\n .get<DisconnectUseCase>(discoveryTypes.DisconnectUseCase)\n .execute(args);\n }\n\n /**\n * Sends an APDU command to a device through a device session.\n *\n * @param {SendApduUseCaseArgs} args - The device session ID and APDU command to send.\n */\n sendApdu(args: SendApduUseCaseArgs): Promise<ApduResponse> {\n return this.container\n .get<SendApduUseCase>(sendTypes.SendApduUseCase)\n .execute(args);\n }\n\n /**\n * Sends a command to a device through a device session.\n *\n * @param {SendCommandUseCaseArgs<Response, Args, ErrorCodes>} args - The device session ID, command, command error codes and command parameters to send.\n * @returns A promise resolving with the response from the command.\n */\n sendCommand<Response, Args, ErrorCodes>(\n args: SendCommandUseCaseArgs<Response, Args, ErrorCodes>,\n ): Promise<CommandResult<Response, ErrorCodes>> {\n return this.container\n .get<SendCommandUseCase>(commandTypes.SendCommandUseCase)\n .execute(args);\n }\n\n executeDeviceAction<\n Output,\n Input,\n Error extends DmkError,\n IntermediateValue extends DeviceActionIntermediateValue,\n >(\n args: ExecuteDeviceActionUseCaseArgs<\n Output,\n Input,\n Error,\n IntermediateValue\n >,\n ): ExecuteDeviceActionReturnType<Output, Error, IntermediateValue> {\n return this.container\n .get<ExecuteDeviceActionUseCase>(\n deviceActionTypes.ExecuteDeviceActionUseCase,\n )\n .execute(args);\n }\n\n /**\n * Gets the connected from its device session ID.\n *\n * @param {GetConnectedDeviceUseCaseArgs} args - The device session ID.\n * @returns {ConnectedDevice} The connected device.\n */\n getConnectedDevice(args: GetConnectedDeviceUseCaseArgs): ConnectedDevice {\n return this.container\n .get<GetConnectedDeviceUseCase>(discoveryTypes.GetConnectedDeviceUseCase)\n .execute(args);\n }\n\n /**\n * Gets the device state of a session.\n *\n * @param {{ sessionId: DeviceSessionId }} args - The device session ID.\n * @returns {Observable<DeviceSessionState>} An observable of the session device state.\n */\n getDeviceSessionState(args: {\n sessionId: DeviceSessionId;\n }): Observable<DeviceSessionState> {\n return this.container\n .get<GetDeviceSessionStateUseCase>(\n deviceSessionTypes.GetDeviceSessionStateUseCase,\n )\n .execute(args);\n }\n\n /**\n * Close the Device Management kit.\n *\n */\n close() {\n return this.container\n .get<CloseSessionsUseCase>(deviceSessionTypes.CloseSessionsUseCase)\n .execute();\n }\n\n /**\n * Lists all connected devices.\n *\n * @returns {ConnectedDevice[]} The list of device sessions.\n */\n listConnectedDevices(): ConnectedDevice[] {\n return this.container\n .get<ListConnectedDevicesUseCase>(\n discoveryTypes.ListConnectedDevicesUseCase,\n )\n .execute();\n }\n\n /**\n * Listen to connected device.\n *\n * @returns {Observable<ConnectedDevice>} An observable of connected device.\n */\n listenToConnectedDevice(): Observable<ConnectedDevice> {\n return this.container\n .get<ListenToConnectedDeviceUseCase>(\n discoveryTypes.ListenToConnectedDeviceUseCase,\n )\n .execute();\n }\n\n /**\n * Disable the device session refresher.\n *\n * @param {DisableDeviceSessionRefresherUseCaseArgs} args - The device session ID and a string to identify the blocker.\n * @returns {() => void} A function to reenable the device session refresher.\n */\n disableDeviceSessionRefresher(args: {\n sessionId: DeviceSessionId;\n blockerId: string;\n }): () => void {\n return this.container\n .get<DisableDeviceSessionRefresherUseCase>(\n deviceSessionTypes.DisableDeviceSessionRefresherUseCase,\n )\n .execute(args);\n }\n /**\n * Sets the provider for the manager API.\n *\n * @param {number} provider - The provider to set.\n */\n setProvider(provider: number): void {\n return this.container\n .get<SetProviderUseCase>(managerApiTypes.SetProviderUseCase)\n .execute(provider);\n }\n}\n"],
5
- "mappings": "AAGA,OAAS,gBAAAA,MAAoB,+BAsB7B,OAAS,eAAAC,MAAmB,kCAE5B,OAAS,sBAAAC,MAA0B,iDAGnC,OAAS,kBAAAC,MAAsB,wCAY/B,OAAS,mBAAAC,MAAuB,2CAEhC,OAAS,aAAAC,MAAiB,8BAE1B,OAAS,iBAAAC,MAA8C,eAMvD,OAAS,qBAAAC,MAAyB,uCAS3B,MAAMC,CAAoB,CACtB,UAET,YAAY,CACV,KAAAC,EACA,WAAAC,EACA,QAAAC,EACA,OAAAC,CACF,EAAiC,CAAC,EAAG,CAInC,KAAK,UAAYN,EAAc,CAC7B,KAAAG,EACA,WAAAC,EACA,QAAAC,EACA,OAAAC,CACF,CAAC,CACH,CAKA,YAA8B,CAC5B,OAAO,KAAK,UACT,IAA0BX,EAAY,oBAAoB,EAC1D,cAAc,CACnB,CAWA,iBACEY,EAC8B,CAC9B,OAAO,KAAK,UACT,IAA6BV,EAAe,uBAAuB,EACnE,QAAQU,CAAI,CACjB,CAKA,iBAAkB,CAChB,OAAO,KAAK,UACT,IAA4BV,EAAe,sBAAsB,EACjE,QAAQ,CACb,CAOA,yBACEU,EACgC,CAChC,OAAO,KAAK,UACT,IACCV,EAAe,+BACjB,EACC,QAAQU,CAAI,CACjB,CAiBA,QAAQA,EAAoD,CAC1D,OAAO,KAAK,UACT,IAAoBV,EAAe,cAAc,EACjD,QAAQU,CAAI,CACjB,CAOA,WAAWA,EAA4C,CACrD,OAAO,KAAK,UACT,IAAuBV,EAAe,iBAAiB,EACvD,QAAQU,CAAI,CACjB,CAOA,SAASA,EAAkD,CACzD,OAAO,KAAK,UACT,IAAqBR,EAAU,eAAe,EAC9C,QAAQQ,CAAI,CACjB,CAQA,YACEA,EAC8C,CAC9C,OAAO,KAAK,UACT,IAAwBb,EAAa,kBAAkB,EACvD,QAAQa,CAAI,CACjB,CAEA,oBAMEA,EAMiE,CACjE,OAAO,KAAK,UACT,IACCN,EAAkB,0BACpB,EACC,QAAQM,CAAI,CACjB,CAQA,mBAAmBA,EAAsD,CACvE,OAAO,KAAK,UACT,IAA+BV,EAAe,yBAAyB,EACvE,QAAQU,CAAI,CACjB,CAQA,sBAAsBA,EAEa,CACjC,OAAO,KAAK,UACT,IACCX,EAAmB,4BACrB,EACC,QAAQW,CAAI,CACjB,CAMA,OAAQ,CACN,OAAO,KAAK,UACT,IAA0BX,EAAmB,oBAAoB,EACjE,QAAQ,CACb,CAOA,sBAA0C,CACxC,OAAO,KAAK,UACT,IACCC,EAAe,2BACjB,EACC,QAAQ,CACb,CAOA,yBAAuD,CACrD,OAAO,KAAK,UACT,IACCA,EAAe,8BACjB,EACC,QAAQ,CACb,CAQA,8BAA8BU,EAGf,CACb,OAAO,KAAK,UACT,IACCX,EAAmB,oCACrB,EACC,QAAQW,CAAI,CACjB,CAMA,YAAYC,EAAwB,CAClC,OAAO,KAAK,UACT,IAAwBV,EAAgB,kBAAkB,EAC1D,QAAQU,CAAQ,CACrB,CACF",
4
+ "sourcesContent": ["import { type Container } from \"inversify\";\nimport { type Observable } from \"rxjs\";\n\nimport { commandTypes } from \"@api/command/di/commandTypes\";\nimport { type CommandResult } from \"@api/command/model/CommandResult\";\nimport {\n type SendCommandUseCase,\n type SendCommandUseCaseArgs,\n} from \"@api/command/use-case/SendCommandUseCase\";\nimport {\n type ExecuteDeviceActionUseCase,\n type ExecuteDeviceActionUseCaseArgs,\n} from \"@api/device-action/use-case/ExecuteDeviceActionUseCase\";\nimport { type ApduResponse } from \"@api/device-session/ApduResponse\";\nimport { type DeviceSessionState } from \"@api/device-session/DeviceSessionState\";\nimport { type DeviceSessionId } from \"@api/device-session/types\";\nimport { type ConnectedDevice } from \"@api/transport/model/ConnectedDevice\";\nimport {\n type ConnectUseCaseArgs,\n type DisconnectUseCaseArgs,\n type DiscoveredDevice,\n type GetConnectedDeviceUseCaseArgs,\n type SendApduUseCaseArgs,\n type StartDiscoveringUseCaseArgs,\n} from \"@api/types\";\nimport { configTypes } from \"@internal/config/di/configTypes\";\nimport { type GetDmkVersionUseCase } from \"@internal/config/use-case/GetDmkVersionUseCase\";\nimport { deviceSessionTypes } from \"@internal/device-session/di/deviceSessionTypes\";\nimport { type CloseSessionsUseCase } from \"@internal/device-session/use-case/CloseSessionsUseCase\";\nimport { type GetDeviceSessionStateUseCase } from \"@internal/device-session/use-case/GetDeviceSessionStateUseCase\";\nimport { discoveryTypes } from \"@internal/discovery/di/discoveryTypes\";\nimport { type ConnectUseCase } from \"@internal/discovery/use-case/ConnectUseCase\";\nimport { type DisconnectUseCase } from \"@internal/discovery/use-case/DisconnectUseCase\";\nimport { type GetConnectedDeviceUseCase } from \"@internal/discovery/use-case/GetConnectedDeviceUseCase\";\nimport { type ListConnectedDevicesUseCase } from \"@internal/discovery/use-case/ListConnectedDevicesUseCase\";\nimport {\n type ListenToAvailableDevicesUseCase,\n type ListenToAvailableDevicesUseCaseArgs,\n} from \"@internal/discovery/use-case/ListenToAvailableDevicesUseCase\";\nimport { type ListenToConnectedDeviceUseCase } from \"@internal/discovery/use-case/ListenToConnectedDeviceUseCase\";\nimport type { StartDiscoveringUseCase } from \"@internal/discovery/use-case/StartDiscoveringUseCase\";\nimport type { StopDiscoveringUseCase } from \"@internal/discovery/use-case/StopDiscoveringUseCase\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { managerApiTypes } from \"@internal/manager-api/di/managerApiTypes\";\nimport { type SetProviderUseCase } from \"@internal/manager-api/use-case/SetProviderUseCase\";\nimport { sendTypes } from \"@internal/send/di/sendTypes\";\nimport { type SendApduUseCase } from \"@internal/send/use-case/SendApduUseCase\";\nimport { makeContainer, type MakeContainerProps } from \"@root/src/di\";\n\nimport {\n type DeviceActionIntermediateValue,\n type ExecuteDeviceActionReturnType,\n} from \"./device-action/DeviceAction\";\nimport { deviceActionTypes } from \"./device-action/di/deviceActionTypes\";\nimport { type DisableDeviceSessionRefresherUseCase } from \"./device-session/use-case/DisableDeviceSessionRefresher\";\nimport { type DmkError } from \"./Error\";\n\n/**\n * The main class to interact with the Device Management Kit.\n *\n * NB: do not instantiate this class directly, instead, use `LedgerDMKBuilder`.\n */\nexport class DeviceManagementKit {\n readonly container: Container;\n /** @internal */\n constructor({\n stub,\n transports,\n loggers,\n config,\n }: Partial<MakeContainerProps> = {}) {\n // NOTE: MakeContainerProps might not be the exact type here\n // For the init of the project this is sufficient, but we might need to\n // update the constructor arguments as we go (we might have more than just the container config)\n this.container = makeContainer({\n stub,\n transports,\n loggers,\n config,\n });\n }\n\n /**\n * Returns a promise resolving to the version of the SDK.\n */\n getVersion(): Promise<string> {\n return this.container\n .get<GetDmkVersionUseCase>(configTypes.GetDmkVersionUseCase)\n .getDmkVersion();\n }\n\n /**\n * Starts discovering devices connected.\n *\n * For the WeHID implementation, this use-case needs to be called as a result\n * of an user interaction (button \"click\" event for ex).\n *\n * @param {StartDiscoveringUseCaseArgs} args - The transport to use for discover, or undefined to discover from all transports.\n * @returns {Observable<DiscoveredDevice>} An observable of discovered devices.\n */\n startDiscovering(\n args: StartDiscoveringUseCaseArgs,\n ): Observable<DiscoveredDevice> {\n return this.container\n .get<StartDiscoveringUseCase>(discoveryTypes.StartDiscoveringUseCase)\n .execute(args);\n }\n\n /**\n * Stops discovering devices connected.\n */\n stopDiscovering() {\n return this.container\n .get<StopDiscoveringUseCase>(discoveryTypes.StopDiscoveringUseCase)\n .execute();\n }\n\n /**\n * Listen to list of known discovered devices (and later BLE).\n * @param {ListenToAvailableDevicesUseCaseArgs} args - The transport to use for discover, or undefined to discover from all transports.\n * @returns {Observable<DiscoveredDevice[]>} An observable of known discovered devices.\n */\n listenToAvailableDevices(\n args: ListenToAvailableDevicesUseCaseArgs,\n ): Observable<DiscoveredDevice[]> {\n return this.container\n .get<ListenToAvailableDevicesUseCase>(\n discoveryTypes.ListenToAvailableDevicesUseCase,\n )\n .execute(args);\n }\n\n /**\n * Connects to a device previously discovered with `DeviceManagementKit.startDiscovering`.\n * Creates a new device session which:\n * - Represents the connection to the device.\n * - Is terminated upon disconnection of the device.\n * - Exposes the device state through an observable (see `DeviceManagementKit.getDeviceSessionState`)\n * - Should be used for all subsequent communication with the device.\n *\n * @param {ConnectUseCaseArgs} args - The arguments for connecting to the device.\n * - `device`: The discovered device obtained from `StartDiscoveringUseCase`.\n * - `sessionRefresherOptions` (optional): Configuration for session refreshing.\n * - `isRefresherDisabled`: Whether the refresher is disabled.\n * - `pollingInterval`: The refresh interval in milliseconds\n * @returns The session ID to use for further communication with the device.\n */\n connect(args: ConnectUseCaseArgs): Promise<DeviceSessionId> {\n return this.container\n .get<ConnectUseCase>(discoveryTypes.ConnectUseCase)\n .execute(args);\n }\n\n /**\n * Disconnects to a discovered device.\n *\n * @param {DisconnectUseCaseArgs} args - The session ID to disconnect.\n */\n disconnect(args: DisconnectUseCaseArgs): Promise<void> {\n return this.container\n .get<DisconnectUseCase>(discoveryTypes.DisconnectUseCase)\n .execute(args);\n }\n\n /**\n * Sends an APDU command to a device through a device session.\n *\n * @param {SendApduUseCaseArgs} args - The device session ID and APDU command to send.\n */\n sendApdu(args: SendApduUseCaseArgs): Promise<ApduResponse> {\n return this.container\n .get<SendApduUseCase>(sendTypes.SendApduUseCase)\n .execute(args);\n }\n\n /**\n * Sends a command to a device through a device session.\n *\n * @param {SendCommandUseCaseArgs<Response, Args, ErrorCodes>} args - The device session ID, command, command error codes and command parameters to send.\n * @returns A promise resolving with the response from the command.\n */\n sendCommand<Response, Args, ErrorCodes>(\n args: SendCommandUseCaseArgs<Response, Args, ErrorCodes>,\n ): Promise<CommandResult<Response, ErrorCodes>> {\n return this.container\n .get<SendCommandUseCase>(commandTypes.SendCommandUseCase)\n .execute(args);\n }\n\n executeDeviceAction<\n Output,\n Input,\n Error extends DmkError,\n IntermediateValue extends DeviceActionIntermediateValue,\n >(\n args: ExecuteDeviceActionUseCaseArgs<\n Output,\n Input,\n Error,\n IntermediateValue\n >,\n ): ExecuteDeviceActionReturnType<Output, Error, IntermediateValue> {\n return this.container\n .get<ExecuteDeviceActionUseCase>(\n deviceActionTypes.ExecuteDeviceActionUseCase,\n )\n .execute(args);\n }\n\n /**\n * Gets the connected from its device session ID.\n *\n * @param {GetConnectedDeviceUseCaseArgs} args - The device session ID.\n * @returns {ConnectedDevice} The connected device.\n */\n getConnectedDevice(args: GetConnectedDeviceUseCaseArgs): ConnectedDevice {\n return this.container\n .get<GetConnectedDeviceUseCase>(discoveryTypes.GetConnectedDeviceUseCase)\n .execute(args);\n }\n\n /**\n * Gets the device state of a session.\n *\n * @param {{ sessionId: DeviceSessionId }} args - The device session ID.\n * @returns {Observable<DeviceSessionState>} An observable of the session device state.\n */\n getDeviceSessionState(args: {\n sessionId: DeviceSessionId;\n }): Observable<DeviceSessionState> {\n return this.container\n .get<GetDeviceSessionStateUseCase>(\n deviceSessionTypes.GetDeviceSessionStateUseCase,\n )\n .execute(args);\n }\n\n /**\n * Close the Device Management kit.\n *\n */\n close() {\n return this.container\n .get<CloseSessionsUseCase>(deviceSessionTypes.CloseSessionsUseCase)\n .execute();\n }\n\n /**\n * Lists all connected devices.\n *\n * @returns {ConnectedDevice[]} The list of device sessions.\n */\n listConnectedDevices(): ConnectedDevice[] {\n return this.container\n .get<ListConnectedDevicesUseCase>(\n discoveryTypes.ListConnectedDevicesUseCase,\n )\n .execute();\n }\n\n /**\n * Listen to connected device.\n *\n * @returns {Observable<ConnectedDevice>} An observable of connected device.\n */\n listenToConnectedDevice(): Observable<ConnectedDevice> {\n return this.container\n .get<ListenToConnectedDeviceUseCase>(\n discoveryTypes.ListenToConnectedDeviceUseCase,\n )\n .execute();\n }\n\n /**\n * Disable the device session refresher.\n *\n * @param {DisableDeviceSessionRefresherUseCaseArgs} args - The device session ID and a string to identify the blocker.\n * @returns {() => void} A function to reenable the device session refresher.\n */\n disableDeviceSessionRefresher(args: {\n sessionId: DeviceSessionId;\n blockerId: string;\n }): () => void {\n return this.container\n .get<DisableDeviceSessionRefresherUseCase>(\n deviceSessionTypes.DisableDeviceSessionRefresherUseCase,\n )\n .execute(args);\n }\n /**\n * Sets the provider for the manager API.\n *\n * @param {number} provider - The provider to set.\n */\n setProvider(provider: number): void {\n return this.container\n .get<SetProviderUseCase>(managerApiTypes.SetProviderUseCase)\n .execute(provider);\n }\n\n /**\n * Returns the current provider value from the manager API data source.\n */\n getProvider(): number {\n return this.container\n .get<ManagerApiDataSource>(managerApiTypes.ManagerApiDataSource)\n .getProvider();\n }\n}\n"],
5
+ "mappings": "AAGA,OAAS,gBAAAA,MAAoB,+BAsB7B,OAAS,eAAAC,MAAmB,kCAE5B,OAAS,sBAAAC,MAA0B,iDAGnC,OAAS,kBAAAC,MAAsB,wCAa/B,OAAS,mBAAAC,MAAuB,2CAEhC,OAAS,aAAAC,MAAiB,8BAE1B,OAAS,iBAAAC,MAA8C,eAMvD,OAAS,qBAAAC,MAAyB,uCAS3B,MAAMC,CAAoB,CACtB,UAET,YAAY,CACV,KAAAC,EACA,WAAAC,EACA,QAAAC,EACA,OAAAC,CACF,EAAiC,CAAC,EAAG,CAInC,KAAK,UAAYN,EAAc,CAC7B,KAAAG,EACA,WAAAC,EACA,QAAAC,EACA,OAAAC,CACF,CAAC,CACH,CAKA,YAA8B,CAC5B,OAAO,KAAK,UACT,IAA0BX,EAAY,oBAAoB,EAC1D,cAAc,CACnB,CAWA,iBACEY,EAC8B,CAC9B,OAAO,KAAK,UACT,IAA6BV,EAAe,uBAAuB,EACnE,QAAQU,CAAI,CACjB,CAKA,iBAAkB,CAChB,OAAO,KAAK,UACT,IAA4BV,EAAe,sBAAsB,EACjE,QAAQ,CACb,CAOA,yBACEU,EACgC,CAChC,OAAO,KAAK,UACT,IACCV,EAAe,+BACjB,EACC,QAAQU,CAAI,CACjB,CAiBA,QAAQA,EAAoD,CAC1D,OAAO,KAAK,UACT,IAAoBV,EAAe,cAAc,EACjD,QAAQU,CAAI,CACjB,CAOA,WAAWA,EAA4C,CACrD,OAAO,KAAK,UACT,IAAuBV,EAAe,iBAAiB,EACvD,QAAQU,CAAI,CACjB,CAOA,SAASA,EAAkD,CACzD,OAAO,KAAK,UACT,IAAqBR,EAAU,eAAe,EAC9C,QAAQQ,CAAI,CACjB,CAQA,YACEA,EAC8C,CAC9C,OAAO,KAAK,UACT,IAAwBb,EAAa,kBAAkB,EACvD,QAAQa,CAAI,CACjB,CAEA,oBAMEA,EAMiE,CACjE,OAAO,KAAK,UACT,IACCN,EAAkB,0BACpB,EACC,QAAQM,CAAI,CACjB,CAQA,mBAAmBA,EAAsD,CACvE,OAAO,KAAK,UACT,IAA+BV,EAAe,yBAAyB,EACvE,QAAQU,CAAI,CACjB,CAQA,sBAAsBA,EAEa,CACjC,OAAO,KAAK,UACT,IACCX,EAAmB,4BACrB,EACC,QAAQW,CAAI,CACjB,CAMA,OAAQ,CACN,OAAO,KAAK,UACT,IAA0BX,EAAmB,oBAAoB,EACjE,QAAQ,CACb,CAOA,sBAA0C,CACxC,OAAO,KAAK,UACT,IACCC,EAAe,2BACjB,EACC,QAAQ,CACb,CAOA,yBAAuD,CACrD,OAAO,KAAK,UACT,IACCA,EAAe,8BACjB,EACC,QAAQ,CACb,CAQA,8BAA8BU,EAGf,CACb,OAAO,KAAK,UACT,IACCX,EAAmB,oCACrB,EACC,QAAQW,CAAI,CACjB,CAMA,YAAYC,EAAwB,CAClC,OAAO,KAAK,UACT,IAAwBV,EAAgB,kBAAkB,EAC1D,QAAQU,CAAQ,CACrB,CAKA,aAAsB,CACpB,OAAO,KAAK,UACT,IAA0BV,EAAgB,oBAAoB,EAC9D,YAAY,CACjB,CACF",
6
6
  "names": ["commandTypes", "configTypes", "deviceSessionTypes", "discoveryTypes", "managerApiTypes", "sendTypes", "makeContainer", "deviceActionTypes", "DeviceManagementKit", "stub", "transports", "loggers", "config", "args", "provider"]
7
7
  }
@@ -1,2 +1,2 @@
1
- var v=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var y=(i,r,t,e)=>{for(var p=e>1?void 0:e?g(r,t):r,A=i.length-1,l;A>=0;A--)(l=i[A])&&(p=(e?l(r,t,p):l(p))||p);return e&&p&&v(r,t,p),p},h=(i,r)=>(t,e)=>r(t,e,i);import a from"axios";import{inject as f,injectable as u}from"inversify";import{EitherAsync as o}from"purify-ts";import{managerApiTypes as _}from"../../manager-api/di/managerApiTypes";import{AppType as n}from"../../manager-api/model/Application";import{DEFAULT_PROVIDER as d}from"../../manager-api/model/Const";import{HttpFetchApiError as s}from"../../manager-api/model/Errors";import{AppTypeDto as m}from"./ManagerApiDto";let c=class{_managerApiBaseUrl;_provider=d;constructor({managerApiUrl:r,provider:t}){this._managerApiBaseUrl=r,this._provider=t}setProvider(r){this._provider===r||r<1||(this._provider=r)}getAppList(r){const{targetId:t,firmwareVersionName:e}=r;return o(()=>a.get(`${this._managerApiBaseUrl}/v2/apps/by-target`,{params:{target_id:t,provider:this._provider,firmware_version_name:e}})).map(p=>p.data).mapLeft(p=>new s(p))}getDeviceVersion(r){const{targetId:t}=r;return o(()=>a.get(`${this._managerApiBaseUrl}/get_device_version`,{params:{target_id:t,provider:this._provider}})).map(e=>e.data).mapLeft(e=>new s(e))}getFirmwareVersion(r){const{deviceId:t,version:e}=r;return o(()=>a.get(`${this._managerApiBaseUrl}/get_firmware_version`,{params:{device_version:t,version_name:e,provider:this._provider}})).map(p=>p.data).mapLeft(p=>new s(p))}getAppsByHash(r){const{hashes:t}=r;return o(()=>a.post(`${this._managerApiBaseUrl}/v2/apps/hash`,t)).map(e=>e.data).map(e=>this.mapApplicationDtoToApplication(e)).mapLeft(e=>new s(e))}mapAppTypeDtoToAppType(r){switch(r){case m.currency:return n.currency;case m.plugin:return n.plugin;case m.tool:return n.tool;case m.swap:return n.swap}}mapApplicationDtoToApplication(r){return r.map(t=>{if(t===null)return null;const{applicationType:e,...p}=t;return{...p,applicationType:this.mapAppTypeDtoToAppType(e)}})}};c=y([u(),h(0,f(_.DmkConfig))],c);export{c as AxiosManagerApiDataSource};
1
+ var h=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var y=(i,r,t,e)=>{for(var p=e>1?void 0:e?g(r,t):r,A=i.length-1,l;A>=0;A--)(l=i[A])&&(p=(e?l(r,t,p):l(p))||p);return e&&p&&h(r,t,p),p},v=(i,r)=>(t,e)=>r(t,e,i);import a from"axios";import{inject as u,injectable as d}from"inversify";import{EitherAsync as o}from"purify-ts";import{managerApiTypes as f}from"../../manager-api/di/managerApiTypes";import{AppType as n}from"../../manager-api/model/Application";import{DEFAULT_PROVIDER as _}from"../../manager-api/model/Const";import{HttpFetchApiError as s}from"../../manager-api/model/Errors";import{AppTypeDto as m}from"./ManagerApiDto";let c=class{_managerApiBaseUrl;_provider=_;constructor({managerApiUrl:r,provider:t}){this._managerApiBaseUrl=r,this._provider=t}setProvider(r){this._provider===r||r<1||(this._provider=r)}getProvider(){return this._provider}getAppList(r){const{targetId:t,firmwareVersionName:e}=r;return o(()=>a.get(`${this._managerApiBaseUrl}/v2/apps/by-target`,{params:{target_id:t,provider:this._provider,firmware_version_name:e}})).map(p=>p.data).mapLeft(p=>new s(p))}getDeviceVersion(r){const{targetId:t}=r;return o(()=>a.get(`${this._managerApiBaseUrl}/get_device_version`,{params:{target_id:t,provider:this._provider}})).map(e=>e.data).mapLeft(e=>new s(e))}getFirmwareVersion(r){const{deviceId:t,version:e}=r;return o(()=>a.get(`${this._managerApiBaseUrl}/get_firmware_version`,{params:{device_version:t,version_name:e,provider:this._provider}})).map(p=>p.data).mapLeft(p=>new s(p))}getAppsByHash(r){const{hashes:t}=r;return o(()=>a.post(`${this._managerApiBaseUrl}/v2/apps/hash`,t)).map(e=>e.data).map(e=>this.mapApplicationDtoToApplication(e)).mapLeft(e=>new s(e))}mapAppTypeDtoToAppType(r){switch(r){case m.currency:return n.currency;case m.plugin:return n.plugin;case m.tool:return n.tool;case m.swap:return n.swap}}mapApplicationDtoToApplication(r){return r.map(t=>{if(t===null)return null;const{applicationType:e,...p}=t;return{...p,applicationType:this.mapAppTypeDtoToAppType(e)}})}};c=y([d(),v(0,u(f.DmkConfig))],c);export{c as AxiosManagerApiDataSource};
2
2
  //# sourceMappingURL=AxiosManagerApiDataSource.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/manager-api/data/AxiosManagerApiDataSource.ts"],
4
- "sourcesContent": ["import axios from \"axios\";\nimport { inject, injectable } from \"inversify\";\nimport { EitherAsync } from \"purify-ts\";\n\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { managerApiTypes } from \"@internal/manager-api/di/managerApiTypes\";\nimport {\n type Application,\n AppType,\n} from \"@internal/manager-api/model/Application\";\nimport { DEFAULT_PROVIDER } from \"@internal/manager-api/model/Const\";\nimport { type DeviceVersion } from \"@internal/manager-api/model/Device\";\nimport { HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\nimport { type FinalFirmware } from \"@internal/manager-api/model/Firmware\";\nimport {\n type GetAppByHashParams,\n type GetAppListParams,\n type GetDeviceVersionParams,\n type GetFirmwareVersionParams,\n} from \"@internal/manager-api/model/Params\";\n\nimport { ManagerApiDataSource } from \"./ManagerApiDataSource\";\nimport { ApplicationDto, AppTypeDto } from \"./ManagerApiDto\";\n\n@injectable()\nexport class AxiosManagerApiDataSource implements ManagerApiDataSource {\n private readonly _managerApiBaseUrl: string;\n private _provider: number = DEFAULT_PROVIDER;\n\n constructor(\n @inject(managerApiTypes.DmkConfig)\n { managerApiUrl, provider }: DmkConfig,\n ) {\n this._managerApiBaseUrl = managerApiUrl;\n this._provider = provider;\n }\n\n setProvider(provider: number): void {\n if (this._provider === provider || provider < 1) {\n return;\n }\n this._provider = provider;\n }\n\n getAppList(\n params: GetAppListParams,\n ): EitherAsync<HttpFetchApiError, Application[]> {\n const { targetId, firmwareVersionName } = params;\n return EitherAsync(() =>\n axios.get<Application[]>(`${this._managerApiBaseUrl}/v2/apps/by-target`, {\n params: {\n target_id: targetId,\n provider: this._provider,\n firmware_version_name: firmwareVersionName,\n },\n }),\n )\n .map((res) => res.data)\n .mapLeft((error) => new HttpFetchApiError(error));\n }\n\n getDeviceVersion(\n params: GetDeviceVersionParams,\n ): EitherAsync<HttpFetchApiError, DeviceVersion> {\n const { targetId } = params;\n return EitherAsync(() =>\n axios.get<DeviceVersion>(\n `${this._managerApiBaseUrl}/get_device_version`,\n {\n params: {\n target_id: targetId,\n provider: this._provider,\n },\n },\n ),\n )\n .map((res) => res.data)\n .mapLeft((error) => new HttpFetchApiError(error));\n }\n\n getFirmwareVersion(\n params: GetFirmwareVersionParams,\n ): EitherAsync<HttpFetchApiError, FinalFirmware> {\n const { deviceId, version } = params;\n return EitherAsync(() =>\n axios.get<FinalFirmware>(\n `${this._managerApiBaseUrl}/get_firmware_version`,\n {\n params: {\n device_version: deviceId,\n version_name: version,\n provider: this._provider,\n },\n },\n ),\n )\n .map((res) => res.data)\n .mapLeft((error) => new HttpFetchApiError(error));\n }\n\n getAppsByHash(\n params: GetAppByHashParams,\n ): EitherAsync<HttpFetchApiError, Array<Application | null>> {\n const { hashes } = params;\n return EitherAsync(() =>\n axios.post<Array<ApplicationDto | null>>(\n `${this._managerApiBaseUrl}/v2/apps/hash`,\n hashes,\n ),\n )\n .map((res) => res.data)\n .map((apps) => this.mapApplicationDtoToApplication(apps))\n .mapLeft((error) => new HttpFetchApiError(error));\n }\n\n private mapAppTypeDtoToAppType(appType: AppTypeDto): AppType {\n switch (appType) {\n case AppTypeDto.currency:\n return AppType.currency;\n case AppTypeDto.plugin:\n return AppType.plugin;\n case AppTypeDto.tool:\n return AppType.tool;\n case AppTypeDto.swap:\n return AppType.swap;\n }\n }\n\n private mapApplicationDtoToApplication(\n apps: Array<ApplicationDto | null>,\n ): Array<Application | null> {\n return apps.map((app) => {\n if (app === null) {\n return null;\n }\n const { applicationType, ...rest } = app;\n return {\n ...rest,\n applicationType: this.mapAppTypeDtoToAppType(applicationType),\n };\n });\n }\n}\n"],
5
- "mappings": "iOAAA,OAAOA,MAAW,QAClB,OAAS,UAAAC,EAAQ,cAAAC,MAAkB,YACnC,OAAS,eAAAC,MAAmB,YAG5B,OAAS,mBAAAC,MAAuB,2CAChC,OAEE,WAAAC,MACK,0CACP,OAAS,oBAAAC,MAAwB,oCAEjC,OAAS,qBAAAC,MAAyB,qCAUlC,OAAyB,cAAAC,MAAkB,kBAGpC,IAAMC,EAAN,KAAgE,CACpD,mBACT,UAAoBC,EAE5B,YAEE,CAAE,cAAAC,EAAe,SAAAC,CAAS,EAC1B,CACA,KAAK,mBAAqBD,EAC1B,KAAK,UAAYC,CACnB,CAEA,YAAYA,EAAwB,CAC9B,KAAK,YAAcA,GAAYA,EAAW,IAG9C,KAAK,UAAYA,EACnB,CAEA,WACEC,EAC+C,CAC/C,KAAM,CAAE,SAAAC,EAAU,oBAAAC,CAAoB,EAAIF,EAC1C,OAAOG,EAAY,IACjBC,EAAM,IAAmB,GAAG,KAAK,kBAAkB,qBAAsB,CACvE,OAAQ,CACN,UAAWH,EACX,SAAU,KAAK,UACf,sBAAuBC,CACzB,CACF,CAAC,CACH,EACG,IAAKG,GAAQA,EAAI,IAAI,EACrB,QAASC,GAAU,IAAIC,EAAkBD,CAAK,CAAC,CACpD,CAEA,iBACEN,EAC+C,CAC/C,KAAM,CAAE,SAAAC,CAAS,EAAID,EACrB,OAAOG,EAAY,IACjBC,EAAM,IACJ,GAAG,KAAK,kBAAkB,sBAC1B,CACE,OAAQ,CACN,UAAWH,EACX,SAAU,KAAK,SACjB,CACF,CACF,CACF,EACG,IAAKI,GAAQA,EAAI,IAAI,EACrB,QAASC,GAAU,IAAIC,EAAkBD,CAAK,CAAC,CACpD,CAEA,mBACEN,EAC+C,CAC/C,KAAM,CAAE,SAAAQ,EAAU,QAAAC,CAAQ,EAAIT,EAC9B,OAAOG,EAAY,IACjBC,EAAM,IACJ,GAAG,KAAK,kBAAkB,wBAC1B,CACE,OAAQ,CACN,eAAgBI,EAChB,aAAcC,EACd,SAAU,KAAK,SACjB,CACF,CACF,CACF,EACG,IAAKJ,GAAQA,EAAI,IAAI,EACrB,QAASC,GAAU,IAAIC,EAAkBD,CAAK,CAAC,CACpD,CAEA,cACEN,EAC2D,CAC3D,KAAM,CAAE,OAAAU,CAAO,EAAIV,EACnB,OAAOG,EAAY,IACjBC,EAAM,KACJ,GAAG,KAAK,kBAAkB,gBAC1BM,CACF,CACF,EACG,IAAKL,GAAQA,EAAI,IAAI,EACrB,IAAKM,GAAS,KAAK,+BAA+BA,CAAI,CAAC,EACvD,QAASL,GAAU,IAAIC,EAAkBD,CAAK,CAAC,CACpD,CAEQ,uBAAuBM,EAA8B,CAC3D,OAAQA,EAAS,CACf,KAAKC,EAAW,SACd,OAAOC,EAAQ,SACjB,KAAKD,EAAW,OACd,OAAOC,EAAQ,OACjB,KAAKD,EAAW,KACd,OAAOC,EAAQ,KACjB,KAAKD,EAAW,KACd,OAAOC,EAAQ,IACnB,CACF,CAEQ,+BACNH,EAC2B,CAC3B,OAAOA,EAAK,IAAKI,GAAQ,CACvB,GAAIA,IAAQ,KACV,OAAO,KAET,KAAM,CAAE,gBAAAC,EAAiB,GAAGC,CAAK,EAAIF,EACrC,MAAO,CACL,GAAGE,EACH,gBAAiB,KAAK,uBAAuBD,CAAe,CAC9D,CACF,CAAC,CACH,CACF,EArHapB,EAANsB,EAAA,CADNC,EAAW,EAMPC,EAAA,EAAAC,EAAOC,EAAgB,SAAS,IALxB1B",
4
+ "sourcesContent": ["import axios from \"axios\";\nimport { inject, injectable } from \"inversify\";\nimport { EitherAsync } from \"purify-ts\";\n\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { managerApiTypes } from \"@internal/manager-api/di/managerApiTypes\";\nimport {\n type Application,\n AppType,\n} from \"@internal/manager-api/model/Application\";\nimport { DEFAULT_PROVIDER } from \"@internal/manager-api/model/Const\";\nimport { type DeviceVersion } from \"@internal/manager-api/model/Device\";\nimport { HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\nimport { type FinalFirmware } from \"@internal/manager-api/model/Firmware\";\nimport {\n type GetAppByHashParams,\n type GetAppListParams,\n type GetDeviceVersionParams,\n type GetFirmwareVersionParams,\n} from \"@internal/manager-api/model/Params\";\n\nimport { ManagerApiDataSource } from \"./ManagerApiDataSource\";\nimport { ApplicationDto, AppTypeDto } from \"./ManagerApiDto\";\n\n@injectable()\nexport class AxiosManagerApiDataSource implements ManagerApiDataSource {\n private readonly _managerApiBaseUrl: string;\n private _provider: number = DEFAULT_PROVIDER;\n\n constructor(\n @inject(managerApiTypes.DmkConfig)\n { managerApiUrl, provider }: DmkConfig,\n ) {\n this._managerApiBaseUrl = managerApiUrl;\n this._provider = provider;\n }\n\n setProvider(provider: number): void {\n if (this._provider === provider || provider < 1) {\n return;\n }\n this._provider = provider;\n }\n\n getProvider(): number {\n return this._provider;\n }\n\n getAppList(\n params: GetAppListParams,\n ): EitherAsync<HttpFetchApiError, Application[]> {\n const { targetId, firmwareVersionName } = params;\n return EitherAsync(() =>\n axios.get<Application[]>(`${this._managerApiBaseUrl}/v2/apps/by-target`, {\n params: {\n target_id: targetId,\n provider: this._provider,\n firmware_version_name: firmwareVersionName,\n },\n }),\n )\n .map((res) => res.data)\n .mapLeft((error) => new HttpFetchApiError(error));\n }\n\n getDeviceVersion(\n params: GetDeviceVersionParams,\n ): EitherAsync<HttpFetchApiError, DeviceVersion> {\n const { targetId } = params;\n return EitherAsync(() =>\n axios.get<DeviceVersion>(\n `${this._managerApiBaseUrl}/get_device_version`,\n {\n params: {\n target_id: targetId,\n provider: this._provider,\n },\n },\n ),\n )\n .map((res) => res.data)\n .mapLeft((error) => new HttpFetchApiError(error));\n }\n\n getFirmwareVersion(\n params: GetFirmwareVersionParams,\n ): EitherAsync<HttpFetchApiError, FinalFirmware> {\n const { deviceId, version } = params;\n return EitherAsync(() =>\n axios.get<FinalFirmware>(\n `${this._managerApiBaseUrl}/get_firmware_version`,\n {\n params: {\n device_version: deviceId,\n version_name: version,\n provider: this._provider,\n },\n },\n ),\n )\n .map((res) => res.data)\n .mapLeft((error) => new HttpFetchApiError(error));\n }\n\n getAppsByHash(\n params: GetAppByHashParams,\n ): EitherAsync<HttpFetchApiError, Array<Application | null>> {\n const { hashes } = params;\n return EitherAsync(() =>\n axios.post<Array<ApplicationDto | null>>(\n `${this._managerApiBaseUrl}/v2/apps/hash`,\n hashes,\n ),\n )\n .map((res) => res.data)\n .map((apps) => this.mapApplicationDtoToApplication(apps))\n .mapLeft((error) => new HttpFetchApiError(error));\n }\n\n private mapAppTypeDtoToAppType(appType: AppTypeDto): AppType {\n switch (appType) {\n case AppTypeDto.currency:\n return AppType.currency;\n case AppTypeDto.plugin:\n return AppType.plugin;\n case AppTypeDto.tool:\n return AppType.tool;\n case AppTypeDto.swap:\n return AppType.swap;\n }\n }\n\n private mapApplicationDtoToApplication(\n apps: Array<ApplicationDto | null>,\n ): Array<Application | null> {\n return apps.map((app) => {\n if (app === null) {\n return null;\n }\n const { applicationType, ...rest } = app;\n return {\n ...rest,\n applicationType: this.mapAppTypeDtoToAppType(applicationType),\n };\n });\n }\n}\n"],
5
+ "mappings": "iOAAA,OAAOA,MAAW,QAClB,OAAS,UAAAC,EAAQ,cAAAC,MAAkB,YACnC,OAAS,eAAAC,MAAmB,YAG5B,OAAS,mBAAAC,MAAuB,2CAChC,OAEE,WAAAC,MACK,0CACP,OAAS,oBAAAC,MAAwB,oCAEjC,OAAS,qBAAAC,MAAyB,qCAUlC,OAAyB,cAAAC,MAAkB,kBAGpC,IAAMC,EAAN,KAAgE,CACpD,mBACT,UAAoBC,EAE5B,YAEE,CAAE,cAAAC,EAAe,SAAAC,CAAS,EAC1B,CACA,KAAK,mBAAqBD,EAC1B,KAAK,UAAYC,CACnB,CAEA,YAAYA,EAAwB,CAC9B,KAAK,YAAcA,GAAYA,EAAW,IAG9C,KAAK,UAAYA,EACnB,CAEA,aAAsB,CACpB,OAAO,KAAK,SACd,CAEA,WACEC,EAC+C,CAC/C,KAAM,CAAE,SAAAC,EAAU,oBAAAC,CAAoB,EAAIF,EAC1C,OAAOG,EAAY,IACjBC,EAAM,IAAmB,GAAG,KAAK,kBAAkB,qBAAsB,CACvE,OAAQ,CACN,UAAWH,EACX,SAAU,KAAK,UACf,sBAAuBC,CACzB,CACF,CAAC,CACH,EACG,IAAKG,GAAQA,EAAI,IAAI,EACrB,QAASC,GAAU,IAAIC,EAAkBD,CAAK,CAAC,CACpD,CAEA,iBACEN,EAC+C,CAC/C,KAAM,CAAE,SAAAC,CAAS,EAAID,EACrB,OAAOG,EAAY,IACjBC,EAAM,IACJ,GAAG,KAAK,kBAAkB,sBAC1B,CACE,OAAQ,CACN,UAAWH,EACX,SAAU,KAAK,SACjB,CACF,CACF,CACF,EACG,IAAKI,GAAQA,EAAI,IAAI,EACrB,QAASC,GAAU,IAAIC,EAAkBD,CAAK,CAAC,CACpD,CAEA,mBACEN,EAC+C,CAC/C,KAAM,CAAE,SAAAQ,EAAU,QAAAC,CAAQ,EAAIT,EAC9B,OAAOG,EAAY,IACjBC,EAAM,IACJ,GAAG,KAAK,kBAAkB,wBAC1B,CACE,OAAQ,CACN,eAAgBI,EAChB,aAAcC,EACd,SAAU,KAAK,SACjB,CACF,CACF,CACF,EACG,IAAKJ,GAAQA,EAAI,IAAI,EACrB,QAASC,GAAU,IAAIC,EAAkBD,CAAK,CAAC,CACpD,CAEA,cACEN,EAC2D,CAC3D,KAAM,CAAE,OAAAU,CAAO,EAAIV,EACnB,OAAOG,EAAY,IACjBC,EAAM,KACJ,GAAG,KAAK,kBAAkB,gBAC1BM,CACF,CACF,EACG,IAAKL,GAAQA,EAAI,IAAI,EACrB,IAAKM,GAAS,KAAK,+BAA+BA,CAAI,CAAC,EACvD,QAASL,GAAU,IAAIC,EAAkBD,CAAK,CAAC,CACpD,CAEQ,uBAAuBM,EAA8B,CAC3D,OAAQA,EAAS,CACf,KAAKC,EAAW,SACd,OAAOC,EAAQ,SACjB,KAAKD,EAAW,OACd,OAAOC,EAAQ,OACjB,KAAKD,EAAW,KACd,OAAOC,EAAQ,KACjB,KAAKD,EAAW,KACd,OAAOC,EAAQ,IACnB,CACF,CAEQ,+BACNH,EAC2B,CAC3B,OAAOA,EAAK,IAAKI,GAAQ,CACvB,GAAIA,IAAQ,KACV,OAAO,KAET,KAAM,CAAE,gBAAAC,EAAiB,GAAGC,CAAK,EAAIF,EACrC,MAAO,CACL,GAAGE,EACH,gBAAiB,KAAK,uBAAuBD,CAAe,CAC9D,CACF,CAAC,CACH,CACF,EAzHapB,EAANsB,EAAA,CADNC,EAAW,EAMPC,EAAA,EAAAC,EAAOC,EAAgB,SAAS,IALxB1B",
6
6
  "names": ["axios", "inject", "injectable", "EitherAsync", "managerApiTypes", "AppType", "DEFAULT_PROVIDER", "HttpFetchApiError", "AppTypeDto", "AxiosManagerApiDataSource", "DEFAULT_PROVIDER", "managerApiUrl", "provider", "params", "targetId", "firmwareVersionName", "EitherAsync", "axios", "res", "error", "HttpFetchApiError", "deviceId", "version", "hashes", "apps", "appType", "AppTypeDto", "AppType", "app", "applicationType", "rest", "__decorateClass", "injectable", "__decorateParam", "inject", "managerApiTypes"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import t from"axios";import{Left as n,Right as o}from"purify-ts";import{BTC_APP as p,BTC_APP_METADATA as i,CUSTOM_LOCK_SCREEN_APP as v,CUSTOM_LOCK_SCREEN_APP_METADATA as d}from"../../../api/device-action/__test-utils__/data";import{HttpFetchApiError as c}from"../../manager-api/model/Errors";import{AxiosManagerApiDataSource as s}from"./AxiosManagerApiDataSource";vi.mock("axios");const l={id:17,target_id:"857735172"},u={id:361,perso:"perso_11"};describe("AxiosManagerApiDataSource",()=>{describe("getAppList",()=>{let r;beforeEach(()=>{r=new s({})}),afterEach(()=>{vi.clearAllMocks()}),it("should return a list of applications",async()=>{const e=[i,d];vi.spyOn(t,"get").mockResolvedValue({data:e});const a=await r.getAppList({targetId:"targetId",firmwareVersionName:"firmwareVersionName"});expect(a).toEqual(o(e))}),it("should return an error if the request fails",async()=>{const e=new Error("fetch error");vi.spyOn(t,"get").mockRejectedValue(e);const a=await r.getAppList({targetId:"targetId",firmwareVersionName:"firmwareVersionName"});expect(a).toEqual(n(new c(e)))})}),describe("getAppsByHash",()=>{describe("success cases",()=>{let r;beforeEach(()=>{r=new s({})}),afterEach(()=>{vi.clearAllMocks()}),it("with BTC app, should return the metadata",async()=>{vi.spyOn(t,"post").mockResolvedValue({data:[i]});const e=[p.appFullHash],a=await r.getAppsByHash({hashes:e});expect(a).toEqual(o([i]))}),it("with no apps, should return an empty list",async()=>{vi.spyOn(t,"post").mockResolvedValue({data:[]});const e=[],a=await r.getAppsByHash({hashes:e});expect(a).toEqual(o([]))}),it("with BTC app and custom lock screen, should return the metadata",async()=>{vi.spyOn(t,"post").mockResolvedValue({data:[i,d]});const e=[p.appFullHash,v.appFullHash],a=await r.getAppsByHash({hashes:e});expect(a).toEqual(o([i,d]))})}),describe("error cases",()=>{afterEach(()=>{vi.clearAllMocks()}),it("should throw an error if the request fails",async()=>{const r=new s({}),e=new Error("fetch error");vi.spyOn(t,"post").mockRejectedValue(e);const a=[p.appFullHash],h=await r.getAppsByHash({hashes:a});expect(h).toEqual(n(new c(e)))})})}),describe("getDeviceVersion",()=>{let r;beforeEach(()=>{r=new s({})}),afterEach(()=>{vi.clearAllMocks()}),it("should return a complete device version",async()=>{vi.spyOn(t,"get").mockResolvedValue({data:l});const e=await r.getDeviceVersion({targetId:"targetId"});expect(e).toEqual(o(l))}),it("should return an error if the request fails",async()=>{const e=new Error("fetch error");vi.spyOn(t,"get").mockRejectedValue(e);const a=await r.getDeviceVersion({targetId:"targetId"});expect(a).toEqual(n(new c(e)))})}),describe("getFirmwareVersion",()=>{let r;beforeEach(()=>{r=new s({})}),afterEach(()=>{vi.clearAllMocks()}),it("should return a complete firmware version",async()=>{vi.spyOn(t,"get").mockResolvedValue({data:u});const e=await r.getFirmwareVersion({version:"versionName",deviceId:42});expect(e).toEqual(o(u))}),it("should return an error if the request fails",async()=>{const e=new Error("fetch error");vi.spyOn(t,"get").mockRejectedValue(e);const a=await r.getFirmwareVersion({version:"versionName",deviceId:42});expect(a).toEqual(n(new c(e)))})}),describe("setProvider",()=>{let r;beforeEach(()=>{r=new s({managerApiUrl:"http://fake-url.com",provider:1})}),it("should not change the provider if the new value is the same",()=>{const e=r._provider;r.setProvider(e),expect(r._provider).toBe(e)}),it("should not change the provider if the new value is less than 1",()=>{const e=r._provider;r.setProvider(0),r.setProvider(-5),expect(r._provider).toBe(e)}),it("should update the provider if a valid and different value is provided",()=>{r.setProvider(2),expect(r._provider).toBe(2)})})});
1
+ import a from"axios";import{Left as n,Right as s}from"purify-ts";import{BTC_APP as p,BTC_APP_METADATA as i,CUSTOM_LOCK_SCREEN_APP as v,CUSTOM_LOCK_SCREEN_APP_METADATA as d}from"../../../api/device-action/__test-utils__/data";import{HttpFetchApiError as c}from"../../manager-api/model/Errors";import{AxiosManagerApiDataSource as o}from"./AxiosManagerApiDataSource";vi.mock("axios");const l={id:17,target_id:"857735172"},u={id:361,perso:"perso_11"};describe("AxiosManagerApiDataSource",()=>{describe("getAppList",()=>{let e;beforeEach(()=>{e=new o({})}),afterEach(()=>{vi.clearAllMocks()}),it("should return a list of applications",async()=>{const r=[i,d];vi.spyOn(a,"get").mockResolvedValue({data:r});const t=await e.getAppList({targetId:"targetId",firmwareVersionName:"firmwareVersionName"});expect(t).toEqual(s(r))}),it("should return an error if the request fails",async()=>{const r=new Error("fetch error");vi.spyOn(a,"get").mockRejectedValue(r);const t=await e.getAppList({targetId:"targetId",firmwareVersionName:"firmwareVersionName"});expect(t).toEqual(n(new c(r)))})}),describe("getAppsByHash",()=>{describe("success cases",()=>{let e;beforeEach(()=>{e=new o({})}),afterEach(()=>{vi.clearAllMocks()}),it("with BTC app, should return the metadata",async()=>{vi.spyOn(a,"post").mockResolvedValue({data:[i]});const r=[p.appFullHash],t=await e.getAppsByHash({hashes:r});expect(t).toEqual(s([i]))}),it("with no apps, should return an empty list",async()=>{vi.spyOn(a,"post").mockResolvedValue({data:[]});const r=[],t=await e.getAppsByHash({hashes:r});expect(t).toEqual(s([]))}),it("with BTC app and custom lock screen, should return the metadata",async()=>{vi.spyOn(a,"post").mockResolvedValue({data:[i,d]});const r=[p.appFullHash,v.appFullHash],t=await e.getAppsByHash({hashes:r});expect(t).toEqual(s([i,d]))})}),describe("error cases",()=>{afterEach(()=>{vi.clearAllMocks()}),it("should throw an error if the request fails",async()=>{const e=new o({}),r=new Error("fetch error");vi.spyOn(a,"post").mockRejectedValue(r);const t=[p.appFullHash],h=await e.getAppsByHash({hashes:t});expect(h).toEqual(n(new c(r)))})})}),describe("getDeviceVersion",()=>{let e;beforeEach(()=>{e=new o({})}),afterEach(()=>{vi.clearAllMocks()}),it("should return a complete device version",async()=>{vi.spyOn(a,"get").mockResolvedValue({data:l});const r=await e.getDeviceVersion({targetId:"targetId"});expect(r).toEqual(s(l))}),it("should return an error if the request fails",async()=>{const r=new Error("fetch error");vi.spyOn(a,"get").mockRejectedValue(r);const t=await e.getDeviceVersion({targetId:"targetId"});expect(t).toEqual(n(new c(r)))})}),describe("getFirmwareVersion",()=>{let e;beforeEach(()=>{e=new o({})}),afterEach(()=>{vi.clearAllMocks()}),it("should return a complete firmware version",async()=>{vi.spyOn(a,"get").mockResolvedValue({data:u});const r=await e.getFirmwareVersion({version:"versionName",deviceId:42});expect(r).toEqual(s(u))}),it("should return an error if the request fails",async()=>{const r=new Error("fetch error");vi.spyOn(a,"get").mockRejectedValue(r);const t=await e.getFirmwareVersion({version:"versionName",deviceId:42});expect(t).toEqual(n(new c(r)))})}),describe("setProvider",()=>{let e;beforeEach(()=>{e=new o({managerApiUrl:"http://fake-url.com",provider:1})}),it("should not change the provider if the new value is the same",()=>{const r=e._provider;e.setProvider(r),expect(e._provider).toBe(r)}),it("should not change the provider if the new value is less than 1",()=>{const r=e._provider;e.setProvider(0),e.setProvider(-5),expect(e._provider).toBe(r)}),it("should update the provider if a valid and different value is provided",()=>{e.setProvider(2),expect(e._provider).toBe(2)})}),describe("getProvider",()=>{let e;beforeEach(()=>{e=new o({managerApiUrl:"http://fake-url.com",provider:123})}),afterEach(()=>{vi.clearAllMocks()}),it("should return the initial provider",()=>{expect(e.getProvider()).toBe(123)}),it("should return the updated provider after setProvider is called",()=>{e.setProvider(321),expect(e.getProvider()).toBe(321)})})});
2
2
  //# sourceMappingURL=AxiosManagerApiDataSource.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/manager-api/data/AxiosManagerApiDataSource.test.ts"],
4
- "sourcesContent": ["import axios from \"axios\";\nimport { 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} from \"@api/device-action/__test-utils__/data\";\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\n\nimport { AxiosManagerApiDataSource } from \"./AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"./ManagerApiDataSource\";\n\nvi.mock(\"axios\");\n\nconst mockGetDeviceVersion = {\n id: 17,\n target_id: \"857735172\",\n};\n\nconst mockGetFirmwareVersion = {\n id: 361,\n perso: \"perso_11\",\n};\n\ndescribe(\"AxiosManagerApiDataSource\", () => {\n describe(\"getAppList\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new AxiosManagerApiDataSource({} as DmkConfig);\n });\n afterEach(() => {\n vi.clearAllMocks();\n });\n it(\"should return a list of applications\", async () => {\n // given\n const apps = [BTC_APP_METADATA, CUSTOM_LOCK_SCREEN_APP_METADATA];\n vi.spyOn(axios, \"get\").mockResolvedValue({ data: apps });\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 the request fails\", async () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(axios, \"get\").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 AxiosManagerApiDataSource({} as DmkConfig);\n });\n afterEach(() => {\n vi.clearAllMocks();\n });\n it(\"with BTC app, should return the metadata\", async () => {\n vi.spyOn(axios, \"post\").mockResolvedValue({\n data: [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(axios, \"post\").mockResolvedValue({\n data: [],\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(axios, \"post\").mockResolvedValue({\n data: [BTC_APP_METADATA, CUSTOM_LOCK_SCREEN_APP_METADATA],\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 afterEach(() => {\n vi.clearAllMocks();\n });\n it(\"should throw an error if the request fails\", async () => {\n // given\n const api = new AxiosManagerApiDataSource({} as DmkConfig);\n\n const err = new Error(\"fetch error\");\n vi.spyOn(axios, \"post\").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 AxiosManagerApiDataSource({} as DmkConfig);\n });\n afterEach(() => {\n vi.clearAllMocks();\n });\n it(\"should return a complete device version\", async () => {\n // given\n vi.spyOn(axios, \"get\").mockResolvedValue({ data: mockGetDeviceVersion });\n\n // when\n const response = await api.getDeviceVersion({\n targetId: \"targetId\",\n });\n\n // then\n expect(response).toEqual(Right(mockGetDeviceVersion));\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(axios, \"get\").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 AxiosManagerApiDataSource({} as DmkConfig);\n });\n afterEach(() => {\n vi.clearAllMocks();\n });\n it(\"should return a complete firmware version\", async () => {\n // given\n vi.spyOn(axios, \"get\").mockResolvedValue({\n data: mockGetFirmwareVersion,\n });\n\n // when\n const response = await api.getFirmwareVersion({\n version: \"versionName\",\n deviceId: 42,\n });\n\n // then\n expect(response).toEqual(Right(mockGetFirmwareVersion));\n });\n it(\"should return an error if the request fails\", async () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(axios, \"get\").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 describe(\"setProvider\", () => {\n let api: AxiosManagerApiDataSource;\n beforeEach(() => {\n api = new AxiosManagerApiDataSource({\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"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import axios from \"axios\";\nimport { 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} from \"@api/device-action/__test-utils__/data\";\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\n\nimport { AxiosManagerApiDataSource } from \"./AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"./ManagerApiDataSource\";\n\nvi.mock(\"axios\");\n\nconst mockGetDeviceVersion = {\n id: 17,\n target_id: \"857735172\",\n};\n\nconst mockGetFirmwareVersion = {\n id: 361,\n perso: \"perso_11\",\n};\n\ndescribe(\"AxiosManagerApiDataSource\", () => {\n describe(\"getAppList\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new AxiosManagerApiDataSource({} as DmkConfig);\n });\n afterEach(() => {\n vi.clearAllMocks();\n });\n it(\"should return a list of applications\", async () => {\n // given\n const apps = [BTC_APP_METADATA, CUSTOM_LOCK_SCREEN_APP_METADATA];\n vi.spyOn(axios, \"get\").mockResolvedValue({ data: apps });\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 the request fails\", async () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(axios, \"get\").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 AxiosManagerApiDataSource({} as DmkConfig);\n });\n afterEach(() => {\n vi.clearAllMocks();\n });\n it(\"with BTC app, should return the metadata\", async () => {\n vi.spyOn(axios, \"post\").mockResolvedValue({\n data: [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(axios, \"post\").mockResolvedValue({\n data: [],\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(axios, \"post\").mockResolvedValue({\n data: [BTC_APP_METADATA, CUSTOM_LOCK_SCREEN_APP_METADATA],\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 afterEach(() => {\n vi.clearAllMocks();\n });\n it(\"should throw an error if the request fails\", async () => {\n // given\n const api = new AxiosManagerApiDataSource({} as DmkConfig);\n\n const err = new Error(\"fetch error\");\n vi.spyOn(axios, \"post\").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 AxiosManagerApiDataSource({} as DmkConfig);\n });\n afterEach(() => {\n vi.clearAllMocks();\n });\n it(\"should return a complete device version\", async () => {\n // given\n vi.spyOn(axios, \"get\").mockResolvedValue({ data: mockGetDeviceVersion });\n\n // when\n const response = await api.getDeviceVersion({\n targetId: \"targetId\",\n });\n\n // then\n expect(response).toEqual(Right(mockGetDeviceVersion));\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(axios, \"get\").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 AxiosManagerApiDataSource({} as DmkConfig);\n });\n afterEach(() => {\n vi.clearAllMocks();\n });\n it(\"should return a complete firmware version\", async () => {\n // given\n vi.spyOn(axios, \"get\").mockResolvedValue({\n data: mockGetFirmwareVersion,\n });\n\n // when\n const response = await api.getFirmwareVersion({\n version: \"versionName\",\n deviceId: 42,\n });\n\n // then\n expect(response).toEqual(Right(mockGetFirmwareVersion));\n });\n it(\"should return an error if the request fails\", async () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(axios, \"get\").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 describe(\"setProvider\", () => {\n let api: AxiosManagerApiDataSource;\n beforeEach(() => {\n api = new AxiosManagerApiDataSource({\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 describe(\"getProvider\", () => {\n let api: AxiosManagerApiDataSource;\n beforeEach(() => {\n api = new AxiosManagerApiDataSource({\n managerApiUrl: \"http://fake-url.com\",\n provider: 123,\n } as DmkConfig);\n });\n afterEach(() => {\n vi.clearAllMocks();\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": ["axios", "Left", "Right", "BTC_APP", "BTC_APP_METADATA", "CUSTOM_LOCK_SCREEN_APP", "CUSTOM_LOCK_SCREEN_APP_METADATA", "HttpFetchApiError", "AxiosManagerApiDataSource", "mockGetDeviceVersion", "mockGetFirmwareVersion", "api", "apps", "response", "error", "hashes", "err", "initialProvider"]
7
7
  }
@@ -1,2 +1,2 @@
1
- class i{getAppList=vi.fn();getDeviceVersion=vi.fn();getFirmwareVersion=vi.fn();getAppsByHash=vi.fn();setProvider=vi.fn()}export{i as AxiosManagerApiDataSource};
1
+ class i{getAppList=vi.fn();getDeviceVersion=vi.fn();getFirmwareVersion=vi.fn();getAppsByHash=vi.fn();setProvider=vi.fn();getProvider=vi.fn()}export{i as AxiosManagerApiDataSource};
2
2
  //# sourceMappingURL=AxiosManagerApiDataSource.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.ts"],
4
- "sourcesContent": ["import { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\n\nexport class AxiosManagerApiDataSource implements ManagerApiDataSource {\n getAppList = vi.fn();\n getDeviceVersion = vi.fn();\n getFirmwareVersion = vi.fn();\n getAppsByHash = vi.fn();\n setProvider = vi.fn();\n}\n"],
5
- "mappings": "AAEO,MAAMA,CAA0D,CACrE,WAAa,GAAG,GAAG,EACnB,iBAAmB,GAAG,GAAG,EACzB,mBAAqB,GAAG,GAAG,EAC3B,cAAgB,GAAG,GAAG,EACtB,YAAc,GAAG,GAAG,CACtB",
4
+ "sourcesContent": ["import { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\n\nexport class AxiosManagerApiDataSource implements ManagerApiDataSource {\n getAppList = vi.fn();\n getDeviceVersion = vi.fn();\n getFirmwareVersion = vi.fn();\n getAppsByHash = vi.fn();\n setProvider = vi.fn();\n getProvider = vi.fn();\n}\n"],
5
+ "mappings": "AAEO,MAAMA,CAA0D,CACrE,WAAa,GAAG,GAAG,EACnB,iBAAmB,GAAG,GAAG,EACzB,mBAAqB,GAAG,GAAG,EAC3B,cAAgB,GAAG,GAAG,EACtB,YAAc,GAAG,GAAG,EACpB,YAAc,GAAG,GAAG,CACtB",
6
6
  "names": ["AxiosManagerApiDataSource"]
7
7
  }