@ledgerhq/device-management-kit 1.9.1 → 1.11.0

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 (152) hide show
  1. package/README.md +44 -0
  2. package/lib/cjs/package.json +1 -1
  3. package/lib/cjs/src/api/DeviceManagementKit.js +1 -1
  4. package/lib/cjs/src/api/DeviceManagementKit.js.map +3 -3
  5. package/lib/cjs/src/api/DeviceManagementKit.test.js +1 -1
  6. package/lib/cjs/src/api/DeviceManagementKit.test.js.map +3 -3
  7. package/lib/cjs/src/api/DmkConfig.js.map +1 -1
  8. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.test.js +1 -1
  9. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.test.js.map +2 -2
  10. package/lib/cjs/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.js +1 -1
  11. package/lib/cjs/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.js.map +2 -2
  12. package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js +1 -1
  13. package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +2 -2
  14. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.test.js +1 -1
  15. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.test.js.map +2 -2
  16. package/lib/cjs/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js +1 -1
  17. package/lib/cjs/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js.map +2 -2
  18. package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js +1 -1
  19. package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +2 -2
  20. package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js +1 -1
  21. package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js.map +2 -2
  22. package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js +1 -1
  23. package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js.map +2 -2
  24. package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js +1 -1
  25. package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js.map +2 -2
  26. package/lib/cjs/src/internal/manager-api/data/HttpManagerApiDataSource.js +1 -1
  27. package/lib/cjs/src/internal/manager-api/data/HttpManagerApiDataSource.js.map +3 -3
  28. package/lib/cjs/src/internal/manager-api/data/HttpManagerApiDataSource.test.js +1 -1
  29. package/lib/cjs/src/internal/manager-api/data/HttpManagerApiDataSource.test.js.map +3 -3
  30. package/lib/cjs/src/internal/manager-api/data/ManagerApiDataSource.js +1 -1
  31. package/lib/cjs/src/internal/manager-api/data/ManagerApiDataSource.js.map +1 -1
  32. package/lib/cjs/src/internal/manager-api/data/__mocks__/HttpManagerApiDataSource.js +1 -1
  33. package/lib/cjs/src/internal/manager-api/data/__mocks__/HttpManagerApiDataSource.js.map +2 -2
  34. package/lib/cjs/src/internal/manager-api/di/managerApiModule.js +1 -1
  35. package/lib/cjs/src/internal/manager-api/di/managerApiModule.js.map +3 -3
  36. package/lib/cjs/src/internal/manager-api/di/managerApiModule.test.js +1 -1
  37. package/lib/cjs/src/internal/manager-api/di/managerApiModule.test.js.map +3 -3
  38. package/lib/cjs/src/internal/manager-api/di/managerApiTypes.js +1 -1
  39. package/lib/cjs/src/internal/manager-api/di/managerApiTypes.js.map +2 -2
  40. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
  41. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +2 -2
  42. package/lib/cjs/src/internal/manager-api/use-case/SetFirmwareDistributionSaltUseCase.js +2 -0
  43. package/lib/cjs/src/internal/manager-api/use-case/SetFirmwareDistributionSaltUseCase.js.map +7 -0
  44. package/lib/cjs/src/internal/manager-api/use-case/SetFirmwareDistributionSaltUseCase.test.js +2 -0
  45. package/lib/cjs/src/internal/manager-api/use-case/SetFirmwareDistributionSaltUseCase.test.js.map +7 -0
  46. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js +1 -1
  47. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js.map +2 -2
  48. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js +1 -1
  49. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js.map +2 -2
  50. package/lib/cjs/src/internal/secure-channel/data/SecureChannelDataSource.js +1 -1
  51. package/lib/cjs/src/internal/secure-channel/data/SecureChannelDataSource.js.map +1 -1
  52. package/lib/cjs/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js +1 -1
  53. package/lib/cjs/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js.map +2 -2
  54. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.js +1 -1
  55. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.js.map +3 -3
  56. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.test.js +1 -1
  57. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.test.js.map +3 -3
  58. package/lib/cjs/src/internal/secure-channel/di/secureChannelTypes.js +1 -1
  59. package/lib/cjs/src/internal/secure-channel/di/secureChannelTypes.js.map +2 -2
  60. package/lib/cjs/src/internal/secure-channel/use-case/SetWebSocketUrlUseCase.js +2 -0
  61. package/lib/cjs/src/internal/secure-channel/use-case/SetWebSocketUrlUseCase.js.map +7 -0
  62. package/lib/cjs/src/internal/secure-channel/use-case/SetWebSocketUrlUseCase.test.js +2 -0
  63. package/lib/cjs/src/internal/secure-channel/use-case/SetWebSocketUrlUseCase.test.js.map +7 -0
  64. package/lib/esm/package.json +1 -1
  65. package/lib/esm/src/api/DeviceManagementKit.js +1 -1
  66. package/lib/esm/src/api/DeviceManagementKit.js.map +3 -3
  67. package/lib/esm/src/api/DeviceManagementKit.test.js +1 -1
  68. package/lib/esm/src/api/DeviceManagementKit.test.js.map +3 -3
  69. package/lib/esm/src/api/command/use-case/SendCommandUseCase.test.js +1 -1
  70. package/lib/esm/src/api/command/use-case/SendCommandUseCase.test.js.map +2 -2
  71. package/lib/esm/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.js +1 -1
  72. package/lib/esm/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.js.map +2 -2
  73. package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js +1 -1
  74. package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +2 -2
  75. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.test.js +1 -1
  76. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.test.js.map +2 -2
  77. package/lib/esm/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js +1 -1
  78. package/lib/esm/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js.map +2 -2
  79. package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js +1 -1
  80. package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +2 -2
  81. package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js +1 -1
  82. package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js.map +2 -2
  83. package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js +1 -1
  84. package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js.map +2 -2
  85. package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js +1 -1
  86. package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js.map +2 -2
  87. package/lib/esm/src/internal/manager-api/data/HttpManagerApiDataSource.js +1 -1
  88. package/lib/esm/src/internal/manager-api/data/HttpManagerApiDataSource.js.map +3 -3
  89. package/lib/esm/src/internal/manager-api/data/HttpManagerApiDataSource.test.js +1 -1
  90. package/lib/esm/src/internal/manager-api/data/HttpManagerApiDataSource.test.js.map +3 -3
  91. package/lib/esm/src/internal/manager-api/data/__mocks__/HttpManagerApiDataSource.js +1 -1
  92. package/lib/esm/src/internal/manager-api/data/__mocks__/HttpManagerApiDataSource.js.map +2 -2
  93. package/lib/esm/src/internal/manager-api/di/managerApiModule.js +1 -1
  94. package/lib/esm/src/internal/manager-api/di/managerApiModule.js.map +3 -3
  95. package/lib/esm/src/internal/manager-api/di/managerApiModule.test.js +1 -1
  96. package/lib/esm/src/internal/manager-api/di/managerApiModule.test.js.map +3 -3
  97. package/lib/esm/src/internal/manager-api/di/managerApiTypes.js +1 -1
  98. package/lib/esm/src/internal/manager-api/di/managerApiTypes.js.map +2 -2
  99. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
  100. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +2 -2
  101. package/lib/esm/src/internal/manager-api/use-case/SetFirmwareDistributionSaltUseCase.js +2 -0
  102. package/lib/esm/src/internal/manager-api/use-case/SetFirmwareDistributionSaltUseCase.js.map +7 -0
  103. package/lib/esm/src/internal/manager-api/use-case/SetFirmwareDistributionSaltUseCase.test.js +2 -0
  104. package/lib/esm/src/internal/manager-api/use-case/SetFirmwareDistributionSaltUseCase.test.js.map +7 -0
  105. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js +1 -1
  106. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js.map +2 -2
  107. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js +1 -1
  108. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js.map +2 -2
  109. package/lib/esm/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js +1 -1
  110. package/lib/esm/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js.map +2 -2
  111. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.js +1 -1
  112. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.js.map +3 -3
  113. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.test.js +1 -1
  114. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.test.js.map +3 -3
  115. package/lib/esm/src/internal/secure-channel/di/secureChannelTypes.js +1 -1
  116. package/lib/esm/src/internal/secure-channel/di/secureChannelTypes.js.map +2 -2
  117. package/lib/esm/src/internal/secure-channel/use-case/SetWebSocketUrlUseCase.js +2 -0
  118. package/lib/esm/src/internal/secure-channel/use-case/SetWebSocketUrlUseCase.js.map +7 -0
  119. package/lib/esm/src/internal/secure-channel/use-case/SetWebSocketUrlUseCase.test.js +2 -0
  120. package/lib/esm/src/internal/secure-channel/use-case/SetWebSocketUrlUseCase.test.js.map +7 -0
  121. package/lib/types/src/api/DeviceManagementKit.d.ts +26 -0
  122. package/lib/types/src/api/DeviceManagementKit.d.ts.map +1 -1
  123. package/lib/types/src/api/DmkConfig.d.ts +4 -0
  124. package/lib/types/src/api/DmkConfig.d.ts.map +1 -1
  125. package/lib/types/src/internal/manager-api/data/HttpManagerApiDataSource.d.ts +5 -1
  126. package/lib/types/src/internal/manager-api/data/HttpManagerApiDataSource.d.ts.map +1 -1
  127. package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts +11 -0
  128. package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts.map +1 -1
  129. package/lib/types/src/internal/manager-api/data/__mocks__/HttpManagerApiDataSource.d.ts +2 -0
  130. package/lib/types/src/internal/manager-api/data/__mocks__/HttpManagerApiDataSource.d.ts.map +1 -1
  131. package/lib/types/src/internal/manager-api/di/managerApiModule.d.ts.map +1 -1
  132. package/lib/types/src/internal/manager-api/di/managerApiTypes.d.ts +1 -0
  133. package/lib/types/src/internal/manager-api/di/managerApiTypes.d.ts.map +1 -1
  134. package/lib/types/src/internal/manager-api/use-case/SetFirmwareDistributionSaltUseCase.d.ts +16 -0
  135. package/lib/types/src/internal/manager-api/use-case/SetFirmwareDistributionSaltUseCase.d.ts.map +1 -0
  136. package/lib/types/src/internal/manager-api/use-case/SetFirmwareDistributionSaltUseCase.test.d.ts +2 -0
  137. package/lib/types/src/internal/manager-api/use-case/SetFirmwareDistributionSaltUseCase.test.d.ts.map +1 -0
  138. package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.d.ts +3 -1
  139. package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.d.ts.map +1 -1
  140. package/lib/types/src/internal/secure-channel/data/SecureChannelDataSource.d.ts +10 -0
  141. package/lib/types/src/internal/secure-channel/data/SecureChannelDataSource.d.ts.map +1 -1
  142. package/lib/types/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.d.ts +2 -0
  143. package/lib/types/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.d.ts.map +1 -1
  144. package/lib/types/src/internal/secure-channel/di/secureChannelModule.d.ts.map +1 -1
  145. package/lib/types/src/internal/secure-channel/di/secureChannelTypes.d.ts +1 -0
  146. package/lib/types/src/internal/secure-channel/di/secureChannelTypes.d.ts.map +1 -1
  147. package/lib/types/src/internal/secure-channel/use-case/SetWebSocketUrlUseCase.d.ts +10 -0
  148. package/lib/types/src/internal/secure-channel/use-case/SetWebSocketUrlUseCase.d.ts.map +1 -0
  149. package/lib/types/src/internal/secure-channel/use-case/SetWebSocketUrlUseCase.test.d.ts +2 -0
  150. package/lib/types/src/internal/secure-channel/use-case/SetWebSocketUrlUseCase.test.d.ts.map +1 -0
  151. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  152. package/package.json +3 -3
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/api/command/use-case/SendCommandUseCase.test.ts"],
4
- "sourcesContent": ["import { Left } from \"purify-ts\";\n\nimport { type Command } from \"@api/command/Command\";\nimport { CommandResultStatus } from \"@api/command/model/CommandResult\";\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS } from \"@internal/device-session/data/DeviceSessionRefresherConst\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { HttpManagerApiDataSource } from \"@internal/manager-api/data/HttpManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { DefaultSecureChannelDataSource } from \"@internal/secure-channel/data/DefaultSecureChannelDataSource\";\nimport { type SecureChannelDataSource } from \"@internal/secure-channel/data/SecureChannelDataSource\";\nimport { DefaultSecureChannelService } from \"@internal/secure-channel/service/DefaultSecureChannelService\";\nimport { type SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\n\nimport { SendCommandUseCase } from \"./SendCommandUseCase\";\n\nlet logger: LoggerPublisherService;\nlet sessionService: DeviceSessionService;\nlet managerApi: ManagerApiService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet secureChannel: SecureChannelService;\nlet secureChannelDataSource: SecureChannelDataSource;\nconst fakeSessionId = \"fakeSessionId\";\nlet command: Command<{ status: string }, void, void> = {\n name: \"testCommand\",\n getApdu: vi.fn(),\n parseResponse: vi.fn(),\n};\n\ndescribe(\"SendCommandUseCase\", () => {\n beforeEach(() => {\n logger = new DefaultLoggerPublisherService([], \"send-command-use-case\");\n sessionService = new DefaultDeviceSessionService(() => logger);\n managerApiDataSource = new HttpManagerApiDataSource({} as DmkConfig);\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n secureChannelDataSource = new DefaultSecureChannelDataSource(\n {} as DmkConfig,\n );\n secureChannel = new DefaultSecureChannelService(secureChannelDataSource);\n command = {\n name: \"testCommand\",\n getApdu: vi.fn(),\n parseResponse: vi.fn(),\n };\n });\n\n afterEach(() => {\n vi.restoreAllMocks();\n });\n\n it(\"should send a command to a connected device\", async () => {\n const deviceSession = deviceSessionStubBuilder(\n {},\n () => logger,\n managerApi,\n secureChannel,\n DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\n );\n sessionService.addDeviceSession(deviceSession);\n const useCase = new SendCommandUseCase(sessionService, () => logger);\n\n vi.spyOn(deviceSession, \"sendCommand\").mockResolvedValue({\n status: CommandResultStatus.Success,\n data: undefined,\n });\n\n const response = await useCase.execute<{ status: string }, void, void>({\n sessionId: fakeSessionId,\n command,\n });\n\n deviceSession.close();\n\n expect(response).toStrictEqual({\n status: CommandResultStatus.Success,\n data: undefined,\n });\n });\n\n it(\"should throw an error if the session is not found\", async () => {\n const useCase = new SendCommandUseCase(sessionService, () => logger);\n vi.spyOn(sessionService, \"getDeviceSessionById\").mockReturnValue(\n Left({ _tag: \"DeviceSessionNotFound\" }),\n );\n\n const res = useCase.execute<{ status: string }, void, void>({\n sessionId: fakeSessionId,\n command,\n });\n\n await expect(res).rejects.toMatchObject({ _tag: \"DeviceSessionNotFound\" });\n });\n});\n"],
5
- "mappings": "AAAA,OAAS,QAAAA,MAAY,YAGrB,OAAS,uBAAAC,MAA2B,mCAGpC,OAAS,4CAAAC,MAAgD,4DACzD,OAAS,4BAAAC,MAAgC,oDACzC,OAAS,+BAAAC,MAAmC,+DAE5C,OAAS,iCAAAC,MAAqC,mEAC9C,OAAS,4BAAAC,MAAgC,sDAEzC,OAAS,4BAAAC,MAAgC,yDAEzC,OAAS,kCAAAC,MAAsC,+DAE/C,OAAS,+BAAAC,MAAmC,+DAG5C,OAAS,sBAAAC,MAA0B,uBAEnC,IAAIC,EACAC,EACAC,EACAC,EACAC,EACAC,EACJ,MAAMC,EAAgB,gBACtB,IAAIC,EAAmD,CACrD,KAAM,cACN,QAAS,GAAG,GAAG,EACf,cAAe,GAAG,GAAG,CACvB,EAEA,SAAS,qBAAsB,IAAM,CACnC,WAAW,IAAM,CACfP,EAAS,IAAIN,EAA8B,CAAC,EAAG,uBAAuB,EACtEO,EAAiB,IAAIR,EAA4B,IAAMO,CAAM,EAC7DG,EAAuB,IAAIR,EAAyB,CAAC,CAAc,EACnEO,EAAa,IAAIN,EAAyBO,CAAoB,EAC9DE,EAA0B,IAAIR,EAC5B,CAAC,CACH,EACAO,EAAgB,IAAIN,EAA4BO,CAAuB,EACvEE,EAAU,CACR,KAAM,cACN,QAAS,GAAG,GAAG,EACf,cAAe,GAAG,GAAG,CACvB,CACF,CAAC,EAED,UAAU,IAAM,CACd,GAAG,gBAAgB,CACrB,CAAC,EAED,GAAG,8CAA+C,SAAY,CAC5D,MAAMC,EAAgBhB,EACpB,CAAC,EACD,IAAMQ,EACNE,EACAE,EACAb,CACF,EACAU,EAAe,iBAAiBO,CAAa,EAC7C,MAAMC,EAAU,IAAIV,EAAmBE,EAAgB,IAAMD,CAAM,EAEnE,GAAG,MAAMQ,EAAe,aAAa,EAAE,kBAAkB,CACvD,OAAQlB,EAAoB,QAC5B,KAAM,MACR,CAAC,EAED,MAAMoB,EAAW,MAAMD,EAAQ,QAAwC,CACrE,UAAWH,EACX,QAAAC,CACF,CAAC,EAEDC,EAAc,MAAM,EAEpB,OAAOE,CAAQ,EAAE,cAAc,CAC7B,OAAQpB,EAAoB,QAC5B,KAAM,MACR,CAAC,CACH,CAAC,EAED,GAAG,oDAAqD,SAAY,CAClE,MAAMmB,EAAU,IAAIV,EAAmBE,EAAgB,IAAMD,CAAM,EACnE,GAAG,MAAMC,EAAgB,sBAAsB,EAAE,gBAC/CZ,EAAK,CAAE,KAAM,uBAAwB,CAAC,CACxC,EAEA,MAAMsB,EAAMF,EAAQ,QAAwC,CAC1D,UAAWH,EACX,QAAAC,CACF,CAAC,EAED,MAAM,OAAOI,CAAG,EAAE,QAAQ,cAAc,CAAE,KAAM,uBAAwB,CAAC,CAC3E,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { Left } from \"purify-ts\";\n\nimport { type Command } from \"@api/command/Command\";\nimport { CommandResultStatus } from \"@api/command/model/CommandResult\";\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS } from \"@internal/device-session/data/DeviceSessionRefresherConst\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { HttpManagerApiDataSource } from \"@internal/manager-api/data/HttpManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { DefaultSecureChannelDataSource } from \"@internal/secure-channel/data/DefaultSecureChannelDataSource\";\nimport { type SecureChannelDataSource } from \"@internal/secure-channel/data/SecureChannelDataSource\";\nimport { DefaultSecureChannelService } from \"@internal/secure-channel/service/DefaultSecureChannelService\";\nimport { type SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\n\nimport { SendCommandUseCase } from \"./SendCommandUseCase\";\n\nlet logger: LoggerPublisherService;\nlet sessionService: DeviceSessionService;\nlet managerApi: ManagerApiService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet secureChannel: SecureChannelService;\nlet secureChannelDataSource: SecureChannelDataSource;\nconst fakeSessionId = \"fakeSessionId\";\nlet command: Command<{ status: string }, void, void> = {\n name: \"testCommand\",\n getApdu: vi.fn(),\n parseResponse: vi.fn(),\n};\n\ndescribe(\"SendCommandUseCase\", () => {\n beforeEach(() => {\n logger = new DefaultLoggerPublisherService([], \"send-command-use-case\");\n sessionService = new DefaultDeviceSessionService(() => logger);\n managerApiDataSource = new HttpManagerApiDataSource(\n {} as DmkConfig,\n () => logger,\n );\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n secureChannelDataSource = new DefaultSecureChannelDataSource(\n {} as DmkConfig,\n );\n secureChannel = new DefaultSecureChannelService(secureChannelDataSource);\n command = {\n name: \"testCommand\",\n getApdu: vi.fn(),\n parseResponse: vi.fn(),\n };\n });\n\n afterEach(() => {\n vi.restoreAllMocks();\n });\n\n it(\"should send a command to a connected device\", async () => {\n const deviceSession = deviceSessionStubBuilder(\n {},\n () => logger,\n managerApi,\n secureChannel,\n DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\n );\n sessionService.addDeviceSession(deviceSession);\n const useCase = new SendCommandUseCase(sessionService, () => logger);\n\n vi.spyOn(deviceSession, \"sendCommand\").mockResolvedValue({\n status: CommandResultStatus.Success,\n data: undefined,\n });\n\n const response = await useCase.execute<{ status: string }, void, void>({\n sessionId: fakeSessionId,\n command,\n });\n\n deviceSession.close();\n\n expect(response).toStrictEqual({\n status: CommandResultStatus.Success,\n data: undefined,\n });\n });\n\n it(\"should throw an error if the session is not found\", async () => {\n const useCase = new SendCommandUseCase(sessionService, () => logger);\n vi.spyOn(sessionService, \"getDeviceSessionById\").mockReturnValue(\n Left({ _tag: \"DeviceSessionNotFound\" }),\n );\n\n const res = useCase.execute<{ status: string }, void, void>({\n sessionId: fakeSessionId,\n command,\n });\n\n await expect(res).rejects.toMatchObject({ _tag: \"DeviceSessionNotFound\" });\n });\n});\n"],
5
+ "mappings": "AAAA,OAAS,QAAAA,MAAY,YAGrB,OAAS,uBAAAC,MAA2B,mCAGpC,OAAS,4CAAAC,MAAgD,4DACzD,OAAS,4BAAAC,MAAgC,oDACzC,OAAS,+BAAAC,MAAmC,+DAE5C,OAAS,iCAAAC,MAAqC,mEAC9C,OAAS,4BAAAC,MAAgC,sDAEzC,OAAS,4BAAAC,MAAgC,yDAEzC,OAAS,kCAAAC,MAAsC,+DAE/C,OAAS,+BAAAC,MAAmC,+DAG5C,OAAS,sBAAAC,MAA0B,uBAEnC,IAAIC,EACAC,EACAC,EACAC,EACAC,EACAC,EACJ,MAAMC,EAAgB,gBACtB,IAAIC,EAAmD,CACrD,KAAM,cACN,QAAS,GAAG,GAAG,EACf,cAAe,GAAG,GAAG,CACvB,EAEA,SAAS,qBAAsB,IAAM,CACnC,WAAW,IAAM,CACfP,EAAS,IAAIN,EAA8B,CAAC,EAAG,uBAAuB,EACtEO,EAAiB,IAAIR,EAA4B,IAAMO,CAAM,EAC7DG,EAAuB,IAAIR,EACzB,CAAC,EACD,IAAMK,CACR,EACAE,EAAa,IAAIN,EAAyBO,CAAoB,EAC9DE,EAA0B,IAAIR,EAC5B,CAAC,CACH,EACAO,EAAgB,IAAIN,EAA4BO,CAAuB,EACvEE,EAAU,CACR,KAAM,cACN,QAAS,GAAG,GAAG,EACf,cAAe,GAAG,GAAG,CACvB,CACF,CAAC,EAED,UAAU,IAAM,CACd,GAAG,gBAAgB,CACrB,CAAC,EAED,GAAG,8CAA+C,SAAY,CAC5D,MAAMC,EAAgBhB,EACpB,CAAC,EACD,IAAMQ,EACNE,EACAE,EACAb,CACF,EACAU,EAAe,iBAAiBO,CAAa,EAC7C,MAAMC,EAAU,IAAIV,EAAmBE,EAAgB,IAAMD,CAAM,EAEnE,GAAG,MAAMQ,EAAe,aAAa,EAAE,kBAAkB,CACvD,OAAQlB,EAAoB,QAC5B,KAAM,MACR,CAAC,EAED,MAAMoB,EAAW,MAAMD,EAAQ,QAAwC,CACrE,UAAWH,EACX,QAAAC,CACF,CAAC,EAEDC,EAAc,MAAM,EAEpB,OAAOE,CAAQ,EAAE,cAAc,CAC7B,OAAQpB,EAAoB,QAC5B,KAAM,MACR,CAAC,CACH,CAAC,EAED,GAAG,oDAAqD,SAAY,CAClE,MAAMmB,EAAU,IAAIV,EAAmBE,EAAgB,IAAMD,CAAM,EACnE,GAAG,MAAMC,EAAgB,sBAAsB,EAAE,gBAC/CZ,EAAK,CAAE,KAAM,uBAAwB,CAAC,CACxC,EAEA,MAAMsB,EAAMF,EAAQ,QAAwC,CAC1D,UAAWH,EACX,QAAAC,CACF,CAAC,EAED,MAAM,OAAOI,CAAG,EAAE,QAAQ,cAAc,CAAE,KAAM,uBAAwB,CAAC,CAC3E,CAAC,CACH,CAAC",
6
6
  "names": ["Left", "CommandResultStatus", "DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS", "deviceSessionStubBuilder", "DefaultDeviceSessionService", "DefaultLoggerPublisherService", "HttpManagerApiDataSource", "DefaultManagerApiService", "DefaultSecureChannelDataSource", "DefaultSecureChannelService", "SendCommandUseCase", "logger", "sessionService", "managerApi", "managerApiDataSource", "secureChannel", "secureChannelDataSource", "fakeSessionId", "command", "deviceSession", "useCase", "response", "res"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS as f}from"../../../internal/device-session/data/DeviceSessionRefresherConst";import{deviceSessionStubBuilder as l}from"../../../internal/device-session/model/DeviceSession.stub";import{DeviceSessionNotFound as S}from"../../../internal/device-session/model/Errors";import{DefaultDeviceSessionService as m}from"../../../internal/device-session/service/DefaultDeviceSessionService";import{DefaultLoggerPublisherService as v}from"../../../internal/logger-publisher/service/DefaultLoggerPublisherService";import{HttpManagerApiDataSource as d}from"../../../internal/manager-api/data/HttpManagerApiDataSource";import{DefaultManagerApiService as p}from"../../../internal/manager-api/service/DefaultManagerApiService";import{DefaultSecureChannelDataSource as u}from"../../../internal/secure-channel/data/DefaultSecureChannelDataSource";import{DefaultSecureChannelService as D}from"../../../internal/secure-channel/service/DefaultSecureChannelService";import{DisableDeviceSessionRefresherUseCase as t}from"./DisableDeviceSessionRefresher";vi.mock("uuid",()=>({v4:()=>"fakeUuid"}));let e,r,i,o,n,c;describe("DisableDeviceSessionRefresherUseCase",()=>{beforeEach(()=>{e=new v([],"get-connected-device-use-case-test"),r=new m(()=>e),n=new p(new d({})),c=new D(new u({}))}),afterEach(()=>{vi.clearAllMocks()}),describe("execute",()=>{it("should disable the device session refresher and return a function to reenable it",()=>{o=l({id:"fakeSessionId"},()=>e,n,c,f),r.addDeviceSession(o),i=new t(r,()=>e);const s=vi.spyOn(o,"disableRefresher"),a=i.execute({sessionId:"fakeSessionId",blockerId:"fakeBlockerId"});expect(s).toHaveBeenCalledWith("fakeBlockerId"),a(),o.close()}),it("should throw error when deviceSession is not found",()=>{i=new t(r,()=>e);try{i.execute({sessionId:"fakeSessionId",blockerId:"fakeBlockerId"})}catch(s){expect(s).toBeInstanceOf(S)}})})});
1
+ import{DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS as f}from"../../../internal/device-session/data/DeviceSessionRefresherConst";import{deviceSessionStubBuilder as l}from"../../../internal/device-session/model/DeviceSession.stub";import{DeviceSessionNotFound as S}from"../../../internal/device-session/model/Errors";import{DefaultDeviceSessionService as m}from"../../../internal/device-session/service/DefaultDeviceSessionService";import{DefaultLoggerPublisherService as v}from"../../../internal/logger-publisher/service/DefaultLoggerPublisherService";import{HttpManagerApiDataSource as d}from"../../../internal/manager-api/data/HttpManagerApiDataSource";import{DefaultManagerApiService as p}from"../../../internal/manager-api/service/DefaultManagerApiService";import{DefaultSecureChannelDataSource as u}from"../../../internal/secure-channel/data/DefaultSecureChannelDataSource";import{DefaultSecureChannelService as D}from"../../../internal/secure-channel/service/DefaultSecureChannelService";import{DisableDeviceSessionRefresherUseCase as t}from"./DisableDeviceSessionRefresher";vi.mock("uuid",()=>({v4:()=>"fakeUuid"}));let e,r,i,o,n,c;describe("DisableDeviceSessionRefresherUseCase",()=>{beforeEach(()=>{e=new v([],"get-connected-device-use-case-test"),r=new m(()=>e),n=new p(new d({},()=>e)),c=new D(new u({}))}),afterEach(()=>{vi.clearAllMocks()}),describe("execute",()=>{it("should disable the device session refresher and return a function to reenable it",()=>{o=l({id:"fakeSessionId"},()=>e,n,c,f),r.addDeviceSession(o),i=new t(r,()=>e);const s=vi.spyOn(o,"disableRefresher"),a=i.execute({sessionId:"fakeSessionId",blockerId:"fakeBlockerId"});expect(s).toHaveBeenCalledWith("fakeBlockerId"),a(),o.close()}),it("should throw error when deviceSession is not found",()=>{i=new t(r,()=>e);try{i.execute({sessionId:"fakeSessionId",blockerId:"fakeBlockerId"})}catch(s){expect(s).toBeInstanceOf(S)}})})});
2
2
  //# sourceMappingURL=DisableDeviceSessionRefresher.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/api/device-session/use-case/DisableDeviceSessionRefresher.test.ts"],
4
- "sourcesContent": ["import { type DmkConfig } from \"@api/DmkConfig\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS } from \"@internal/device-session/data/DeviceSessionRefresherConst\";\nimport { type DeviceSession } from \"@internal/device-session/model/DeviceSession\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DeviceSessionNotFound } from \"@internal/device-session/model/Errors\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { HttpManagerApiDataSource } from \"@internal/manager-api/data/HttpManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { DefaultSecureChannelDataSource } from \"@internal/secure-channel/data/DefaultSecureChannelDataSource\";\nimport { DefaultSecureChannelService } from \"@internal/secure-channel/service/DefaultSecureChannelService\";\nimport { type SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\n\nimport { DisableDeviceSessionRefresherUseCase } from \"./DisableDeviceSessionRefresher\";\n\nvi.mock(\"uuid\", () => ({\n v4: () => \"fakeUuid\",\n}));\n\nlet logger: LoggerPublisherService;\nlet sessionService: DeviceSessionService;\nlet useCase: DisableDeviceSessionRefresherUseCase;\nlet deviceSession: DeviceSession;\nlet managerApi: ManagerApiService;\nlet secureChannel: SecureChannelService;\ndescribe(\"DisableDeviceSessionRefresherUseCase\", () => {\n beforeEach(() => {\n logger = new DefaultLoggerPublisherService(\n [],\n \"get-connected-device-use-case-test\",\n );\n sessionService = new DefaultDeviceSessionService(() => logger);\n managerApi = new DefaultManagerApiService(\n new HttpManagerApiDataSource({} as DmkConfig),\n );\n secureChannel = new DefaultSecureChannelService(\n new DefaultSecureChannelDataSource({} as DmkConfig),\n );\n });\n\n afterEach(() => {\n vi.clearAllMocks();\n });\n\n describe(\"execute\", () => {\n it(\"should disable the device session refresher and return a function to reenable it\", () => {\n // given\n deviceSession = deviceSessionStubBuilder(\n { id: \"fakeSessionId\" },\n () => logger,\n managerApi,\n secureChannel,\n DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\n );\n sessionService.addDeviceSession(deviceSession);\n useCase = new DisableDeviceSessionRefresherUseCase(\n sessionService,\n () => logger,\n );\n\n const spy = vi.spyOn(deviceSession, \"disableRefresher\");\n\n // when\n const reenableRefresher = useCase.execute({\n sessionId: \"fakeSessionId\",\n blockerId: \"fakeBlockerId\",\n });\n\n // then\n expect(spy).toHaveBeenCalledWith(\"fakeBlockerId\");\n reenableRefresher();\n deviceSession.close();\n });\n\n it(\"should throw error when deviceSession is not found\", () => {\n // given\n useCase = new DisableDeviceSessionRefresherUseCase(\n sessionService,\n () => logger,\n );\n\n // when\n try {\n useCase.execute({\n sessionId: \"fakeSessionId\",\n blockerId: \"fakeBlockerId\",\n });\n } catch (error) {\n // then\n expect(error).toBeInstanceOf(DeviceSessionNotFound);\n }\n });\n });\n});\n"],
5
- "mappings": "AAEA,OAAS,4CAAAA,MAAgD,4DAEzD,OAAS,4BAAAC,MAAgC,oDACzC,OAAS,yBAAAC,MAA6B,wCACtC,OAAS,+BAAAC,MAAmC,+DAE5C,OAAS,iCAAAC,MAAqC,mEAC9C,OAAS,4BAAAC,MAAgC,sDACzC,OAAS,4BAAAC,MAAgC,yDAEzC,OAAS,kCAAAC,MAAsC,+DAC/C,OAAS,+BAAAC,MAAmC,+DAG5C,OAAS,wCAAAC,MAA4C,kCAErD,GAAG,KAAK,OAAQ,KAAO,CACrB,GAAI,IAAM,UACZ,EAAE,EAEF,IAAIC,EACAC,EACAC,EACAC,EACAC,EACAC,EACJ,SAAS,uCAAwC,IAAM,CACrD,WAAW,IAAM,CACfL,EAAS,IAAIN,EACX,CAAC,EACD,oCACF,EACAO,EAAiB,IAAIR,EAA4B,IAAMO,CAAM,EAC7DI,EAAa,IAAIR,EACf,IAAID,EAAyB,CAAC,CAAc,CAC9C,EACAU,EAAgB,IAAIP,EAClB,IAAID,EAA+B,CAAC,CAAc,CACpD,CACF,CAAC,EAED,UAAU,IAAM,CACd,GAAG,cAAc,CACnB,CAAC,EAED,SAAS,UAAW,IAAM,CACxB,GAAG,mFAAoF,IAAM,CAE3FM,EAAgBZ,EACd,CAAE,GAAI,eAAgB,EACtB,IAAMS,EACNI,EACAC,EACAf,CACF,EACAW,EAAe,iBAAiBE,CAAa,EAC7CD,EAAU,IAAIH,EACZE,EACA,IAAMD,CACR,EAEA,MAAMM,EAAM,GAAG,MAAMH,EAAe,kBAAkB,EAGhDI,EAAoBL,EAAQ,QAAQ,CACxC,UAAW,gBACX,UAAW,eACb,CAAC,EAGD,OAAOI,CAAG,EAAE,qBAAqB,eAAe,EAChDC,EAAkB,EAClBJ,EAAc,MAAM,CACtB,CAAC,EAED,GAAG,qDAAsD,IAAM,CAE7DD,EAAU,IAAIH,EACZE,EACA,IAAMD,CACR,EAGA,GAAI,CACFE,EAAQ,QAAQ,CACd,UAAW,gBACX,UAAW,eACb,CAAC,CACH,OAASM,EAAO,CAEd,OAAOA,CAAK,EAAE,eAAehB,CAAqB,CACpD,CACF,CAAC,CACH,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { type DmkConfig } from \"@api/DmkConfig\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS } from \"@internal/device-session/data/DeviceSessionRefresherConst\";\nimport { type DeviceSession } from \"@internal/device-session/model/DeviceSession\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DeviceSessionNotFound } from \"@internal/device-session/model/Errors\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { HttpManagerApiDataSource } from \"@internal/manager-api/data/HttpManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { DefaultSecureChannelDataSource } from \"@internal/secure-channel/data/DefaultSecureChannelDataSource\";\nimport { DefaultSecureChannelService } from \"@internal/secure-channel/service/DefaultSecureChannelService\";\nimport { type SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\n\nimport { DisableDeviceSessionRefresherUseCase } from \"./DisableDeviceSessionRefresher\";\n\nvi.mock(\"uuid\", () => ({\n v4: () => \"fakeUuid\",\n}));\n\nlet logger: LoggerPublisherService;\nlet sessionService: DeviceSessionService;\nlet useCase: DisableDeviceSessionRefresherUseCase;\nlet deviceSession: DeviceSession;\nlet managerApi: ManagerApiService;\nlet secureChannel: SecureChannelService;\ndescribe(\"DisableDeviceSessionRefresherUseCase\", () => {\n beforeEach(() => {\n logger = new DefaultLoggerPublisherService(\n [],\n \"get-connected-device-use-case-test\",\n );\n sessionService = new DefaultDeviceSessionService(() => logger);\n managerApi = new DefaultManagerApiService(\n new HttpManagerApiDataSource({} as DmkConfig, () => logger),\n );\n secureChannel = new DefaultSecureChannelService(\n new DefaultSecureChannelDataSource({} as DmkConfig),\n );\n });\n\n afterEach(() => {\n vi.clearAllMocks();\n });\n\n describe(\"execute\", () => {\n it(\"should disable the device session refresher and return a function to reenable it\", () => {\n // given\n deviceSession = deviceSessionStubBuilder(\n { id: \"fakeSessionId\" },\n () => logger,\n managerApi,\n secureChannel,\n DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\n );\n sessionService.addDeviceSession(deviceSession);\n useCase = new DisableDeviceSessionRefresherUseCase(\n sessionService,\n () => logger,\n );\n\n const spy = vi.spyOn(deviceSession, \"disableRefresher\");\n\n // when\n const reenableRefresher = useCase.execute({\n sessionId: \"fakeSessionId\",\n blockerId: \"fakeBlockerId\",\n });\n\n // then\n expect(spy).toHaveBeenCalledWith(\"fakeBlockerId\");\n reenableRefresher();\n deviceSession.close();\n });\n\n it(\"should throw error when deviceSession is not found\", () => {\n // given\n useCase = new DisableDeviceSessionRefresherUseCase(\n sessionService,\n () => logger,\n );\n\n // when\n try {\n useCase.execute({\n sessionId: \"fakeSessionId\",\n blockerId: \"fakeBlockerId\",\n });\n } catch (error) {\n // then\n expect(error).toBeInstanceOf(DeviceSessionNotFound);\n }\n });\n });\n});\n"],
5
+ "mappings": "AAEA,OAAS,4CAAAA,MAAgD,4DAEzD,OAAS,4BAAAC,MAAgC,oDACzC,OAAS,yBAAAC,MAA6B,wCACtC,OAAS,+BAAAC,MAAmC,+DAE5C,OAAS,iCAAAC,MAAqC,mEAC9C,OAAS,4BAAAC,MAAgC,sDACzC,OAAS,4BAAAC,MAAgC,yDAEzC,OAAS,kCAAAC,MAAsC,+DAC/C,OAAS,+BAAAC,MAAmC,+DAG5C,OAAS,wCAAAC,MAA4C,kCAErD,GAAG,KAAK,OAAQ,KAAO,CACrB,GAAI,IAAM,UACZ,EAAE,EAEF,IAAIC,EACAC,EACAC,EACAC,EACAC,EACAC,EACJ,SAAS,uCAAwC,IAAM,CACrD,WAAW,IAAM,CACfL,EAAS,IAAIN,EACX,CAAC,EACD,oCACF,EACAO,EAAiB,IAAIR,EAA4B,IAAMO,CAAM,EAC7DI,EAAa,IAAIR,EACf,IAAID,EAAyB,CAAC,EAAgB,IAAMK,CAAM,CAC5D,EACAK,EAAgB,IAAIP,EAClB,IAAID,EAA+B,CAAC,CAAc,CACpD,CACF,CAAC,EAED,UAAU,IAAM,CACd,GAAG,cAAc,CACnB,CAAC,EAED,SAAS,UAAW,IAAM,CACxB,GAAG,mFAAoF,IAAM,CAE3FM,EAAgBZ,EACd,CAAE,GAAI,eAAgB,EACtB,IAAMS,EACNI,EACAC,EACAf,CACF,EACAW,EAAe,iBAAiBE,CAAa,EAC7CD,EAAU,IAAIH,EACZE,EACA,IAAMD,CACR,EAEA,MAAMM,EAAM,GAAG,MAAMH,EAAe,kBAAkB,EAGhDI,EAAoBL,EAAQ,QAAQ,CACxC,UAAW,gBACX,UAAW,eACb,CAAC,EAGD,OAAOI,CAAG,EAAE,qBAAqB,eAAe,EAChDC,EAAkB,EAClBJ,EAAc,MAAM,CACtB,CAAC,EAED,GAAG,qDAAsD,IAAM,CAE7DD,EAAU,IAAIH,EACZE,EACA,IAAMD,CACR,EAGA,GAAI,CACFE,EAAQ,QAAQ,CACd,UAAW,gBACX,UAAW,eACb,CAAC,CACH,OAASM,EAAO,CAEd,OAAOA,CAAK,EAAE,eAAehB,CAAqB,CACpD,CACF,CAAC,CACH,CAAC,CACH,CAAC",
6
6
  "names": ["DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS", "deviceSessionStubBuilder", "DeviceSessionNotFound", "DefaultDeviceSessionService", "DefaultLoggerPublisherService", "HttpManagerApiDataSource", "DefaultManagerApiService", "DefaultSecureChannelDataSource", "DefaultSecureChannelService", "DisableDeviceSessionRefresherUseCase", "logger", "sessionService", "useCase", "deviceSession", "managerApi", "secureChannel", "spy", "reenableRefresher", "error"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{Either as l,Left as u}from"purify-ts";import{Observable as b}from"rxjs";import{connectedDeviceStubBuilder as p}from"../../../api/transport/model/TransportConnectedDevice.stub";import{DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS as r}from"../../device-session/data/DeviceSessionRefresherConst";import{deviceSessionStubBuilder as a}from"../../device-session/model/DeviceSession.stub";import{DeviceSessionNotFound as m}from"../../device-session/model/Errors";import{DefaultLoggerPublisherService as x}from"../../logger-publisher/service/DefaultLoggerPublisherService";import{HttpManagerApiDataSource as E}from"../../manager-api/data/HttpManagerApiDataSource";import{DefaultManagerApiService as y}from"../../manager-api/service/DefaultManagerApiService";import{DefaultSecureChannelDataSource as I}from"../../secure-channel/data/DefaultSecureChannelDataSource";import{DefaultSecureChannelService as q}from"../../secure-channel/service/DefaultSecureChannelService";import{DefaultDeviceSessionService as A}from"./DefaultDeviceSessionService";vi.mock("@internal/logger-publisher/service/DefaultLoggerPublisherService");vi.mock("@internal/manager-api/data/HttpManagerApiDataSource");let e,s,i,v,d,g,t,f,c;describe("DefaultDeviceSessionService",()=>{s=new x([],"deviceSession"),g=new E({}),t=new y(g),f=new I({}),c=new q(f),beforeEach(()=>{vi.restoreAllMocks(),e=new A(()=>s),i=a({},()=>s,t,c,r)}),afterEach(()=>{i.close()}),it("should have an empty DeviceSession list",()=>{expect(e.getDeviceSessions()).toEqual([])}),describe("DeviceSessionService addDeviceSession",()=>{it("should add a DeviceSession if it does not already exist",()=>{e.addDeviceSession(i),expect(e.getDeviceSessions()).toEqual([i])}),it("should not add a DeviceSession if it already exists",()=>{e.addDeviceSession(i),e.addDeviceSession(i),expect(e.getDeviceSessions()).toEqual([i])})}),describe("DeviceSessionService removeDeviceSession",()=>{it("should remove the DeviceSession of given ID",()=>{e.addDeviceSession(i),e.removeDeviceSession(i.id),expect(e.getDeviceSessions()).toEqual([])}),it("should not remove the DeviceSession of given ID if it does not exist",()=>{e.addDeviceSession(i),e.removeDeviceSession("non-existent-id"),expect(e.getDeviceSessions()).toEqual([i])})}),describe("DeviceSessionService getDeviceSessionById",()=>{it("should get the DeviceSession of given ID if it exists",()=>{e.addDeviceSession(i),expect(e.getDeviceSessionById(i.id)).toEqual(l.of(i))}),it("should not get the DeviceSession if it does not exist",()=>{e.addDeviceSession(i),expect(e.getDeviceSessionById("non-existent-id")).toEqual(u(new m))})}),describe("DeviceSessionService getDeviceSessionsByDeviceId",()=>{it("should not get device sessions by deviceId if none exist",()=>{e.addDeviceSession(i),expect(e.getDeviceSessionsByDeviceId("non-existent-device-id")).toEqual(u(new m))}),it("should get a single device session by deviceId",()=>{e.addDeviceSession(i),expect(e.getDeviceSessionsByDeviceId(i.connectedDevice.id)).toEqual(l.of([i]))}),it("should get device sessions by deviceId",()=>{e.addDeviceSession(i),v=a({connectedDevice:p({id:"device-1"}),id:"session-1"},()=>s,t,c,r),d=a({connectedDevice:p({id:"device-1"}),id:"session-2"},()=>s,t,c,r),e.addDeviceSession(v),e.addDeviceSession(d),expect(e.getDeviceSessionsByDeviceId("device-1")).toEqual(l.of([v,d])),v.close(),d.close()})}),it("should get all sessions",()=>{e.addDeviceSession(i),expect(e.getDeviceSessions()).toEqual([i])}),it("should retrieve sessionObs",()=>{expect(e.sessionsObs).toBeInstanceOf(b)}),it("should emit new session",()=>new Promise((o,n)=>{const S=e.sessionsObs.subscribe({next(D){try{expect(D).toStrictEqual(i),S.unsubscribe(),o()}catch(h){n(h)}}});e.addDeviceSession(i)})),it("should emit previous added session",()=>{const o=a({id:"last-session"},()=>s,t,c,r),n=[];e.addDeviceSession(i),e.addDeviceSession(o);const S=e.sessionsObs.subscribe({next(D){n.push(D)}});o.close(),expect(n).toEqual([i,o]),S.unsubscribe()})});
1
+ import{Either as l,Left as u}from"purify-ts";import{Observable as b}from"rxjs";import{connectedDeviceStubBuilder as p}from"../../../api/transport/model/TransportConnectedDevice.stub";import{DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS as r}from"../../device-session/data/DeviceSessionRefresherConst";import{deviceSessionStubBuilder as a}from"../../device-session/model/DeviceSession.stub";import{DeviceSessionNotFound as m}from"../../device-session/model/Errors";import{DefaultLoggerPublisherService as x}from"../../logger-publisher/service/DefaultLoggerPublisherService";import{HttpManagerApiDataSource as E}from"../../manager-api/data/HttpManagerApiDataSource";import{DefaultManagerApiService as y}from"../../manager-api/service/DefaultManagerApiService";import{DefaultSecureChannelDataSource as I}from"../../secure-channel/data/DefaultSecureChannelDataSource";import{DefaultSecureChannelService as q}from"../../secure-channel/service/DefaultSecureChannelService";import{DefaultDeviceSessionService as A}from"./DefaultDeviceSessionService";vi.mock("@internal/logger-publisher/service/DefaultLoggerPublisherService");vi.mock("@internal/manager-api/data/HttpManagerApiDataSource");let e,s,i,v,d,g,t,f,c;describe("DefaultDeviceSessionService",()=>{s=new x([],"deviceSession"),g=new E({},()=>s),t=new y(g),f=new I({}),c=new q(f),beforeEach(()=>{vi.restoreAllMocks(),e=new A(()=>s),i=a({},()=>s,t,c,r)}),afterEach(()=>{i.close()}),it("should have an empty DeviceSession list",()=>{expect(e.getDeviceSessions()).toEqual([])}),describe("DeviceSessionService addDeviceSession",()=>{it("should add a DeviceSession if it does not already exist",()=>{e.addDeviceSession(i),expect(e.getDeviceSessions()).toEqual([i])}),it("should not add a DeviceSession if it already exists",()=>{e.addDeviceSession(i),e.addDeviceSession(i),expect(e.getDeviceSessions()).toEqual([i])})}),describe("DeviceSessionService removeDeviceSession",()=>{it("should remove the DeviceSession of given ID",()=>{e.addDeviceSession(i),e.removeDeviceSession(i.id),expect(e.getDeviceSessions()).toEqual([])}),it("should not remove the DeviceSession of given ID if it does not exist",()=>{e.addDeviceSession(i),e.removeDeviceSession("non-existent-id"),expect(e.getDeviceSessions()).toEqual([i])})}),describe("DeviceSessionService getDeviceSessionById",()=>{it("should get the DeviceSession of given ID if it exists",()=>{e.addDeviceSession(i),expect(e.getDeviceSessionById(i.id)).toEqual(l.of(i))}),it("should not get the DeviceSession if it does not exist",()=>{e.addDeviceSession(i),expect(e.getDeviceSessionById("non-existent-id")).toEqual(u(new m))})}),describe("DeviceSessionService getDeviceSessionsByDeviceId",()=>{it("should not get device sessions by deviceId if none exist",()=>{e.addDeviceSession(i),expect(e.getDeviceSessionsByDeviceId("non-existent-device-id")).toEqual(u(new m))}),it("should get a single device session by deviceId",()=>{e.addDeviceSession(i),expect(e.getDeviceSessionsByDeviceId(i.connectedDevice.id)).toEqual(l.of([i]))}),it("should get device sessions by deviceId",()=>{e.addDeviceSession(i),v=a({connectedDevice:p({id:"device-1"}),id:"session-1"},()=>s,t,c,r),d=a({connectedDevice:p({id:"device-1"}),id:"session-2"},()=>s,t,c,r),e.addDeviceSession(v),e.addDeviceSession(d),expect(e.getDeviceSessionsByDeviceId("device-1")).toEqual(l.of([v,d])),v.close(),d.close()})}),it("should get all sessions",()=>{e.addDeviceSession(i),expect(e.getDeviceSessions()).toEqual([i])}),it("should retrieve sessionObs",()=>{expect(e.sessionsObs).toBeInstanceOf(b)}),it("should emit new session",()=>new Promise((o,n)=>{const S=e.sessionsObs.subscribe({next(D){try{expect(D).toStrictEqual(i),S.unsubscribe(),o()}catch(h){n(h)}}});e.addDeviceSession(i)})),it("should emit previous added session",()=>{const o=a({id:"last-session"},()=>s,t,c,r),n=[];e.addDeviceSession(i),e.addDeviceSession(o);const S=e.sessionsObs.subscribe({next(D){n.push(D)}});o.close(),expect(n).toEqual([i,o]),S.unsubscribe()})});
2
2
  //# sourceMappingURL=DefaultDeviceSessionService.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/device-session/service/DefaultDeviceSessionService.test.ts"],
4
- "sourcesContent": ["import { Either, Left } from \"purify-ts\";\nimport { Observable } from \"rxjs\";\n\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { connectedDeviceStubBuilder } from \"@api/transport/model/TransportConnectedDevice.stub\";\nimport { DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS } from \"@internal/device-session/data/DeviceSessionRefresherConst\";\nimport { type DeviceSession } from \"@internal/device-session/model/DeviceSession\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DeviceSessionNotFound } from \"@internal/device-session/model/Errors\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { HttpManagerApiDataSource } from \"@internal/manager-api/data/HttpManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport type { ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { DefaultSecureChannelDataSource } from \"@internal/secure-channel/data/DefaultSecureChannelDataSource\";\nimport { type SecureChannelDataSource } from \"@internal/secure-channel/data/SecureChannelDataSource\";\nimport { DefaultSecureChannelService } from \"@internal/secure-channel/service/DefaultSecureChannelService\";\nimport { type SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\n\nimport { DefaultDeviceSessionService } from \"./DefaultDeviceSessionService\";\n\nvi.mock(\"@internal/logger-publisher/service/DefaultLoggerPublisherService\");\nvi.mock(\"@internal/manager-api/data/HttpManagerApiDataSource\");\n\nlet sessionService: DefaultDeviceSessionService;\nlet loggerService: DefaultLoggerPublisherService;\nlet deviceSession: DeviceSession;\nlet deviceSession1: DeviceSession;\nlet deviceSession2: DeviceSession;\nlet managerApiDataSource: ManagerApiDataSource;\nlet managerApi: ManagerApiService;\nlet secureChannelDataSource: SecureChannelDataSource;\nlet secureChannel: SecureChannelService;\n\ndescribe(\"DefaultDeviceSessionService\", () => {\n // Initialize shared resources\n loggerService = new DefaultLoggerPublisherService([], \"deviceSession\");\n managerApiDataSource = new HttpManagerApiDataSource({} as DmkConfig);\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n secureChannelDataSource = new DefaultSecureChannelDataSource({} as DmkConfig);\n secureChannel = new DefaultSecureChannelService(secureChannelDataSource);\n\n beforeEach(() => {\n vi.restoreAllMocks();\n // Create a new instance before each test\n sessionService = new DefaultDeviceSessionService(() => loggerService);\n // Create a device session stub with default properties\n deviceSession = deviceSessionStubBuilder(\n {},\n () => loggerService,\n managerApi,\n secureChannel,\n DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\n );\n });\n\n afterEach(() => {\n deviceSession.close();\n });\n\n it(\"should have an empty DeviceSession list\", () => {\n expect(sessionService.getDeviceSessions()).toEqual([]);\n });\n\n describe(\"DeviceSessionService addDeviceSession\", () => {\n it(\"should add a DeviceSession if it does not already exist\", () => {\n sessionService.addDeviceSession(deviceSession);\n expect(sessionService.getDeviceSessions()).toEqual([deviceSession]);\n });\n it(\"should not add a DeviceSession if it already exists\", () => {\n sessionService.addDeviceSession(deviceSession);\n sessionService.addDeviceSession(deviceSession);\n expect(sessionService.getDeviceSessions()).toEqual([deviceSession]);\n });\n });\n\n describe(\"DeviceSessionService removeDeviceSession\", () => {\n it(\"should remove the DeviceSession of given ID\", () => {\n sessionService.addDeviceSession(deviceSession);\n sessionService.removeDeviceSession(deviceSession.id);\n expect(sessionService.getDeviceSessions()).toEqual([]);\n });\n it(\"should not remove the DeviceSession of given ID if it does not exist\", () => {\n sessionService.addDeviceSession(deviceSession);\n sessionService.removeDeviceSession(\"non-existent-id\");\n expect(sessionService.getDeviceSessions()).toEqual([deviceSession]);\n });\n });\n\n describe(\"DeviceSessionService getDeviceSessionById\", () => {\n it(\"should get the DeviceSession of given ID if it exists\", () => {\n sessionService.addDeviceSession(deviceSession);\n expect(sessionService.getDeviceSessionById(deviceSession.id)).toEqual(\n Either.of(deviceSession),\n );\n });\n it(\"should not get the DeviceSession if it does not exist\", () => {\n sessionService.addDeviceSession(deviceSession);\n expect(sessionService.getDeviceSessionById(\"non-existent-id\")).toEqual(\n Left(new DeviceSessionNotFound()),\n );\n });\n });\n\n describe(\"DeviceSessionService getDeviceSessionsByDeviceId\", () => {\n it(\"should not get device sessions by deviceId if none exist\", () => {\n sessionService.addDeviceSession(deviceSession);\n expect(\n sessionService.getDeviceSessionsByDeviceId(\"non-existent-device-id\"),\n ).toEqual(Left(new DeviceSessionNotFound()));\n });\n it(\"should get a single device session by deviceId\", () => {\n sessionService.addDeviceSession(deviceSession);\n expect(\n sessionService.getDeviceSessionsByDeviceId(\n deviceSession.connectedDevice.id,\n ),\n ).toEqual(Either.of([deviceSession]));\n });\n it(\"should get device sessions by deviceId\", () => {\n sessionService.addDeviceSession(deviceSession);\n deviceSession1 = deviceSessionStubBuilder(\n {\n connectedDevice: connectedDeviceStubBuilder({ id: \"device-1\" }),\n id: \"session-1\",\n },\n () => loggerService,\n managerApi,\n secureChannel,\n DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\n );\n\n deviceSession2 = deviceSessionStubBuilder(\n {\n connectedDevice: connectedDeviceStubBuilder({ id: \"device-1\" }),\n id: \"session-2\",\n },\n () => loggerService,\n managerApi,\n secureChannel,\n DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\n );\n sessionService.addDeviceSession(deviceSession1);\n sessionService.addDeviceSession(deviceSession2);\n expect(sessionService.getDeviceSessionsByDeviceId(\"device-1\")).toEqual(\n Either.of([deviceSession1, deviceSession2]),\n );\n deviceSession1.close();\n deviceSession2.close();\n });\n });\n\n it(\"should get all sessions\", () => {\n sessionService.addDeviceSession(deviceSession);\n expect(sessionService.getDeviceSessions()).toEqual([deviceSession]);\n });\n\n it(\"should retrieve sessionObs\", () => {\n expect(sessionService.sessionsObs).toBeInstanceOf(\n Observable<DeviceSession>,\n );\n });\n\n it(\"should emit new session\", () =>\n new Promise<void>((resolve, reject) => {\n const subscription = sessionService.sessionsObs.subscribe({\n next(emittedDeviceSession) {\n try {\n expect(emittedDeviceSession).toStrictEqual(deviceSession);\n subscription.unsubscribe();\n resolve();\n } catch (error) {\n reject(error);\n }\n },\n });\n sessionService.addDeviceSession(deviceSession);\n }));\n\n it(\"should emit previous added session\", () => {\n const lastDeviceSession = deviceSessionStubBuilder(\n { id: \"last-session\" },\n () => loggerService,\n managerApi,\n secureChannel,\n DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\n );\n const emittedSessions: DeviceSession[] = [];\n sessionService.addDeviceSession(deviceSession);\n sessionService.addDeviceSession(lastDeviceSession);\n\n const subscription = sessionService.sessionsObs.subscribe({\n next(emittedDeviceSession) {\n emittedSessions.push(emittedDeviceSession);\n },\n });\n lastDeviceSession.close();\n expect(emittedSessions).toEqual([deviceSession, lastDeviceSession]);\n subscription.unsubscribe();\n });\n});\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { Either, Left } from \"purify-ts\";\nimport { Observable } from \"rxjs\";\n\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { connectedDeviceStubBuilder } from \"@api/transport/model/TransportConnectedDevice.stub\";\nimport { DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS } from \"@internal/device-session/data/DeviceSessionRefresherConst\";\nimport { type DeviceSession } from \"@internal/device-session/model/DeviceSession\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DeviceSessionNotFound } from \"@internal/device-session/model/Errors\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { HttpManagerApiDataSource } from \"@internal/manager-api/data/HttpManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport type { ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { DefaultSecureChannelDataSource } from \"@internal/secure-channel/data/DefaultSecureChannelDataSource\";\nimport { type SecureChannelDataSource } from \"@internal/secure-channel/data/SecureChannelDataSource\";\nimport { DefaultSecureChannelService } from \"@internal/secure-channel/service/DefaultSecureChannelService\";\nimport { type SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\n\nimport { DefaultDeviceSessionService } from \"./DefaultDeviceSessionService\";\n\nvi.mock(\"@internal/logger-publisher/service/DefaultLoggerPublisherService\");\nvi.mock(\"@internal/manager-api/data/HttpManagerApiDataSource\");\n\nlet sessionService: DefaultDeviceSessionService;\nlet loggerService: DefaultLoggerPublisherService;\nlet deviceSession: DeviceSession;\nlet deviceSession1: DeviceSession;\nlet deviceSession2: DeviceSession;\nlet managerApiDataSource: ManagerApiDataSource;\nlet managerApi: ManagerApiService;\nlet secureChannelDataSource: SecureChannelDataSource;\nlet secureChannel: SecureChannelService;\n\ndescribe(\"DefaultDeviceSessionService\", () => {\n // Initialize shared resources\n loggerService = new DefaultLoggerPublisherService([], \"deviceSession\");\n managerApiDataSource = new HttpManagerApiDataSource(\n {} as DmkConfig,\n () => loggerService,\n );\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n secureChannelDataSource = new DefaultSecureChannelDataSource({} as DmkConfig);\n secureChannel = new DefaultSecureChannelService(secureChannelDataSource);\n\n beforeEach(() => {\n vi.restoreAllMocks();\n // Create a new instance before each test\n sessionService = new DefaultDeviceSessionService(() => loggerService);\n // Create a device session stub with default properties\n deviceSession = deviceSessionStubBuilder(\n {},\n () => loggerService,\n managerApi,\n secureChannel,\n DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\n );\n });\n\n afterEach(() => {\n deviceSession.close();\n });\n\n it(\"should have an empty DeviceSession list\", () => {\n expect(sessionService.getDeviceSessions()).toEqual([]);\n });\n\n describe(\"DeviceSessionService addDeviceSession\", () => {\n it(\"should add a DeviceSession if it does not already exist\", () => {\n sessionService.addDeviceSession(deviceSession);\n expect(sessionService.getDeviceSessions()).toEqual([deviceSession]);\n });\n it(\"should not add a DeviceSession if it already exists\", () => {\n sessionService.addDeviceSession(deviceSession);\n sessionService.addDeviceSession(deviceSession);\n expect(sessionService.getDeviceSessions()).toEqual([deviceSession]);\n });\n });\n\n describe(\"DeviceSessionService removeDeviceSession\", () => {\n it(\"should remove the DeviceSession of given ID\", () => {\n sessionService.addDeviceSession(deviceSession);\n sessionService.removeDeviceSession(deviceSession.id);\n expect(sessionService.getDeviceSessions()).toEqual([]);\n });\n it(\"should not remove the DeviceSession of given ID if it does not exist\", () => {\n sessionService.addDeviceSession(deviceSession);\n sessionService.removeDeviceSession(\"non-existent-id\");\n expect(sessionService.getDeviceSessions()).toEqual([deviceSession]);\n });\n });\n\n describe(\"DeviceSessionService getDeviceSessionById\", () => {\n it(\"should get the DeviceSession of given ID if it exists\", () => {\n sessionService.addDeviceSession(deviceSession);\n expect(sessionService.getDeviceSessionById(deviceSession.id)).toEqual(\n Either.of(deviceSession),\n );\n });\n it(\"should not get the DeviceSession if it does not exist\", () => {\n sessionService.addDeviceSession(deviceSession);\n expect(sessionService.getDeviceSessionById(\"non-existent-id\")).toEqual(\n Left(new DeviceSessionNotFound()),\n );\n });\n });\n\n describe(\"DeviceSessionService getDeviceSessionsByDeviceId\", () => {\n it(\"should not get device sessions by deviceId if none exist\", () => {\n sessionService.addDeviceSession(deviceSession);\n expect(\n sessionService.getDeviceSessionsByDeviceId(\"non-existent-device-id\"),\n ).toEqual(Left(new DeviceSessionNotFound()));\n });\n it(\"should get a single device session by deviceId\", () => {\n sessionService.addDeviceSession(deviceSession);\n expect(\n sessionService.getDeviceSessionsByDeviceId(\n deviceSession.connectedDevice.id,\n ),\n ).toEqual(Either.of([deviceSession]));\n });\n it(\"should get device sessions by deviceId\", () => {\n sessionService.addDeviceSession(deviceSession);\n deviceSession1 = deviceSessionStubBuilder(\n {\n connectedDevice: connectedDeviceStubBuilder({ id: \"device-1\" }),\n id: \"session-1\",\n },\n () => loggerService,\n managerApi,\n secureChannel,\n DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\n );\n\n deviceSession2 = deviceSessionStubBuilder(\n {\n connectedDevice: connectedDeviceStubBuilder({ id: \"device-1\" }),\n id: \"session-2\",\n },\n () => loggerService,\n managerApi,\n secureChannel,\n DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\n );\n sessionService.addDeviceSession(deviceSession1);\n sessionService.addDeviceSession(deviceSession2);\n expect(sessionService.getDeviceSessionsByDeviceId(\"device-1\")).toEqual(\n Either.of([deviceSession1, deviceSession2]),\n );\n deviceSession1.close();\n deviceSession2.close();\n });\n });\n\n it(\"should get all sessions\", () => {\n sessionService.addDeviceSession(deviceSession);\n expect(sessionService.getDeviceSessions()).toEqual([deviceSession]);\n });\n\n it(\"should retrieve sessionObs\", () => {\n expect(sessionService.sessionsObs).toBeInstanceOf(\n Observable<DeviceSession>,\n );\n });\n\n it(\"should emit new session\", () =>\n new Promise<void>((resolve, reject) => {\n const subscription = sessionService.sessionsObs.subscribe({\n next(emittedDeviceSession) {\n try {\n expect(emittedDeviceSession).toStrictEqual(deviceSession);\n subscription.unsubscribe();\n resolve();\n } catch (error) {\n reject(error);\n }\n },\n });\n sessionService.addDeviceSession(deviceSession);\n }));\n\n it(\"should emit previous added session\", () => {\n const lastDeviceSession = deviceSessionStubBuilder(\n { id: \"last-session\" },\n () => loggerService,\n managerApi,\n secureChannel,\n DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\n );\n const emittedSessions: DeviceSession[] = [];\n sessionService.addDeviceSession(deviceSession);\n sessionService.addDeviceSession(lastDeviceSession);\n\n const subscription = sessionService.sessionsObs.subscribe({\n next(emittedDeviceSession) {\n emittedSessions.push(emittedDeviceSession);\n },\n });\n lastDeviceSession.close();\n expect(emittedSessions).toEqual([deviceSession, lastDeviceSession]);\n subscription.unsubscribe();\n });\n});\n"],
5
+ "mappings": "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",
6
6
  "names": ["Either", "Left", "Observable", "connectedDeviceStubBuilder", "DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS", "deviceSessionStubBuilder", "DeviceSessionNotFound", "DefaultLoggerPublisherService", "HttpManagerApiDataSource", "DefaultManagerApiService", "DefaultSecureChannelDataSource", "DefaultSecureChannelService", "DefaultDeviceSessionService", "sessionService", "loggerService", "deviceSession", "deviceSession1", "deviceSession2", "managerApiDataSource", "managerApi", "secureChannelDataSource", "secureChannel", "resolve", "reject", "subscription", "emittedDeviceSession", "error", "lastDeviceSession", "emittedSessions"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS as S}from"../../device-session/data/DeviceSessionRefresherConst";import{deviceSessionStubBuilder as m}from"../../device-session/model/DeviceSession.stub";import{DefaultDeviceSessionService as p}from"../../device-session/service/DefaultDeviceSessionService";import{CloseSessionsUseCase as l}from"../../device-session/use-case/CloseSessionsUseCase";import{DefaultLoggerPublisherService as u}from"../../logger-publisher/service/DefaultLoggerPublisherService";import{HttpManagerApiDataSource as f}from"../../manager-api/data/HttpManagerApiDataSource";import{DefaultManagerApiService as v}from"../../manager-api/service/DefaultManagerApiService";import{DefaultSecureChannelDataSource as D}from"../../secure-channel/data/DefaultSecureChannelDataSource";import{DefaultSecureChannelService as g}from"../../secure-channel/service/DefaultSecureChannelService";import{DefaultTransportService as C}from"../../transport/service/__mocks__/DefaultTransportService";let o,i,t,a,n,r,c;describe("CloseSessionsUseCase",()=>{beforeEach(()=>{o=new u([],"close-sessions-use-case-test"),i=new f({}),t=new v(i),a=new D({}),n=new g(a),r=new p(()=>o),c=new C}),it("should be able to close every session",()=>{[...Array(10).keys()].map(e=>{const s=m({id:e.toString()},()=>o,t,n,S);return vi.spyOn(s,"close"),s}).forEach(e=>r.addDeviceSession(e)),new l(r,c).execute();for(const e of r.getDeviceSessions())expect(e.close).toHaveBeenCalled()})});
1
+ import{DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS as S}from"../../device-session/data/DeviceSessionRefresherConst";import{deviceSessionStubBuilder as m}from"../../device-session/model/DeviceSession.stub";import{DefaultDeviceSessionService as p}from"../../device-session/service/DefaultDeviceSessionService";import{CloseSessionsUseCase as l}from"../../device-session/use-case/CloseSessionsUseCase";import{DefaultLoggerPublisherService as u}from"../../logger-publisher/service/DefaultLoggerPublisherService";import{HttpManagerApiDataSource as f}from"../../manager-api/data/HttpManagerApiDataSource";import{DefaultManagerApiService as v}from"../../manager-api/service/DefaultManagerApiService";import{DefaultSecureChannelDataSource as D}from"../../secure-channel/data/DefaultSecureChannelDataSource";import{DefaultSecureChannelService as g}from"../../secure-channel/service/DefaultSecureChannelService";import{DefaultTransportService as C}from"../../transport/service/__mocks__/DefaultTransportService";let r,i,t,a,n,o,c;describe("CloseSessionsUseCase",()=>{beforeEach(()=>{r=new u([],"close-sessions-use-case-test"),i=new f({},()=>r),t=new v(i),a=new D({}),n=new g(a),o=new p(()=>r),c=new C}),it("should be able to close every session",()=>{[...Array(10).keys()].map(e=>{const s=m({id:e.toString()},()=>r,t,n,S);return vi.spyOn(s,"close"),s}).forEach(e=>o.addDeviceSession(e)),new l(o,c).execute();for(const e of o.getDeviceSessions())expect(e.close).toHaveBeenCalled()})});
2
2
  //# sourceMappingURL=CloseSessionsUseCase.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/device-session/use-case/CloseSessionsUseCase.test.ts"],
4
- "sourcesContent": ["import { type DmkConfig } from \"@api/DmkConfig\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS } from \"@internal/device-session/data/DeviceSessionRefresherConst\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { CloseSessionsUseCase } from \"@internal/device-session/use-case/CloseSessionsUseCase\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { HttpManagerApiDataSource } from \"@internal/manager-api/data/HttpManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { DefaultSecureChannelDataSource } from \"@internal/secure-channel/data/DefaultSecureChannelDataSource\";\nimport { type SecureChannelDataSource } from \"@internal/secure-channel/data/SecureChannelDataSource\";\nimport { DefaultSecureChannelService } from \"@internal/secure-channel/service/DefaultSecureChannelService\";\nimport { type SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\nimport { DefaultTransportService } from \"@internal/transport/service/__mocks__/DefaultTransportService\";\n\nlet logger: LoggerPublisherService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet managerApi: ManagerApiService;\nlet secureChannelDataSource: SecureChannelDataSource;\nlet secureChannel: SecureChannelService;\nlet sessionService: DeviceSessionService;\nlet transportService: DefaultTransportService;\n\n// @TODO Fix this test with vi.spyOn session close [SNAPSHOT PURPOSE]\ndescribe(\"CloseSessionsUseCase\", () => {\n beforeEach(() => {\n logger = new DefaultLoggerPublisherService(\n [],\n \"close-sessions-use-case-test\",\n );\n managerApiDataSource = new HttpManagerApiDataSource({} as DmkConfig);\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n secureChannelDataSource = new DefaultSecureChannelDataSource(\n {} as DmkConfig,\n );\n secureChannel = new DefaultSecureChannelService(secureChannelDataSource);\n sessionService = new DefaultDeviceSessionService(() => logger);\n transportService = new DefaultTransportService();\n });\n\n it(\"should be able to close every session\", () => {\n //given\n const sessions = [...Array(10).keys()].map((id) => {\n const session = deviceSessionStubBuilder(\n { id: id.toString() },\n () => logger,\n managerApi,\n secureChannel,\n DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\n );\n vi.spyOn(session, \"close\");\n return session;\n });\n sessions.forEach((session) => sessionService.addDeviceSession(session));\n const useCase = new CloseSessionsUseCase(sessionService, transportService);\n //when\n useCase.execute();\n //then\n for (const session of sessionService.getDeviceSessions()) {\n expect(session.close).toHaveBeenCalled();\n }\n });\n});\n"],
5
- "mappings": "AAEA,OAAS,4CAAAA,MAAgD,4DACzD,OAAS,4BAAAC,MAAgC,oDACzC,OAAS,+BAAAC,MAAmC,+DAE5C,OAAS,wBAAAC,MAA4B,yDACrC,OAAS,iCAAAC,MAAqC,mEAC9C,OAAS,4BAAAC,MAAgC,sDAEzC,OAAS,4BAAAC,MAAgC,yDAEzC,OAAS,kCAAAC,MAAsC,+DAE/C,OAAS,+BAAAC,MAAmC,+DAE5C,OAAS,2BAAAC,MAA+B,gEAExC,IAAIC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGJ,SAAS,uBAAwB,IAAM,CACrC,WAAW,IAAM,CACfN,EAAS,IAAIN,EACX,CAAC,EACD,8BACF,EACAO,EAAuB,IAAIN,EAAyB,CAAC,CAAc,EACnEO,EAAa,IAAIN,EAAyBK,CAAoB,EAC9DE,EAA0B,IAAIN,EAC5B,CAAC,CACH,EACAO,EAAgB,IAAIN,EAA4BK,CAAuB,EACvEE,EAAiB,IAAIb,EAA4B,IAAMQ,CAAM,EAC7DM,EAAmB,IAAIP,CACzB,CAAC,EAED,GAAG,wCAAyC,IAAM,CAE/B,CAAC,GAAG,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,IAAKQ,GAAO,CACjD,MAAMC,EAAUjB,EACd,CAAE,GAAIgB,EAAG,SAAS,CAAE,EACpB,IAAMP,EACNE,EACAE,EACAd,CACF,EACA,UAAG,MAAMkB,EAAS,OAAO,EAClBA,CACT,CAAC,EACQ,QAASA,GAAYH,EAAe,iBAAiBG,CAAO,CAAC,EACtD,IAAIf,EAAqBY,EAAgBC,CAAgB,EAEjE,QAAQ,EAEhB,UAAWE,KAAWH,EAAe,kBAAkB,EACrD,OAAOG,EAAQ,KAAK,EAAE,iBAAiB,CAE3C,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { type DmkConfig } from \"@api/DmkConfig\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS } from \"@internal/device-session/data/DeviceSessionRefresherConst\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { CloseSessionsUseCase } from \"@internal/device-session/use-case/CloseSessionsUseCase\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { HttpManagerApiDataSource } from \"@internal/manager-api/data/HttpManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { DefaultSecureChannelDataSource } from \"@internal/secure-channel/data/DefaultSecureChannelDataSource\";\nimport { type SecureChannelDataSource } from \"@internal/secure-channel/data/SecureChannelDataSource\";\nimport { DefaultSecureChannelService } from \"@internal/secure-channel/service/DefaultSecureChannelService\";\nimport { type SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\nimport { DefaultTransportService } from \"@internal/transport/service/__mocks__/DefaultTransportService\";\n\nlet logger: LoggerPublisherService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet managerApi: ManagerApiService;\nlet secureChannelDataSource: SecureChannelDataSource;\nlet secureChannel: SecureChannelService;\nlet sessionService: DeviceSessionService;\nlet transportService: DefaultTransportService;\n\n// @TODO Fix this test with vi.spyOn session close [SNAPSHOT PURPOSE]\ndescribe(\"CloseSessionsUseCase\", () => {\n beforeEach(() => {\n logger = new DefaultLoggerPublisherService(\n [],\n \"close-sessions-use-case-test\",\n );\n managerApiDataSource = new HttpManagerApiDataSource(\n {} as DmkConfig,\n () => logger,\n );\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n secureChannelDataSource = new DefaultSecureChannelDataSource(\n {} as DmkConfig,\n );\n secureChannel = new DefaultSecureChannelService(secureChannelDataSource);\n sessionService = new DefaultDeviceSessionService(() => logger);\n transportService = new DefaultTransportService();\n });\n\n it(\"should be able to close every session\", () => {\n //given\n const sessions = [...Array(10).keys()].map((id) => {\n const session = deviceSessionStubBuilder(\n { id: id.toString() },\n () => logger,\n managerApi,\n secureChannel,\n DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\n );\n vi.spyOn(session, \"close\");\n return session;\n });\n sessions.forEach((session) => sessionService.addDeviceSession(session));\n const useCase = new CloseSessionsUseCase(sessionService, transportService);\n //when\n useCase.execute();\n //then\n for (const session of sessionService.getDeviceSessions()) {\n expect(session.close).toHaveBeenCalled();\n }\n });\n});\n"],
5
+ "mappings": "AAEA,OAAS,4CAAAA,MAAgD,4DACzD,OAAS,4BAAAC,MAAgC,oDACzC,OAAS,+BAAAC,MAAmC,+DAE5C,OAAS,wBAAAC,MAA4B,yDACrC,OAAS,iCAAAC,MAAqC,mEAC9C,OAAS,4BAAAC,MAAgC,sDAEzC,OAAS,4BAAAC,MAAgC,yDAEzC,OAAS,kCAAAC,MAAsC,+DAE/C,OAAS,+BAAAC,MAAmC,+DAE5C,OAAS,2BAAAC,MAA+B,gEAExC,IAAIC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGJ,SAAS,uBAAwB,IAAM,CACrC,WAAW,IAAM,CACfN,EAAS,IAAIN,EACX,CAAC,EACD,8BACF,EACAO,EAAuB,IAAIN,EACzB,CAAC,EACD,IAAMK,CACR,EACAE,EAAa,IAAIN,EAAyBK,CAAoB,EAC9DE,EAA0B,IAAIN,EAC5B,CAAC,CACH,EACAO,EAAgB,IAAIN,EAA4BK,CAAuB,EACvEE,EAAiB,IAAIb,EAA4B,IAAMQ,CAAM,EAC7DM,EAAmB,IAAIP,CACzB,CAAC,EAED,GAAG,wCAAyC,IAAM,CAE/B,CAAC,GAAG,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,IAAKQ,GAAO,CACjD,MAAMC,EAAUjB,EACd,CAAE,GAAIgB,EAAG,SAAS,CAAE,EACpB,IAAMP,EACNE,EACAE,EACAd,CACF,EACA,UAAG,MAAMkB,EAAS,OAAO,EAClBA,CACT,CAAC,EACQ,QAASA,GAAYH,EAAe,iBAAiBG,CAAO,CAAC,EACtD,IAAIf,EAAqBY,EAAgBC,CAAgB,EAEjE,QAAQ,EAEhB,UAAWE,KAAWH,EAAe,kBAAkB,EACrD,OAAOG,EAAQ,KAAK,EAAE,iBAAiB,CAE3C,CAAC,CACH,CAAC",
6
6
  "names": ["DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS", "deviceSessionStubBuilder", "DefaultDeviceSessionService", "CloseSessionsUseCase", "DefaultLoggerPublisherService", "HttpManagerApiDataSource", "DefaultManagerApiService", "DefaultSecureChannelDataSource", "DefaultSecureChannelService", "DefaultTransportService", "logger", "managerApiDataSource", "managerApi", "secureChannelDataSource", "secureChannel", "sessionService", "transportService", "id", "session"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS as u}from"../../device-session/data/DeviceSessionRefresherConst";import{deviceSessionStubBuilder as f}from"../../device-session/model/DeviceSession.stub";import{DeviceSessionNotFound as l}from"../../device-session/model/Errors";import{DefaultDeviceSessionService as v}from"../../device-session/service/DefaultDeviceSessionService";import{DefaultLoggerPublisherService as D}from"../../logger-publisher/service/DefaultLoggerPublisherService";import{HttpManagerApiDataSource as d}from"../../manager-api/data/HttpManagerApiDataSource";import{DefaultManagerApiService as g}from"../../manager-api/service/DefaultManagerApiService";import{DefaultSecureChannelDataSource as h}from"../../secure-channel/data/DefaultSecureChannelDataSource";import{DefaultSecureChannelService as C}from"../../secure-channel/service/DefaultSecureChannelService";import{GetDeviceSessionStateUseCase as s}from"./GetDeviceSessionStateUseCase";vi.mock("@internal/manager-api/data/HttpManagerApiDataSource");let r,o,n,c,S,m;const i="fakeSessionId";describe("GetDeviceSessionStateUseCase",()=>{beforeEach(()=>{r=new D([],"get-connected-device-use-case-test"),n=new d({}),c=new g(n),S=new h({}),m=new C(S),o=new v(()=>r)}),it("should retrieve deviceSession device state",()=>{const e=f({id:i},()=>r,c,m,u);o.addDeviceSession(e);const t=new s(o,()=>r).execute({sessionId:i}),p=e.state;e.close(),expect(t).toStrictEqual(p)}),it("should throw error when deviceSession is not found",()=>new Promise(e=>{const a=new s(o,()=>r);try{a.execute({sessionId:i}).subscribe()}catch(t){expect(t).toBeInstanceOf(l),e()}}))});
1
+ import{DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS as u}from"../../device-session/data/DeviceSessionRefresherConst";import{deviceSessionStubBuilder as f}from"../../device-session/model/DeviceSession.stub";import{DeviceSessionNotFound as l}from"../../device-session/model/Errors";import{DefaultDeviceSessionService as v}from"../../device-session/service/DefaultDeviceSessionService";import{DefaultLoggerPublisherService as D}from"../../logger-publisher/service/DefaultLoggerPublisherService";import{HttpManagerApiDataSource as d}from"../../manager-api/data/HttpManagerApiDataSource";import{DefaultManagerApiService as g}from"../../manager-api/service/DefaultManagerApiService";import{DefaultSecureChannelDataSource as h}from"../../secure-channel/data/DefaultSecureChannelDataSource";import{DefaultSecureChannelService as C}from"../../secure-channel/service/DefaultSecureChannelService";import{GetDeviceSessionStateUseCase as s}from"./GetDeviceSessionStateUseCase";vi.mock("@internal/manager-api/data/HttpManagerApiDataSource");let e,o,n,c,S,m;const i="fakeSessionId";describe("GetDeviceSessionStateUseCase",()=>{beforeEach(()=>{e=new D([],"get-connected-device-use-case-test"),n=new d({},()=>e),c=new g(n),S=new h({}),m=new C(S),o=new v(()=>e)}),it("should retrieve deviceSession device state",()=>{const r=f({id:i},()=>e,c,m,u);o.addDeviceSession(r);const t=new s(o,()=>e).execute({sessionId:i}),p=r.state;r.close(),expect(t).toStrictEqual(p)}),it("should throw error when deviceSession is not found",()=>new Promise(r=>{const a=new s(o,()=>e);try{a.execute({sessionId:i}).subscribe()}catch(t){expect(t).toBeInstanceOf(l),r()}}))});
2
2
  //# sourceMappingURL=GetDeviceSessionStateUseCase.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.ts"],
4
- "sourcesContent": ["import { type DmkConfig } from \"@api/DmkConfig\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS } from \"@internal/device-session/data/DeviceSessionRefresherConst\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DeviceSessionNotFound } from \"@internal/device-session/model/Errors\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { HttpManagerApiDataSource } from \"@internal/manager-api/data/HttpManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { DefaultSecureChannelDataSource } from \"@internal/secure-channel/data/DefaultSecureChannelDataSource\";\nimport { type SecureChannelDataSource } from \"@internal/secure-channel/data/SecureChannelDataSource\";\nimport { DefaultSecureChannelService } from \"@internal/secure-channel/service/DefaultSecureChannelService\";\nimport { type SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\n\nimport { GetDeviceSessionStateUseCase } from \"./GetDeviceSessionStateUseCase\";\n\nvi.mock(\"@internal/manager-api/data/HttpManagerApiDataSource\");\n\nlet logger: LoggerPublisherService;\nlet sessionService: DeviceSessionService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet managerApi: ManagerApiService;\nlet secureChannelDataSource: SecureChannelDataSource;\nlet secureChannel: SecureChannelService;\n\nconst fakeSessionId = \"fakeSessionId\";\n\ndescribe(\"GetDeviceSessionStateUseCase\", () => {\n beforeEach(() => {\n logger = new DefaultLoggerPublisherService(\n [],\n \"get-connected-device-use-case-test\",\n );\n managerApiDataSource = new HttpManagerApiDataSource({} as DmkConfig);\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n secureChannelDataSource = new DefaultSecureChannelDataSource(\n {} as DmkConfig,\n );\n secureChannel = new DefaultSecureChannelService(secureChannelDataSource);\n sessionService = new DefaultDeviceSessionService(() => logger);\n });\n\n // TODO: This test does not close a subscription\n // \u00AF\\_(\u30C4)_/\u00AF I cannot find which one unfortunatly\n it(\"should retrieve deviceSession device state\", () => {\n // given\n const deviceSession = deviceSessionStubBuilder(\n { id: fakeSessionId },\n () => logger,\n managerApi,\n secureChannel,\n DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\n );\n sessionService.addDeviceSession(deviceSession);\n const useCase = new GetDeviceSessionStateUseCase(\n sessionService,\n () => logger,\n );\n\n const res = useCase.execute({ sessionId: fakeSessionId });\n const expected = deviceSession.state;\n\n deviceSession.close();\n\n // then\n expect(res).toStrictEqual(expected);\n });\n\n it(\"should throw error when deviceSession is not found\", () =>\n new Promise<void>((resolve) => {\n // given\n const useCase = new GetDeviceSessionStateUseCase(\n sessionService,\n () => logger,\n );\n\n // when\n try {\n useCase\n .execute({\n sessionId: fakeSessionId,\n })\n .subscribe();\n } catch (error) {\n // then\n expect(error).toBeInstanceOf(DeviceSessionNotFound);\n resolve();\n }\n }));\n});\n"],
5
- "mappings": "AAEA,OAAS,4CAAAA,MAAgD,4DACzD,OAAS,4BAAAC,MAAgC,oDACzC,OAAS,yBAAAC,MAA6B,wCACtC,OAAS,+BAAAC,MAAmC,+DAE5C,OAAS,iCAAAC,MAAqC,mEAC9C,OAAS,4BAAAC,MAAgC,sDAEzC,OAAS,4BAAAC,MAAgC,yDAEzC,OAAS,kCAAAC,MAAsC,+DAE/C,OAAS,+BAAAC,MAAmC,+DAG5C,OAAS,gCAAAC,MAAoC,iCAE7C,GAAG,KAAK,qDAAqD,EAE7D,IAAIC,EACAC,EACAC,EACAC,EACAC,EACAC,EAEJ,MAAMC,EAAgB,gBAEtB,SAAS,+BAAgC,IAAM,CAC7C,WAAW,IAAM,CACfN,EAAS,IAAIN,EACX,CAAC,EACD,oCACF,EACAQ,EAAuB,IAAIP,EAAyB,CAAC,CAAc,EACnEQ,EAAa,IAAIP,EAAyBM,CAAoB,EAC9DE,EAA0B,IAAIP,EAC5B,CAAC,CACH,EACAQ,EAAgB,IAAIP,EAA4BM,CAAuB,EACvEH,EAAiB,IAAIR,EAA4B,IAAMO,CAAM,CAC/D,CAAC,EAID,GAAG,6CAA8C,IAAM,CAErD,MAAMO,EAAgBhB,EACpB,CAAE,GAAIe,CAAc,EACpB,IAAMN,EACNG,EACAE,EACAf,CACF,EACAW,EAAe,iBAAiBM,CAAa,EAM7C,MAAMC,EALU,IAAIT,EAClBE,EACA,IAAMD,CACR,EAEoB,QAAQ,CAAE,UAAWM,CAAc,CAAC,EAClDG,EAAWF,EAAc,MAE/BA,EAAc,MAAM,EAGpB,OAAOC,CAAG,EAAE,cAAcC,CAAQ,CACpC,CAAC,EAED,GAAG,qDAAsD,IACvD,IAAI,QAAeC,GAAY,CAE7B,MAAMC,EAAU,IAAIZ,EAClBE,EACA,IAAMD,CACR,EAGA,GAAI,CACFW,EACG,QAAQ,CACP,UAAWL,CACb,CAAC,EACA,UAAU,CACf,OAASM,EAAO,CAEd,OAAOA,CAAK,EAAE,eAAepB,CAAqB,EAClDkB,EAAQ,CACV,CACF,CAAC,CAAC,CACN,CAAC",
4
+ "sourcesContent": ["import { type DmkConfig } from \"@api/DmkConfig\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS } from \"@internal/device-session/data/DeviceSessionRefresherConst\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DeviceSessionNotFound } from \"@internal/device-session/model/Errors\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { HttpManagerApiDataSource } from \"@internal/manager-api/data/HttpManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { DefaultSecureChannelDataSource } from \"@internal/secure-channel/data/DefaultSecureChannelDataSource\";\nimport { type SecureChannelDataSource } from \"@internal/secure-channel/data/SecureChannelDataSource\";\nimport { DefaultSecureChannelService } from \"@internal/secure-channel/service/DefaultSecureChannelService\";\nimport { type SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\n\nimport { GetDeviceSessionStateUseCase } from \"./GetDeviceSessionStateUseCase\";\n\nvi.mock(\"@internal/manager-api/data/HttpManagerApiDataSource\");\n\nlet logger: LoggerPublisherService;\nlet sessionService: DeviceSessionService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet managerApi: ManagerApiService;\nlet secureChannelDataSource: SecureChannelDataSource;\nlet secureChannel: SecureChannelService;\n\nconst fakeSessionId = \"fakeSessionId\";\n\ndescribe(\"GetDeviceSessionStateUseCase\", () => {\n beforeEach(() => {\n logger = new DefaultLoggerPublisherService(\n [],\n \"get-connected-device-use-case-test\",\n );\n managerApiDataSource = new HttpManagerApiDataSource(\n {} as DmkConfig,\n () => logger,\n );\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n secureChannelDataSource = new DefaultSecureChannelDataSource(\n {} as DmkConfig,\n );\n secureChannel = new DefaultSecureChannelService(secureChannelDataSource);\n sessionService = new DefaultDeviceSessionService(() => logger);\n });\n\n // TODO: This test does not close a subscription\n // \u00AF\\_(\u30C4)_/\u00AF I cannot find which one unfortunatly\n it(\"should retrieve deviceSession device state\", () => {\n // given\n const deviceSession = deviceSessionStubBuilder(\n { id: fakeSessionId },\n () => logger,\n managerApi,\n secureChannel,\n DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\n );\n sessionService.addDeviceSession(deviceSession);\n const useCase = new GetDeviceSessionStateUseCase(\n sessionService,\n () => logger,\n );\n\n const res = useCase.execute({ sessionId: fakeSessionId });\n const expected = deviceSession.state;\n\n deviceSession.close();\n\n // then\n expect(res).toStrictEqual(expected);\n });\n\n it(\"should throw error when deviceSession is not found\", () =>\n new Promise<void>((resolve) => {\n // given\n const useCase = new GetDeviceSessionStateUseCase(\n sessionService,\n () => logger,\n );\n\n // when\n try {\n useCase\n .execute({\n sessionId: fakeSessionId,\n })\n .subscribe();\n } catch (error) {\n // then\n expect(error).toBeInstanceOf(DeviceSessionNotFound);\n resolve();\n }\n }));\n});\n"],
5
+ "mappings": "AAEA,OAAS,4CAAAA,MAAgD,4DACzD,OAAS,4BAAAC,MAAgC,oDACzC,OAAS,yBAAAC,MAA6B,wCACtC,OAAS,+BAAAC,MAAmC,+DAE5C,OAAS,iCAAAC,MAAqC,mEAC9C,OAAS,4BAAAC,MAAgC,sDAEzC,OAAS,4BAAAC,MAAgC,yDAEzC,OAAS,kCAAAC,MAAsC,+DAE/C,OAAS,+BAAAC,MAAmC,+DAG5C,OAAS,gCAAAC,MAAoC,iCAE7C,GAAG,KAAK,qDAAqD,EAE7D,IAAIC,EACAC,EACAC,EACAC,EACAC,EACAC,EAEJ,MAAMC,EAAgB,gBAEtB,SAAS,+BAAgC,IAAM,CAC7C,WAAW,IAAM,CACfN,EAAS,IAAIN,EACX,CAAC,EACD,oCACF,EACAQ,EAAuB,IAAIP,EACzB,CAAC,EACD,IAAMK,CACR,EACAG,EAAa,IAAIP,EAAyBM,CAAoB,EAC9DE,EAA0B,IAAIP,EAC5B,CAAC,CACH,EACAQ,EAAgB,IAAIP,EAA4BM,CAAuB,EACvEH,EAAiB,IAAIR,EAA4B,IAAMO,CAAM,CAC/D,CAAC,EAID,GAAG,6CAA8C,IAAM,CAErD,MAAMO,EAAgBhB,EACpB,CAAE,GAAIe,CAAc,EACpB,IAAMN,EACNG,EACAE,EACAf,CACF,EACAW,EAAe,iBAAiBM,CAAa,EAM7C,MAAMC,EALU,IAAIT,EAClBE,EACA,IAAMD,CACR,EAEoB,QAAQ,CAAE,UAAWM,CAAc,CAAC,EAClDG,EAAWF,EAAc,MAE/BA,EAAc,MAAM,EAGpB,OAAOC,CAAG,EAAE,cAAcC,CAAQ,CACpC,CAAC,EAED,GAAG,qDAAsD,IACvD,IAAI,QAAeC,GAAY,CAE7B,MAAMC,EAAU,IAAIZ,EAClBE,EACA,IAAMD,CACR,EAGA,GAAI,CACFW,EACG,QAAQ,CACP,UAAWL,CACb,CAAC,EACA,UAAU,CACf,OAASM,EAAO,CAEd,OAAOA,CAAK,EAAE,eAAepB,CAAqB,EAClDkB,EAAQ,CACV,CACF,CAAC,CAAC,CACN,CAAC",
6
6
  "names": ["DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS", "deviceSessionStubBuilder", "DeviceSessionNotFound", "DefaultDeviceSessionService", "DefaultLoggerPublisherService", "HttpManagerApiDataSource", "DefaultManagerApiService", "DefaultSecureChannelDataSource", "DefaultSecureChannelService", "GetDeviceSessionStateUseCase", "logger", "sessionService", "managerApiDataSource", "managerApi", "secureChannelDataSource", "secureChannel", "fakeSessionId", "deviceSession", "res", "expected", "resolve", "useCase", "error"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{Left as D,Maybe as y,Right as s}from"purify-ts";import{TransportMock as C}from"../../../api/transport/model/__mocks__/TransportMock";import{DisconnectError as S}from"../../../api/transport/model/Errors";import{connectedDeviceStubBuilder as h}from"../../../api/transport/model/TransportConnectedDevice.stub";import{DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS as u}from"../../device-session/data/DeviceSessionRefresherConst";import{deviceSessionStubBuilder as v}from"../../device-session/model/DeviceSession.stub";import{DeviceSessionNotFound as w}from"../../device-session/model/Errors";import{DefaultDeviceSessionService as g}from"../../device-session/service/DefaultDeviceSessionService";import{DefaultLoggerPublisherService as T}from"../../logger-publisher/service/DefaultLoggerPublisherService";import{HttpManagerApiDataSource as k}from"../../manager-api/data/HttpManagerApiDataSource";import{DefaultManagerApiService as A}from"../../manager-api/service/DefaultManagerApiService";import{DefaultSecureChannelDataSource as E}from"../../secure-channel/data/DefaultSecureChannelDataSource";import{DefaultSecureChannelService as I}from"../../secure-channel/service/DefaultSecureChannelService";import{DefaultTransportService as O}from"../../transport/service/DefaultTransportService";import{DisconnectUseCase as a}from"./DisconnectUseCase";vi.mock("@internal/transport/service/DefaultTransportService");let e,p,c=[];const r=vi.fn().mockReturnValue(new T([],"DisconnectUseCaseTest"));let i,m,f,d,l;const n="sessionId";describe("DisconnectUseCase",()=>{beforeAll(()=>{p=new C,c=[p],e=new g(r),i=new O,vi.spyOn(i,"getTransport").mockReturnValue(y.of(p))}),it("should disconnect from a device",async()=>{const o=h();f=new k({}),m=new A(f),d=new E({}),l=new I(d);const t=v({id:n,connectedDevice:o},r,m,l,u);vi.spyOn(e,"getDeviceSessionById").mockImplementation(()=>s(t)),vi.spyOn(t,"close"),vi.spyOn(e,"removeDeviceSession"),vi.spyOn(c[0],"disconnect").mockImplementation(()=>Promise.resolve(s(void 0))),await new a(i,e,r).execute({sessionId:n}),expect(t.close).toHaveBeenCalled(),expect(e.removeDeviceSession).toHaveBeenCalledWith(n),expect(c[0].disconnect).toHaveBeenCalledWith({connectedDevice:o})}),it("should throw an error when deviceSession not found",async()=>{const o=new a(i,e,r);try{await o.execute({sessionId:n})}catch(t){expect(t).toStrictEqual(new w)}}),it("should throw an error if usb hid disconnection fails",async()=>{vi.spyOn(e,"getDeviceSessionById").mockImplementation(()=>s(v({id:n},r,m,l,u))),vi.spyOn(c[0],"disconnect").mockResolvedValue(D(new S));const o=new a(i,e,r);try{await o.execute({sessionId:n})}catch(t){expect(t).toStrictEqual(new S)}})});
1
+ import{Left as D,Maybe as y,Right as s}from"purify-ts";import{TransportMock as C}from"../../../api/transport/model/__mocks__/TransportMock";import{DisconnectError as S}from"../../../api/transport/model/Errors";import{connectedDeviceStubBuilder as h}from"../../../api/transport/model/TransportConnectedDevice.stub";import{DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS as u}from"../../device-session/data/DeviceSessionRefresherConst";import{deviceSessionStubBuilder as v}from"../../device-session/model/DeviceSession.stub";import{DeviceSessionNotFound as w}from"../../device-session/model/Errors";import{DefaultDeviceSessionService as g}from"../../device-session/service/DefaultDeviceSessionService";import{DefaultLoggerPublisherService as T}from"../../logger-publisher/service/DefaultLoggerPublisherService";import{HttpManagerApiDataSource as k}from"../../manager-api/data/HttpManagerApiDataSource";import{DefaultManagerApiService as A}from"../../manager-api/service/DefaultManagerApiService";import{DefaultSecureChannelDataSource as E}from"../../secure-channel/data/DefaultSecureChannelDataSource";import{DefaultSecureChannelService as I}from"../../secure-channel/service/DefaultSecureChannelService";import{DefaultTransportService as O}from"../../transport/service/DefaultTransportService";import{DisconnectUseCase as a}from"./DisconnectUseCase";vi.mock("@internal/transport/service/DefaultTransportService");let e,p,c=[];const o=vi.fn().mockReturnValue(new T([],"DisconnectUseCaseTest"));let i,m,f,d,l;const n="sessionId";describe("DisconnectUseCase",()=>{beforeAll(()=>{p=new C,c=[p],e=new g(o),i=new O,vi.spyOn(i,"getTransport").mockReturnValue(y.of(p))}),it("should disconnect from a device",async()=>{const r=h();f=new k({},o),m=new A(f),d=new E({}),l=new I(d);const t=v({id:n,connectedDevice:r},o,m,l,u);vi.spyOn(e,"getDeviceSessionById").mockImplementation(()=>s(t)),vi.spyOn(t,"close"),vi.spyOn(e,"removeDeviceSession"),vi.spyOn(c[0],"disconnect").mockImplementation(()=>Promise.resolve(s(void 0))),await new a(i,e,o).execute({sessionId:n}),expect(t.close).toHaveBeenCalled(),expect(e.removeDeviceSession).toHaveBeenCalledWith(n),expect(c[0].disconnect).toHaveBeenCalledWith({connectedDevice:r})}),it("should throw an error when deviceSession not found",async()=>{const r=new a(i,e,o);try{await r.execute({sessionId:n})}catch(t){expect(t).toStrictEqual(new w)}}),it("should throw an error if usb hid disconnection fails",async()=>{vi.spyOn(e,"getDeviceSessionById").mockImplementation(()=>s(v({id:n},o,m,l,u))),vi.spyOn(c[0],"disconnect").mockResolvedValue(D(new S));const r=new a(i,e,o);try{await r.execute({sessionId:n})}catch(t){expect(t).toStrictEqual(new S)}})});
2
2
  //# sourceMappingURL=DisconnectUseCase.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/discovery/use-case/DisconnectUseCase.test.ts"],
4
- "sourcesContent": ["import { Left, Maybe, Right } from \"purify-ts\";\n\nimport { TransportMock } from \"@api/transport/model/__mocks__/TransportMock\";\nimport { DisconnectError } from \"@api/transport/model/Errors\";\nimport { connectedDeviceStubBuilder } from \"@api/transport/model/TransportConnectedDevice.stub\";\nimport type { DmkConfig, Transport } from \"@api/types\";\nimport { DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS } from \"@internal/device-session/data/DeviceSessionRefresherConst\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DeviceSessionNotFound } from \"@internal/device-session/model/Errors\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { HttpManagerApiDataSource } from \"@internal/manager-api/data/HttpManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { DefaultSecureChannelDataSource } from \"@internal/secure-channel/data/DefaultSecureChannelDataSource\";\nimport { type SecureChannelDataSource } from \"@internal/secure-channel/data/SecureChannelDataSource\";\nimport { DefaultSecureChannelService } from \"@internal/secure-channel/service/DefaultSecureChannelService\";\nimport { type SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\nimport { DefaultTransportService } from \"@internal/transport/service/DefaultTransportService\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\nimport { DisconnectUseCase } from \"./DisconnectUseCase\";\n\nvi.mock(\"@internal/transport/service/DefaultTransportService\");\n\nlet sessionService: DefaultDeviceSessionService;\n// TODO test several transports\nlet transport: Transport;\nlet transports: Transport[] = [];\nconst loggerFactory = vi\n .fn()\n .mockReturnValue(\n new DefaultLoggerPublisherService([], \"DisconnectUseCaseTest\"),\n );\nlet transportService: TransportService;\nlet managerApi: ManagerApiService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet secureChannelDataSource: SecureChannelDataSource;\nlet secureChannel: SecureChannelService;\n\nconst sessionId = \"sessionId\";\n\ndescribe(\"DisconnectUseCase\", () => {\n beforeAll(() => {\n transport = new TransportMock();\n transports = [transport];\n sessionService = new DefaultDeviceSessionService(loggerFactory);\n // @ts-expect-error mock\n transportService = new DefaultTransportService();\n vi.spyOn(transportService, \"getTransport\").mockReturnValue(\n Maybe.of(transport),\n );\n });\n\n it(\"should disconnect from a device\", async () => {\n // Given\n const connectedDevice = connectedDeviceStubBuilder();\n managerApiDataSource = new HttpManagerApiDataSource({} as DmkConfig);\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n secureChannelDataSource = new DefaultSecureChannelDataSource(\n {} as DmkConfig,\n );\n secureChannel = new DefaultSecureChannelService(secureChannelDataSource);\n const deviceSession = deviceSessionStubBuilder(\n {\n id: sessionId,\n connectedDevice,\n },\n loggerFactory,\n managerApi,\n secureChannel,\n DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\n );\n vi.spyOn(sessionService, \"getDeviceSessionById\").mockImplementation(() =>\n Right(deviceSession),\n );\n vi.spyOn(deviceSession, \"close\");\n vi.spyOn(sessionService, \"removeDeviceSession\");\n vi.spyOn(transports[0]!, \"disconnect\").mockImplementation(() =>\n Promise.resolve(Right(undefined)),\n );\n const disconnectUseCase = new DisconnectUseCase(\n transportService,\n sessionService,\n loggerFactory,\n );\n // When\n await disconnectUseCase.execute({ sessionId });\n\n // Then\n expect(deviceSession.close).toHaveBeenCalled();\n expect(sessionService.removeDeviceSession).toHaveBeenCalledWith(sessionId);\n expect(transports[0]!.disconnect).toHaveBeenCalledWith({\n connectedDevice,\n });\n });\n\n it(\"should throw an error when deviceSession not found\", async () => {\n // Given\n const disconnectUseCase = new DisconnectUseCase(\n transportService,\n sessionService,\n loggerFactory,\n );\n\n // When\n try {\n await disconnectUseCase.execute({ sessionId });\n } catch (e) {\n // Then\n expect(e).toStrictEqual(new DeviceSessionNotFound());\n }\n });\n\n it(\"should throw an error if usb hid disconnection fails\", async () => {\n // Given\n vi.spyOn(sessionService, \"getDeviceSessionById\").mockImplementation(() =>\n Right(\n deviceSessionStubBuilder(\n { id: sessionId },\n loggerFactory,\n managerApi,\n secureChannel,\n DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\n ),\n ),\n );\n\n vi.spyOn(transports[0]!, \"disconnect\").mockResolvedValue(\n Left(new DisconnectError()),\n );\n\n const disconnectUseCase = new DisconnectUseCase(\n transportService,\n sessionService,\n loggerFactory,\n );\n\n // When\n try {\n await disconnectUseCase.execute({ sessionId });\n } catch (e) {\n // Then\n expect(e).toStrictEqual(new DisconnectError());\n }\n });\n});\n"],
5
- "mappings": "AAAA,OAAS,QAAAA,EAAM,SAAAC,EAAO,SAAAC,MAAa,YAEnC,OAAS,iBAAAC,MAAqB,+CAC9B,OAAS,mBAAAC,MAAuB,8BAChC,OAAS,8BAAAC,MAAkC,qDAE3C,OAAS,4CAAAC,MAAgD,4DACzD,OAAS,4BAAAC,MAAgC,oDACzC,OAAS,yBAAAC,MAA6B,wCACtC,OAAS,+BAAAC,MAAmC,+DAC5C,OAAS,iCAAAC,MAAqC,mEAC9C,OAAS,4BAAAC,MAAgC,sDAEzC,OAAS,4BAAAC,MAAgC,yDAEzC,OAAS,kCAAAC,MAAsC,+DAE/C,OAAS,+BAAAC,MAAmC,+DAE5C,OAAS,2BAAAC,MAA+B,sDAGxC,OAAS,qBAAAC,MAAyB,sBAElC,GAAG,KAAK,qDAAqD,EAE7D,IAAIC,EAEAC,EACAC,EAA0B,CAAC,EAC/B,MAAMC,EAAgB,GACnB,GAAG,EACH,gBACC,IAAIV,EAA8B,CAAC,EAAG,uBAAuB,CAC/D,EACF,IAAIW,EACAC,EACAC,EACAC,EACAC,EAEJ,MAAMC,EAAY,YAElB,SAAS,oBAAqB,IAAM,CAClC,UAAU,IAAM,CACdR,EAAY,IAAIf,EAChBgB,EAAa,CAACD,CAAS,EACvBD,EAAiB,IAAIR,EAA4BW,CAAa,EAE9DC,EAAmB,IAAIN,EACvB,GAAG,MAAMM,EAAkB,cAAc,EAAE,gBACzCpB,EAAM,GAAGiB,CAAS,CACpB,CACF,CAAC,EAED,GAAG,kCAAmC,SAAY,CAEhD,MAAMS,EAAkBtB,EAA2B,EACnDkB,EAAuB,IAAIZ,EAAyB,CAAC,CAAc,EACnEW,EAAa,IAAIV,EAAyBW,CAAoB,EAC9DC,EAA0B,IAAIX,EAC5B,CAAC,CACH,EACAY,EAAgB,IAAIX,EAA4BU,CAAuB,EACvE,MAAMI,EAAgBrB,EACpB,CACE,GAAImB,EACJ,gBAAAC,CACF,EACAP,EACAE,EACAG,EACAnB,CACF,EACA,GAAG,MAAMW,EAAgB,sBAAsB,EAAE,mBAAmB,IAClEf,EAAM0B,CAAa,CACrB,EACA,GAAG,MAAMA,EAAe,OAAO,EAC/B,GAAG,MAAMX,EAAgB,qBAAqB,EAC9C,GAAG,MAAME,EAAW,CAAC,EAAI,YAAY,EAAE,mBAAmB,IACxD,QAAQ,QAAQjB,EAAM,MAAS,CAAC,CAClC,EAOA,MAN0B,IAAIc,EAC5BK,EACAJ,EACAG,CACF,EAEwB,QAAQ,CAAE,UAAAM,CAAU,CAAC,EAG7C,OAAOE,EAAc,KAAK,EAAE,iBAAiB,EAC7C,OAAOX,EAAe,mBAAmB,EAAE,qBAAqBS,CAAS,EACzE,OAAOP,EAAW,CAAC,EAAG,UAAU,EAAE,qBAAqB,CACrD,gBAAAQ,CACF,CAAC,CACH,CAAC,EAED,GAAG,qDAAsD,SAAY,CAEnE,MAAME,EAAoB,IAAIb,EAC5BK,EACAJ,EACAG,CACF,EAGA,GAAI,CACF,MAAMS,EAAkB,QAAQ,CAAE,UAAAH,CAAU,CAAC,CAC/C,OAASI,EAAG,CAEV,OAAOA,CAAC,EAAE,cAAc,IAAItB,CAAuB,CACrD,CACF,CAAC,EAED,GAAG,uDAAwD,SAAY,CAErE,GAAG,MAAMS,EAAgB,sBAAsB,EAAE,mBAAmB,IAClEf,EACEK,EACE,CAAE,GAAImB,CAAU,EAChBN,EACAE,EACAG,EACAnB,CACF,CACF,CACF,EAEA,GAAG,MAAMa,EAAW,CAAC,EAAI,YAAY,EAAE,kBACrCnB,EAAK,IAAII,CAAiB,CAC5B,EAEA,MAAMyB,EAAoB,IAAIb,EAC5BK,EACAJ,EACAG,CACF,EAGA,GAAI,CACF,MAAMS,EAAkB,QAAQ,CAAE,UAAAH,CAAU,CAAC,CAC/C,OAASI,EAAG,CAEV,OAAOA,CAAC,EAAE,cAAc,IAAI1B,CAAiB,CAC/C,CACF,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { Left, Maybe, Right } from \"purify-ts\";\n\nimport { TransportMock } from \"@api/transport/model/__mocks__/TransportMock\";\nimport { DisconnectError } from \"@api/transport/model/Errors\";\nimport { connectedDeviceStubBuilder } from \"@api/transport/model/TransportConnectedDevice.stub\";\nimport type { DmkConfig, Transport } from \"@api/types\";\nimport { DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS } from \"@internal/device-session/data/DeviceSessionRefresherConst\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DeviceSessionNotFound } from \"@internal/device-session/model/Errors\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { HttpManagerApiDataSource } from \"@internal/manager-api/data/HttpManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { DefaultSecureChannelDataSource } from \"@internal/secure-channel/data/DefaultSecureChannelDataSource\";\nimport { type SecureChannelDataSource } from \"@internal/secure-channel/data/SecureChannelDataSource\";\nimport { DefaultSecureChannelService } from \"@internal/secure-channel/service/DefaultSecureChannelService\";\nimport { type SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\nimport { DefaultTransportService } from \"@internal/transport/service/DefaultTransportService\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\nimport { DisconnectUseCase } from \"./DisconnectUseCase\";\n\nvi.mock(\"@internal/transport/service/DefaultTransportService\");\n\nlet sessionService: DefaultDeviceSessionService;\n// TODO test several transports\nlet transport: Transport;\nlet transports: Transport[] = [];\nconst loggerFactory = vi\n .fn()\n .mockReturnValue(\n new DefaultLoggerPublisherService([], \"DisconnectUseCaseTest\"),\n );\nlet transportService: TransportService;\nlet managerApi: ManagerApiService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet secureChannelDataSource: SecureChannelDataSource;\nlet secureChannel: SecureChannelService;\n\nconst sessionId = \"sessionId\";\n\ndescribe(\"DisconnectUseCase\", () => {\n beforeAll(() => {\n transport = new TransportMock();\n transports = [transport];\n sessionService = new DefaultDeviceSessionService(loggerFactory);\n // @ts-expect-error mock\n transportService = new DefaultTransportService();\n vi.spyOn(transportService, \"getTransport\").mockReturnValue(\n Maybe.of(transport),\n );\n });\n\n it(\"should disconnect from a device\", async () => {\n // Given\n const connectedDevice = connectedDeviceStubBuilder();\n managerApiDataSource = new HttpManagerApiDataSource(\n {} as DmkConfig,\n loggerFactory,\n );\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n secureChannelDataSource = new DefaultSecureChannelDataSource(\n {} as DmkConfig,\n );\n secureChannel = new DefaultSecureChannelService(secureChannelDataSource);\n const deviceSession = deviceSessionStubBuilder(\n {\n id: sessionId,\n connectedDevice,\n },\n loggerFactory,\n managerApi,\n secureChannel,\n DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\n );\n vi.spyOn(sessionService, \"getDeviceSessionById\").mockImplementation(() =>\n Right(deviceSession),\n );\n vi.spyOn(deviceSession, \"close\");\n vi.spyOn(sessionService, \"removeDeviceSession\");\n vi.spyOn(transports[0]!, \"disconnect\").mockImplementation(() =>\n Promise.resolve(Right(undefined)),\n );\n const disconnectUseCase = new DisconnectUseCase(\n transportService,\n sessionService,\n loggerFactory,\n );\n // When\n await disconnectUseCase.execute({ sessionId });\n\n // Then\n expect(deviceSession.close).toHaveBeenCalled();\n expect(sessionService.removeDeviceSession).toHaveBeenCalledWith(sessionId);\n expect(transports[0]!.disconnect).toHaveBeenCalledWith({\n connectedDevice,\n });\n });\n\n it(\"should throw an error when deviceSession not found\", async () => {\n // Given\n const disconnectUseCase = new DisconnectUseCase(\n transportService,\n sessionService,\n loggerFactory,\n );\n\n // When\n try {\n await disconnectUseCase.execute({ sessionId });\n } catch (e) {\n // Then\n expect(e).toStrictEqual(new DeviceSessionNotFound());\n }\n });\n\n it(\"should throw an error if usb hid disconnection fails\", async () => {\n // Given\n vi.spyOn(sessionService, \"getDeviceSessionById\").mockImplementation(() =>\n Right(\n deviceSessionStubBuilder(\n { id: sessionId },\n loggerFactory,\n managerApi,\n secureChannel,\n DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\n ),\n ),\n );\n\n vi.spyOn(transports[0]!, \"disconnect\").mockResolvedValue(\n Left(new DisconnectError()),\n );\n\n const disconnectUseCase = new DisconnectUseCase(\n transportService,\n sessionService,\n loggerFactory,\n );\n\n // When\n try {\n await disconnectUseCase.execute({ sessionId });\n } catch (e) {\n // Then\n expect(e).toStrictEqual(new DisconnectError());\n }\n });\n});\n"],
5
+ "mappings": "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",
6
6
  "names": ["Left", "Maybe", "Right", "TransportMock", "DisconnectError", "connectedDeviceStubBuilder", "DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS", "deviceSessionStubBuilder", "DeviceSessionNotFound", "DefaultDeviceSessionService", "DefaultLoggerPublisherService", "HttpManagerApiDataSource", "DefaultManagerApiService", "DefaultSecureChannelDataSource", "DefaultSecureChannelService", "DefaultTransportService", "DisconnectUseCase", "sessionService", "transport", "transports", "loggerFactory", "transportService", "managerApi", "managerApiDataSource", "secureChannelDataSource", "secureChannel", "sessionId", "connectedDevice", "deviceSession", "disconnectUseCase", "e"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{ConnectedDevice as a}from"../../../api/transport/model/ConnectedDevice";import{DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS as s}from"../../device-session/data/DeviceSessionRefresherConst";import{deviceSessionStubBuilder as S}from"../../device-session/model/DeviceSession.stub";import{DefaultDeviceSessionService as f}from"../../device-session/service/DefaultDeviceSessionService";import{DefaultLoggerPublisherService as l}from"../../logger-publisher/service/DefaultLoggerPublisherService";import{HttpManagerApiDataSource as D}from"../../manager-api/data/HttpManagerApiDataSource";import{DefaultManagerApiService as d}from"../../manager-api/service/DefaultManagerApiService";import{DefaultSecureChannelDataSource as g}from"../../secure-channel/data/DefaultSecureChannelDataSource";import{DefaultSecureChannelService as C}from"../../secure-channel/service/DefaultSecureChannelService";import{GetConnectedDeviceUseCase as m}from"./GetConnectedDeviceUseCase";vi.mock("@internal/manager-api/data/HttpManagerApiDataSource");let r,o,p,n,u,c;const i="fakeSessionId";describe("GetConnectedDevice",()=>{beforeEach(()=>{r=new l([],"get-connected-device-use-case"),p=new D({}),n=new d(p),u=new g({}),c=new C(u),o=new f(()=>r)}),it("should retrieve an instance of ConnectedDevice",()=>{const e=S({id:i},()=>r,n,c,s);o.addDeviceSession(e);const t=new m(o,()=>r).execute({sessionId:i});e.close(),expect(t).toBeInstanceOf(a)}),it("should retrieve correct device from session",()=>{const e=S({id:i},()=>r,n,c,s);o.addDeviceSession(e);const t=new m(o,()=>r).execute({sessionId:i});e.close(),expect(t).toStrictEqual(new a({sessionId:i,transportConnectedDevice:e.connectedDevice}))})});
1
+ import{ConnectedDevice as a}from"../../../api/transport/model/ConnectedDevice";import{DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS as s}from"../../device-session/data/DeviceSessionRefresherConst";import{deviceSessionStubBuilder as S}from"../../device-session/model/DeviceSession.stub";import{DefaultDeviceSessionService as f}from"../../device-session/service/DefaultDeviceSessionService";import{DefaultLoggerPublisherService as l}from"../../logger-publisher/service/DefaultLoggerPublisherService";import{HttpManagerApiDataSource as D}from"../../manager-api/data/HttpManagerApiDataSource";import{DefaultManagerApiService as d}from"../../manager-api/service/DefaultManagerApiService";import{DefaultSecureChannelDataSource as g}from"../../secure-channel/data/DefaultSecureChannelDataSource";import{DefaultSecureChannelService as C}from"../../secure-channel/service/DefaultSecureChannelService";import{GetConnectedDeviceUseCase as m}from"./GetConnectedDeviceUseCase";vi.mock("@internal/manager-api/data/HttpManagerApiDataSource");let e,o,p,n,u,c;const i="fakeSessionId";describe("GetConnectedDevice",()=>{beforeEach(()=>{e=new l([],"get-connected-device-use-case"),p=new D({},()=>e),n=new d(p),u=new g({}),c=new C(u),o=new f(()=>e)}),it("should retrieve an instance of ConnectedDevice",()=>{const r=S({id:i},()=>e,n,c,s);o.addDeviceSession(r);const t=new m(o,()=>e).execute({sessionId:i});r.close(),expect(t).toBeInstanceOf(a)}),it("should retrieve correct device from session",()=>{const r=S({id:i},()=>e,n,c,s);o.addDeviceSession(r);const t=new m(o,()=>e).execute({sessionId:i});r.close(),expect(t).toStrictEqual(new a({sessionId:i,transportConnectedDevice:r.connectedDevice}))})});
2
2
  //# sourceMappingURL=GetConnectedDeviceUseCase.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.ts"],
4
- "sourcesContent": ["import { type DmkConfig } from \"@api/DmkConfig\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { ConnectedDevice } from \"@api/transport/model/ConnectedDevice\";\nimport { DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS } from \"@internal/device-session/data/DeviceSessionRefresherConst\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { HttpManagerApiDataSource } from \"@internal/manager-api/data/HttpManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { DefaultSecureChannelDataSource } from \"@internal/secure-channel/data/DefaultSecureChannelDataSource\";\nimport { type SecureChannelDataSource } from \"@internal/secure-channel/data/SecureChannelDataSource\";\nimport { DefaultSecureChannelService } from \"@internal/secure-channel/service/DefaultSecureChannelService\";\nimport { type SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\n\nimport { GetConnectedDeviceUseCase } from \"./GetConnectedDeviceUseCase\";\n\nvi.mock(\"@internal/manager-api/data/HttpManagerApiDataSource\");\n\nlet logger: LoggerPublisherService;\nlet sessionService: DeviceSessionService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet managerApi: ManagerApiService;\nlet secureChannelDataSource: SecureChannelDataSource;\nlet secureChannel: SecureChannelService;\n\nconst fakeSessionId = \"fakeSessionId\";\n\ndescribe(\"GetConnectedDevice\", () => {\n beforeEach(() => {\n logger = new DefaultLoggerPublisherService(\n [],\n \"get-connected-device-use-case\",\n );\n managerApiDataSource = new HttpManagerApiDataSource({} as DmkConfig);\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n secureChannelDataSource = new DefaultSecureChannelDataSource(\n {} as DmkConfig,\n );\n secureChannel = new DefaultSecureChannelService(secureChannelDataSource);\n sessionService = new DefaultDeviceSessionService(() => logger);\n });\n\n it(\"should retrieve an instance of ConnectedDevice\", () => {\n // given\n const deviceSession = deviceSessionStubBuilder(\n { id: fakeSessionId },\n () => logger,\n managerApi,\n secureChannel,\n DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\n );\n sessionService.addDeviceSession(deviceSession);\n const useCase = new GetConnectedDeviceUseCase(sessionService, () => logger);\n\n // when\n const response = useCase.execute({\n sessionId: fakeSessionId,\n });\n\n deviceSession.close();\n\n // then\n expect(response).toBeInstanceOf(ConnectedDevice);\n });\n\n it(\"should retrieve correct device from session\", () => {\n // given\n const deviceSession = deviceSessionStubBuilder(\n { id: fakeSessionId },\n () => logger,\n managerApi,\n secureChannel,\n DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\n );\n sessionService.addDeviceSession(deviceSession);\n const useCase = new GetConnectedDeviceUseCase(sessionService, () => logger);\n\n // when\n const response = useCase.execute({\n sessionId: fakeSessionId,\n });\n\n deviceSession.close();\n\n // then\n expect(response).toStrictEqual(\n new ConnectedDevice({\n sessionId: fakeSessionId,\n transportConnectedDevice: deviceSession.connectedDevice,\n }),\n );\n });\n});\n"],
5
- "mappings": "AAEA,OAAS,mBAAAA,MAAuB,uCAChC,OAAS,4CAAAC,MAAgD,4DACzD,OAAS,4BAAAC,MAAgC,oDACzC,OAAS,+BAAAC,MAAmC,+DAE5C,OAAS,iCAAAC,MAAqC,mEAC9C,OAAS,4BAAAC,MAAgC,sDAEzC,OAAS,4BAAAC,MAAgC,yDAEzC,OAAS,kCAAAC,MAAsC,+DAE/C,OAAS,+BAAAC,MAAmC,+DAG5C,OAAS,6BAAAC,MAAiC,8BAE1C,GAAG,KAAK,qDAAqD,EAE7D,IAAIC,EACAC,EACAC,EACAC,EACAC,EACAC,EAEJ,MAAMC,EAAgB,gBAEtB,SAAS,qBAAsB,IAAM,CACnC,WAAW,IAAM,CACfN,EAAS,IAAIN,EACX,CAAC,EACD,+BACF,EACAQ,EAAuB,IAAIP,EAAyB,CAAC,CAAc,EACnEQ,EAAa,IAAIP,EAAyBM,CAAoB,EAC9DE,EAA0B,IAAIP,EAC5B,CAAC,CACH,EACAQ,EAAgB,IAAIP,EAA4BM,CAAuB,EACvEH,EAAiB,IAAIR,EAA4B,IAAMO,CAAM,CAC/D,CAAC,EAED,GAAG,iDAAkD,IAAM,CAEzD,MAAMO,EAAgBf,EACpB,CAAE,GAAIc,CAAc,EACpB,IAAMN,EACNG,EACAE,EACAd,CACF,EACAU,EAAe,iBAAiBM,CAAa,EAI7C,MAAMC,EAHU,IAAIT,EAA0BE,EAAgB,IAAMD,CAAM,EAGjD,QAAQ,CAC/B,UAAWM,CACb,CAAC,EAEDC,EAAc,MAAM,EAGpB,OAAOC,CAAQ,EAAE,eAAelB,CAAe,CACjD,CAAC,EAED,GAAG,8CAA+C,IAAM,CAEtD,MAAMiB,EAAgBf,EACpB,CAAE,GAAIc,CAAc,EACpB,IAAMN,EACNG,EACAE,EACAd,CACF,EACAU,EAAe,iBAAiBM,CAAa,EAI7C,MAAMC,EAHU,IAAIT,EAA0BE,EAAgB,IAAMD,CAAM,EAGjD,QAAQ,CAC/B,UAAWM,CACb,CAAC,EAEDC,EAAc,MAAM,EAGpB,OAAOC,CAAQ,EAAE,cACf,IAAIlB,EAAgB,CAClB,UAAWgB,EACX,yBAA0BC,EAAc,eAC1C,CAAC,CACH,CACF,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { type DmkConfig } from \"@api/DmkConfig\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { ConnectedDevice } from \"@api/transport/model/ConnectedDevice\";\nimport { DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS } from \"@internal/device-session/data/DeviceSessionRefresherConst\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { HttpManagerApiDataSource } from \"@internal/manager-api/data/HttpManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { DefaultSecureChannelDataSource } from \"@internal/secure-channel/data/DefaultSecureChannelDataSource\";\nimport { type SecureChannelDataSource } from \"@internal/secure-channel/data/SecureChannelDataSource\";\nimport { DefaultSecureChannelService } from \"@internal/secure-channel/service/DefaultSecureChannelService\";\nimport { type SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\n\nimport { GetConnectedDeviceUseCase } from \"./GetConnectedDeviceUseCase\";\n\nvi.mock(\"@internal/manager-api/data/HttpManagerApiDataSource\");\n\nlet logger: LoggerPublisherService;\nlet sessionService: DeviceSessionService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet managerApi: ManagerApiService;\nlet secureChannelDataSource: SecureChannelDataSource;\nlet secureChannel: SecureChannelService;\n\nconst fakeSessionId = \"fakeSessionId\";\n\ndescribe(\"GetConnectedDevice\", () => {\n beforeEach(() => {\n logger = new DefaultLoggerPublisherService(\n [],\n \"get-connected-device-use-case\",\n );\n managerApiDataSource = new HttpManagerApiDataSource(\n {} as DmkConfig,\n () => logger,\n );\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n secureChannelDataSource = new DefaultSecureChannelDataSource(\n {} as DmkConfig,\n );\n secureChannel = new DefaultSecureChannelService(secureChannelDataSource);\n sessionService = new DefaultDeviceSessionService(() => logger);\n });\n\n it(\"should retrieve an instance of ConnectedDevice\", () => {\n // given\n const deviceSession = deviceSessionStubBuilder(\n { id: fakeSessionId },\n () => logger,\n managerApi,\n secureChannel,\n DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\n );\n sessionService.addDeviceSession(deviceSession);\n const useCase = new GetConnectedDeviceUseCase(sessionService, () => logger);\n\n // when\n const response = useCase.execute({\n sessionId: fakeSessionId,\n });\n\n deviceSession.close();\n\n // then\n expect(response).toBeInstanceOf(ConnectedDevice);\n });\n\n it(\"should retrieve correct device from session\", () => {\n // given\n const deviceSession = deviceSessionStubBuilder(\n { id: fakeSessionId },\n () => logger,\n managerApi,\n secureChannel,\n DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\n );\n sessionService.addDeviceSession(deviceSession);\n const useCase = new GetConnectedDeviceUseCase(sessionService, () => logger);\n\n // when\n const response = useCase.execute({\n sessionId: fakeSessionId,\n });\n\n deviceSession.close();\n\n // then\n expect(response).toStrictEqual(\n new ConnectedDevice({\n sessionId: fakeSessionId,\n transportConnectedDevice: deviceSession.connectedDevice,\n }),\n );\n });\n});\n"],
5
+ "mappings": "AAEA,OAAS,mBAAAA,MAAuB,uCAChC,OAAS,4CAAAC,MAAgD,4DACzD,OAAS,4BAAAC,MAAgC,oDACzC,OAAS,+BAAAC,MAAmC,+DAE5C,OAAS,iCAAAC,MAAqC,mEAC9C,OAAS,4BAAAC,MAAgC,sDAEzC,OAAS,4BAAAC,MAAgC,yDAEzC,OAAS,kCAAAC,MAAsC,+DAE/C,OAAS,+BAAAC,MAAmC,+DAG5C,OAAS,6BAAAC,MAAiC,8BAE1C,GAAG,KAAK,qDAAqD,EAE7D,IAAIC,EACAC,EACAC,EACAC,EACAC,EACAC,EAEJ,MAAMC,EAAgB,gBAEtB,SAAS,qBAAsB,IAAM,CACnC,WAAW,IAAM,CACfN,EAAS,IAAIN,EACX,CAAC,EACD,+BACF,EACAQ,EAAuB,IAAIP,EACzB,CAAC,EACD,IAAMK,CACR,EACAG,EAAa,IAAIP,EAAyBM,CAAoB,EAC9DE,EAA0B,IAAIP,EAC5B,CAAC,CACH,EACAQ,EAAgB,IAAIP,EAA4BM,CAAuB,EACvEH,EAAiB,IAAIR,EAA4B,IAAMO,CAAM,CAC/D,CAAC,EAED,GAAG,iDAAkD,IAAM,CAEzD,MAAMO,EAAgBf,EACpB,CAAE,GAAIc,CAAc,EACpB,IAAMN,EACNG,EACAE,EACAd,CACF,EACAU,EAAe,iBAAiBM,CAAa,EAI7C,MAAMC,EAHU,IAAIT,EAA0BE,EAAgB,IAAMD,CAAM,EAGjD,QAAQ,CAC/B,UAAWM,CACb,CAAC,EAEDC,EAAc,MAAM,EAGpB,OAAOC,CAAQ,EAAE,eAAelB,CAAe,CACjD,CAAC,EAED,GAAG,8CAA+C,IAAM,CAEtD,MAAMiB,EAAgBf,EACpB,CAAE,GAAIc,CAAc,EACpB,IAAMN,EACNG,EACAE,EACAd,CACF,EACAU,EAAe,iBAAiBM,CAAa,EAI7C,MAAMC,EAHU,IAAIT,EAA0BE,EAAgB,IAAMD,CAAM,EAGjD,QAAQ,CAC/B,UAAWM,CACb,CAAC,EAEDC,EAAc,MAAM,EAGpB,OAAOC,CAAQ,EAAE,cACf,IAAIlB,EAAgB,CAClB,UAAWgB,EACX,yBAA0BC,EAAc,eAC1C,CAAC,CACH,CACF,CAAC,CACH,CAAC",
6
6
  "names": ["ConnectedDevice", "DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS", "deviceSessionStubBuilder", "DefaultDeviceSessionService", "DefaultLoggerPublisherService", "HttpManagerApiDataSource", "DefaultManagerApiService", "DefaultSecureChannelDataSource", "DefaultSecureChannelService", "GetConnectedDeviceUseCase", "logger", "sessionService", "managerApiDataSource", "managerApi", "secureChannelDataSource", "secureChannel", "fakeSessionId", "deviceSession", "response"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{ConnectedDevice as n}from"../../../api/transport/model/ConnectedDevice";import{DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS as c}from"../../device-session/data/DeviceSessionRefresherConst";import{deviceSessionStubBuilder as a}from"../../device-session/model/DeviceSession.stub";import{DefaultDeviceSessionService as l}from"../../device-session/service/DefaultDeviceSessionService";import{ListConnectedDevicesUseCase as S}from"../../discovery/use-case/ListConnectedDevicesUseCase";import{DefaultLoggerPublisherService as v}from"../../logger-publisher/service/DefaultLoggerPublisherService";import{HttpManagerApiDataSource as D}from"../../manager-api/data/HttpManagerApiDataSource";import{DefaultManagerApiService as f}from"../../manager-api/service/DefaultManagerApiService";import{DefaultSecureChannelDataSource as d}from"../../secure-channel/data/DefaultSecureChannelDataSource";import{DefaultSecureChannelService as C}from"../../secure-channel/service/DefaultSecureChannelService";let r,o,m,s,p,t;describe("ListDeviceSessionsUseCase",()=>{beforeEach(()=>{r=new v([],"list-device-sessions-use-case-test"),m=new D({}),s=new f(m),p=new d({}),t=new C(p),o=new l(()=>r)}),it("should list all device sessions",()=>{const i=a({id:"1"},()=>r,s,t,c),e=a({id:"2"},()=>r,s,t,c);o.addDeviceSession(i),o.addDeviceSession(e);const u=new S(o,()=>r).execute();i.close(),e.close(),expect(u).toStrictEqual([new n({transportConnectedDevice:i.connectedDevice,sessionId:i.id}),new n({transportConnectedDevice:e.connectedDevice,sessionId:e.id})])}),it("should return empty array if no device sessions",()=>{const e=new S(o,()=>r).execute();expect(e).toStrictEqual([])})});
1
+ import{ConnectedDevice as n}from"../../../api/transport/model/ConnectedDevice";import{DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS as c}from"../../device-session/data/DeviceSessionRefresherConst";import{deviceSessionStubBuilder as a}from"../../device-session/model/DeviceSession.stub";import{DefaultDeviceSessionService as l}from"../../device-session/service/DefaultDeviceSessionService";import{ListConnectedDevicesUseCase as S}from"../../discovery/use-case/ListConnectedDevicesUseCase";import{DefaultLoggerPublisherService as v}from"../../logger-publisher/service/DefaultLoggerPublisherService";import{HttpManagerApiDataSource as D}from"../../manager-api/data/HttpManagerApiDataSource";import{DefaultManagerApiService as f}from"../../manager-api/service/DefaultManagerApiService";import{DefaultSecureChannelDataSource as d}from"../../secure-channel/data/DefaultSecureChannelDataSource";import{DefaultSecureChannelService as C}from"../../secure-channel/service/DefaultSecureChannelService";let e,o,m,s,p,t;describe("ListDeviceSessionsUseCase",()=>{beforeEach(()=>{e=new v([],"list-device-sessions-use-case-test"),m=new D({},()=>e),s=new f(m),p=new d({}),t=new C(p),o=new l(()=>e)}),it("should list all device sessions",()=>{const i=a({id:"1"},()=>e,s,t,c),r=a({id:"2"},()=>e,s,t,c);o.addDeviceSession(i),o.addDeviceSession(r);const u=new S(o,()=>e).execute();i.close(),r.close(),expect(u).toStrictEqual([new n({transportConnectedDevice:i.connectedDevice,sessionId:i.id}),new n({transportConnectedDevice:r.connectedDevice,sessionId:r.id})])}),it("should return empty array if no device sessions",()=>{const r=new S(o,()=>e).execute();expect(r).toStrictEqual([])})});
2
2
  //# sourceMappingURL=ListConnectedDevicesUseCase.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.ts"],
4
- "sourcesContent": ["import { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { ConnectedDevice } from \"@api/transport/model/ConnectedDevice\";\nimport { DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS } from \"@internal/device-session/data/DeviceSessionRefresherConst\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { ListConnectedDevicesUseCase } from \"@internal/discovery/use-case/ListConnectedDevicesUseCase\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { HttpManagerApiDataSource } from \"@internal/manager-api/data/HttpManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { DefaultSecureChannelDataSource } from \"@internal/secure-channel/data/DefaultSecureChannelDataSource\";\nimport { type SecureChannelDataSource } from \"@internal/secure-channel/data/SecureChannelDataSource\";\nimport { DefaultSecureChannelService } from \"@internal/secure-channel/service/DefaultSecureChannelService\";\nimport { type SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\nimport { type DmkConfig } from \"@root/src\";\n\nlet logger: LoggerPublisherService;\nlet sessionService: DeviceSessionService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet managerApi: ManagerApiService;\nlet secureChannelDataSource: SecureChannelDataSource;\nlet secureChannel: SecureChannelService;\n\ndescribe(\"ListDeviceSessionsUseCase\", () => {\n beforeEach(() => {\n logger = new DefaultLoggerPublisherService(\n [],\n \"list-device-sessions-use-case-test\",\n );\n managerApiDataSource = new HttpManagerApiDataSource({} as DmkConfig);\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n secureChannelDataSource = new DefaultSecureChannelDataSource(\n {} as DmkConfig,\n );\n secureChannel = new DefaultSecureChannelService(secureChannelDataSource);\n sessionService = new DefaultDeviceSessionService(() => logger);\n });\n\n it(\"should list all device sessions\", () => {\n // given\n const deviceSession1 = deviceSessionStubBuilder(\n { id: \"1\" },\n () => logger,\n managerApi,\n secureChannel,\n DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\n );\n const deviceSession2 = deviceSessionStubBuilder(\n { id: \"2\" },\n () => logger,\n managerApi,\n secureChannel,\n DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\n );\n sessionService.addDeviceSession(deviceSession1);\n sessionService.addDeviceSession(deviceSession2);\n const useCase = new ListConnectedDevicesUseCase(\n sessionService,\n () => logger,\n );\n\n // when\n const response = useCase.execute();\n\n deviceSession1.close();\n deviceSession2.close();\n\n // then\n expect(response).toStrictEqual([\n new ConnectedDevice({\n transportConnectedDevice: deviceSession1.connectedDevice,\n sessionId: deviceSession1.id,\n }),\n new ConnectedDevice({\n transportConnectedDevice: deviceSession2.connectedDevice,\n sessionId: deviceSession2.id,\n }),\n ]);\n });\n\n it(\"should return empty array if no device sessions\", () => {\n // given\n const useCase = new ListConnectedDevicesUseCase(\n sessionService,\n () => logger,\n );\n\n // when\n const response = useCase.execute();\n\n // then\n expect(response).toStrictEqual([]);\n });\n});\n"],
5
- "mappings": "AACA,OAAS,mBAAAA,MAAuB,uCAChC,OAAS,4CAAAC,MAAgD,4DACzD,OAAS,4BAAAC,MAAgC,oDACzC,OAAS,+BAAAC,MAAmC,+DAE5C,OAAS,+BAAAC,MAAmC,2DAC5C,OAAS,iCAAAC,MAAqC,mEAC9C,OAAS,4BAAAC,MAAgC,sDAEzC,OAAS,4BAAAC,MAAgC,yDAEzC,OAAS,kCAAAC,MAAsC,+DAE/C,OAAS,+BAAAC,MAAmC,+DAI5C,IAAIC,EACAC,EACAC,EACAC,EACAC,EACAC,EAEJ,SAAS,4BAA6B,IAAM,CAC1C,WAAW,IAAM,CACfL,EAAS,IAAIL,EACX,CAAC,EACD,oCACF,EACAO,EAAuB,IAAIN,EAAyB,CAAC,CAAc,EACnEO,EAAa,IAAIN,EAAyBK,CAAoB,EAC9DE,EAA0B,IAAIN,EAC5B,CAAC,CACH,EACAO,EAAgB,IAAIN,EAA4BK,CAAuB,EACvEH,EAAiB,IAAIR,EAA4B,IAAMO,CAAM,CAC/D,CAAC,EAED,GAAG,kCAAmC,IAAM,CAE1C,MAAMM,EAAiBd,EACrB,CAAE,GAAI,GAAI,EACV,IAAMQ,EACNG,EACAE,EACAd,CACF,EACMgB,EAAiBf,EACrB,CAAE,GAAI,GAAI,EACV,IAAMQ,EACNG,EACAE,EACAd,CACF,EACAU,EAAe,iBAAiBK,CAAc,EAC9CL,EAAe,iBAAiBM,CAAc,EAO9C,MAAMC,EANU,IAAId,EAClBO,EACA,IAAMD,CACR,EAGyB,QAAQ,EAEjCM,EAAe,MAAM,EACrBC,EAAe,MAAM,EAGrB,OAAOC,CAAQ,EAAE,cAAc,CAC7B,IAAIlB,EAAgB,CAClB,yBAA0BgB,EAAe,gBACzC,UAAWA,EAAe,EAC5B,CAAC,EACD,IAAIhB,EAAgB,CAClB,yBAA0BiB,EAAe,gBACzC,UAAWA,EAAe,EAC5B,CAAC,CACH,CAAC,CACH,CAAC,EAED,GAAG,kDAAmD,IAAM,CAQ1D,MAAMC,EANU,IAAId,EAClBO,EACA,IAAMD,CACR,EAGyB,QAAQ,EAGjC,OAAOQ,CAAQ,EAAE,cAAc,CAAC,CAAC,CACnC,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { ConnectedDevice } from \"@api/transport/model/ConnectedDevice\";\nimport { DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS } from \"@internal/device-session/data/DeviceSessionRefresherConst\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { ListConnectedDevicesUseCase } from \"@internal/discovery/use-case/ListConnectedDevicesUseCase\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { HttpManagerApiDataSource } from \"@internal/manager-api/data/HttpManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { DefaultSecureChannelDataSource } from \"@internal/secure-channel/data/DefaultSecureChannelDataSource\";\nimport { type SecureChannelDataSource } from \"@internal/secure-channel/data/SecureChannelDataSource\";\nimport { DefaultSecureChannelService } from \"@internal/secure-channel/service/DefaultSecureChannelService\";\nimport { type SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\nimport { type DmkConfig } from \"@root/src\";\n\nlet logger: LoggerPublisherService;\nlet sessionService: DeviceSessionService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet managerApi: ManagerApiService;\nlet secureChannelDataSource: SecureChannelDataSource;\nlet secureChannel: SecureChannelService;\n\ndescribe(\"ListDeviceSessionsUseCase\", () => {\n beforeEach(() => {\n logger = new DefaultLoggerPublisherService(\n [],\n \"list-device-sessions-use-case-test\",\n );\n managerApiDataSource = new HttpManagerApiDataSource(\n {} as DmkConfig,\n () => logger,\n );\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n secureChannelDataSource = new DefaultSecureChannelDataSource(\n {} as DmkConfig,\n );\n secureChannel = new DefaultSecureChannelService(secureChannelDataSource);\n sessionService = new DefaultDeviceSessionService(() => logger);\n });\n\n it(\"should list all device sessions\", () => {\n // given\n const deviceSession1 = deviceSessionStubBuilder(\n { id: \"1\" },\n () => logger,\n managerApi,\n secureChannel,\n DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\n );\n const deviceSession2 = deviceSessionStubBuilder(\n { id: \"2\" },\n () => logger,\n managerApi,\n secureChannel,\n DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\n );\n sessionService.addDeviceSession(deviceSession1);\n sessionService.addDeviceSession(deviceSession2);\n const useCase = new ListConnectedDevicesUseCase(\n sessionService,\n () => logger,\n );\n\n // when\n const response = useCase.execute();\n\n deviceSession1.close();\n deviceSession2.close();\n\n // then\n expect(response).toStrictEqual([\n new ConnectedDevice({\n transportConnectedDevice: deviceSession1.connectedDevice,\n sessionId: deviceSession1.id,\n }),\n new ConnectedDevice({\n transportConnectedDevice: deviceSession2.connectedDevice,\n sessionId: deviceSession2.id,\n }),\n ]);\n });\n\n it(\"should return empty array if no device sessions\", () => {\n // given\n const useCase = new ListConnectedDevicesUseCase(\n sessionService,\n () => logger,\n );\n\n // when\n const response = useCase.execute();\n\n // then\n expect(response).toStrictEqual([]);\n });\n});\n"],
5
+ "mappings": "AACA,OAAS,mBAAAA,MAAuB,uCAChC,OAAS,4CAAAC,MAAgD,4DACzD,OAAS,4BAAAC,MAAgC,oDACzC,OAAS,+BAAAC,MAAmC,+DAE5C,OAAS,+BAAAC,MAAmC,2DAC5C,OAAS,iCAAAC,MAAqC,mEAC9C,OAAS,4BAAAC,MAAgC,sDAEzC,OAAS,4BAAAC,MAAgC,yDAEzC,OAAS,kCAAAC,MAAsC,+DAE/C,OAAS,+BAAAC,MAAmC,+DAI5C,IAAIC,EACAC,EACAC,EACAC,EACAC,EACAC,EAEJ,SAAS,4BAA6B,IAAM,CAC1C,WAAW,IAAM,CACfL,EAAS,IAAIL,EACX,CAAC,EACD,oCACF,EACAO,EAAuB,IAAIN,EACzB,CAAC,EACD,IAAMI,CACR,EACAG,EAAa,IAAIN,EAAyBK,CAAoB,EAC9DE,EAA0B,IAAIN,EAC5B,CAAC,CACH,EACAO,EAAgB,IAAIN,EAA4BK,CAAuB,EACvEH,EAAiB,IAAIR,EAA4B,IAAMO,CAAM,CAC/D,CAAC,EAED,GAAG,kCAAmC,IAAM,CAE1C,MAAMM,EAAiBd,EACrB,CAAE,GAAI,GAAI,EACV,IAAMQ,EACNG,EACAE,EACAd,CACF,EACMgB,EAAiBf,EACrB,CAAE,GAAI,GAAI,EACV,IAAMQ,EACNG,EACAE,EACAd,CACF,EACAU,EAAe,iBAAiBK,CAAc,EAC9CL,EAAe,iBAAiBM,CAAc,EAO9C,MAAMC,EANU,IAAId,EAClBO,EACA,IAAMD,CACR,EAGyB,QAAQ,EAEjCM,EAAe,MAAM,EACrBC,EAAe,MAAM,EAGrB,OAAOC,CAAQ,EAAE,cAAc,CAC7B,IAAIlB,EAAgB,CAClB,yBAA0BgB,EAAe,gBACzC,UAAWA,EAAe,EAC5B,CAAC,EACD,IAAIhB,EAAgB,CAClB,yBAA0BiB,EAAe,gBACzC,UAAWA,EAAe,EAC5B,CAAC,CACH,CAAC,CACH,CAAC,EAED,GAAG,kDAAmD,IAAM,CAQ1D,MAAMC,EANU,IAAId,EAClBO,EACA,IAAMD,CACR,EAGyB,QAAQ,EAGjC,OAAOQ,CAAQ,EAAE,cAAc,CAAC,CAAC,CACnC,CAAC,CACH,CAAC",
6
6
  "names": ["ConnectedDevice", "DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS", "deviceSessionStubBuilder", "DefaultDeviceSessionService", "ListConnectedDevicesUseCase", "DefaultLoggerPublisherService", "HttpManagerApiDataSource", "DefaultManagerApiService", "DefaultSecureChannelDataSource", "DefaultSecureChannelService", "logger", "sessionService", "managerApiDataSource", "managerApi", "secureChannelDataSource", "secureChannel", "deviceSession1", "deviceSession2", "response"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{ConnectedDevice as f}from"../../../api/transport/model/ConnectedDevice";import{connectedDeviceStubBuilder as D}from"../../../api/transport/model/TransportConnectedDevice.stub";import{DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS as d}from"../../device-session/data/DeviceSessionRefresherConst";import{deviceSessionStubBuilder as g}from"../../device-session/model/DeviceSession.stub";import{DefaultDeviceSessionService as C}from"../../device-session/service/DefaultDeviceSessionService";import{ListenToConnectedDeviceUseCase as b}from"../../discovery/use-case/ListenToConnectedDeviceUseCase";import{DefaultLoggerPublisherService as h}from"../../logger-publisher/service/DefaultLoggerPublisherService";import{HttpManagerApiDataSource as A}from"../../manager-api/data/HttpManagerApiDataSource";import{DefaultManagerApiService as w}from"../../manager-api/service/DefaultManagerApiService";import{DefaultSecureChannelDataSource as E}from"../../secure-channel/data/DefaultSecureChannelDataSource";import{DefaultSecureChannelService as y}from"../../secure-channel/service/DefaultSecureChannelService";vi.mock("@internal/manager-api/data/HttpManagerApiDataSource");let e,r,t,n,c,a;const s="test-list-connected-device-session-id";describe("ListenToConnectedDevice",()=>{beforeEach(()=>{e=new h([],"listen-to-connected-device-use-case"),t=new A({}),n=new w(t),c=new E({}),a=new y(c),r=new C(()=>e)}),it("should emit an instance of ConnectedDevice",()=>new Promise((m,S)=>{const i=D({id:"test-list-connected-device-id"}),o=g({id:s,connectedDevice:i},()=>e,n,a,d),p=new b(r,()=>e).execute().subscribe({next(l){try{expect(l).toEqual(new f({transportConnectedDevice:i,sessionId:s})),u()}catch(v){S(v)}}});function u(){p.unsubscribe(),o.close(),m()}r.addDeviceSession(o)}))});
1
+ import{ConnectedDevice as f}from"../../../api/transport/model/ConnectedDevice";import{connectedDeviceStubBuilder as D}from"../../../api/transport/model/TransportConnectedDevice.stub";import{DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS as d}from"../../device-session/data/DeviceSessionRefresherConst";import{deviceSessionStubBuilder as g}from"../../device-session/model/DeviceSession.stub";import{DefaultDeviceSessionService as C}from"../../device-session/service/DefaultDeviceSessionService";import{ListenToConnectedDeviceUseCase as b}from"../../discovery/use-case/ListenToConnectedDeviceUseCase";import{DefaultLoggerPublisherService as h}from"../../logger-publisher/service/DefaultLoggerPublisherService";import{HttpManagerApiDataSource as A}from"../../manager-api/data/HttpManagerApiDataSource";import{DefaultManagerApiService as w}from"../../manager-api/service/DefaultManagerApiService";import{DefaultSecureChannelDataSource as E}from"../../secure-channel/data/DefaultSecureChannelDataSource";import{DefaultSecureChannelService as y}from"../../secure-channel/service/DefaultSecureChannelService";vi.mock("@internal/manager-api/data/HttpManagerApiDataSource");let e,r,t,n,c,a;const s="test-list-connected-device-session-id";describe("ListenToConnectedDevice",()=>{beforeEach(()=>{e=new h([],"listen-to-connected-device-use-case"),t=new A({},()=>e),n=new w(t),c=new E({}),a=new y(c),r=new C(()=>e)}),it("should emit an instance of ConnectedDevice",()=>new Promise((m,S)=>{const i=D({id:"test-list-connected-device-id"}),o=g({id:s,connectedDevice:i},()=>e,n,a,d),p=new b(r,()=>e).execute().subscribe({next(l){try{expect(l).toEqual(new f({transportConnectedDevice:i,sessionId:s})),u()}catch(v){S(v)}}});function u(){p.unsubscribe(),o.close(),m()}r.addDeviceSession(o)}))});
2
2
  //# sourceMappingURL=ListenToConnectedDeviceUseCase.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.ts"],
4
- "sourcesContent": ["import { type DmkConfig } from \"@api/DmkConfig\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { ConnectedDevice } from \"@api/transport/model/ConnectedDevice\";\nimport { connectedDeviceStubBuilder } from \"@api/transport/model/TransportConnectedDevice.stub\";\nimport { DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS } from \"@internal/device-session/data/DeviceSessionRefresherConst\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { ListenToConnectedDeviceUseCase } from \"@internal/discovery/use-case/ListenToConnectedDeviceUseCase\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { HttpManagerApiDataSource } from \"@internal/manager-api/data/HttpManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { DefaultSecureChannelDataSource } from \"@internal/secure-channel/data/DefaultSecureChannelDataSource\";\nimport { type SecureChannelDataSource } from \"@internal/secure-channel/data/SecureChannelDataSource\";\nimport { DefaultSecureChannelService } from \"@internal/secure-channel/service/DefaultSecureChannelService\";\nimport { type SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\n\nvi.mock(\"@internal/manager-api/data/HttpManagerApiDataSource\");\n\nlet logger: LoggerPublisherService;\nlet sessionService: DeviceSessionService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet managerApi: ManagerApiService;\nlet secureChannelDataSource: SecureChannelDataSource;\nlet secureChannel: SecureChannelService;\n\nconst fakeSessionId = \"test-list-connected-device-session-id\";\n\ndescribe(\"ListenToConnectedDevice\", () => {\n beforeEach(() => {\n logger = new DefaultLoggerPublisherService(\n [],\n \"listen-to-connected-device-use-case\",\n );\n managerApiDataSource = new HttpManagerApiDataSource({} as DmkConfig);\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n secureChannelDataSource = new DefaultSecureChannelDataSource(\n {} as DmkConfig,\n );\n secureChannel = new DefaultSecureChannelService(secureChannelDataSource);\n sessionService = new DefaultDeviceSessionService(() => logger);\n });\n\n it(\"should emit an instance of ConnectedDevice\", () =>\n new Promise<void>((resolve, reject) => {\n // given\n const connectedDevice = connectedDeviceStubBuilder({\n id: \"test-list-connected-device-id\",\n });\n const deviceSession = deviceSessionStubBuilder(\n { id: fakeSessionId, connectedDevice },\n () => logger,\n managerApi,\n secureChannel,\n DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\n );\n const observable = new ListenToConnectedDeviceUseCase(\n sessionService,\n () => logger,\n ).execute();\n\n const subscription = observable.subscribe({\n next(emittedConnectedDevice) {\n // then\n try {\n expect(emittedConnectedDevice).toEqual(\n new ConnectedDevice({\n transportConnectedDevice: connectedDevice,\n sessionId: fakeSessionId,\n }),\n );\n terminate();\n } catch (error) {\n reject(error);\n }\n },\n });\n\n function terminate() {\n subscription.unsubscribe();\n deviceSession.close();\n resolve();\n }\n\n // when\n sessionService.addDeviceSession(deviceSession);\n }));\n});\n"],
5
- "mappings": "AAEA,OAAS,mBAAAA,MAAuB,uCAChC,OAAS,8BAAAC,MAAkC,qDAC3C,OAAS,4CAAAC,MAAgD,4DACzD,OAAS,4BAAAC,MAAgC,oDACzC,OAAS,+BAAAC,MAAmC,+DAE5C,OAAS,kCAAAC,MAAsC,8DAC/C,OAAS,iCAAAC,MAAqC,mEAC9C,OAAS,4BAAAC,MAAgC,sDAEzC,OAAS,4BAAAC,MAAgC,yDAEzC,OAAS,kCAAAC,MAAsC,+DAE/C,OAAS,+BAAAC,MAAmC,+DAG5C,GAAG,KAAK,qDAAqD,EAE7D,IAAIC,EACAC,EACAC,EACAC,EACAC,EACAC,EAEJ,MAAMC,EAAgB,wCAEtB,SAAS,0BAA2B,IAAM,CACxC,WAAW,IAAM,CACfN,EAAS,IAAIL,EACX,CAAC,EACD,qCACF,EACAO,EAAuB,IAAIN,EAAyB,CAAC,CAAc,EACnEO,EAAa,IAAIN,EAAyBK,CAAoB,EAC9DE,EAA0B,IAAIN,EAC5B,CAAC,CACH,EACAO,EAAgB,IAAIN,EAA4BK,CAAuB,EACvEH,EAAiB,IAAIR,EAA4B,IAAMO,CAAM,CAC/D,CAAC,EAED,GAAG,6CAA8C,IAC/C,IAAI,QAAc,CAACO,EAASC,IAAW,CAErC,MAAMC,EAAkBnB,EAA2B,CACjD,GAAI,+BACN,CAAC,EACKoB,EAAgBlB,EACpB,CAAE,GAAIc,EAAe,gBAAAG,CAAgB,EACrC,IAAMT,EACNG,EACAE,EACAd,CACF,EAMMoB,EALa,IAAIjB,EACrBO,EACA,IAAMD,CACR,EAAE,QAAQ,EAEsB,UAAU,CACxC,KAAKY,EAAwB,CAE3B,GAAI,CACF,OAAOA,CAAsB,EAAE,QAC7B,IAAIvB,EAAgB,CAClB,yBAA0BoB,EAC1B,UAAWH,CACb,CAAC,CACH,EACAO,EAAU,CACZ,OAASC,EAAO,CACdN,EAAOM,CAAK,CACd,CACF,CACF,CAAC,EAED,SAASD,GAAY,CACnBF,EAAa,YAAY,EACzBD,EAAc,MAAM,EACpBH,EAAQ,CACV,CAGAN,EAAe,iBAAiBS,CAAa,CAC/C,CAAC,CAAC,CACN,CAAC",
4
+ "sourcesContent": ["import { type DmkConfig } from \"@api/DmkConfig\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { ConnectedDevice } from \"@api/transport/model/ConnectedDevice\";\nimport { connectedDeviceStubBuilder } from \"@api/transport/model/TransportConnectedDevice.stub\";\nimport { DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS } from \"@internal/device-session/data/DeviceSessionRefresherConst\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { ListenToConnectedDeviceUseCase } from \"@internal/discovery/use-case/ListenToConnectedDeviceUseCase\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { HttpManagerApiDataSource } from \"@internal/manager-api/data/HttpManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { DefaultSecureChannelDataSource } from \"@internal/secure-channel/data/DefaultSecureChannelDataSource\";\nimport { type SecureChannelDataSource } from \"@internal/secure-channel/data/SecureChannelDataSource\";\nimport { DefaultSecureChannelService } from \"@internal/secure-channel/service/DefaultSecureChannelService\";\nimport { type SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\n\nvi.mock(\"@internal/manager-api/data/HttpManagerApiDataSource\");\n\nlet logger: LoggerPublisherService;\nlet sessionService: DeviceSessionService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet managerApi: ManagerApiService;\nlet secureChannelDataSource: SecureChannelDataSource;\nlet secureChannel: SecureChannelService;\n\nconst fakeSessionId = \"test-list-connected-device-session-id\";\n\ndescribe(\"ListenToConnectedDevice\", () => {\n beforeEach(() => {\n logger = new DefaultLoggerPublisherService(\n [],\n \"listen-to-connected-device-use-case\",\n );\n managerApiDataSource = new HttpManagerApiDataSource(\n {} as DmkConfig,\n () => logger,\n );\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n secureChannelDataSource = new DefaultSecureChannelDataSource(\n {} as DmkConfig,\n );\n secureChannel = new DefaultSecureChannelService(secureChannelDataSource);\n sessionService = new DefaultDeviceSessionService(() => logger);\n });\n\n it(\"should emit an instance of ConnectedDevice\", () =>\n new Promise<void>((resolve, reject) => {\n // given\n const connectedDevice = connectedDeviceStubBuilder({\n id: \"test-list-connected-device-id\",\n });\n const deviceSession = deviceSessionStubBuilder(\n { id: fakeSessionId, connectedDevice },\n () => logger,\n managerApi,\n secureChannel,\n DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\n );\n const observable = new ListenToConnectedDeviceUseCase(\n sessionService,\n () => logger,\n ).execute();\n\n const subscription = observable.subscribe({\n next(emittedConnectedDevice) {\n // then\n try {\n expect(emittedConnectedDevice).toEqual(\n new ConnectedDevice({\n transportConnectedDevice: connectedDevice,\n sessionId: fakeSessionId,\n }),\n );\n terminate();\n } catch (error) {\n reject(error);\n }\n },\n });\n\n function terminate() {\n subscription.unsubscribe();\n deviceSession.close();\n resolve();\n }\n\n // when\n sessionService.addDeviceSession(deviceSession);\n }));\n});\n"],
5
+ "mappings": "AAEA,OAAS,mBAAAA,MAAuB,uCAChC,OAAS,8BAAAC,MAAkC,qDAC3C,OAAS,4CAAAC,MAAgD,4DACzD,OAAS,4BAAAC,MAAgC,oDACzC,OAAS,+BAAAC,MAAmC,+DAE5C,OAAS,kCAAAC,MAAsC,8DAC/C,OAAS,iCAAAC,MAAqC,mEAC9C,OAAS,4BAAAC,MAAgC,sDAEzC,OAAS,4BAAAC,MAAgC,yDAEzC,OAAS,kCAAAC,MAAsC,+DAE/C,OAAS,+BAAAC,MAAmC,+DAG5C,GAAG,KAAK,qDAAqD,EAE7D,IAAIC,EACAC,EACAC,EACAC,EACAC,EACAC,EAEJ,MAAMC,EAAgB,wCAEtB,SAAS,0BAA2B,IAAM,CACxC,WAAW,IAAM,CACfN,EAAS,IAAIL,EACX,CAAC,EACD,qCACF,EACAO,EAAuB,IAAIN,EACzB,CAAC,EACD,IAAMI,CACR,EACAG,EAAa,IAAIN,EAAyBK,CAAoB,EAC9DE,EAA0B,IAAIN,EAC5B,CAAC,CACH,EACAO,EAAgB,IAAIN,EAA4BK,CAAuB,EACvEH,EAAiB,IAAIR,EAA4B,IAAMO,CAAM,CAC/D,CAAC,EAED,GAAG,6CAA8C,IAC/C,IAAI,QAAc,CAACO,EAASC,IAAW,CAErC,MAAMC,EAAkBnB,EAA2B,CACjD,GAAI,+BACN,CAAC,EACKoB,EAAgBlB,EACpB,CAAE,GAAIc,EAAe,gBAAAG,CAAgB,EACrC,IAAMT,EACNG,EACAE,EACAd,CACF,EAMMoB,EALa,IAAIjB,EACrBO,EACA,IAAMD,CACR,EAAE,QAAQ,EAEsB,UAAU,CACxC,KAAKY,EAAwB,CAE3B,GAAI,CACF,OAAOA,CAAsB,EAAE,QAC7B,IAAIvB,EAAgB,CAClB,yBAA0BoB,EAC1B,UAAWH,CACb,CAAC,CACH,EACAO,EAAU,CACZ,OAASC,EAAO,CACdN,EAAOM,CAAK,CACd,CACF,CACF,CAAC,EAED,SAASD,GAAY,CACnBF,EAAa,YAAY,EACzBD,EAAc,MAAM,EACpBH,EAAQ,CACV,CAGAN,EAAe,iBAAiBS,CAAa,CAC/C,CAAC,CAAC,CACN,CAAC",
6
6
  "names": ["ConnectedDevice", "connectedDeviceStubBuilder", "DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS", "deviceSessionStubBuilder", "DefaultDeviceSessionService", "ListenToConnectedDeviceUseCase", "DefaultLoggerPublisherService", "HttpManagerApiDataSource", "DefaultManagerApiService", "DefaultSecureChannelDataSource", "DefaultSecureChannelService", "logger", "sessionService", "managerApiDataSource", "managerApi", "secureChannelDataSource", "secureChannel", "fakeSessionId", "resolve", "reject", "connectedDevice", "deviceSession", "subscription", "emittedConnectedDevice", "terminate", "error"]
7
7
  }
@@ -1,2 +1,2 @@
1
- var d=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var y=(n,e,r,t)=>{for(var i=t>1?void 0:t?A(e,r):e,a=n.length-1,p;a>=0;a--)(p=n[a])&&(i=(t?p(e,r,i):p(i))||i);return t&&i&&d(e,r,i),i},u=(n,e)=>(r,t)=>e(r,t,n);import{inject as _,injectable as w}from"inversify";import{EitherAsync as o,Just as D,Nothing as F}from"purify-ts";import{DmkNetworkClient as E}from"../../../api/network/DmkNetworkClient";import{DmkNetworkClientError as L}from"../../../api/network/DmkNetworkClientError";import{managerApiTypes as b}from"../../manager-api/di/managerApiTypes";import{AppType as m}from"../../manager-api/model/Application";import{DEFAULT_PROVIDER as V}from"../../manager-api/model/Const";import{DEFAULT_FIRMWARE_DISTRIBUTION_SALT as P}from"../../manager-api/model/Const";import{HttpFetchApiError as f}from"../../manager-api/model/Errors";import{AppTypeDto as c}from"./ManagerApiDto";const s=n=>n instanceof L&&n.cause!==void 0?new f(n.cause):new f(n);let l=class{http;_provider=V;_firmwareDistributionSalt=P;constructor({managerApiUrl:e,provider:r,firmwareDistributionSalt:t}){this.http=new E({baseUrl:e}),this._provider=r,this._firmwareDistributionSalt=t}setProvider(e){this._provider===e||e<1||(this._provider=e)}getProvider(){return this._provider}getAppList(e){const{targetId:r,firmwareVersionName:t}=e;return o(()=>this.http.get("/v2/apps/by-target",{params:{target_id:r,provider:this._provider,firmware_version_name:t}})).chain(i=>this.mapApplicationDtoToApplication(i)).mapLeft(s)}getMcuList(){return o(()=>this.http.get("/mcu_versions")).chain(e=>this.mapMcuDtoToMcu(e)).mapLeft(s)}getDeviceVersion(e){const{targetId:r}=e;return o(()=>this.http.get("/get_device_version",{params:{target_id:r,provider:this._provider}})).chain(t=>this.mapDeviceVersionDto(t)).mapLeft(s)}getFirmwareVersion(e){const{deviceId:r,version:t}=e;return o(()=>this.http.get("/get_firmware_version",{params:{device_version:r,version_name:t,provider:this._provider}})).chain(i=>this.mapFinalFirmwareDto(i)).mapLeft(s)}getFirmwareVersionById(e){return o(()=>this.http.get(`/firmware_final_versions/${e}`)).chain(r=>this.mapFinalFirmwareDto(r)).mapLeft(s)}getOsuFirmwareVersion(e){const{deviceId:r,version:t}=e;return o(()=>this.http.get("/get_osu_version",{params:{device_version:r,version_name:t,provider:this._provider}})).chain(i=>this.mapOsuFirmwareDto(i)).mapLeft(s)}getLatestFirmwareVersion(e){const{currentFinalFirmwareId:r,deviceId:t}=e;return o(()=>this.http.get("/get_latest_firmware",{params:{current_se_firmware_final_version:r,device_version:t,provider:this._provider,salt:this._firmwareDistributionSalt}})).chain(i=>this.mapLatestFirmwareDto(i)).mapLeft(s)}getAppsByHash(e){const{hashes:r}=e;return o(()=>this.http.post("/v2/apps/hash",r)).chain(t=>this.mapNullableApplicationDtoToApplication(t)).mapLeft(s)}getLanguagePackages(e){const{deviceId:r,currentFinalFirmwareId:t}=e;return o(()=>this.http.get("/language-packages",{params:{device_version:r,current_se_firmware_final_version:t}})).chain(i=>this.mapLanguagesDtoToLanguages(i)).mapLeft(s)}mapAppTypeDtoToAppType(e){if(e===null)return null;switch(e){case c.currency:return m.currency;case c.plugin:return m.plugin;case c.tool:return m.tool;case c.swap:return m.swap}}mapApplicationDtoToApplication(e){return o(()=>Promise.resolve(e.map(r=>this.mapApplicationDto(r))))}mapNullableApplicationDtoToApplication(e){return o(()=>Promise.resolve(e.map(r=>r===null?null:this.mapApplicationDto(r))))}mapApplicationDto(e){if(typeof e!="object"||typeof e.versionId!="number"||typeof e.versionName!="string"||e.versionDisplayName!==null&&typeof e.versionDisplayName!="string"||typeof e.version!="string"||e.currencyId!==null&&typeof e.currencyId!="string"||e.description!==null&&typeof e.description!="string"||e.applicationType!==null&&typeof e.applicationType!="string"||typeof e.dateModified!="string"||e.icon!==null&&typeof e.icon!="string"||e.authorName!==null&&typeof e.authorName!="string"||e.supportURL!==null&&typeof e.supportURL!="string"||e.contactURL!==null&&typeof e.contactURL!="string"||e.sourceURL!==null&&typeof e.sourceURL!="string"||e.compatibleWallets!==null&&typeof e.compatibleWallets!="string"||typeof e.hash!="string"||typeof e.perso!="string"||typeof e.firmware!="string"||typeof e.firmwareKey!="string"||typeof e.delete!="string"||typeof e.deleteKey!="string"||e.bytes!==null&&typeof e.bytes!="number"||e.warning!==null&&typeof e.warning!="string"||typeof e.isDevTools!="boolean"||e.category!==null&&typeof e.category!="number"||e.parent!==null&&typeof e.parent!="number"||e.parentName!==null&&typeof e.parentName!="string")throw new Error(`Incomplete application: ${JSON.stringify(e)}`);const{applicationType:r,hash:t,perso:i,firmware:a,firmwareKey:p,delete:h,deleteKey:g,...v}=e;return{...v,hash:t,perso:i,firmware:a,firmwareKey:p,delete:h,deleteKey:g,applicationType:this.mapAppTypeDtoToAppType(r)}}mapMcuDtoToMcu(e){return o(()=>Promise.resolve(e.map(r=>{if(typeof r!="object"||typeof r.id!="number"||typeof r.name!="string"||typeof r.from_bootloader_version!="string")throw new Error(`Incomplete MCU version: ${JSON.stringify(r)}`);return{id:r.id,name:r.name,fromBootloaderVersion:r.from_bootloader_version,providers:r.providers}})))}mapDeviceVersionDto(e){return o(()=>{if(typeof e!="object"||typeof e.id!="number")throw new Error(`Incomplete device version: ${JSON.stringify(e)}`);const r={id:e.id};return Promise.resolve(r)})}mapFinalFirmwareDto(e){return o(()=>{if(typeof e!="object"||typeof e.id!="number"||typeof e.version!="string"||typeof e.perso!="string"||e.firmware!==null&&typeof e.firmware!="string"||e.firmware_key!==null&&typeof e.firmware_key!="string"||e.hash!==null&&typeof e.hash!="string"||e.bytes!==null&&typeof e.bytes!="number"||!Array.isArray(e.mcu_versions))throw new Error(`Incomplete final firmware: ${JSON.stringify(e)}`);const r={id:e.id,version:e.version,perso:e.perso,firmware:e.firmware,firmwareKey:e.firmware_key,hash:e.hash,bytes:e.bytes,mcuVersions:e.mcu_versions};return Promise.resolve(r)})}mapLatestFirmwareDto(e){return o(()=>{if(e.result==="null")return Promise.resolve(null);if(e.result!=="success"||!e.se_firmware_osu_version)throw new Error(`Latest firmware could not be retrieved: ${e.result}`);const r=e.se_firmware_osu_version;return Promise.resolve(r)}).chain(r=>r===null?o(()=>Promise.resolve(F)):this.mapOsuFirmwareDto(r).map(t=>D(t)))}mapOsuFirmwareDto(e){return o(()=>{if(typeof e!="object"||typeof e.id!="number"||e.notes!==null&&typeof e.notes!="string"||typeof e.perso!="string"||typeof e.firmware!="string"||typeof e.firmware_key!="string"||e.hash!==null&&typeof e.hash!="string"||typeof e.next_se_firmware_final_version!="number")throw new Error(`Incomplete latest firmware: ${JSON.stringify(e)}`);const r={id:e.id,notes:e.notes,perso:e.perso,firmware:e.firmware,firmwareKey:e.firmware_key,hash:e.hash,nextFinalFirmware:e.next_se_firmware_final_version};return Promise.resolve(r)})}mapLanguagesDtoToLanguages(e){return o(()=>Promise.resolve(e.map(r=>this.mapLanguageDto(r))))}mapLanguageDto(e){if(typeof e!="object"||typeof e.language!="string"||typeof e.languagePackageVersionId!="number"||typeof e.version!="string"||typeof e.language_package_id!="number"||typeof e.apdu_install_url!="string"||typeof e.apdu_uninstall_url!="string"||typeof e.bytes!="number"||typeof e.date_creation!="string"||typeof e.date_last_modified!="string")throw new Error(`Incomplete language version: ${JSON.stringify(e)}`);return{language:e.language,languagePackageVersionId:e.languagePackageVersionId,version:e.version,languagePackageId:e.language_package_id,apduInstallUrl:e.apdu_install_url,apduUninstallUrl:e.apdu_uninstall_url,bytes:e.bytes,dateCreation:e.date_creation,dateLastModified:e.date_last_modified}}};l=y([w(),u(0,_(b.DmkConfig))],l);export{l as HttpManagerApiDataSource};
1
+ var _=Object.defineProperty;var w=Object.getOwnPropertyDescriptor;var y=(n,r,e,t)=>{for(var i=t>1?void 0:t?w(r,e):r,a=n.length-1,p;a>=0;a--)(p=n[a])&&(i=(t?p(r,e,i):p(i))||i);return t&&i&&_(r,e,i),i},u=(n,r)=>(e,t)=>r(e,t,n);import{inject as g,injectable as A}from"inversify";import{EitherAsync as o,Just as D,Nothing as b}from"purify-ts";import{DmkNetworkClient as F}from"../../../api/network/DmkNetworkClient";import{DmkNetworkClientError as L}from"../../../api/network/DmkNetworkClientError";import{loggerTypes as E}from"../../logger-publisher/di/loggerTypes";import{managerApiTypes as P}from"../../manager-api/di/managerApiTypes";import{AppType as m}from"../../manager-api/model/Application";import{DEFAULT_PROVIDER as V}from"../../manager-api/model/Const";import{DEFAULT_FIRMWARE_DISTRIBUTION_SALT as k}from"../../manager-api/model/Const";import{HttpFetchApiError as f}from"../../manager-api/model/Errors";import{AppTypeDto as c}from"./ManagerApiDto";const s=n=>n instanceof L&&n.cause!==void 0?new f(n.cause):new f(n);let l=class{http;_provider=V;_firmwareDistributionSalt=k;_logger;constructor({managerApiUrl:r,provider:e,firmwareDistributionSalt:t},i){this.http=new F({baseUrl:r}),this._provider=e,this._firmwareDistributionSalt=t,this._logger=i("HttpManagerApiDataSource")}setProvider(r){this._provider===r||r<1||(this._provider=r)}getProvider(){return this._provider}setFirmwareDistributionSalt(r){this._firmwareDistributionSalt===r||r.trim()===""||(this._firmwareDistributionSalt=r)}getFirmwareDistributionSalt(){return this._firmwareDistributionSalt}getAppList(r){const{targetId:e,firmwareVersionName:t}=r;return o(()=>this.http.get("/v2/apps/by-target",{params:{target_id:e,provider:this._provider,firmware_version_name:t}})).chain(i=>this.mapApplicationDtoToApplication(i)).mapLeft(s)}getMcuList(){return o(()=>this.http.get("/mcu_versions")).chain(r=>this.mapMcuDtoToMcu(r)).mapLeft(s)}getDeviceVersion(r){const{targetId:e}=r;return o(()=>this.http.get("/get_device_version",{params:{target_id:e,provider:this._provider}})).chain(t=>this.mapDeviceVersionDto(t)).mapLeft(s)}getFirmwareVersion(r){const{deviceId:e,version:t}=r;return o(()=>this.http.get("/get_firmware_version",{params:{device_version:e,version_name:t,provider:this._provider}})).chain(i=>this.mapFinalFirmwareDto(i)).mapLeft(s)}getFirmwareVersionById(r){return o(()=>this.http.get(`/firmware_final_versions/${r}`)).chain(e=>this.mapFinalFirmwareDto(e)).mapLeft(s)}getOsuFirmwareVersion(r){const{deviceId:e,version:t}=r;return o(()=>this.http.get("/get_osu_version",{params:{device_version:e,version_name:t,provider:this._provider}})).chain(i=>this.mapOsuFirmwareDto(i)).mapLeft(s)}getLatestFirmwareVersion(r){const{currentFinalFirmwareId:e,deviceId:t}=r;return o(()=>{const i=this._firmwareDistributionSalt;return this._logger.info("Requesting latest firmware",{data:{salt:i}}),this.http.get("/get_latest_firmware",{params:{current_se_firmware_final_version:e,device_version:t,provider:this._provider,salt:i}})}).chain(i=>this.mapLatestFirmwareDto(i)).mapLeft(s)}getAppsByHash(r){const{hashes:e}=r;return o(()=>this.http.post("/v2/apps/hash",e)).chain(t=>this.mapNullableApplicationDtoToApplication(t)).mapLeft(s)}getLanguagePackages(r){const{deviceId:e,currentFinalFirmwareId:t}=r;return o(()=>this.http.get("/language-packages",{params:{device_version:e,current_se_firmware_final_version:t}})).chain(i=>this.mapLanguagesDtoToLanguages(i)).mapLeft(s)}mapAppTypeDtoToAppType(r){if(r===null)return null;switch(r){case c.currency:return m.currency;case c.plugin:return m.plugin;case c.tool:return m.tool;case c.swap:return m.swap}}mapApplicationDtoToApplication(r){return o(()=>Promise.resolve(r.map(e=>this.mapApplicationDto(e))))}mapNullableApplicationDtoToApplication(r){return o(()=>Promise.resolve(r.map(e=>e===null?null:this.mapApplicationDto(e))))}mapApplicationDto(r){if(typeof r!="object"||typeof r.versionId!="number"||typeof r.versionName!="string"||r.versionDisplayName!==null&&typeof r.versionDisplayName!="string"||typeof r.version!="string"||r.currencyId!==null&&typeof r.currencyId!="string"||r.description!==null&&typeof r.description!="string"||r.applicationType!==null&&typeof r.applicationType!="string"||typeof r.dateModified!="string"||r.icon!==null&&typeof r.icon!="string"||r.authorName!==null&&typeof r.authorName!="string"||r.supportURL!==null&&typeof r.supportURL!="string"||r.contactURL!==null&&typeof r.contactURL!="string"||r.sourceURL!==null&&typeof r.sourceURL!="string"||r.compatibleWallets!==null&&typeof r.compatibleWallets!="string"||typeof r.hash!="string"||typeof r.perso!="string"||typeof r.firmware!="string"||typeof r.firmwareKey!="string"||typeof r.delete!="string"||typeof r.deleteKey!="string"||r.bytes!==null&&typeof r.bytes!="number"||r.warning!==null&&typeof r.warning!="string"||typeof r.isDevTools!="boolean"||r.category!==null&&typeof r.category!="number"||r.parent!==null&&typeof r.parent!="number"||r.parentName!==null&&typeof r.parentName!="string")throw new Error(`Incomplete application: ${JSON.stringify(r)}`);const{applicationType:e,hash:t,perso:i,firmware:a,firmwareKey:p,delete:h,deleteKey:v,...d}=r;return{...d,hash:t,perso:i,firmware:a,firmwareKey:p,delete:h,deleteKey:v,applicationType:this.mapAppTypeDtoToAppType(e)}}mapMcuDtoToMcu(r){return o(()=>Promise.resolve(r.map(e=>{if(typeof e!="object"||typeof e.id!="number"||typeof e.name!="string"||typeof e.from_bootloader_version!="string")throw new Error(`Incomplete MCU version: ${JSON.stringify(e)}`);return{id:e.id,name:e.name,fromBootloaderVersion:e.from_bootloader_version,providers:e.providers}})))}mapDeviceVersionDto(r){return o(()=>{if(typeof r!="object"||typeof r.id!="number")throw new Error(`Incomplete device version: ${JSON.stringify(r)}`);const e={id:r.id};return Promise.resolve(e)})}mapFinalFirmwareDto(r){return o(()=>{if(typeof r!="object"||typeof r.id!="number"||typeof r.version!="string"||typeof r.perso!="string"||r.firmware!==null&&typeof r.firmware!="string"||r.firmware_key!==null&&typeof r.firmware_key!="string"||r.hash!==null&&typeof r.hash!="string"||r.bytes!==null&&typeof r.bytes!="number"||!Array.isArray(r.mcu_versions))throw new Error(`Incomplete final firmware: ${JSON.stringify(r)}`);const e={id:r.id,version:r.version,perso:r.perso,firmware:r.firmware,firmwareKey:r.firmware_key,hash:r.hash,bytes:r.bytes,mcuVersions:r.mcu_versions};return Promise.resolve(e)})}mapLatestFirmwareDto(r){return o(()=>{if(r.result==="null")return Promise.resolve(null);if(r.result!=="success"||!r.se_firmware_osu_version)throw new Error(`Latest firmware could not be retrieved: ${r.result}`);const e=r.se_firmware_osu_version;return Promise.resolve(e)}).chain(e=>e===null?o(()=>Promise.resolve(b)):this.mapOsuFirmwareDto(e).map(t=>D(t)))}mapOsuFirmwareDto(r){return o(()=>{if(typeof r!="object"||typeof r.id!="number"||r.notes!==null&&typeof r.notes!="string"||typeof r.perso!="string"||typeof r.firmware!="string"||typeof r.firmware_key!="string"||r.hash!==null&&typeof r.hash!="string"||typeof r.next_se_firmware_final_version!="number")throw new Error(`Incomplete latest firmware: ${JSON.stringify(r)}`);const e={id:r.id,notes:r.notes,perso:r.perso,firmware:r.firmware,firmwareKey:r.firmware_key,hash:r.hash,nextFinalFirmware:r.next_se_firmware_final_version};return Promise.resolve(e)})}mapLanguagesDtoToLanguages(r){return o(()=>Promise.resolve(r.map(e=>this.mapLanguageDto(e))))}mapLanguageDto(r){if(typeof r!="object"||typeof r.language!="string"||typeof r.languagePackageVersionId!="number"||typeof r.version!="string"||typeof r.language_package_id!="number"||typeof r.apdu_install_url!="string"||typeof r.apdu_uninstall_url!="string"||typeof r.bytes!="number"||typeof r.date_creation!="string"||typeof r.date_last_modified!="string")throw new Error(`Incomplete language version: ${JSON.stringify(r)}`);return{language:r.language,languagePackageVersionId:r.languagePackageVersionId,version:r.version,languagePackageId:r.language_package_id,apduInstallUrl:r.apdu_install_url,apduUninstallUrl:r.apdu_uninstall_url,bytes:r.bytes,dateCreation:r.date_creation,dateLastModified:r.date_last_modified}}};l=y([A(),u(0,g(P.DmkConfig)),u(1,g(E.LoggerPublisherServiceFactory))],l);export{l as HttpManagerApiDataSource};
2
2
  //# sourceMappingURL=HttpManagerApiDataSource.js.map