@ledgerhq/device-management-kit 0.0.0-develop-20260428002525 → 0.0.0-develop-20260429002653

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 (213) hide show
  1. package/lib/cjs/package.json +1 -2
  2. package/lib/cjs/src/api/command/Errors.js +1 -1
  3. package/lib/cjs/src/api/command/Errors.js.map +3 -3
  4. package/lib/cjs/src/api/command/model/CommandResult.js +1 -1
  5. package/lib/cjs/src/api/command/model/CommandResult.js.map +3 -3
  6. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.test.js +1 -1
  7. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.test.js.map +3 -3
  8. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js +1 -1
  9. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js.map +3 -3
  10. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js +1 -1
  11. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js.map +3 -3
  12. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js.map +2 -2
  13. package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.js +1 -1
  14. package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.js.map +3 -3
  15. package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.js +1 -1
  16. package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.js.map +3 -3
  17. package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/types.js +1 -1
  18. package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/types.js.map +2 -2
  19. package/lib/cjs/src/api/device-action/task/BackupAppStorageTask.js +1 -1
  20. package/lib/cjs/src/api/device-action/task/BackupAppStorageTask.js.map +3 -3
  21. package/lib/cjs/src/api/device-action/task/BackupAppStorageTask.test.js +1 -1
  22. package/lib/cjs/src/api/device-action/task/BackupAppStorageTask.test.js.map +2 -2
  23. package/lib/cjs/src/api/device-action/task/Errors.js +2 -0
  24. package/lib/cjs/src/api/device-action/task/Errors.js.map +7 -0
  25. package/lib/cjs/src/api/device-action/task/GetApplicationsMetadataTask.js +1 -1
  26. package/lib/cjs/src/api/device-action/task/GetApplicationsMetadataTask.js.map +3 -3
  27. package/lib/cjs/src/api/device-action/task/GetApplicationsMetadataTask.test.js +1 -1
  28. package/lib/cjs/src/api/device-action/task/GetApplicationsMetadataTask.test.js.map +3 -3
  29. package/lib/cjs/src/api/device-action/task/GetFirmwareMetadataTask.js +1 -1
  30. package/lib/cjs/src/api/device-action/task/GetFirmwareMetadataTask.js.map +3 -3
  31. package/lib/cjs/src/api/device-action/task/GetFirmwareMetadataTask.test.js +1 -1
  32. package/lib/cjs/src/api/device-action/task/GetFirmwareMetadataTask.test.js.map +3 -3
  33. package/lib/cjs/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.js +1 -1
  34. package/lib/cjs/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.js.map +3 -3
  35. package/lib/cjs/src/api/index.js +1 -1
  36. package/lib/cjs/src/api/index.js.map +3 -3
  37. package/lib/cjs/src/api/model/DmkResult.js +2 -0
  38. package/lib/cjs/src/api/model/DmkResult.js.map +7 -0
  39. package/lib/cjs/src/api/model/DmkResult.test.js +2 -0
  40. package/lib/cjs/src/api/model/DmkResult.test.js.map +7 -0
  41. package/lib/cjs/src/api/network/DmkNetworkClient.js +2 -0
  42. package/lib/cjs/src/api/network/DmkNetworkClient.js.map +7 -0
  43. package/lib/cjs/src/api/network/DmkNetworkClient.test.js +2 -0
  44. package/lib/cjs/src/api/network/DmkNetworkClient.test.js.map +7 -0
  45. package/lib/cjs/src/api/network/DmkNetworkClientError.js +2 -0
  46. package/lib/cjs/src/api/network/DmkNetworkClientError.js.map +7 -0
  47. package/lib/cjs/src/api/network/DmkNetworkClientHelpers.js +2 -0
  48. package/lib/cjs/src/api/network/DmkNetworkClientHelpers.js.map +7 -0
  49. package/lib/cjs/src/api/network/DmkNetworkClientHelpers.test.js +2 -0
  50. package/lib/cjs/src/api/network/DmkNetworkClientHelpers.test.js.map +7 -0
  51. package/lib/cjs/src/api/types.js +1 -1
  52. package/lib/cjs/src/api/types.js.map +1 -1
  53. package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js +1 -1
  54. package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +3 -3
  55. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.test.js +1 -1
  56. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.test.js.map +3 -3
  57. package/lib/cjs/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js +1 -1
  58. package/lib/cjs/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js.map +3 -3
  59. package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js +1 -1
  60. package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +3 -3
  61. package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js +1 -1
  62. package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js.map +3 -3
  63. package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js +1 -1
  64. package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js.map +3 -3
  65. package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js +1 -1
  66. package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js.map +3 -3
  67. package/lib/cjs/src/internal/manager-api/data/HttpManagerApiDataSource.js +2 -0
  68. package/lib/cjs/src/internal/manager-api/data/HttpManagerApiDataSource.js.map +7 -0
  69. package/lib/cjs/src/internal/manager-api/data/HttpManagerApiDataSource.test.js +2 -0
  70. package/lib/cjs/src/internal/manager-api/data/HttpManagerApiDataSource.test.js.map +7 -0
  71. package/lib/cjs/src/internal/manager-api/data/__mocks__/HttpManagerApiDataSource.js +2 -0
  72. package/lib/cjs/src/internal/manager-api/data/__mocks__/HttpManagerApiDataSource.js.map +7 -0
  73. package/lib/cjs/src/internal/manager-api/di/managerApiModule.js +1 -1
  74. package/lib/cjs/src/internal/manager-api/di/managerApiModule.js.map +3 -3
  75. package/lib/cjs/src/internal/manager-api/di/managerApiModule.test.js +1 -1
  76. package/lib/cjs/src/internal/manager-api/di/managerApiModule.test.js.map +3 -3
  77. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
  78. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +3 -3
  79. package/lib/esm/package.json +1 -2
  80. package/lib/esm/src/api/command/Errors.js +1 -1
  81. package/lib/esm/src/api/command/Errors.js.map +3 -3
  82. package/lib/esm/src/api/command/model/CommandResult.js +1 -1
  83. package/lib/esm/src/api/command/model/CommandResult.js.map +3 -3
  84. package/lib/esm/src/api/command/use-case/SendCommandUseCase.test.js +1 -1
  85. package/lib/esm/src/api/command/use-case/SendCommandUseCase.test.js.map +3 -3
  86. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js +1 -1
  87. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js.map +3 -3
  88. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js +1 -1
  89. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js.map +3 -3
  90. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js.map +2 -2
  91. package/lib/esm/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.js +1 -1
  92. package/lib/esm/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.js.map +3 -3
  93. package/lib/esm/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.js +1 -1
  94. package/lib/esm/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.js.map +3 -3
  95. package/lib/esm/src/api/device-action/os/GetDeviceMetadata/types.js.map +2 -2
  96. package/lib/esm/src/api/device-action/task/BackupAppStorageTask.js +1 -1
  97. package/lib/esm/src/api/device-action/task/BackupAppStorageTask.js.map +3 -3
  98. package/lib/esm/src/api/device-action/task/BackupAppStorageTask.test.js +1 -1
  99. package/lib/esm/src/api/device-action/task/BackupAppStorageTask.test.js.map +3 -3
  100. package/lib/esm/src/api/device-action/task/Errors.js +2 -0
  101. package/lib/esm/src/api/device-action/task/Errors.js.map +7 -0
  102. package/lib/esm/src/api/device-action/task/GetApplicationsMetadataTask.js +1 -1
  103. package/lib/esm/src/api/device-action/task/GetApplicationsMetadataTask.js.map +3 -3
  104. package/lib/esm/src/api/device-action/task/GetApplicationsMetadataTask.test.js +1 -1
  105. package/lib/esm/src/api/device-action/task/GetApplicationsMetadataTask.test.js.map +3 -3
  106. package/lib/esm/src/api/device-action/task/GetFirmwareMetadataTask.js +1 -1
  107. package/lib/esm/src/api/device-action/task/GetFirmwareMetadataTask.js.map +3 -3
  108. package/lib/esm/src/api/device-action/task/GetFirmwareMetadataTask.test.js +1 -1
  109. package/lib/esm/src/api/device-action/task/GetFirmwareMetadataTask.test.js.map +3 -3
  110. package/lib/esm/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.js +1 -1
  111. package/lib/esm/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.js.map +3 -3
  112. package/lib/esm/src/api/index.js +1 -1
  113. package/lib/esm/src/api/index.js.map +3 -3
  114. package/lib/esm/src/api/model/DmkResult.js +2 -0
  115. package/lib/esm/src/api/model/DmkResult.js.map +7 -0
  116. package/lib/esm/src/api/model/DmkResult.test.js +2 -0
  117. package/lib/esm/src/api/model/DmkResult.test.js.map +7 -0
  118. package/lib/esm/src/api/network/DmkNetworkClient.js +2 -0
  119. package/lib/esm/src/api/network/DmkNetworkClient.js.map +7 -0
  120. package/lib/esm/src/api/network/DmkNetworkClient.test.js +2 -0
  121. package/lib/esm/src/api/network/DmkNetworkClient.test.js.map +7 -0
  122. package/lib/esm/src/api/network/DmkNetworkClientError.js +2 -0
  123. package/lib/esm/src/api/network/DmkNetworkClientError.js.map +7 -0
  124. package/lib/esm/src/api/network/DmkNetworkClientHelpers.js +2 -0
  125. package/lib/esm/src/api/network/DmkNetworkClientHelpers.js.map +7 -0
  126. package/lib/esm/src/api/network/DmkNetworkClientHelpers.test.js +2 -0
  127. package/lib/esm/src/api/network/DmkNetworkClientHelpers.test.js.map +7 -0
  128. package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js +1 -1
  129. package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +3 -3
  130. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.test.js +1 -1
  131. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.test.js.map +3 -3
  132. package/lib/esm/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js +1 -1
  133. package/lib/esm/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js.map +3 -3
  134. package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js +1 -1
  135. package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +3 -3
  136. package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js +1 -1
  137. package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js.map +3 -3
  138. package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js +1 -1
  139. package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js.map +3 -3
  140. package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js +1 -1
  141. package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js.map +3 -3
  142. package/lib/esm/src/internal/manager-api/data/HttpManagerApiDataSource.js +2 -0
  143. package/lib/esm/src/internal/manager-api/data/HttpManagerApiDataSource.js.map +7 -0
  144. package/lib/esm/src/internal/manager-api/data/HttpManagerApiDataSource.test.js +2 -0
  145. package/lib/esm/src/internal/manager-api/data/HttpManagerApiDataSource.test.js.map +7 -0
  146. package/lib/esm/src/internal/manager-api/data/__mocks__/{AxiosManagerApiDataSource.js → HttpManagerApiDataSource.js} +2 -2
  147. package/lib/esm/src/internal/manager-api/data/__mocks__/HttpManagerApiDataSource.js.map +7 -0
  148. package/lib/esm/src/internal/manager-api/di/managerApiModule.js +1 -1
  149. package/lib/esm/src/internal/manager-api/di/managerApiModule.js.map +3 -3
  150. package/lib/esm/src/internal/manager-api/di/managerApiModule.test.js +1 -1
  151. package/lib/esm/src/internal/manager-api/di/managerApiModule.test.js.map +3 -3
  152. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
  153. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +3 -3
  154. package/lib/types/src/api/command/Errors.d.ts +0 -5
  155. package/lib/types/src/api/command/Errors.d.ts.map +1 -1
  156. package/lib/types/src/api/command/model/CommandResult.d.ts +11 -17
  157. package/lib/types/src/api/command/model/CommandResult.d.ts.map +1 -1
  158. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.d.ts +9 -6
  159. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.d.ts.map +1 -1
  160. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.d.ts +7 -6
  161. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.d.ts.map +1 -1
  162. package/lib/types/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.d.ts.map +1 -1
  163. package/lib/types/src/api/device-action/os/GetDeviceMetadata/types.d.ts +3 -2
  164. package/lib/types/src/api/device-action/os/GetDeviceMetadata/types.d.ts.map +1 -1
  165. package/lib/types/src/api/device-action/task/BackupAppStorageTask.d.ts +4 -2
  166. package/lib/types/src/api/device-action/task/BackupAppStorageTask.d.ts.map +1 -1
  167. package/lib/types/src/api/device-action/task/Errors.d.ts +12 -0
  168. package/lib/types/src/api/device-action/task/Errors.d.ts.map +1 -0
  169. package/lib/types/src/api/device-action/task/GetApplicationsMetadataTask.d.ts +5 -3
  170. package/lib/types/src/api/device-action/task/GetApplicationsMetadataTask.d.ts.map +1 -1
  171. package/lib/types/src/api/device-action/task/GetFirmwareMetadataTask.d.ts +7 -3
  172. package/lib/types/src/api/device-action/task/GetFirmwareMetadataTask.d.ts.map +1 -1
  173. package/lib/types/src/api/index.d.ts +5 -1
  174. package/lib/types/src/api/index.d.ts.map +1 -1
  175. package/lib/types/src/api/model/DmkResult.d.ts +24 -0
  176. package/lib/types/src/api/model/DmkResult.d.ts.map +1 -0
  177. package/lib/types/src/api/model/DmkResult.test.d.ts +2 -0
  178. package/lib/types/src/api/model/DmkResult.test.d.ts.map +1 -0
  179. package/lib/types/src/api/network/DmkNetworkClient.d.ts +97 -0
  180. package/lib/types/src/api/network/DmkNetworkClient.d.ts.map +1 -0
  181. package/lib/types/src/api/network/DmkNetworkClient.test.d.ts +2 -0
  182. package/lib/types/src/api/network/DmkNetworkClient.test.d.ts.map +1 -0
  183. package/lib/types/src/api/network/DmkNetworkClientError.d.ts +33 -0
  184. package/lib/types/src/api/network/DmkNetworkClientError.d.ts.map +1 -0
  185. package/lib/types/src/api/network/DmkNetworkClientHelpers.d.ts +73 -0
  186. package/lib/types/src/api/network/DmkNetworkClientHelpers.d.ts.map +1 -0
  187. package/lib/types/src/api/network/DmkNetworkClientHelpers.test.d.ts +2 -0
  188. package/lib/types/src/api/network/DmkNetworkClientHelpers.test.d.ts.map +1 -0
  189. package/lib/types/src/api/types.d.ts +1 -0
  190. package/lib/types/src/api/types.d.ts.map +1 -1
  191. package/lib/types/src/internal/manager-api/data/{AxiosManagerApiDataSource.d.ts → HttpManagerApiDataSource.d.ts} +3 -3
  192. package/lib/types/src/internal/manager-api/data/HttpManagerApiDataSource.d.ts.map +1 -0
  193. package/lib/types/src/internal/manager-api/data/HttpManagerApiDataSource.test.d.ts +2 -0
  194. package/lib/types/src/internal/manager-api/data/HttpManagerApiDataSource.test.d.ts.map +1 -0
  195. package/lib/types/src/internal/manager-api/data/__mocks__/{AxiosManagerApiDataSource.d.ts → HttpManagerApiDataSource.d.ts} +2 -2
  196. package/lib/types/src/internal/manager-api/data/__mocks__/HttpManagerApiDataSource.d.ts.map +1 -0
  197. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  198. package/package.json +1 -2
  199. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js +0 -2
  200. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +0 -7
  201. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +0 -2
  202. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +0 -7
  203. package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js +0 -2
  204. package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +0 -7
  205. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js +0 -2
  206. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +0 -7
  207. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +0 -2
  208. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +0 -7
  209. package/lib/esm/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +0 -7
  210. package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts.map +0 -1
  211. package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.test.d.ts +0 -2
  212. package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.test.d.ts.map +0 -1
  213. package/lib/types/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.d.ts.map +0 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/api/device-action/task/BackupAppStorageTask.ts"],
4
- "sourcesContent": ["import {\n type CommandResult,\n CommandResultFactory,\n isSuccessCommandResult,\n} from \"@api/command/model/CommandResult\";\nimport {\n BackupStorageCommand,\n type BackupStorageCommandErrorCodes,\n} from \"@api/command/os/BackupStorageCommand\";\nimport {\n GetAppStorageInfoCommand,\n type GetAppStorageInfoCommandErrorCodes,\n} from \"@api/command/os/GetAppStorageInfoCommand\";\nimport { type InternalApi } from \"@api/device-action/DeviceAction\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { bufferToHexaString, type HexaString } from \"@api/utils/HexaString\";\n\nexport type BackupAppStorageTaskArgs = {\n appName: string;\n};\n\nexport type BackupAppStorageTaskResponse = {\n appStorageData: HexaString;\n};\n\nexport type BackupAppStorageTaskErrorCodes =\n | GetAppStorageInfoCommandErrorCodes\n | BackupStorageCommandErrorCodes;\n\nexport class BackupAppStorageTask {\n constructor(\n private readonly args: BackupAppStorageTaskArgs,\n private readonly api: InternalApi,\n private readonly logger: LoggerPublisherService,\n ) {}\n\n public async run(): Promise<\n CommandResult<BackupAppStorageTaskResponse, BackupAppStorageTaskErrorCodes>\n > {\n this.logger.debug(\"[run] Starting BackupAppStorageTask\", {\n data: {\n appName: this.args.appName,\n },\n });\n\n const { appName } = this.args;\n\n const getAppStorageInfo = await this.api.sendCommand(\n new GetAppStorageInfoCommand({\n appName,\n }),\n );\n\n if (!isSuccessCommandResult(getAppStorageInfo)) {\n this.logger.debug(\"[run] Failed to get app storage info\", {\n data: { error: getAppStorageInfo.error },\n });\n return getAppStorageInfo;\n }\n\n const { storageSize } = getAppStorageInfo.data;\n let offset = 0;\n let appStorageDataBytes = new Uint8Array(0);\n\n while (offset < storageSize) {\n const backupStorage = await this.api.sendCommand(\n new BackupStorageCommand(),\n );\n if (!isSuccessCommandResult(backupStorage)) {\n this.logger.debug(\"[run] Failed to backup app storage\", {\n data: { error: backupStorage.error },\n });\n return backupStorage;\n }\n\n const { chunkData, chunkSize } = backupStorage.data;\n appStorageDataBytes = Uint8Array.from([\n ...appStorageDataBytes,\n ...chunkData,\n ]);\n offset += chunkSize;\n }\n\n const appStorageData = bufferToHexaString(appStorageDataBytes);\n this.logger.debug(\"[run] App storage data backed up successfully\", {\n data: {\n appStorageData,\n },\n });\n\n return CommandResultFactory({\n data: {\n appStorageData,\n },\n });\n }\n}\n"],
5
- "mappings": "AAAA,OAEE,wBAAAA,EACA,0BAAAC,MACK,mCACP,OACE,wBAAAC,MAEK,uCACP,OACE,4BAAAC,MAEK,2CAGP,OAAS,sBAAAC,MAA2C,wBAc7C,MAAMC,CAAqB,CAChC,YACmBC,EACAC,EACAC,EACjB,CAHiB,UAAAF,EACA,SAAAC,EACA,YAAAC,CAChB,CAEH,MAAa,KAEX,CACA,KAAK,OAAO,MAAM,sCAAuC,CACvD,KAAM,CACJ,QAAS,KAAK,KAAK,OACrB,CACF,CAAC,EAED,KAAM,CAAE,QAAAC,CAAQ,EAAI,KAAK,KAEnBC,EAAoB,MAAM,KAAK,IAAI,YACvC,IAAIP,EAAyB,CAC3B,QAAAM,CACF,CAAC,CACH,EAEA,GAAI,CAACR,EAAuBS,CAAiB,EAC3C,YAAK,OAAO,MAAM,uCAAwC,CACxD,KAAM,CAAE,MAAOA,EAAkB,KAAM,CACzC,CAAC,EACMA,EAGT,KAAM,CAAE,YAAAC,CAAY,EAAID,EAAkB,KAC1C,IAAIE,EAAS,EACTC,EAAsB,IAAI,WAAW,CAAC,EAE1C,KAAOD,EAASD,GAAa,CAC3B,MAAMG,EAAgB,MAAM,KAAK,IAAI,YACnC,IAAIZ,CACN,EACA,GAAI,CAACD,EAAuBa,CAAa,EACvC,YAAK,OAAO,MAAM,qCAAsC,CACtD,KAAM,CAAE,MAAOA,EAAc,KAAM,CACrC,CAAC,EACMA,EAGT,KAAM,CAAE,UAAAC,EAAW,UAAAC,CAAU,EAAIF,EAAc,KAC/CD,EAAsB,WAAW,KAAK,CACpC,GAAGA,EACH,GAAGE,CACL,CAAC,EACDH,GAAUI,CACZ,CAEA,MAAMC,EAAiBb,EAAmBS,CAAmB,EAC7D,YAAK,OAAO,MAAM,gDAAiD,CACjE,KAAM,CACJ,eAAAI,CACF,CACF,CAAC,EAEMjB,EAAqB,CAC1B,KAAM,CACJ,eAAAiB,CACF,CACF,CAAC,CACH,CACF",
6
- "names": ["CommandResultFactory", "isSuccessCommandResult", "BackupStorageCommand", "GetAppStorageInfoCommand", "bufferToHexaString", "BackupAppStorageTask", "args", "api", "logger", "appName", "getAppStorageInfo", "storageSize", "offset", "appStorageDataBytes", "backupStorage", "chunkData", "chunkSize", "appStorageData"]
4
+ "sourcesContent": ["import {\n type CommandErrorResult,\n isSuccessCommandResult,\n} from \"@api/command/model/CommandResult\";\nimport {\n BackupStorageCommand,\n type BackupStorageCommandErrorCodes,\n} from \"@api/command/os/BackupStorageCommand\";\nimport {\n GetAppStorageInfoCommand,\n type GetAppStorageInfoCommandErrorCodes,\n} from \"@api/command/os/GetAppStorageInfoCommand\";\nimport { type InternalApi } from \"@api/device-action/DeviceAction\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { type DmkResult, DmkResultFactory } from \"@api/model/DmkResult\";\nimport { bufferToHexaString, type HexaString } from \"@api/utils/HexaString\";\n\nexport type BackupAppStorageTaskArgs = {\n appName: string;\n};\n\nexport type BackupAppStorageTaskResponse = {\n appStorageData: HexaString;\n};\n\nexport type BackupAppStorageTaskErrorCodes =\n | GetAppStorageInfoCommandErrorCodes\n | BackupStorageCommandErrorCodes;\n\nexport type BackupAppStorageTaskError =\n | CommandErrorResult<GetAppStorageInfoCommandErrorCodes>[\"error\"]\n | CommandErrorResult<BackupStorageCommandErrorCodes>[\"error\"];\n\nexport class BackupAppStorageTask {\n constructor(\n private readonly args: BackupAppStorageTaskArgs,\n private readonly api: InternalApi,\n private readonly logger: LoggerPublisherService,\n ) {}\n\n public async run(): Promise<\n DmkResult<BackupAppStorageTaskResponse, BackupAppStorageTaskError>\n > {\n this.logger.debug(\"[run] Starting BackupAppStorageTask\", {\n data: {\n appName: this.args.appName,\n },\n });\n\n const { appName } = this.args;\n\n const getAppStorageInfo = await this.api.sendCommand(\n new GetAppStorageInfoCommand({\n appName,\n }),\n );\n\n if (!isSuccessCommandResult(getAppStorageInfo)) {\n this.logger.debug(\"[run] Failed to get app storage info\", {\n data: { error: getAppStorageInfo.error },\n });\n return DmkResultFactory({\n error: getAppStorageInfo.error,\n });\n }\n\n const { storageSize } = getAppStorageInfo.data;\n let offset = 0;\n let appStorageDataBytes = new Uint8Array(0);\n\n while (offset < storageSize) {\n const backupStorage = await this.api.sendCommand(\n new BackupStorageCommand(),\n );\n if (!isSuccessCommandResult(backupStorage)) {\n this.logger.debug(\"[run] Failed to backup app storage\", {\n data: { error: backupStorage.error },\n });\n return DmkResultFactory({\n error: backupStorage.error,\n });\n }\n\n const { chunkData, chunkSize } = backupStorage.data;\n appStorageDataBytes = Uint8Array.from([\n ...appStorageDataBytes,\n ...chunkData,\n ]);\n offset += chunkSize;\n }\n\n const appStorageData = bufferToHexaString(appStorageDataBytes);\n this.logger.debug(\"[run] App storage data backed up successfully\", {\n data: {\n appStorageData,\n },\n });\n\n return DmkResultFactory({\n data: {\n appStorageData,\n },\n });\n }\n}\n"],
5
+ "mappings": "AAAA,OAEE,0BAAAA,MACK,mCACP,OACE,wBAAAC,MAEK,uCACP,OACE,4BAAAC,MAEK,2CAGP,OAAyB,oBAAAC,MAAwB,uBACjD,OAAS,sBAAAC,MAA2C,wBAkB7C,MAAMC,CAAqB,CAChC,YACmBC,EACAC,EACAC,EACjB,CAHiB,UAAAF,EACA,SAAAC,EACA,YAAAC,CAChB,CAEH,MAAa,KAEX,CACA,KAAK,OAAO,MAAM,sCAAuC,CACvD,KAAM,CACJ,QAAS,KAAK,KAAK,OACrB,CACF,CAAC,EAED,KAAM,CAAE,QAAAC,CAAQ,EAAI,KAAK,KAEnBC,EAAoB,MAAM,KAAK,IAAI,YACvC,IAAIR,EAAyB,CAC3B,QAAAO,CACF,CAAC,CACH,EAEA,GAAI,CAACT,EAAuBU,CAAiB,EAC3C,YAAK,OAAO,MAAM,uCAAwC,CACxD,KAAM,CAAE,MAAOA,EAAkB,KAAM,CACzC,CAAC,EACMP,EAAiB,CACtB,MAAOO,EAAkB,KAC3B,CAAC,EAGH,KAAM,CAAE,YAAAC,CAAY,EAAID,EAAkB,KAC1C,IAAIE,EAAS,EACTC,EAAsB,IAAI,WAAW,CAAC,EAE1C,KAAOD,EAASD,GAAa,CAC3B,MAAMG,EAAgB,MAAM,KAAK,IAAI,YACnC,IAAIb,CACN,EACA,GAAI,CAACD,EAAuBc,CAAa,EACvC,YAAK,OAAO,MAAM,qCAAsC,CACtD,KAAM,CAAE,MAAOA,EAAc,KAAM,CACrC,CAAC,EACMX,EAAiB,CACtB,MAAOW,EAAc,KACvB,CAAC,EAGH,KAAM,CAAE,UAAAC,EAAW,UAAAC,CAAU,EAAIF,EAAc,KAC/CD,EAAsB,WAAW,KAAK,CACpC,GAAGA,EACH,GAAGE,CACL,CAAC,EACDH,GAAUI,CACZ,CAEA,MAAMC,EAAiBb,EAAmBS,CAAmB,EAC7D,YAAK,OAAO,MAAM,gDAAiD,CACjE,KAAM,CACJ,eAAAI,CACF,CACF,CAAC,EAEMd,EAAiB,CACtB,KAAM,CACJ,eAAAc,CACF,CACF,CAAC,CACH,CACF",
6
+ "names": ["isSuccessCommandResult", "BackupStorageCommand", "GetAppStorageInfoCommand", "DmkResultFactory", "bufferToHexaString", "BackupAppStorageTask", "args", "api", "logger", "appName", "getAppStorageInfo", "storageSize", "offset", "appStorageDataBytes", "backupStorage", "chunkData", "chunkSize", "appStorageData"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{BackupStorageCommandError as c}from"../../command/os/BackupStorageCommand";import{GetAppStorageInfoCommandError as u}from"../../command/os/GetAppStorageInfoCommand";import{BackupAppStorageTask as n}from"../../device-action/task/BackupAppStorageTask";import{CommandResultFactory as a,isSuccessCommandResult as p}from"../../index";describe("BackupAppStorageTask",()=>{let o,t;const s=vi.fn();beforeEach(()=>{vi.clearAllMocks(),o={sendCommand:s},t={debug:vi.fn()}}),describe("Success",()=>{it("should backup app storage data successfully",async()=>{const r=new n({appName:"MyApp"},o,t);s.mockResolvedValueOnce(a({data:{storageSize:15}})).mockResolvedValueOnce(a({data:{chunkData:new Uint8Array([1,35,69,103,137]),chunkSize:5}})).mockResolvedValueOnce(a({data:{chunkData:new Uint8Array([10,11,12,13,14]),chunkSize:5}})).mockResolvedValueOnce(a({data:{chunkData:new Uint8Array([15,16,17,18,19]),chunkSize:5}}));const e=await r.run();expect(p(e)).toBe(!0),expect(e.data.appStorageData).toBe("0x01234567890a0b0c0d0e0f10111213")})}),describe("Error",()=>{it("should return error when getting app storage info fails",async()=>{const r=new n({appName:"MyApp"},o,t);s.mockResolvedValueOnce(a({error:new u({message:"Application not found.",errorCode:"5123"})}));const e=await r.run();expect(e.status).toBe("ERROR")}),it("should return error when backing up app storage data fails",async()=>{const r=new n({appName:"MyApp"},o,t);s.mockResolvedValueOnce(a({data:{storageSize:100}})).mockResolvedValueOnce(a({error:new c({message:"Failed to backup app storage data.",errorCode:"541c"})}));const e=await r.run();expect(p(e)).toBe(!1),expect(e.error).toBeInstanceOf(c),expect(e.error.message).toBe("Failed to backup app storage data.")})})});
1
+ import{BackupStorageCommandError as c}from"../../command/os/BackupStorageCommand";import{GetAppStorageInfoCommandError as p}from"../../command/os/GetAppStorageInfoCommand";import{BackupAppStorageTask as n}from"../../device-action/task/BackupAppStorageTask";import{CommandResultFactory as a,DmkResultFactory as i,isSuccessDmkResult as u}from"../../index";describe("BackupAppStorageTask",()=>{let o,t;const s=vi.fn();beforeEach(()=>{vi.clearAllMocks(),o={sendCommand:s},t={debug:vi.fn()}}),describe("Success",()=>{it("should backup app storage data successfully",async()=>{const r=new n({appName:"MyApp"},o,t);s.mockResolvedValueOnce(a({data:{storageSize:15}})).mockResolvedValueOnce(a({data:{chunkData:new Uint8Array([1,35,69,103,137]),chunkSize:5}})).mockResolvedValueOnce(a({data:{chunkData:new Uint8Array([10,11,12,13,14]),chunkSize:5}})).mockResolvedValueOnce(a({data:{chunkData:new Uint8Array([15,16,17,18,19]),chunkSize:5}}));const e=await r.run();expect(u(e)).toBe(!0),expect(e.data.appStorageData).toBe("0x01234567890a0b0c0d0e0f10111213")})}),describe("Error",()=>{it("should return error when getting app storage info fails",async()=>{const r=new n({appName:"MyApp"},o,t);s.mockResolvedValueOnce(a({error:new p({message:"Application not found.",errorCode:"5123"})}));const e=await r.run();expect(e).toStrictEqual(i({error:new p({message:"Application not found.",errorCode:"5123"})}))}),it("should return error when backing up app storage data fails",async()=>{const r=new n({appName:"MyApp"},o,t);s.mockResolvedValueOnce(a({data:{storageSize:100}})).mockResolvedValueOnce(a({error:new c({message:"Failed to backup app storage data.",errorCode:"541c"})}));const e=await r.run();expect(u(e)).toBe(!1),expect(e.error).toBeInstanceOf(c),expect(e.error.message).toBe("Failed to backup app storage data.")})})});
2
2
  //# sourceMappingURL=BackupAppStorageTask.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/api/device-action/task/BackupAppStorageTask.test.ts"],
4
- "sourcesContent": ["import { BackupStorageCommandError } from \"@api/command/os/BackupStorageCommand\";\nimport { GetAppStorageInfoCommandError } from \"@api/command/os/GetAppStorageInfoCommand\";\nimport { type InternalApi } from \"@api/device-action/DeviceAction\";\nimport {\n BackupAppStorageTask,\n type BackupAppStorageTaskResponse,\n} from \"@api/device-action/task/BackupAppStorageTask\";\nimport { CommandResultFactory, isSuccessCommandResult } from \"@api/index\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\n\ndescribe(\"BackupAppStorageTask\", () => {\n let api: InternalApi;\n let logger: LoggerPublisherService;\n const sendCommand = vi.fn();\n\n beforeEach(() => {\n vi.clearAllMocks();\n api = {\n sendCommand,\n } as unknown as InternalApi;\n logger = {\n debug: vi.fn(),\n } as unknown as LoggerPublisherService;\n });\n\n describe(\"Success\", () => {\n it(\"should backup app storage data successfully\", async () => {\n // ARRANGE\n const task = new BackupAppStorageTask(\n {\n appName: \"MyApp\",\n },\n api,\n logger,\n );\n\n sendCommand\n .mockResolvedValueOnce(\n CommandResultFactory({ data: { storageSize: 15 } }),\n )\n .mockResolvedValueOnce(\n CommandResultFactory({\n data: {\n chunkData: new Uint8Array([0x01, 0x23, 0x45, 0x67, 0x89]),\n chunkSize: 5,\n },\n }),\n )\n .mockResolvedValueOnce(\n CommandResultFactory({\n data: {\n chunkData: new Uint8Array([0x0a, 0x0b, 0x0c, 0x0d, 0x0e]),\n chunkSize: 5,\n },\n }),\n )\n .mockResolvedValueOnce(\n CommandResultFactory({\n data: {\n chunkData: new Uint8Array([0x0f, 0x10, 0x11, 0x12, 0x13]),\n chunkSize: 5,\n },\n }),\n );\n\n // ACT\n const result = await task.run();\n\n // ASSERT\n expect(isSuccessCommandResult(result)).toBe(true);\n expect(\n (result as { data: BackupAppStorageTaskResponse }).data.appStorageData,\n ).toBe(\"0x01234567890a0b0c0d0e0f10111213\");\n });\n });\n\n describe(\"Error\", () => {\n it(\"should return error when getting app storage info fails\", async () => {\n // ARRANGE\n const task = new BackupAppStorageTask(\n {\n appName: \"MyApp\",\n },\n api,\n logger,\n );\n\n sendCommand.mockResolvedValueOnce(\n CommandResultFactory({\n error: new GetAppStorageInfoCommandError({\n message: \"Application not found.\",\n errorCode: \"5123\",\n }),\n }),\n );\n\n // ACT\n const result = await task.run();\n\n // ASSERT\n expect(result.status).toBe(\"ERROR\");\n });\n\n it(\"should return error when backing up app storage data fails\", async () => {\n // ARRANGE\n const task = new BackupAppStorageTask(\n {\n appName: \"MyApp\",\n },\n api,\n logger,\n );\n\n sendCommand\n .mockResolvedValueOnce(\n CommandResultFactory({ data: { storageSize: 100 } }),\n )\n .mockResolvedValueOnce(\n CommandResultFactory({\n error: new BackupStorageCommandError({\n message: \"Failed to backup app storage data.\",\n errorCode: \"541c\",\n }),\n }),\n );\n\n // ACT\n const result = await task.run();\n\n // ASSERT\n expect(isSuccessCommandResult(result)).toBe(false);\n expect(\n (result as { error: BackupStorageCommandError }).error,\n ).toBeInstanceOf(BackupStorageCommandError);\n expect(\n (result as { error: BackupStorageCommandError }).error.message,\n ).toBe(\"Failed to backup app storage data.\");\n });\n });\n});\n"],
5
- "mappings": "AAAA,OAAS,6BAAAA,MAAiC,uCAC1C,OAAS,iCAAAC,MAAqC,2CAE9C,OACE,wBAAAC,MAEK,+CACP,OAAS,wBAAAC,EAAsB,0BAAAC,MAA8B,aAG7D,SAAS,uBAAwB,IAAM,CACrC,IAAIC,EACAC,EACJ,MAAMC,EAAc,GAAG,GAAG,EAE1B,WAAW,IAAM,CACf,GAAG,cAAc,EACjBF,EAAM,CACJ,YAAAE,CACF,EACAD,EAAS,CACP,MAAO,GAAG,GAAG,CACf,CACF,CAAC,EAED,SAAS,UAAW,IAAM,CACxB,GAAG,8CAA+C,SAAY,CAE5D,MAAME,EAAO,IAAIN,EACf,CACE,QAAS,OACX,EACAG,EACAC,CACF,EAEAC,EACG,sBACCJ,EAAqB,CAAE,KAAM,CAAE,YAAa,EAAG,CAAE,CAAC,CACpD,EACC,sBACCA,EAAqB,CACnB,KAAM,CACJ,UAAW,IAAI,WAAW,CAAC,EAAM,GAAM,GAAM,IAAM,GAAI,CAAC,EACxD,UAAW,CACb,CACF,CAAC,CACH,EACC,sBACCA,EAAqB,CACnB,KAAM,CACJ,UAAW,IAAI,WAAW,CAAC,GAAM,GAAM,GAAM,GAAM,EAAI,CAAC,EACxD,UAAW,CACb,CACF,CAAC,CACH,EACC,sBACCA,EAAqB,CACnB,KAAM,CACJ,UAAW,IAAI,WAAW,CAAC,GAAM,GAAM,GAAM,GAAM,EAAI,CAAC,EACxD,UAAW,CACb,CACF,CAAC,CACH,EAGF,MAAMM,EAAS,MAAMD,EAAK,IAAI,EAG9B,OAAOJ,EAAuBK,CAAM,CAAC,EAAE,KAAK,EAAI,EAChD,OACGA,EAAkD,KAAK,cAC1D,EAAE,KAAK,kCAAkC,CAC3C,CAAC,CACH,CAAC,EAED,SAAS,QAAS,IAAM,CACtB,GAAG,0DAA2D,SAAY,CAExE,MAAMD,EAAO,IAAIN,EACf,CACE,QAAS,OACX,EACAG,EACAC,CACF,EAEAC,EAAY,sBACVJ,EAAqB,CACnB,MAAO,IAAIF,EAA8B,CACvC,QAAS,yBACT,UAAW,MACb,CAAC,CACH,CAAC,CACH,EAGA,MAAMQ,EAAS,MAAMD,EAAK,IAAI,EAG9B,OAAOC,EAAO,MAAM,EAAE,KAAK,OAAO,CACpC,CAAC,EAED,GAAG,6DAA8D,SAAY,CAE3E,MAAMD,EAAO,IAAIN,EACf,CACE,QAAS,OACX,EACAG,EACAC,CACF,EAEAC,EACG,sBACCJ,EAAqB,CAAE,KAAM,CAAE,YAAa,GAAI,CAAE,CAAC,CACrD,EACC,sBACCA,EAAqB,CACnB,MAAO,IAAIH,EAA0B,CACnC,QAAS,qCACT,UAAW,MACb,CAAC,CACH,CAAC,CACH,EAGF,MAAMS,EAAS,MAAMD,EAAK,IAAI,EAG9B,OAAOJ,EAAuBK,CAAM,CAAC,EAAE,KAAK,EAAK,EACjD,OACGA,EAAgD,KACnD,EAAE,eAAeT,CAAyB,EAC1C,OACGS,EAAgD,MAAM,OACzD,EAAE,KAAK,oCAAoC,CAC7C,CAAC,CACH,CAAC,CACH,CAAC",
6
- "names": ["BackupStorageCommandError", "GetAppStorageInfoCommandError", "BackupAppStorageTask", "CommandResultFactory", "isSuccessCommandResult", "api", "logger", "sendCommand", "task", "result"]
4
+ "sourcesContent": ["import { BackupStorageCommandError } from \"@api/command/os/BackupStorageCommand\";\nimport { GetAppStorageInfoCommandError } from \"@api/command/os/GetAppStorageInfoCommand\";\nimport { type InternalApi } from \"@api/device-action/DeviceAction\";\nimport {\n BackupAppStorageTask,\n type BackupAppStorageTaskResponse,\n} from \"@api/device-action/task/BackupAppStorageTask\";\nimport {\n CommandResultFactory,\n DmkResultFactory,\n isSuccessDmkResult,\n} from \"@api/index\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\n\ndescribe(\"BackupAppStorageTask\", () => {\n let api: InternalApi;\n let logger: LoggerPublisherService;\n const sendCommand = vi.fn();\n\n beforeEach(() => {\n vi.clearAllMocks();\n api = {\n sendCommand,\n } as unknown as InternalApi;\n logger = {\n debug: vi.fn(),\n } as unknown as LoggerPublisherService;\n });\n\n describe(\"Success\", () => {\n it(\"should backup app storage data successfully\", async () => {\n // ARRANGE\n const task = new BackupAppStorageTask(\n {\n appName: \"MyApp\",\n },\n api,\n logger,\n );\n\n sendCommand\n .mockResolvedValueOnce(\n CommandResultFactory({ data: { storageSize: 15 } }),\n )\n .mockResolvedValueOnce(\n CommandResultFactory({\n data: {\n chunkData: new Uint8Array([0x01, 0x23, 0x45, 0x67, 0x89]),\n chunkSize: 5,\n },\n }),\n )\n .mockResolvedValueOnce(\n CommandResultFactory({\n data: {\n chunkData: new Uint8Array([0x0a, 0x0b, 0x0c, 0x0d, 0x0e]),\n chunkSize: 5,\n },\n }),\n )\n .mockResolvedValueOnce(\n CommandResultFactory({\n data: {\n chunkData: new Uint8Array([0x0f, 0x10, 0x11, 0x12, 0x13]),\n chunkSize: 5,\n },\n }),\n );\n\n // ACT\n const result = await task.run();\n\n // ASSERT\n expect(isSuccessDmkResult(result)).toBe(true);\n expect(\n (result as { data: BackupAppStorageTaskResponse }).data.appStorageData,\n ).toBe(\"0x01234567890a0b0c0d0e0f10111213\");\n });\n });\n\n describe(\"Error\", () => {\n it(\"should return error when getting app storage info fails\", async () => {\n // ARRANGE\n const task = new BackupAppStorageTask(\n {\n appName: \"MyApp\",\n },\n api,\n logger,\n );\n\n sendCommand.mockResolvedValueOnce(\n CommandResultFactory({\n error: new GetAppStorageInfoCommandError({\n message: \"Application not found.\",\n errorCode: \"5123\",\n }),\n }),\n );\n\n // ACT\n const result = await task.run();\n\n // ASSERT\n expect(result).toStrictEqual(\n DmkResultFactory({\n error: new GetAppStorageInfoCommandError({\n message: \"Application not found.\",\n errorCode: \"5123\",\n }),\n }),\n );\n });\n\n it(\"should return error when backing up app storage data fails\", async () => {\n // ARRANGE\n const task = new BackupAppStorageTask(\n {\n appName: \"MyApp\",\n },\n api,\n logger,\n );\n\n sendCommand\n .mockResolvedValueOnce(\n CommandResultFactory({ data: { storageSize: 100 } }),\n )\n .mockResolvedValueOnce(\n CommandResultFactory({\n error: new BackupStorageCommandError({\n message: \"Failed to backup app storage data.\",\n errorCode: \"541c\",\n }),\n }),\n );\n\n // ACT\n const result = await task.run();\n\n // ASSERT\n expect(isSuccessDmkResult(result)).toBe(false);\n expect(\n (result as { error: BackupStorageCommandError }).error,\n ).toBeInstanceOf(BackupStorageCommandError);\n expect(\n (result as { error: BackupStorageCommandError }).error.message,\n ).toBe(\"Failed to backup app storage data.\");\n });\n });\n});\n"],
5
+ "mappings": "AAAA,OAAS,6BAAAA,MAAiC,uCAC1C,OAAS,iCAAAC,MAAqC,2CAE9C,OACE,wBAAAC,MAEK,+CACP,OACE,wBAAAC,EACA,oBAAAC,EACA,sBAAAC,MACK,aAGP,SAAS,uBAAwB,IAAM,CACrC,IAAIC,EACAC,EACJ,MAAMC,EAAc,GAAG,GAAG,EAE1B,WAAW,IAAM,CACf,GAAG,cAAc,EACjBF,EAAM,CACJ,YAAAE,CACF,EACAD,EAAS,CACP,MAAO,GAAG,GAAG,CACf,CACF,CAAC,EAED,SAAS,UAAW,IAAM,CACxB,GAAG,8CAA+C,SAAY,CAE5D,MAAME,EAAO,IAAIP,EACf,CACE,QAAS,OACX,EACAI,EACAC,CACF,EAEAC,EACG,sBACCL,EAAqB,CAAE,KAAM,CAAE,YAAa,EAAG,CAAE,CAAC,CACpD,EACC,sBACCA,EAAqB,CACnB,KAAM,CACJ,UAAW,IAAI,WAAW,CAAC,EAAM,GAAM,GAAM,IAAM,GAAI,CAAC,EACxD,UAAW,CACb,CACF,CAAC,CACH,EACC,sBACCA,EAAqB,CACnB,KAAM,CACJ,UAAW,IAAI,WAAW,CAAC,GAAM,GAAM,GAAM,GAAM,EAAI,CAAC,EACxD,UAAW,CACb,CACF,CAAC,CACH,EACC,sBACCA,EAAqB,CACnB,KAAM,CACJ,UAAW,IAAI,WAAW,CAAC,GAAM,GAAM,GAAM,GAAM,EAAI,CAAC,EACxD,UAAW,CACb,CACF,CAAC,CACH,EAGF,MAAMO,EAAS,MAAMD,EAAK,IAAI,EAG9B,OAAOJ,EAAmBK,CAAM,CAAC,EAAE,KAAK,EAAI,EAC5C,OACGA,EAAkD,KAAK,cAC1D,EAAE,KAAK,kCAAkC,CAC3C,CAAC,CACH,CAAC,EAED,SAAS,QAAS,IAAM,CACtB,GAAG,0DAA2D,SAAY,CAExE,MAAMD,EAAO,IAAIP,EACf,CACE,QAAS,OACX,EACAI,EACAC,CACF,EAEAC,EAAY,sBACVL,EAAqB,CACnB,MAAO,IAAIF,EAA8B,CACvC,QAAS,yBACT,UAAW,MACb,CAAC,CACH,CAAC,CACH,EAGA,MAAMS,EAAS,MAAMD,EAAK,IAAI,EAG9B,OAAOC,CAAM,EAAE,cACbN,EAAiB,CACf,MAAO,IAAIH,EAA8B,CACvC,QAAS,yBACT,UAAW,MACb,CAAC,CACH,CAAC,CACH,CACF,CAAC,EAED,GAAG,6DAA8D,SAAY,CAE3E,MAAMQ,EAAO,IAAIP,EACf,CACE,QAAS,OACX,EACAI,EACAC,CACF,EAEAC,EACG,sBACCL,EAAqB,CAAE,KAAM,CAAE,YAAa,GAAI,CAAE,CAAC,CACrD,EACC,sBACCA,EAAqB,CACnB,MAAO,IAAIH,EAA0B,CACnC,QAAS,qCACT,UAAW,MACb,CAAC,CACH,CAAC,CACH,EAGF,MAAMU,EAAS,MAAMD,EAAK,IAAI,EAG9B,OAAOJ,EAAmBK,CAAM,CAAC,EAAE,KAAK,EAAK,EAC7C,OACGA,EAAgD,KACnD,EAAE,eAAeV,CAAyB,EAC1C,OACGU,EAAgD,MAAM,OACzD,EAAE,KAAK,oCAAoC,CAC7C,CAAC,CACH,CAAC,CACH,CAAC",
6
+ "names": ["BackupStorageCommandError", "GetAppStorageInfoCommandError", "BackupAppStorageTask", "CommandResultFactory", "DmkResultFactory", "isSuccessDmkResult", "api", "logger", "sendCommand", "task", "result"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ class o{_tag="InvalidGetFirmwareMetadataResponseError";originalError;constructor(r){this.originalError=new Error(r??"Invalid Firmware Metadata response error.")}}class t{_tag="GetApplicationsMetadataTaskError";originalError;constructor(r){this.originalError=new Error(r??"Failed to get applications metadata.")}}export{t as GetApplicationsMetadataTaskError,o as InvalidGetFirmwareMetadataResponseError};
2
+ //# sourceMappingURL=Errors.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/api/device-action/task/Errors.ts"],
4
+ "sourcesContent": ["import { type DmkError } from \"@api/Error\";\n\nexport class InvalidGetFirmwareMetadataResponseError implements DmkError {\n readonly _tag = \"InvalidGetFirmwareMetadataResponseError\";\n readonly originalError: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(\n message ?? \"Invalid Firmware Metadata response error.\",\n );\n }\n}\n\nexport class GetApplicationsMetadataTaskError implements DmkError {\n readonly _tag = \"GetApplicationsMetadataTaskError\";\n readonly originalError: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(\n message ?? \"Failed to get applications metadata.\",\n );\n }\n}\n"],
5
+ "mappings": "AAEO,MAAMA,CAA4D,CAC9D,KAAO,0CACP,cAET,YAAYC,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MACvBA,GAAW,2CACb,CACF,CACF,CAEO,MAAMC,CAAqD,CACvD,KAAO,mCACP,cAET,YAAYD,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MACvBA,GAAW,sCACb,CACF,CACF",
6
+ "names": ["InvalidGetFirmwareMetadataResponseError", "message", "GetApplicationsMetadataTaskError"]
7
+ }
@@ -1,2 +1,2 @@
1
- import{gt as v}from"semver";import{InvalidStatusWordError as m}from"../../command/Errors";import{CommandResultFactory as p,isSuccessCommandResult as y}from"../../command/model/CommandResult";import{ListLanguagePackCommand as C}from"../../command/os/ListLanguagePackCommand";const w="0000000000000000000000000000000000000000000000000000000000000000";class M{constructor(e,n){this.api=e;this.args=n}async run(){const e=this.args.installedApps.filter(a=>this.isApplication(a)),n=this.api.getManagerApiService(),u=e.map(a=>a.hash),l=await n.getAppsByHash(u).chain(a=>n.getAppList(this.args.firmwareVersion.metadata).map(t=>({applications:a,catalog:t})));if(l.isLeft())return p({error:new m("Cannot get the application catalog")});const{applications:c,catalog:s}=l.unsafeCoerce(),A=c.reduce((a,t,i)=>{if(t!==null)return[...a,t];const o=e[i],d=s.find(h=>h.versionName===o.name);return d?[...a,d]:a},[]),f=c.filter(a=>a!==null).reduce((a,t)=>{const i=s.find(o=>o.versionName===t.versionName);return i&&v(i.version,t.version)?[...a,i]:a},[]);let r=[];for(let a=0;;a++){const t=await this.api.sendCommand(new C({firstChunk:a===0}));if(!y(t)||t.data===void 0)break;r=[...r,t.data]}const g=await n.getLanguagePackages(this.args.deviceVersion,this.args.firmware);return g.isRight()?p({data:{applications:A,applicationsUpdates:f,installedLanguages:r,catalog:{applications:s,languagePackages:g.extract()}}}):p({error:new m("Cannot get the languages catalog")})}isApplication(e){return e.hashCode!==w}}export{M as GetApplicationsMetadataTask};
1
+ import{gt as k}from"semver";import{isSuccessCommandResult as y}from"../../command/model/CommandResult";import{ListLanguagePackCommand as v}from"../../command/os/ListLanguagePackCommand";import{GetApplicationsMetadataTaskError as m}from"../../device-action/task/Errors";import{DmkResultFactory as p}from"../../model/DmkResult";const w="0000000000000000000000000000000000000000000000000000000000000000";class V{constructor(e,s){this.api=e;this.args=s}async run(){const e=this.args.installedApps.filter(a=>this.isApplication(a)),s=this.api.getManagerApiService(),u=e.map(a=>a.hash),l=await s.getAppsByHash(u).chain(a=>s.getAppList(this.args.firmwareVersion.metadata).map(t=>({applications:a,catalog:t})));if(l.isLeft())return p({error:new m("Cannot get the application catalog")});const{applications:c,catalog:n}=l.unsafeCoerce(),A=c.reduce((a,t,i)=>{if(t!==null)return[...a,t];const o=e[i],d=n.find(h=>h.versionName===o.name);return d?[...a,d]:a},[]),f=c.filter(a=>a!==null).reduce((a,t)=>{const i=n.find(o=>o.versionName===t.versionName);return i&&k(i.version,t.version)?[...a,i]:a},[]);let r=[];for(let a=0;;a++){const t=await this.api.sendCommand(new v({firstChunk:a===0}));if(!y(t)||t.data===void 0)break;r=[...r,t.data]}const g=await s.getLanguagePackages(this.args.deviceVersion,this.args.firmware);return g.isRight()?p({data:{applications:A,applicationsUpdates:f,installedLanguages:r,catalog:{applications:n,languagePackages:g.extract()}}}):p({error:new m("Cannot get the languages catalog")})}isApplication(e){return e.hashCode!==w}}export{V as GetApplicationsMetadataTask};
2
2
  //# sourceMappingURL=GetApplicationsMetadataTask.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/api/device-action/task/GetApplicationsMetadataTask.ts"],
4
- "sourcesContent": ["import { gt } from \"semver\";\n\nimport { InvalidStatusWordError } from \"@api/command/Errors\";\nimport {\n type CommandResult,\n CommandResultFactory,\n isSuccessCommandResult,\n} from \"@api/command/model/CommandResult\";\nimport { ListLanguagePackCommand } from \"@api/command/os/ListLanguagePackCommand\";\nimport type { InternalApi } from \"@api/device-action/DeviceAction\";\nimport {\n type Catalog,\n type FirmwareVersion,\n type InstalledLanguagePackage,\n} from \"@api/device-session/DeviceSessionState\";\nimport { type Application } from \"@internal/manager-api/model/Application\";\nimport { type DeviceVersion } from \"@internal/manager-api/model/Device\";\nimport { type FinalFirmware } from \"@internal/manager-api/model/Firmware\";\n\nexport type InstalledApp = {\n hash: string;\n hashCode: string;\n name: string;\n};\n\nexport type GetApplicationsMetadataTaskArgs = {\n deviceVersion: DeviceVersion;\n firmware: FinalFirmware;\n firmwareVersion: FirmwareVersion;\n installedApps: InstalledApp[];\n};\n\nexport type GetApplicationsMetadataTaskResult = CommandResult<{\n applications: Application[];\n applicationsUpdates: Application[];\n installedLanguages: InstalledLanguagePackage[];\n catalog: Catalog;\n}>;\n\nconst ZERO_HASH =\n \"0000000000000000000000000000000000000000000000000000000000000000\";\n\nexport class GetApplicationsMetadataTask {\n constructor(\n private readonly api: InternalApi,\n private readonly args: GetApplicationsMetadataTaskArgs,\n ) {}\n\n async run(): Promise<GetApplicationsMetadataTaskResult> {\n // Get applications metadata\n const installedApps = this.args.installedApps.filter((app) =>\n this.isApplication(app),\n );\n const manager = this.api.getManagerApiService();\n const appHashes = installedApps.map((app) => app.hash);\n const result = await manager\n .getAppsByHash(appHashes)\n .chain((applications) =>\n manager\n .getAppList(this.args.firmwareVersion.metadata!)\n .map((catalog) => ({ applications, catalog })),\n );\n if (result.isLeft()) {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Cannot get the application catalog\"),\n });\n }\n const { applications, catalog } = result.unsafeCoerce();\n\n // Complete applications metadata using the catalog if needed\n const appsWithMetadata = applications.reduce((apps, app, index) => {\n if (app !== null) {\n // Is the app hash was found in app store, append its metadata\n return [...apps, app];\n }\n // For apps with non-deterministic hash (ie. Security Key, sideloaded app, ...),\n // use metadata of latest version from the catalog\n const installedApp = installedApps[index]!;\n const catalogApp = catalog.find(\n (c) => c.versionName === installedApp.name,\n );\n return catalogApp ? [...apps, catalogApp] : apps;\n }, [] as Application[]);\n\n // Filter apps metadata and catalog\n const filteredApps = applications.filter((app) => app !== null);\n const filteredCatalog = filteredApps.reduce((apps, app) => {\n const catalogApp = catalog.find((c) => c.versionName === app.versionName);\n if (catalogApp && gt(catalogApp.version, app.version)) {\n return [...apps, catalogApp];\n }\n return apps;\n }, [] as Application[]);\n\n // Get install language packages\n let installedLanguages: InstalledLanguagePackage[] = [];\n for (let i = 0; ; i++) {\n const language = await this.api.sendCommand(\n new ListLanguagePackCommand({ firstChunk: i === 0 }),\n );\n if (!isSuccessCommandResult(language) || language.data === undefined) {\n break;\n }\n installedLanguages = [...installedLanguages, language.data];\n }\n\n // Get all the available language packs for the device\n const languages = await manager.getLanguagePackages(\n this.args.deviceVersion,\n this.args.firmware,\n );\n if (languages.isRight()) {\n // Return the application metadata\n return CommandResultFactory({\n data: {\n applications: appsWithMetadata,\n applicationsUpdates: filteredCatalog,\n installedLanguages,\n catalog: {\n applications: catalog,\n languagePackages: languages.extract(),\n },\n },\n });\n } else {\n return CommandResultFactory({\n error: new InvalidStatusWordError(\"Cannot get the languages catalog\"),\n });\n }\n }\n\n private isApplication(app: InstalledApp): boolean {\n // Applications with no \"code\" hash are not real applications\n // (typically a language package).\n return app.hashCode !== ZERO_HASH;\n }\n}\n"],
5
- "mappings": "AAAA,OAAS,MAAAA,MAAU,SAEnB,OAAS,0BAAAC,MAA8B,sBACvC,OAEE,wBAAAC,EACA,0BAAAC,MACK,mCACP,OAAS,2BAAAC,MAA+B,0CA+BxC,MAAMC,EACJ,mEAEK,MAAMC,CAA4B,CACvC,YACmBC,EACAC,EACjB,CAFiB,SAAAD,EACA,UAAAC,CAChB,CAEH,MAAM,KAAkD,CAEtD,MAAMC,EAAgB,KAAK,KAAK,cAAc,OAAQC,GACpD,KAAK,cAAcA,CAAG,CACxB,EACMC,EAAU,KAAK,IAAI,qBAAqB,EACxCC,EAAYH,EAAc,IAAKC,GAAQA,EAAI,IAAI,EAC/CG,EAAS,MAAMF,EAClB,cAAcC,CAAS,EACvB,MAAOE,GACNH,EACG,WAAW,KAAK,KAAK,gBAAgB,QAAS,EAC9C,IAAKI,IAAa,CAAE,aAAAD,EAAc,QAAAC,CAAQ,EAAE,CACjD,EACF,GAAIF,EAAO,OAAO,EAChB,OAAOX,EAAqB,CAC1B,MAAO,IAAID,EAAuB,oCAAoC,CACxE,CAAC,EAEH,KAAM,CAAE,aAAAa,EAAc,QAAAC,CAAQ,EAAIF,EAAO,aAAa,EAGhDG,EAAmBF,EAAa,OAAO,CAACG,EAAMP,EAAKQ,IAAU,CACjE,GAAIR,IAAQ,KAEV,MAAO,CAAC,GAAGO,EAAMP,CAAG,EAItB,MAAMS,EAAeV,EAAcS,CAAK,EAClCE,EAAaL,EAAQ,KACxBM,GAAMA,EAAE,cAAgBF,EAAa,IACxC,EACA,OAAOC,EAAa,CAAC,GAAGH,EAAMG,CAAU,EAAIH,CAC9C,EAAG,CAAC,CAAkB,EAIhBK,EADeR,EAAa,OAAQJ,GAAQA,IAAQ,IAAI,EACzB,OAAO,CAACO,EAAMP,IAAQ,CACzD,MAAMU,EAAaL,EAAQ,KAAMM,GAAMA,EAAE,cAAgBX,EAAI,WAAW,EACxE,OAAIU,GAAcpB,EAAGoB,EAAW,QAASV,EAAI,OAAO,EAC3C,CAAC,GAAGO,EAAMG,CAAU,EAEtBH,CACT,EAAG,CAAC,CAAkB,EAGtB,IAAIM,EAAiD,CAAC,EACtD,QAASC,EAAI,GAAKA,IAAK,CACrB,MAAMC,EAAW,MAAM,KAAK,IAAI,YAC9B,IAAIrB,EAAwB,CAAE,WAAYoB,IAAM,CAAE,CAAC,CACrD,EACA,GAAI,CAACrB,EAAuBsB,CAAQ,GAAKA,EAAS,OAAS,OACzD,MAEFF,EAAqB,CAAC,GAAGA,EAAoBE,EAAS,IAAI,CAC5D,CAGA,MAAMC,EAAY,MAAMf,EAAQ,oBAC9B,KAAK,KAAK,cACV,KAAK,KAAK,QACZ,EACA,OAAIe,EAAU,QAAQ,EAEbxB,EAAqB,CAC1B,KAAM,CACJ,aAAcc,EACd,oBAAqBM,EACrB,mBAAAC,EACA,QAAS,CACP,aAAcR,EACd,iBAAkBW,EAAU,QAAQ,CACtC,CACF,CACF,CAAC,EAEMxB,EAAqB,CAC1B,MAAO,IAAID,EAAuB,kCAAkC,CACtE,CAAC,CAEL,CAEQ,cAAcS,EAA4B,CAGhD,OAAOA,EAAI,WAAaL,CAC1B,CACF",
6
- "names": ["gt", "InvalidStatusWordError", "CommandResultFactory", "isSuccessCommandResult", "ListLanguagePackCommand", "ZERO_HASH", "GetApplicationsMetadataTask", "api", "args", "installedApps", "app", "manager", "appHashes", "result", "applications", "catalog", "appsWithMetadata", "apps", "index", "installedApp", "catalogApp", "c", "filteredCatalog", "installedLanguages", "i", "language", "languages"]
4
+ "sourcesContent": ["import { gt } from \"semver\";\n\nimport { isSuccessCommandResult } from \"@api/command/model/CommandResult\";\nimport { ListLanguagePackCommand } from \"@api/command/os/ListLanguagePackCommand\";\nimport type { InternalApi } from \"@api/device-action/DeviceAction\";\nimport { GetApplicationsMetadataTaskError } from \"@api/device-action/task/Errors\";\nimport {\n type Catalog,\n type FirmwareVersion,\n type InstalledLanguagePackage,\n} from \"@api/device-session/DeviceSessionState\";\nimport { type DmkResult, DmkResultFactory } from \"@api/model/DmkResult\";\nimport { type Application } from \"@internal/manager-api/model/Application\";\nimport { type DeviceVersion } from \"@internal/manager-api/model/Device\";\nimport { type FinalFirmware } from \"@internal/manager-api/model/Firmware\";\n\nexport type InstalledApp = {\n hash: string;\n hashCode: string;\n name: string;\n};\n\nexport type GetApplicationsMetadataTaskArgs = {\n deviceVersion: DeviceVersion;\n firmware: FinalFirmware;\n firmwareVersion: FirmwareVersion;\n installedApps: InstalledApp[];\n};\n\nexport type GetApplicationsMetadataTaskResponse = {\n applications: Application[];\n applicationsUpdates: Application[];\n installedLanguages: InstalledLanguagePackage[];\n catalog: Catalog;\n};\n\nexport type GetApplicationsMetadataTaskResult = DmkResult<\n GetApplicationsMetadataTaskResponse,\n GetApplicationsMetadataTaskError\n>;\n\nconst ZERO_HASH =\n \"0000000000000000000000000000000000000000000000000000000000000000\";\n\nexport class GetApplicationsMetadataTask {\n constructor(\n private readonly api: InternalApi,\n private readonly args: GetApplicationsMetadataTaskArgs,\n ) {}\n\n async run(): Promise<GetApplicationsMetadataTaskResult> {\n // Get applications metadata\n const installedApps = this.args.installedApps.filter((app) =>\n this.isApplication(app),\n );\n const manager = this.api.getManagerApiService();\n const appHashes = installedApps.map((app) => app.hash);\n const result = await manager\n .getAppsByHash(appHashes)\n .chain((applications) =>\n manager\n .getAppList(this.args.firmwareVersion.metadata!)\n .map((catalog) => ({ applications, catalog })),\n );\n if (result.isLeft()) {\n return DmkResultFactory({\n error: new GetApplicationsMetadataTaskError(\n \"Cannot get the application catalog\",\n ),\n });\n }\n const { applications, catalog } = result.unsafeCoerce();\n\n // Complete applications metadata using the catalog if needed\n const appsWithMetadata = applications.reduce((apps, app, index) => {\n if (app !== null) {\n // Is the app hash was found in app store, append its metadata\n return [...apps, app];\n }\n // For apps with non-deterministic hash (ie. Security Key, sideloaded app, ...),\n // use metadata of latest version from the catalog\n const installedApp = installedApps[index]!;\n const catalogApp = catalog.find(\n (c) => c.versionName === installedApp.name,\n );\n return catalogApp ? [...apps, catalogApp] : apps;\n }, [] as Application[]);\n\n // Filter apps metadata and catalog\n const filteredApps = applications.filter((app) => app !== null);\n const filteredCatalog = filteredApps.reduce((apps, app) => {\n const catalogApp = catalog.find((c) => c.versionName === app.versionName);\n if (catalogApp && gt(catalogApp.version, app.version)) {\n return [...apps, catalogApp];\n }\n return apps;\n }, [] as Application[]);\n\n // Get install language packages\n let installedLanguages: InstalledLanguagePackage[] = [];\n for (let i = 0; ; i++) {\n const language = await this.api.sendCommand(\n new ListLanguagePackCommand({ firstChunk: i === 0 }),\n );\n if (!isSuccessCommandResult(language) || language.data === undefined) {\n break;\n }\n installedLanguages = [...installedLanguages, language.data];\n }\n\n // Get all the available language packs for the device\n const languages = await manager.getLanguagePackages(\n this.args.deviceVersion,\n this.args.firmware,\n );\n if (languages.isRight()) {\n // Return the application metadata\n return DmkResultFactory({\n data: {\n applications: appsWithMetadata,\n applicationsUpdates: filteredCatalog,\n installedLanguages,\n catalog: {\n applications: catalog,\n languagePackages: languages.extract(),\n },\n },\n });\n } else {\n return DmkResultFactory({\n error: new GetApplicationsMetadataTaskError(\n \"Cannot get the languages catalog\",\n ),\n });\n }\n }\n\n private isApplication(app: InstalledApp): boolean {\n // Applications with no \"code\" hash are not real applications\n // (typically a language package).\n return app.hashCode !== ZERO_HASH;\n }\n}\n"],
5
+ "mappings": "AAAA,OAAS,MAAAA,MAAU,SAEnB,OAAS,0BAAAC,MAA8B,mCACvC,OAAS,2BAAAC,MAA+B,0CAExC,OAAS,oCAAAC,MAAwC,iCAMjD,OAAyB,oBAAAC,MAAwB,uBA8BjD,MAAMC,EACJ,mEAEK,MAAMC,CAA4B,CACvC,YACmBC,EACAC,EACjB,CAFiB,SAAAD,EACA,UAAAC,CAChB,CAEH,MAAM,KAAkD,CAEtD,MAAMC,EAAgB,KAAK,KAAK,cAAc,OAAQC,GACpD,KAAK,cAAcA,CAAG,CACxB,EACMC,EAAU,KAAK,IAAI,qBAAqB,EACxCC,EAAYH,EAAc,IAAKC,GAAQA,EAAI,IAAI,EAC/CG,EAAS,MAAMF,EAClB,cAAcC,CAAS,EACvB,MAAOE,GACNH,EACG,WAAW,KAAK,KAAK,gBAAgB,QAAS,EAC9C,IAAKI,IAAa,CAAE,aAAAD,EAAc,QAAAC,CAAQ,EAAE,CACjD,EACF,GAAIF,EAAO,OAAO,EAChB,OAAOT,EAAiB,CACtB,MAAO,IAAID,EACT,oCACF,CACF,CAAC,EAEH,KAAM,CAAE,aAAAW,EAAc,QAAAC,CAAQ,EAAIF,EAAO,aAAa,EAGhDG,EAAmBF,EAAa,OAAO,CAACG,EAAMP,EAAKQ,IAAU,CACjE,GAAIR,IAAQ,KAEV,MAAO,CAAC,GAAGO,EAAMP,CAAG,EAItB,MAAMS,EAAeV,EAAcS,CAAK,EAClCE,EAAaL,EAAQ,KACxBM,GAAMA,EAAE,cAAgBF,EAAa,IACxC,EACA,OAAOC,EAAa,CAAC,GAAGH,EAAMG,CAAU,EAAIH,CAC9C,EAAG,CAAC,CAAkB,EAIhBK,EADeR,EAAa,OAAQJ,GAAQA,IAAQ,IAAI,EACzB,OAAO,CAACO,EAAMP,IAAQ,CACzD,MAAMU,EAAaL,EAAQ,KAAMM,GAAMA,EAAE,cAAgBX,EAAI,WAAW,EACxE,OAAIU,GAAcpB,EAAGoB,EAAW,QAASV,EAAI,OAAO,EAC3C,CAAC,GAAGO,EAAMG,CAAU,EAEtBH,CACT,EAAG,CAAC,CAAkB,EAGtB,IAAIM,EAAiD,CAAC,EACtD,QAASC,EAAI,GAAKA,IAAK,CACrB,MAAMC,EAAW,MAAM,KAAK,IAAI,YAC9B,IAAIvB,EAAwB,CAAE,WAAYsB,IAAM,CAAE,CAAC,CACrD,EACA,GAAI,CAACvB,EAAuBwB,CAAQ,GAAKA,EAAS,OAAS,OACzD,MAEFF,EAAqB,CAAC,GAAGA,EAAoBE,EAAS,IAAI,CAC5D,CAGA,MAAMC,EAAY,MAAMf,EAAQ,oBAC9B,KAAK,KAAK,cACV,KAAK,KAAK,QACZ,EACA,OAAIe,EAAU,QAAQ,EAEbtB,EAAiB,CACtB,KAAM,CACJ,aAAcY,EACd,oBAAqBM,EACrB,mBAAAC,EACA,QAAS,CACP,aAAcR,EACd,iBAAkBW,EAAU,QAAQ,CACtC,CACF,CACF,CAAC,EAEMtB,EAAiB,CACtB,MAAO,IAAID,EACT,kCACF,CACF,CAAC,CAEL,CAEQ,cAAcO,EAA4B,CAGhD,OAAOA,EAAI,WAAaL,CAC1B,CACF",
6
+ "names": ["gt", "isSuccessCommandResult", "ListLanguagePackCommand", "GetApplicationsMetadataTaskError", "DmkResultFactory", "ZERO_HASH", "GetApplicationsMetadataTask", "api", "args", "installedApps", "app", "manager", "appHashes", "result", "applications", "catalog", "appsWithMetadata", "apps", "index", "installedApp", "catalogApp", "c", "filteredCatalog", "installedLanguages", "i", "language", "languages"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{EitherAsync as s}from"purify-ts";import{InvalidStatusWordError as u}from"../../command/Errors";import{CommandResultFactory as n}from"../../command/model/CommandResult";import{BTC_APP_METADATA as g,ETH_APP_METADATA as d}from"../../device-action/__test-utils__/data";import{makeDeviceActionInternalApiMock as y}from"../../device-action/__test-utils__/makeInternalApi";import{GetApplicationsMetadataTask as r}from"./GetApplicationsMetadataTask";describe("GetApplicationsMetadataTask",()=>{const e=y(),m={id:7},h={id:361,version:"1.6.0",perso:"perso_11"},A={mcu:"mcu_version",bootloader:"bl_version",os:"se_version",metadata:"metadata"},w=[{name:"Ethereum",hash:"hash2",hashCode:"hashCode"},{name:"Language",hash:"hash3",hashCode:"0000000000000000000000000000000000000000000000000000000000000000"}],l=[d],c=[g,d],p=["fr","eng","it"],o={deviceVersion:m,firmware:h,firmwareVersion:A,installedApps:w},t={getAppsByHash:vi.fn(),getAppList:vi.fn(),getLanguagePackages:vi.fn()};beforeEach(()=>{vi.clearAllMocks(),e.sendCommand.mockResolvedValue(n({data:void 0})),e.getManagerApiService.mockReturnValue(t),t.getAppsByHash.mockReturnValue(s(async()=>l)),t.getAppList.mockReturnValue(s(async()=>c)),t.getLanguagePackages.mockReturnValue(s(async()=>p))}),it("Success without updates",async()=>{const a=await new r(e,o).run();expect(a).toStrictEqual(n({data:{applications:l,applicationsUpdates:[],installedLanguages:[],catalog:{applications:c,languagePackages:p}}}))}),it("Success without languages",async()=>{e.sendCommand.mockResolvedValueOnce(n({data:{id:1,size:15}})).mockResolvedValueOnce(n({data:{id:2,size:17}}));const a=await new r(e,o).run();expect(a).toStrictEqual(n({data:{applications:l,applicationsUpdates:[],installedLanguages:[{id:1,size:15},{id:2,size:17}],catalog:{applications:c,languagePackages:p}}}))}),it("Success with an available update",async()=>{const a={...g,version:"1.0.0"};t.getAppsByHash.mockReturnValue(s(async()=>[a]));const i=await new r(e,o).run();expect(i).toStrictEqual(n({data:{applications:[a],applicationsUpdates:[g],installedLanguages:[],catalog:{applications:c,languagePackages:p}}})),expect(t.getAppsByHash).toHaveBeenCalledWith(["hash2"])}),it("Success with app hash not found",async()=>{t.getAppsByHash.mockReturnValue(s(async()=>[null]));const a=await new r(e,o).run();expect(a).toStrictEqual(n({data:{applications:l,applicationsUpdates:[],installedLanguages:[],catalog:{applications:c,languagePackages:p}}}))}),it("should fail when apps hash cannot by retrieved",async()=>{t.getAppsByHash.mockReturnValueOnce(s(async({throwE:i})=>{i(new Error("error"))}));const a=await new r(e,o).run();expect(a).toStrictEqual(n({error:new u("Cannot get the application catalog")}))}),it("should fail when apps list cannot by retrieved",async()=>{t.getAppList.mockReturnValueOnce(s(async({throwE:i})=>{i(new Error("error"))}));const a=await new r(e,o).run();expect(a).toStrictEqual(n({error:new u("Cannot get the application catalog")}))}),it("should fail when languages cannot by retrieved",async()=>{t.getLanguagePackages.mockReturnValueOnce(s(async({throwE:i})=>{i(new Error("error"))}));const a=await new r(e,o).run();expect(a).toStrictEqual(n({error:new u("Cannot get the languages catalog")}))})});
1
+ import{EitherAsync as n}from"purify-ts";import{CommandResultFactory as u}from"../../command/model/CommandResult";import{BTC_APP_METADATA as g,ETH_APP_METADATA as d}from"../../device-action/__test-utils__/data";import{makeDeviceActionInternalApiMock as y}from"../../device-action/__test-utils__/makeInternalApi";import{GetApplicationsMetadataTaskError as m}from"../../device-action/task/Errors";import{DmkResultFactory as i}from"../../model/DmkResult";import{GetApplicationsMetadataTask as r}from"./GetApplicationsMetadataTask";describe("GetApplicationsMetadataTask",()=>{const e=y(),h={id:7},A={id:361,version:"1.6.0",perso:"perso_11"},w={mcu:"mcu_version",bootloader:"bl_version",os:"se_version",metadata:"metadata"},k=[{name:"Ethereum",hash:"hash2",hashCode:"hashCode"},{name:"Language",hash:"hash3",hashCode:"0000000000000000000000000000000000000000000000000000000000000000"}],l=[d],c=[g,d],p=["fr","eng","it"],s={deviceVersion:h,firmware:A,firmwareVersion:w,installedApps:k},t={getAppsByHash:vi.fn(),getAppList:vi.fn(),getLanguagePackages:vi.fn()};beforeEach(()=>{vi.clearAllMocks(),e.sendCommand.mockResolvedValue(u({data:void 0})),e.getManagerApiService.mockReturnValue(t),t.getAppsByHash.mockReturnValue(n(async()=>l)),t.getAppList.mockReturnValue(n(async()=>c)),t.getLanguagePackages.mockReturnValue(n(async()=>p))}),it("Success without updates",async()=>{const a=await new r(e,s).run();expect(a).toStrictEqual(i({data:{applications:l,applicationsUpdates:[],installedLanguages:[],catalog:{applications:c,languagePackages:p}}}))}),it("Success without languages",async()=>{e.sendCommand.mockResolvedValueOnce(u({data:{id:1,size:15}})).mockResolvedValueOnce(u({data:{id:2,size:17}}));const a=await new r(e,s).run();expect(a).toStrictEqual(i({data:{applications:l,applicationsUpdates:[],installedLanguages:[{id:1,size:15},{id:2,size:17}],catalog:{applications:c,languagePackages:p}}}))}),it("Success with an available update",async()=>{const a={...g,version:"1.0.0"};t.getAppsByHash.mockReturnValue(n(async()=>[a]));const o=await new r(e,s).run();expect(o).toStrictEqual(i({data:{applications:[a],applicationsUpdates:[g],installedLanguages:[],catalog:{applications:c,languagePackages:p}}})),expect(t.getAppsByHash).toHaveBeenCalledWith(["hash2"])}),it("Success with app hash not found",async()=>{t.getAppsByHash.mockReturnValue(n(async()=>[null]));const a=await new r(e,s).run();expect(a).toStrictEqual(i({data:{applications:l,applicationsUpdates:[],installedLanguages:[],catalog:{applications:c,languagePackages:p}}}))}),it("should fail when apps hash cannot by retrieved",async()=>{t.getAppsByHash.mockReturnValueOnce(n(async({throwE:o})=>{o(new Error("error"))}));const a=await new r(e,s).run();expect(a).toStrictEqual(i({error:new m("Cannot get the application catalog")}))}),it("should fail when apps list cannot by retrieved",async()=>{t.getAppList.mockReturnValueOnce(n(async({throwE:o})=>{o(new Error("error"))}));const a=await new r(e,s).run();expect(a).toStrictEqual(i({error:new m("Cannot get the application catalog")}))}),it("should fail when languages cannot by retrieved",async()=>{t.getLanguagePackages.mockReturnValueOnce(n(async({throwE:o})=>{o(new Error("error"))}));const a=await new r(e,s).run();expect(a).toStrictEqual(i({error:new m("Cannot get the languages catalog")}))})});
2
2
  //# sourceMappingURL=GetApplicationsMetadataTask.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/api/device-action/task/GetApplicationsMetadataTask.test.ts"],
4
- "sourcesContent": ["import { EitherAsync } from \"purify-ts\";\n\nimport { InvalidStatusWordError } from \"@api/command/Errors\";\nimport { CommandResultFactory } from \"@api/command/model/CommandResult\";\nimport {\n BTC_APP_METADATA,\n ETH_APP_METADATA,\n} from \"@api/device-action/__test-utils__/data\";\nimport { makeDeviceActionInternalApiMock } from \"@api/device-action/__test-utils__/makeInternalApi\";\nimport { type FirmwareVersion } from \"@api/device-session/DeviceSessionState\";\nimport { type DeviceVersion } from \"@internal/manager-api/model/Device\";\nimport { type FinalFirmware } from \"@internal/manager-api/model/Firmware\";\nimport { type LanguagePackage } from \"@internal/manager-api/model/Language\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\n\nimport { GetApplicationsMetadataTask } from \"./GetApplicationsMetadataTask\";\n\ndescribe(\"GetApplicationsMetadataTask\", () => {\n const apiMock = makeDeviceActionInternalApiMock();\n\n const DEVICE_VERSION = {\n id: 7,\n } as DeviceVersion;\n\n const FIRMWARE = {\n id: 361,\n version: \"1.6.0\",\n perso: \"perso_11\",\n } as FinalFirmware;\n\n const FIRMWARE_VERSION = {\n mcu: \"mcu_version\",\n bootloader: \"bl_version\",\n os: \"se_version\",\n metadata: \"metadata\",\n } as unknown as FirmwareVersion;\n\n const INSTALLED_APPS = [\n { name: \"Ethereum\", hash: \"hash2\", hashCode: \"hashCode\" },\n {\n name: \"Language\",\n hash: \"hash3\",\n hashCode:\n \"0000000000000000000000000000000000000000000000000000000000000000\",\n },\n ];\n\n const APPS = [ETH_APP_METADATA];\n\n const CATALOG = [BTC_APP_METADATA, ETH_APP_METADATA];\n\n const LANGUAGES = [\"fr\", \"eng\", \"it\"] as unknown as LanguagePackage[];\n\n const ARGS = {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE,\n firmwareVersion: FIRMWARE_VERSION,\n installedApps: INSTALLED_APPS,\n };\n\n const MANAGER_MOCK = {\n getAppsByHash: vi.fn(),\n getAppList: vi.fn(),\n getLanguagePackages: vi.fn(),\n };\n\n beforeEach(() => {\n vi.clearAllMocks();\n\n apiMock.sendCommand.mockResolvedValue(\n CommandResultFactory({ data: undefined }),\n );\n apiMock.getManagerApiService.mockReturnValue(\n MANAGER_MOCK as unknown as ManagerApiService,\n );\n MANAGER_MOCK.getAppsByHash.mockReturnValue(EitherAsync(async () => APPS));\n MANAGER_MOCK.getAppList.mockReturnValue(EitherAsync(async () => CATALOG));\n MANAGER_MOCK.getLanguagePackages.mockReturnValue(\n EitherAsync(async () => LANGUAGES),\n );\n });\n\n it(\"Success without updates\", async () => {\n // WHEN\n const result = await new GetApplicationsMetadataTask(apiMock, ARGS).run();\n\n // THEN\n expect(result).toStrictEqual(\n CommandResultFactory({\n data: {\n applications: APPS,\n applicationsUpdates: [],\n installedLanguages: [],\n catalog: {\n applications: CATALOG,\n languagePackages: LANGUAGES,\n },\n },\n }),\n );\n });\n\n it(\"Success without languages\", async () => {\n // WHEN\n apiMock.sendCommand\n .mockResolvedValueOnce(\n CommandResultFactory({ data: { id: 1, size: 15 } }),\n )\n .mockResolvedValueOnce(\n CommandResultFactory({ data: { id: 2, size: 17 } }),\n );\n const result = await new GetApplicationsMetadataTask(apiMock, ARGS).run();\n\n // THEN\n expect(result).toStrictEqual(\n CommandResultFactory({\n data: {\n applications: APPS,\n applicationsUpdates: [],\n installedLanguages: [\n { id: 1, size: 15 },\n { id: 2, size: 17 },\n ],\n catalog: {\n applications: CATALOG,\n languagePackages: LANGUAGES,\n },\n },\n }),\n );\n });\n\n it(\"Success with an available update\", async () => {\n // GIVEN\n const app = {\n ...BTC_APP_METADATA,\n version: \"1.0.0\",\n };\n MANAGER_MOCK.getAppsByHash.mockReturnValue(EitherAsync(async () => [app]));\n\n // WHEN\n const result = await new GetApplicationsMetadataTask(apiMock, ARGS).run();\n\n // THEN\n expect(result).toStrictEqual(\n CommandResultFactory({\n data: {\n applications: [app],\n applicationsUpdates: [BTC_APP_METADATA],\n installedLanguages: [],\n catalog: {\n applications: CATALOG,\n languagePackages: LANGUAGES,\n },\n },\n }),\n );\n expect(MANAGER_MOCK.getAppsByHash).toHaveBeenCalledWith([\"hash2\"]);\n });\n\n it(\"Success with app hash not found\", async () => {\n // GIVEN\n MANAGER_MOCK.getAppsByHash.mockReturnValue(EitherAsync(async () => [null]));\n\n // WHEN\n const result = await new GetApplicationsMetadataTask(apiMock, ARGS).run();\n\n // THEN\n expect(result).toStrictEqual(\n CommandResultFactory({\n data: {\n applications: APPS,\n applicationsUpdates: [],\n installedLanguages: [],\n catalog: {\n applications: CATALOG,\n languagePackages: LANGUAGES,\n },\n },\n }),\n );\n });\n\n it(\"should fail when apps hash cannot by retrieved\", async () => {\n // GIVEN\n MANAGER_MOCK.getAppsByHash.mockReturnValueOnce(\n EitherAsync(async ({ throwE }) => {\n throwE(new Error(\"error\"));\n }),\n );\n\n // WHEN\n const result = await new GetApplicationsMetadataTask(apiMock, ARGS).run();\n\n // THEN\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"Cannot get the application catalog\"),\n }),\n );\n });\n\n it(\"should fail when apps list cannot by retrieved\", async () => {\n // GIVEN\n MANAGER_MOCK.getAppList.mockReturnValueOnce(\n EitherAsync(async ({ throwE }) => {\n throwE(new Error(\"error\"));\n }),\n );\n\n // WHEN\n const result = await new GetApplicationsMetadataTask(apiMock, ARGS).run();\n\n // THEN\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"Cannot get the application catalog\"),\n }),\n );\n });\n\n it(\"should fail when languages cannot by retrieved\", async () => {\n // GIVEN\n MANAGER_MOCK.getLanguagePackages.mockReturnValueOnce(\n EitherAsync(async ({ throwE }) => {\n throwE(new Error(\"error\"));\n }),\n );\n\n // WHEN\n const result = await new GetApplicationsMetadataTask(apiMock, ARGS).run();\n\n // THEN\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"Cannot get the languages catalog\"),\n }),\n );\n });\n});\n"],
5
- "mappings": "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",
6
- "names": ["EitherAsync", "InvalidStatusWordError", "CommandResultFactory", "BTC_APP_METADATA", "ETH_APP_METADATA", "makeDeviceActionInternalApiMock", "GetApplicationsMetadataTask", "apiMock", "DEVICE_VERSION", "FIRMWARE", "FIRMWARE_VERSION", "INSTALLED_APPS", "APPS", "CATALOG", "LANGUAGES", "ARGS", "MANAGER_MOCK", "result", "app", "throwE"]
4
+ "sourcesContent": ["import { EitherAsync } from \"purify-ts\";\n\nimport { CommandResultFactory } from \"@api/command/model/CommandResult\";\nimport {\n BTC_APP_METADATA,\n ETH_APP_METADATA,\n} from \"@api/device-action/__test-utils__/data\";\nimport { makeDeviceActionInternalApiMock } from \"@api/device-action/__test-utils__/makeInternalApi\";\nimport { GetApplicationsMetadataTaskError } from \"@api/device-action/task/Errors\";\nimport { type FirmwareVersion } from \"@api/device-session/DeviceSessionState\";\nimport { DmkResultFactory } from \"@api/model/DmkResult\";\nimport { type DeviceVersion } from \"@internal/manager-api/model/Device\";\nimport { type FinalFirmware } from \"@internal/manager-api/model/Firmware\";\nimport { type LanguagePackage } from \"@internal/manager-api/model/Language\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\n\nimport { GetApplicationsMetadataTask } from \"./GetApplicationsMetadataTask\";\n\ndescribe(\"GetApplicationsMetadataTask\", () => {\n const apiMock = makeDeviceActionInternalApiMock();\n\n const DEVICE_VERSION = {\n id: 7,\n } as DeviceVersion;\n\n const FIRMWARE = {\n id: 361,\n version: \"1.6.0\",\n perso: \"perso_11\",\n } as FinalFirmware;\n\n const FIRMWARE_VERSION = {\n mcu: \"mcu_version\",\n bootloader: \"bl_version\",\n os: \"se_version\",\n metadata: \"metadata\",\n } as unknown as FirmwareVersion;\n\n const INSTALLED_APPS = [\n { name: \"Ethereum\", hash: \"hash2\", hashCode: \"hashCode\" },\n {\n name: \"Language\",\n hash: \"hash3\",\n hashCode:\n \"0000000000000000000000000000000000000000000000000000000000000000\",\n },\n ];\n\n const APPS = [ETH_APP_METADATA];\n\n const CATALOG = [BTC_APP_METADATA, ETH_APP_METADATA];\n\n const LANGUAGES = [\"fr\", \"eng\", \"it\"] as unknown as LanguagePackage[];\n\n const ARGS = {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE,\n firmwareVersion: FIRMWARE_VERSION,\n installedApps: INSTALLED_APPS,\n };\n\n const MANAGER_MOCK = {\n getAppsByHash: vi.fn(),\n getAppList: vi.fn(),\n getLanguagePackages: vi.fn(),\n };\n\n beforeEach(() => {\n vi.clearAllMocks();\n\n apiMock.sendCommand.mockResolvedValue(\n CommandResultFactory({ data: undefined }),\n );\n apiMock.getManagerApiService.mockReturnValue(\n MANAGER_MOCK as unknown as ManagerApiService,\n );\n MANAGER_MOCK.getAppsByHash.mockReturnValue(EitherAsync(async () => APPS));\n MANAGER_MOCK.getAppList.mockReturnValue(EitherAsync(async () => CATALOG));\n MANAGER_MOCK.getLanguagePackages.mockReturnValue(\n EitherAsync(async () => LANGUAGES),\n );\n });\n\n it(\"Success without updates\", async () => {\n // WHEN\n const result = await new GetApplicationsMetadataTask(apiMock, ARGS).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({\n data: {\n applications: APPS,\n applicationsUpdates: [],\n installedLanguages: [],\n catalog: {\n applications: CATALOG,\n languagePackages: LANGUAGES,\n },\n },\n }),\n );\n });\n\n it(\"Success without languages\", async () => {\n // WHEN\n apiMock.sendCommand\n .mockResolvedValueOnce(\n CommandResultFactory({ data: { id: 1, size: 15 } }),\n )\n .mockResolvedValueOnce(\n CommandResultFactory({ data: { id: 2, size: 17 } }),\n );\n const result = await new GetApplicationsMetadataTask(apiMock, ARGS).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({\n data: {\n applications: APPS,\n applicationsUpdates: [],\n installedLanguages: [\n { id: 1, size: 15 },\n { id: 2, size: 17 },\n ],\n catalog: {\n applications: CATALOG,\n languagePackages: LANGUAGES,\n },\n },\n }),\n );\n });\n\n it(\"Success with an available update\", async () => {\n // GIVEN\n const app = {\n ...BTC_APP_METADATA,\n version: \"1.0.0\",\n };\n MANAGER_MOCK.getAppsByHash.mockReturnValue(EitherAsync(async () => [app]));\n\n // WHEN\n const result = await new GetApplicationsMetadataTask(apiMock, ARGS).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({\n data: {\n applications: [app],\n applicationsUpdates: [BTC_APP_METADATA],\n installedLanguages: [],\n catalog: {\n applications: CATALOG,\n languagePackages: LANGUAGES,\n },\n },\n }),\n );\n expect(MANAGER_MOCK.getAppsByHash).toHaveBeenCalledWith([\"hash2\"]);\n });\n\n it(\"Success with app hash not found\", async () => {\n // GIVEN\n MANAGER_MOCK.getAppsByHash.mockReturnValue(EitherAsync(async () => [null]));\n\n // WHEN\n const result = await new GetApplicationsMetadataTask(apiMock, ARGS).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({\n data: {\n applications: APPS,\n applicationsUpdates: [],\n installedLanguages: [],\n catalog: {\n applications: CATALOG,\n languagePackages: LANGUAGES,\n },\n },\n }),\n );\n });\n\n it(\"should fail when apps hash cannot by retrieved\", async () => {\n // GIVEN\n MANAGER_MOCK.getAppsByHash.mockReturnValueOnce(\n EitherAsync(async ({ throwE }) => {\n throwE(new Error(\"error\"));\n }),\n );\n\n // WHEN\n const result = await new GetApplicationsMetadataTask(apiMock, ARGS).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({\n error: new GetApplicationsMetadataTaskError(\n \"Cannot get the application catalog\",\n ),\n }),\n );\n });\n\n it(\"should fail when apps list cannot by retrieved\", async () => {\n // GIVEN\n MANAGER_MOCK.getAppList.mockReturnValueOnce(\n EitherAsync(async ({ throwE }) => {\n throwE(new Error(\"error\"));\n }),\n );\n\n // WHEN\n const result = await new GetApplicationsMetadataTask(apiMock, ARGS).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({\n error: new GetApplicationsMetadataTaskError(\n \"Cannot get the application catalog\",\n ),\n }),\n );\n });\n\n it(\"should fail when languages cannot by retrieved\", async () => {\n // GIVEN\n MANAGER_MOCK.getLanguagePackages.mockReturnValueOnce(\n EitherAsync(async ({ throwE }) => {\n throwE(new Error(\"error\"));\n }),\n );\n\n // WHEN\n const result = await new GetApplicationsMetadataTask(apiMock, ARGS).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({\n error: new GetApplicationsMetadataTaskError(\n \"Cannot get the languages catalog\",\n ),\n }),\n );\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["EitherAsync", "CommandResultFactory", "BTC_APP_METADATA", "ETH_APP_METADATA", "makeDeviceActionInternalApiMock", "GetApplicationsMetadataTaskError", "DmkResultFactory", "GetApplicationsMetadataTask", "apiMock", "DEVICE_VERSION", "FIRMWARE", "FIRMWARE_VERSION", "INSTALLED_APPS", "APPS", "CATALOG", "LANGUAGES", "ARGS", "MANAGER_MOCK", "result", "app", "throwE"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{InvalidGetFirmwareMetadataResponseError as F}from"../../command/Errors";import{CommandResultFactory as c,isSuccessCommandResult as u}from"../../command/model/CommandResult";import{GetBackgroundImageSizeCommand as V}from"../../command/os/GetBackgroundImageSizeCommand";import{GetOsVersionCommand as g}from"../../command/os/GetOsVersionCommand";class R{constructor(e){this.api=e}async run(){const e=await this.api.sendCommand(new g);if(!u(e))return e;const m={mcu:e.data.mcuSephVersion,bootloader:e.data.mcuBootloaderVersion,os:e.data.seVersion,metadata:e.data},r=this.api.getManagerApiService(),n=await r.getDeviceVersion(e.data).chain(a=>r.getFirmwareVersion(e.data,a).map(i=>({deviceVersion:a,currentFirmware:i})));if(n.isLeft())return c({error:new F});const{deviceVersion:s,currentFirmware:o}=n.unsafeCoerce(),w=(await r.getLatestFirmwareVersion(o,s).chain(a=>r.getNextFirmwareVersion(a).chain(i=>r.getMcuList().map(t=>t.find(l=>l.name===m.mcu)).map(t=>t===void 0||!i.mcuVersions.includes(t.id)).map(t=>({osuFirmware:a,finalFirmware:i,mcuUpdateRequired:t}))))).caseOf({Right:a=>a,Left:a=>{}}),f={currentFirmware:o,availableUpdate:w};let d={};const p=await this.api.sendCommand(new V);return u(p)&&(d={size:p.data}),c({data:{deviceVersion:s,firmware:o,firmwareVersion:m,firmwareUpdateContext:f,customImage:d}})}}export{R as GetFirmwareMetadataTask};
1
+ import{isSuccessCommandResult as w}from"../../command/model/CommandResult";import{GetBackgroundImageSizeCommand as l}from"../../command/os/GetBackgroundImageSizeCommand";import{GetOsVersionCommand as V}from"../../command/os/GetOsVersionCommand";import{InvalidGetFirmwareMetadataResponseError as g}from"../../device-action/task/Errors";import{DmkResultFactory as m}from"../../model/DmkResult";class I{constructor(e){this.api=e}async run(){const e=await this.api.sendCommand(new V);if(!w(e))return m({error:e.error});const n={mcu:e.data.mcuSephVersion,bootloader:e.data.mcuBootloaderVersion,os:e.data.seVersion,metadata:e.data},t=this.api.getManagerApiService(),s=await t.getDeviceVersion(e.data).chain(r=>t.getFirmwareVersion(e.data,r).map(i=>({deviceVersion:r,currentFirmware:i})));if(s.isLeft())return m({error:new g});const{deviceVersion:d,currentFirmware:o}=s.unsafeCoerce(),u=(await t.getLatestFirmwareVersion(o,d).chain(r=>t.getNextFirmwareVersion(r).chain(i=>t.getMcuList().map(a=>a.find(F=>F.name===n.mcu)).map(a=>a===void 0||!i.mcuVersions.includes(a.id)).map(a=>({osuFirmware:r,finalFirmware:i,mcuUpdateRequired:a}))))).caseOf({Right:r=>r,Left:r=>{}}),f={currentFirmware:o,availableUpdate:u};let p={};const c=await this.api.sendCommand(new l);return w(c)&&(p={size:c.data}),m({data:{deviceVersion:d,firmware:o,firmwareVersion:n,firmwareUpdateContext:f,customImage:p}})}}export{I as GetFirmwareMetadataTask};
2
2
  //# sourceMappingURL=GetFirmwareMetadataTask.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/api/device-action/task/GetFirmwareMetadataTask.ts"],
4
- "sourcesContent": ["import { InvalidGetFirmwareMetadataResponseError } from \"@api/command/Errors\";\nimport {\n type CommandResult,\n CommandResultFactory,\n isSuccessCommandResult,\n} from \"@api/command/model/CommandResult\";\nimport { GetBackgroundImageSizeCommand } from \"@api/command/os/GetBackgroundImageSizeCommand\";\nimport { GetOsVersionCommand } from \"@api/command/os/GetOsVersionCommand\";\nimport type { InternalApi } from \"@api/device-action/DeviceAction\";\nimport {\n type CustomImage,\n type FirmwareUpdate,\n type FirmwareUpdateContext,\n type FirmwareVersion,\n} from \"@api/device-session/DeviceSessionState\";\nimport { type DeviceVersion } from \"@internal/manager-api/model/Device\";\nimport { type FinalFirmware } from \"@internal/manager-api/model/Firmware\";\n\nexport type GetFirmwareMetadataTaskResult = CommandResult<{\n deviceVersion: DeviceVersion;\n firmware: FinalFirmware;\n firmwareVersion: FirmwareVersion;\n firmwareUpdateContext: FirmwareUpdateContext;\n customImage: CustomImage;\n}>;\n\nexport class GetFirmwareMetadataTask {\n constructor(private readonly api: InternalApi) {}\n\n async run(): Promise<GetFirmwareMetadataTaskResult> {\n // Get installed firmware metadata\n const osVersion = await this.api.sendCommand(new GetOsVersionCommand());\n if (!isSuccessCommandResult(osVersion)) {\n return osVersion;\n }\n const firmwareVersion: FirmwareVersion = {\n mcu: osVersion.data.mcuSephVersion,\n bootloader: osVersion.data.mcuBootloaderVersion,\n os: osVersion.data.seVersion,\n metadata: osVersion.data,\n };\n\n // Fetch current firmware metadata from app store\n const manager = this.api.getManagerApiService();\n const result = await manager\n .getDeviceVersion(osVersion.data)\n .chain((deviceVersion) =>\n manager\n .getFirmwareVersion(osVersion.data, deviceVersion)\n .map((currentFirmware) => ({ deviceVersion, currentFirmware })),\n );\n if (result.isLeft()) {\n return CommandResultFactory({\n error: new InvalidGetFirmwareMetadataResponseError(),\n });\n }\n const { deviceVersion, currentFirmware } = result.unsafeCoerce();\n\n // Fetch latest firmware available, if any\n const maybeUpdate = await manager\n .getLatestFirmwareVersion(currentFirmware, deviceVersion)\n .chain((osuFirmware) =>\n manager.getNextFirmwareVersion(osuFirmware).chain((finalFirmware) =>\n manager\n .getMcuList()\n .map((mcus) => mcus.find((mcu) => mcu.name === firmwareVersion.mcu))\n .map(\n (mcu) =>\n mcu === undefined ||\n !finalFirmware.mcuVersions.includes(mcu.id),\n )\n .map((mcuUpdateRequired) => ({\n osuFirmware,\n finalFirmware,\n mcuUpdateRequired,\n })),\n ),\n );\n const availableUpdate: FirmwareUpdate | undefined = maybeUpdate.caseOf({\n Right: (data) => data,\n Left: (_error) => undefined,\n });\n const firmwareUpdateContext = {\n currentFirmware,\n availableUpdate,\n };\n\n // Get custom image metadata\n let customImage: CustomImage = {};\n const imageSize = await this.api.sendCommand(\n new GetBackgroundImageSizeCommand(),\n );\n if (isSuccessCommandResult(imageSize)) {\n customImage = { size: imageSize.data };\n }\n\n // Return firmware metadata\n return CommandResultFactory({\n data: {\n deviceVersion,\n firmware: currentFirmware,\n firmwareVersion,\n firmwareUpdateContext,\n customImage,\n },\n });\n }\n}\n"],
5
- "mappings": "AAAA,OAAS,2CAAAA,MAA+C,sBACxD,OAEE,wBAAAC,EACA,0BAAAC,MACK,mCACP,OAAS,iCAAAC,MAAqC,gDAC9C,OAAS,uBAAAC,MAA2B,sCAmB7B,MAAMC,CAAwB,CACnC,YAA6BC,EAAkB,CAAlB,SAAAA,CAAmB,CAEhD,MAAM,KAA8C,CAElD,MAAMC,EAAY,MAAM,KAAK,IAAI,YAAY,IAAIH,CAAqB,EACtE,GAAI,CAACF,EAAuBK,CAAS,EACnC,OAAOA,EAET,MAAMC,EAAmC,CACvC,IAAKD,EAAU,KAAK,eACpB,WAAYA,EAAU,KAAK,qBAC3B,GAAIA,EAAU,KAAK,UACnB,SAAUA,EAAU,IACtB,EAGME,EAAU,KAAK,IAAI,qBAAqB,EACxCC,EAAS,MAAMD,EAClB,iBAAiBF,EAAU,IAAI,EAC/B,MAAOI,GACNF,EACG,mBAAmBF,EAAU,KAAMI,CAAa,EAChD,IAAKC,IAAqB,CAAE,cAAAD,EAAe,gBAAAC,CAAgB,EAAE,CAClE,EACF,GAAIF,EAAO,OAAO,EAChB,OAAOT,EAAqB,CAC1B,MAAO,IAAID,CACb,CAAC,EAEH,KAAM,CAAE,cAAAW,EAAe,gBAAAC,CAAgB,EAAIF,EAAO,aAAa,EAsBzDG,GAnBc,MAAMJ,EACvB,yBAAyBG,EAAiBD,CAAa,EACvD,MAAOG,GACNL,EAAQ,uBAAuBK,CAAW,EAAE,MAAOC,GACjDN,EACG,WAAW,EACX,IAAKO,GAASA,EAAK,KAAMC,GAAQA,EAAI,OAAST,EAAgB,GAAG,CAAC,EAClE,IACES,GACCA,IAAQ,QACR,CAACF,EAAc,YAAY,SAASE,EAAI,EAAE,CAC9C,EACC,IAAKC,IAAuB,CAC3B,YAAAJ,EACA,cAAAC,EACA,kBAAAG,CACF,EAAE,CACN,CACF,GAC8D,OAAO,CACrE,MAAQC,GAASA,EACjB,KAAOC,GAAQ,EACjB,CAAC,EACKC,EAAwB,CAC5B,gBAAAT,EACA,gBAAAC,CACF,EAGA,IAAIS,EAA2B,CAAC,EAChC,MAAMC,EAAY,MAAM,KAAK,IAAI,YAC/B,IAAIpB,CACN,EACA,OAAID,EAAuBqB,CAAS,IAClCD,EAAc,CAAE,KAAMC,EAAU,IAAK,GAIhCtB,EAAqB,CAC1B,KAAM,CACJ,cAAAU,EACA,SAAUC,EACV,gBAAAJ,EACA,sBAAAa,EACA,YAAAC,CACF,CACF,CAAC,CACH,CACF",
6
- "names": ["InvalidGetFirmwareMetadataResponseError", "CommandResultFactory", "isSuccessCommandResult", "GetBackgroundImageSizeCommand", "GetOsVersionCommand", "GetFirmwareMetadataTask", "api", "osVersion", "firmwareVersion", "manager", "result", "deviceVersion", "currentFirmware", "availableUpdate", "osuFirmware", "finalFirmware", "mcus", "mcu", "mcuUpdateRequired", "data", "_error", "firmwareUpdateContext", "customImage", "imageSize"]
4
+ "sourcesContent": ["import {\n type CommandErrorResult,\n isSuccessCommandResult,\n} from \"@api/command/model/CommandResult\";\nimport { GetBackgroundImageSizeCommand } from \"@api/command/os/GetBackgroundImageSizeCommand\";\nimport { GetOsVersionCommand } from \"@api/command/os/GetOsVersionCommand\";\nimport type { InternalApi } from \"@api/device-action/DeviceAction\";\nimport { InvalidGetFirmwareMetadataResponseError } from \"@api/device-action/task/Errors\";\nimport {\n type CustomImage,\n type FirmwareUpdate,\n type FirmwareUpdateContext,\n type FirmwareVersion,\n} from \"@api/device-session/DeviceSessionState\";\nimport { type DmkResult, DmkResultFactory } from \"@api/model/DmkResult\";\nimport { type DeviceVersion } from \"@internal/manager-api/model/Device\";\nimport { type FinalFirmware } from \"@internal/manager-api/model/Firmware\";\n\nexport type GetFirmwareMetadataTaskResponse = {\n deviceVersion: DeviceVersion;\n firmware: FinalFirmware;\n firmwareVersion: FirmwareVersion;\n firmwareUpdateContext: FirmwareUpdateContext;\n customImage: CustomImage;\n};\n\nexport type GetFirmwareMetadataTaskError =\n | CommandErrorResult[\"error\"]\n | InvalidGetFirmwareMetadataResponseError;\n\nexport type GetFirmwareMetadataTaskResult = DmkResult<\n GetFirmwareMetadataTaskResponse,\n GetFirmwareMetadataTaskError\n>;\n\nexport class GetFirmwareMetadataTask {\n constructor(private readonly api: InternalApi) {}\n\n async run(): Promise<GetFirmwareMetadataTaskResult> {\n // Get installed firmware metadata\n const osVersion = await this.api.sendCommand(new GetOsVersionCommand());\n if (!isSuccessCommandResult(osVersion)) {\n return DmkResultFactory({\n error: osVersion.error,\n });\n }\n const firmwareVersion: FirmwareVersion = {\n mcu: osVersion.data.mcuSephVersion,\n bootloader: osVersion.data.mcuBootloaderVersion,\n os: osVersion.data.seVersion,\n metadata: osVersion.data,\n };\n\n // Fetch current firmware metadata from app store\n const manager = this.api.getManagerApiService();\n const result = await manager\n .getDeviceVersion(osVersion.data)\n .chain((deviceVersion) =>\n manager\n .getFirmwareVersion(osVersion.data, deviceVersion)\n .map((currentFirmware) => ({ deviceVersion, currentFirmware })),\n );\n if (result.isLeft()) {\n return DmkResultFactory({\n error: new InvalidGetFirmwareMetadataResponseError(),\n });\n }\n const { deviceVersion, currentFirmware } = result.unsafeCoerce();\n\n // Fetch latest firmware available, if any\n const maybeUpdate = await manager\n .getLatestFirmwareVersion(currentFirmware, deviceVersion)\n .chain((osuFirmware) =>\n manager.getNextFirmwareVersion(osuFirmware).chain((finalFirmware) =>\n manager\n .getMcuList()\n .map((mcus) => mcus.find((mcu) => mcu.name === firmwareVersion.mcu))\n .map(\n (mcu) =>\n mcu === undefined ||\n !finalFirmware.mcuVersions.includes(mcu.id),\n )\n .map((mcuUpdateRequired) => ({\n osuFirmware,\n finalFirmware,\n mcuUpdateRequired,\n })),\n ),\n );\n const availableUpdate: FirmwareUpdate | undefined = maybeUpdate.caseOf({\n Right: (data) => data,\n Left: (_error) => undefined,\n });\n const firmwareUpdateContext = {\n currentFirmware,\n availableUpdate,\n };\n\n // Get custom image metadata\n let customImage: CustomImage = {};\n const imageSize = await this.api.sendCommand(\n new GetBackgroundImageSizeCommand(),\n );\n if (isSuccessCommandResult(imageSize)) {\n customImage = { size: imageSize.data };\n }\n\n // Return firmware metadata\n return DmkResultFactory({\n data: {\n deviceVersion,\n firmware: currentFirmware,\n firmwareVersion,\n firmwareUpdateContext,\n customImage,\n },\n });\n }\n}\n"],
5
+ "mappings": "AAAA,OAEE,0BAAAA,MACK,mCACP,OAAS,iCAAAC,MAAqC,gDAC9C,OAAS,uBAAAC,MAA2B,sCAEpC,OAAS,2CAAAC,MAA+C,iCAOxD,OAAyB,oBAAAC,MAAwB,uBAqB1C,MAAMC,CAAwB,CACnC,YAA6BC,EAAkB,CAAlB,SAAAA,CAAmB,CAEhD,MAAM,KAA8C,CAElD,MAAMC,EAAY,MAAM,KAAK,IAAI,YAAY,IAAIL,CAAqB,EACtE,GAAI,CAACF,EAAuBO,CAAS,EACnC,OAAOH,EAAiB,CACtB,MAAOG,EAAU,KACnB,CAAC,EAEH,MAAMC,EAAmC,CACvC,IAAKD,EAAU,KAAK,eACpB,WAAYA,EAAU,KAAK,qBAC3B,GAAIA,EAAU,KAAK,UACnB,SAAUA,EAAU,IACtB,EAGME,EAAU,KAAK,IAAI,qBAAqB,EACxCC,EAAS,MAAMD,EAClB,iBAAiBF,EAAU,IAAI,EAC/B,MAAOI,GACNF,EACG,mBAAmBF,EAAU,KAAMI,CAAa,EAChD,IAAKC,IAAqB,CAAE,cAAAD,EAAe,gBAAAC,CAAgB,EAAE,CAClE,EACF,GAAIF,EAAO,OAAO,EAChB,OAAON,EAAiB,CACtB,MAAO,IAAID,CACb,CAAC,EAEH,KAAM,CAAE,cAAAQ,EAAe,gBAAAC,CAAgB,EAAIF,EAAO,aAAa,EAsBzDG,GAnBc,MAAMJ,EACvB,yBAAyBG,EAAiBD,CAAa,EACvD,MAAOG,GACNL,EAAQ,uBAAuBK,CAAW,EAAE,MAAOC,GACjDN,EACG,WAAW,EACX,IAAKO,GAASA,EAAK,KAAMC,GAAQA,EAAI,OAAST,EAAgB,GAAG,CAAC,EAClE,IACES,GACCA,IAAQ,QACR,CAACF,EAAc,YAAY,SAASE,EAAI,EAAE,CAC9C,EACC,IAAKC,IAAuB,CAC3B,YAAAJ,EACA,cAAAC,EACA,kBAAAG,CACF,EAAE,CACN,CACF,GAC8D,OAAO,CACrE,MAAQC,GAASA,EACjB,KAAOC,GAAQ,EACjB,CAAC,EACKC,EAAwB,CAC5B,gBAAAT,EACA,gBAAAC,CACF,EAGA,IAAIS,EAA2B,CAAC,EAChC,MAAMC,EAAY,MAAM,KAAK,IAAI,YAC/B,IAAItB,CACN,EACA,OAAID,EAAuBuB,CAAS,IAClCD,EAAc,CAAE,KAAMC,EAAU,IAAK,GAIhCnB,EAAiB,CACtB,KAAM,CACJ,cAAAO,EACA,SAAUC,EACV,gBAAAJ,EACA,sBAAAa,EACA,YAAAC,CACF,CACF,CAAC,CACH,CACF",
6
+ "names": ["isSuccessCommandResult", "GetBackgroundImageSizeCommand", "GetOsVersionCommand", "InvalidGetFirmwareMetadataResponseError", "DmkResultFactory", "GetFirmwareMetadataTask", "api", "osVersion", "firmwareVersion", "manager", "result", "deviceVersion", "currentFirmware", "availableUpdate", "osuFirmware", "finalFirmware", "mcus", "mcu", "mcuUpdateRequired", "data", "_error", "firmwareUpdateContext", "customImage", "imageSize"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{EitherAsync as n}from"purify-ts";import{InvalidGetFirmwareMetadataResponseError as v,InvalidStatusWordError as l}from"../../command/Errors";import{CommandResultFactory as e}from"../../command/model/CommandResult";import{makeDeviceActionInternalApiMock as p}from"../../device-action/__test-utils__/makeInternalApi";import{GetFirmwareMetadataTask as m}from"./GetFirmwareMetadataTask";describe("GetFirmwareMetadataTask",()=>{const a=p(),o={mcuSephVersion:"mcu_version",mcuBootloaderVersion:"bl_version",seVersion:"se_version"},w=97,c={id:7},i={id:361,version:"1.6.0",perso:"perso_11"},u={id:362,perso:"perso_11"},d={id:363,version:"1.7.0",perso:"perso_11",mcuVersions:[1]},V=[{id:3,name:"other_version"},{id:1,name:"mcu_version"}],r={getDeviceVersion:vi.fn(),getFirmwareVersion:vi.fn(),getLatestFirmwareVersion:vi.fn(),getNextFirmwareVersion:vi.fn(),getMcuList:vi.fn()};beforeEach(()=>{vi.clearAllMocks(),a.getManagerApiService.mockReturnValue(r),r.getDeviceVersion.mockReturnValue(n(async()=>c)),r.getFirmwareVersion.mockReturnValue(n(async()=>i)),r.getLatestFirmwareVersion.mockReturnValue(n(async()=>u)),r.getNextFirmwareVersion.mockReturnValue(n(async()=>d)),r.getMcuList.mockReturnValue(n(async()=>V))}),it("success with no firmware update available",async()=>{a.sendCommand.mockResolvedValueOnce(e({data:o})).mockResolvedValueOnce(e({data:w})),r.getLatestFirmwareVersion.mockReturnValueOnce(n(async({throwE:s})=>{s(new Error("error"))}));const t=await new m(a).run();expect(t).toStrictEqual(e({data:{deviceVersion:c,firmware:i,firmwareVersion:{mcu:"mcu_version",bootloader:"bl_version",os:"se_version",metadata:o},firmwareUpdateContext:{currentFirmware:i,availableUpdate:void 0},customImage:{size:w}}}))}),it("success with a firmware update available",async()=>{a.sendCommand.mockResolvedValueOnce(e({data:o})).mockResolvedValueOnce(e({error:new l("error")}));const t=await new m(a).run();expect(t).toStrictEqual(e({data:{deviceVersion:c,firmware:i,firmwareVersion:{mcu:"mcu_version",bootloader:"bl_version",os:"se_version",metadata:o},firmwareUpdateContext:{currentFirmware:i,availableUpdate:{osuFirmware:u,finalFirmware:d,mcuUpdateRequired:!1}},customImage:{}}})),expect(r.getDeviceVersion).toHaveBeenCalledWith(o),expect(r.getFirmwareVersion).toHaveBeenCalledWith(o,c),expect(r.getLatestFirmwareVersion).toHaveBeenCalledWith(i,c),expect(r.getNextFirmwareVersion).toHaveBeenCalledWith(u)}),it("success with a firmware update available and MCU update",async()=>{a.sendCommand.mockResolvedValueOnce(e({data:o})).mockResolvedValueOnce(e({error:new l("error")}));const t={...d,mcuVersions:[3]};r.getNextFirmwareVersion.mockReturnValue(n(async()=>t));const s=await new m(a).run();expect(s).toStrictEqual(e({data:{deviceVersion:c,firmware:i,firmwareVersion:{mcu:"mcu_version",bootloader:"bl_version",os:"se_version",metadata:o},firmwareUpdateContext:{currentFirmware:i,availableUpdate:{osuFirmware:u,finalFirmware:t,mcuUpdateRequired:!0}},customImage:{}}}))}),it("should fail when OS version cannot be retrieved",async()=>{a.sendCommand.mockResolvedValueOnce(e({error:new l("error")}));const t=await new m(a).run();expect(t).toStrictEqual(e({error:new l("error")}))}),it("should fail if device version cannot be fetched with InvalidGetFirmwareMetadataResponseError",async()=>{a.sendCommand.mockResolvedValueOnce(e({data:o})),r.getDeviceVersion.mockReturnValueOnce(n(async({throwE:s})=>{s(new Error("error"))}));const t=await new m(a).run();expect(t).toStrictEqual(e({error:new v}))}),it("should fail if firmware version cannot be fetched with InvalidGetFirmwareMetadataResponseError",async()=>{a.sendCommand.mockResolvedValueOnce(e({data:o})),r.getFirmwareVersion.mockReturnValueOnce(n(async({throwE:s})=>{s(new Error("error"))}));const t=await new m(a).run();expect(t).toStrictEqual(e({error:new v}))})});
1
+ import{EitherAsync as o}from"purify-ts";import{InvalidStatusWordError as d}from"../../command/Errors";import{CommandResultFactory as i}from"../../command/model/CommandResult";import{makeDeviceActionInternalApiMock as f}from"../../device-action/__test-utils__/makeInternalApi";import{InvalidGetFirmwareMetadataResponseError as p}from"../../device-action/task/Errors";import{DmkResultFactory as m}from"../../model/DmkResult";import{GetFirmwareMetadataTask as u}from"./GetFirmwareMetadataTask";describe("GetFirmwareMetadataTask",()=>{const r=f(),t={mcuSephVersion:"mcu_version",mcuBootloaderVersion:"bl_version",seVersion:"se_version"},v=97,c={id:7},n={id:361,version:"1.6.0",perso:"perso_11"},l={id:362,perso:"perso_11"},w={id:363,version:"1.7.0",perso:"perso_11",mcuVersions:[1]},V=[{id:3,name:"other_version"},{id:1,name:"mcu_version"}],e={getDeviceVersion:vi.fn(),getFirmwareVersion:vi.fn(),getLatestFirmwareVersion:vi.fn(),getNextFirmwareVersion:vi.fn(),getMcuList:vi.fn()};beforeEach(()=>{vi.clearAllMocks(),r.getManagerApiService.mockReturnValue(e),e.getDeviceVersion.mockReturnValue(o(async()=>c)),e.getFirmwareVersion.mockReturnValue(o(async()=>n)),e.getLatestFirmwareVersion.mockReturnValue(o(async()=>l)),e.getNextFirmwareVersion.mockReturnValue(o(async()=>w)),e.getMcuList.mockReturnValue(o(async()=>V))}),it("success with no firmware update available",async()=>{r.sendCommand.mockResolvedValueOnce(i({data:t})).mockResolvedValueOnce(i({data:v})),e.getLatestFirmwareVersion.mockReturnValueOnce(o(async({throwE:s})=>{s(new Error("error"))}));const a=await new u(r).run();expect(a).toStrictEqual(m({data:{deviceVersion:c,firmware:n,firmwareVersion:{mcu:"mcu_version",bootloader:"bl_version",os:"se_version",metadata:t},firmwareUpdateContext:{currentFirmware:n,availableUpdate:void 0},customImage:{size:v}}}))}),it("success with a firmware update available",async()=>{r.sendCommand.mockResolvedValueOnce(i({data:t})).mockResolvedValueOnce(i({error:new d("error")}));const a=await new u(r).run();expect(a).toStrictEqual(m({data:{deviceVersion:c,firmware:n,firmwareVersion:{mcu:"mcu_version",bootloader:"bl_version",os:"se_version",metadata:t},firmwareUpdateContext:{currentFirmware:n,availableUpdate:{osuFirmware:l,finalFirmware:w,mcuUpdateRequired:!1}},customImage:{}}})),expect(e.getDeviceVersion).toHaveBeenCalledWith(t),expect(e.getFirmwareVersion).toHaveBeenCalledWith(t,c),expect(e.getLatestFirmwareVersion).toHaveBeenCalledWith(n,c),expect(e.getNextFirmwareVersion).toHaveBeenCalledWith(l)}),it("success with a firmware update available and MCU update",async()=>{r.sendCommand.mockResolvedValueOnce(i({data:t})).mockResolvedValueOnce(i({error:new d("error")}));const a={...w,mcuVersions:[3]};e.getNextFirmwareVersion.mockReturnValue(o(async()=>a));const s=await new u(r).run();expect(s).toStrictEqual(m({data:{deviceVersion:c,firmware:n,firmwareVersion:{mcu:"mcu_version",bootloader:"bl_version",os:"se_version",metadata:t},firmwareUpdateContext:{currentFirmware:n,availableUpdate:{osuFirmware:l,finalFirmware:a,mcuUpdateRequired:!0}},customImage:{}}}))}),it("should fail when OS version cannot be retrieved",async()=>{r.sendCommand.mockResolvedValueOnce(i({error:new d("error")}));const a=await new u(r).run();expect(a).toStrictEqual(m({error:new d("error")}))}),it("should fail if device version cannot be fetched with InvalidGetFirmwareMetadataResponseError",async()=>{r.sendCommand.mockResolvedValueOnce(i({data:t})),e.getDeviceVersion.mockReturnValueOnce(o(async({throwE:s})=>{s(new Error("error"))}));const a=await new u(r).run();expect(a).toStrictEqual(m({error:new p}))}),it("should fail if firmware version cannot be fetched with InvalidGetFirmwareMetadataResponseError",async()=>{r.sendCommand.mockResolvedValueOnce(i({data:t})),e.getFirmwareVersion.mockReturnValueOnce(o(async({throwE:s})=>{s(new Error("error"))}));const a=await new u(r).run();expect(a).toStrictEqual(m({error:new p}))})});
2
2
  //# sourceMappingURL=GetFirmwareMetadataTask.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/api/device-action/task/GetFirmwareMetadataTask.test.ts"],
4
- "sourcesContent": ["import { EitherAsync } from \"purify-ts\";\n\nimport {\n InvalidGetFirmwareMetadataResponseError,\n InvalidStatusWordError,\n} from \"@api/command/Errors\";\nimport { CommandResultFactory } from \"@api/command/model/CommandResult\";\nimport { type GetOsVersionResponse } from \"@api/command/os/GetOsVersionCommand\";\nimport { makeDeviceActionInternalApiMock } from \"@api/device-action/__test-utils__/makeInternalApi\";\nimport {\n type FinalFirmware,\n type McuFirmware,\n type OsuFirmware,\n} from \"@internal/manager-api/model/Firmware\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\n\nimport { GetFirmwareMetadataTask } from \"./GetFirmwareMetadataTask\";\n\ndescribe(\"GetFirmwareMetadataTask\", () => {\n const apiMock = makeDeviceActionInternalApiMock();\n const OS_VERSION = {\n mcuSephVersion: \"mcu_version\",\n mcuBootloaderVersion: \"bl_version\",\n seVersion: \"se_version\",\n } as GetOsVersionResponse;\n\n const CUSTOM_IMAGE_SIZE = 97;\n\n const DEVICE_VERSION = {\n id: 7,\n };\n\n const FIRMWARE_VERSION = {\n id: 361,\n version: \"1.6.0\",\n perso: \"perso_11\",\n } as FinalFirmware;\n\n const OSU_VERSION = {\n id: 362,\n perso: \"perso_11\",\n } as OsuFirmware;\n\n const NEXT_FIRMWARE_VERSION = {\n id: 363,\n version: \"1.7.0\",\n perso: \"perso_11\",\n mcuVersions: [1],\n } as FinalFirmware;\n\n const MCUS = [\n {\n id: 3,\n name: \"other_version\",\n },\n {\n id: 1,\n name: \"mcu_version\",\n },\n ] as McuFirmware[];\n\n const MANAGER_MOCK = {\n getDeviceVersion: vi.fn(),\n getFirmwareVersion: vi.fn(),\n getLatestFirmwareVersion: vi.fn(),\n getNextFirmwareVersion: vi.fn(),\n getMcuList: vi.fn(),\n };\n\n beforeEach(() => {\n vi.clearAllMocks();\n\n apiMock.getManagerApiService.mockReturnValue(\n MANAGER_MOCK as unknown as ManagerApiService,\n );\n MANAGER_MOCK.getDeviceVersion.mockReturnValue(\n EitherAsync(async () => DEVICE_VERSION),\n );\n MANAGER_MOCK.getFirmwareVersion.mockReturnValue(\n EitherAsync(async () => FIRMWARE_VERSION),\n );\n MANAGER_MOCK.getLatestFirmwareVersion.mockReturnValue(\n EitherAsync(async () => OSU_VERSION),\n );\n MANAGER_MOCK.getNextFirmwareVersion.mockReturnValue(\n EitherAsync(async () => NEXT_FIRMWARE_VERSION),\n );\n MANAGER_MOCK.getMcuList.mockReturnValue(EitherAsync(async () => MCUS));\n });\n\n it(\"success with no firmware update available\", async () => {\n // GIVEN\n apiMock.sendCommand\n .mockResolvedValueOnce(CommandResultFactory({ data: OS_VERSION }))\n .mockResolvedValueOnce(CommandResultFactory({ data: CUSTOM_IMAGE_SIZE }));\n MANAGER_MOCK.getLatestFirmwareVersion.mockReturnValueOnce(\n EitherAsync(async ({ throwE }) => {\n throwE(new Error(\"error\"));\n }),\n );\n\n // WHEN\n const result = await new GetFirmwareMetadataTask(apiMock).run();\n\n // THEN\n expect(result).toStrictEqual(\n CommandResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE_VERSION,\n firmwareVersion: {\n mcu: \"mcu_version\",\n bootloader: \"bl_version\",\n os: \"se_version\",\n metadata: OS_VERSION,\n },\n firmwareUpdateContext: {\n currentFirmware: FIRMWARE_VERSION,\n availableUpdate: undefined,\n },\n customImage: { size: CUSTOM_IMAGE_SIZE },\n },\n }),\n );\n });\n\n it(\"success with a firmware update available\", async () => {\n // GIVEN\n apiMock.sendCommand\n .mockResolvedValueOnce(CommandResultFactory({ data: OS_VERSION }))\n .mockResolvedValueOnce(\n CommandResultFactory({ error: new InvalidStatusWordError(\"error\") }),\n );\n\n // WHEN\n const result = await new GetFirmwareMetadataTask(apiMock).run();\n\n // THEN\n expect(result).toStrictEqual(\n CommandResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE_VERSION,\n firmwareVersion: {\n mcu: \"mcu_version\",\n bootloader: \"bl_version\",\n os: \"se_version\",\n metadata: OS_VERSION,\n },\n firmwareUpdateContext: {\n currentFirmware: FIRMWARE_VERSION,\n availableUpdate: {\n osuFirmware: OSU_VERSION,\n finalFirmware: NEXT_FIRMWARE_VERSION,\n mcuUpdateRequired: false,\n },\n },\n customImage: {},\n },\n }),\n );\n expect(MANAGER_MOCK.getDeviceVersion).toHaveBeenCalledWith(OS_VERSION);\n expect(MANAGER_MOCK.getFirmwareVersion).toHaveBeenCalledWith(\n OS_VERSION,\n DEVICE_VERSION,\n );\n expect(MANAGER_MOCK.getLatestFirmwareVersion).toHaveBeenCalledWith(\n FIRMWARE_VERSION,\n DEVICE_VERSION,\n );\n expect(MANAGER_MOCK.getNextFirmwareVersion).toHaveBeenCalledWith(\n OSU_VERSION,\n );\n });\n\n it(\"success with a firmware update available and MCU update\", async () => {\n // GIVEN\n apiMock.sendCommand\n .mockResolvedValueOnce(CommandResultFactory({ data: OS_VERSION }))\n .mockResolvedValueOnce(\n CommandResultFactory({ error: new InvalidStatusWordError(\"error\") }),\n );\n const nextFirmware = {\n ...NEXT_FIRMWARE_VERSION,\n mcuVersions: [3],\n };\n MANAGER_MOCK.getNextFirmwareVersion.mockReturnValue(\n EitherAsync(async () => nextFirmware),\n );\n\n // WHEN\n const result = await new GetFirmwareMetadataTask(apiMock).run();\n\n // THEN\n expect(result).toStrictEqual(\n CommandResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE_VERSION,\n firmwareVersion: {\n mcu: \"mcu_version\",\n bootloader: \"bl_version\",\n os: \"se_version\",\n metadata: OS_VERSION,\n },\n firmwareUpdateContext: {\n currentFirmware: FIRMWARE_VERSION,\n availableUpdate: {\n osuFirmware: OSU_VERSION,\n finalFirmware: nextFirmware,\n mcuUpdateRequired: true,\n },\n },\n customImage: {},\n },\n }),\n );\n });\n\n it(\"should fail when OS version cannot be retrieved\", async () => {\n // GIVEN\n apiMock.sendCommand.mockResolvedValueOnce(\n CommandResultFactory({ error: new InvalidStatusWordError(\"error\") }),\n );\n\n // WHEN\n const result = await new GetFirmwareMetadataTask(apiMock).run();\n\n // THEN\n expect(result).toStrictEqual(\n CommandResultFactory({ error: new InvalidStatusWordError(\"error\") }),\n );\n });\n\n it(\"should fail if device version cannot be fetched with InvalidGetFirmwareMetadataResponseError\", async () => {\n // GIVEN\n apiMock.sendCommand.mockResolvedValueOnce(\n CommandResultFactory({ data: OS_VERSION }),\n );\n MANAGER_MOCK.getDeviceVersion.mockReturnValueOnce(\n EitherAsync(async ({ throwE }) => {\n throwE(new Error(\"error\"));\n }),\n );\n\n // WHEN\n const result = await new GetFirmwareMetadataTask(apiMock).run();\n\n // THEN\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new InvalidGetFirmwareMetadataResponseError(),\n }),\n );\n });\n\n it(\"should fail if firmware version cannot be fetched with InvalidGetFirmwareMetadataResponseError\", async () => {\n // GIVEN\n apiMock.sendCommand.mockResolvedValueOnce(\n CommandResultFactory({ data: OS_VERSION }),\n );\n MANAGER_MOCK.getFirmwareVersion.mockReturnValueOnce(\n EitherAsync(async ({ throwE }) => {\n throwE(new Error(\"error\"));\n }),\n );\n\n // WHEN\n const result = await new GetFirmwareMetadataTask(apiMock).run();\n\n // THEN\n expect(result).toStrictEqual(\n CommandResultFactory({\n error: new InvalidGetFirmwareMetadataResponseError(),\n }),\n );\n });\n});\n"],
5
- "mappings": "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",
6
- "names": ["EitherAsync", "InvalidGetFirmwareMetadataResponseError", "InvalidStatusWordError", "CommandResultFactory", "makeDeviceActionInternalApiMock", "GetFirmwareMetadataTask", "apiMock", "OS_VERSION", "CUSTOM_IMAGE_SIZE", "DEVICE_VERSION", "FIRMWARE_VERSION", "OSU_VERSION", "NEXT_FIRMWARE_VERSION", "MCUS", "MANAGER_MOCK", "throwE", "result", "nextFirmware"]
4
+ "sourcesContent": ["import { EitherAsync } from \"purify-ts\";\n\nimport { InvalidStatusWordError } from \"@api/command/Errors\";\nimport { CommandResultFactory } from \"@api/command/model/CommandResult\";\nimport { type GetOsVersionResponse } from \"@api/command/os/GetOsVersionCommand\";\nimport { makeDeviceActionInternalApiMock } from \"@api/device-action/__test-utils__/makeInternalApi\";\nimport { InvalidGetFirmwareMetadataResponseError } from \"@api/device-action/task/Errors\";\nimport { DmkResultFactory } from \"@api/model/DmkResult\";\nimport {\n type FinalFirmware,\n type McuFirmware,\n type OsuFirmware,\n} from \"@internal/manager-api/model/Firmware\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\n\nimport { GetFirmwareMetadataTask } from \"./GetFirmwareMetadataTask\";\n\ndescribe(\"GetFirmwareMetadataTask\", () => {\n const apiMock = makeDeviceActionInternalApiMock();\n const OS_VERSION = {\n mcuSephVersion: \"mcu_version\",\n mcuBootloaderVersion: \"bl_version\",\n seVersion: \"se_version\",\n } as GetOsVersionResponse;\n\n const CUSTOM_IMAGE_SIZE = 97;\n\n const DEVICE_VERSION = {\n id: 7,\n };\n\n const FIRMWARE_VERSION = {\n id: 361,\n version: \"1.6.0\",\n perso: \"perso_11\",\n } as FinalFirmware;\n\n const OSU_VERSION = {\n id: 362,\n perso: \"perso_11\",\n } as OsuFirmware;\n\n const NEXT_FIRMWARE_VERSION = {\n id: 363,\n version: \"1.7.0\",\n perso: \"perso_11\",\n mcuVersions: [1],\n } as FinalFirmware;\n\n const MCUS = [\n {\n id: 3,\n name: \"other_version\",\n },\n {\n id: 1,\n name: \"mcu_version\",\n },\n ] as McuFirmware[];\n\n const MANAGER_MOCK = {\n getDeviceVersion: vi.fn(),\n getFirmwareVersion: vi.fn(),\n getLatestFirmwareVersion: vi.fn(),\n getNextFirmwareVersion: vi.fn(),\n getMcuList: vi.fn(),\n };\n\n beforeEach(() => {\n vi.clearAllMocks();\n\n apiMock.getManagerApiService.mockReturnValue(\n MANAGER_MOCK as unknown as ManagerApiService,\n );\n MANAGER_MOCK.getDeviceVersion.mockReturnValue(\n EitherAsync(async () => DEVICE_VERSION),\n );\n MANAGER_MOCK.getFirmwareVersion.mockReturnValue(\n EitherAsync(async () => FIRMWARE_VERSION),\n );\n MANAGER_MOCK.getLatestFirmwareVersion.mockReturnValue(\n EitherAsync(async () => OSU_VERSION),\n );\n MANAGER_MOCK.getNextFirmwareVersion.mockReturnValue(\n EitherAsync(async () => NEXT_FIRMWARE_VERSION),\n );\n MANAGER_MOCK.getMcuList.mockReturnValue(EitherAsync(async () => MCUS));\n });\n\n it(\"success with no firmware update available\", async () => {\n // GIVEN\n apiMock.sendCommand\n .mockResolvedValueOnce(CommandResultFactory({ data: OS_VERSION }))\n .mockResolvedValueOnce(CommandResultFactory({ data: CUSTOM_IMAGE_SIZE }));\n MANAGER_MOCK.getLatestFirmwareVersion.mockReturnValueOnce(\n EitherAsync(async ({ throwE }) => {\n throwE(new Error(\"error\"));\n }),\n );\n\n // WHEN\n const result = await new GetFirmwareMetadataTask(apiMock).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE_VERSION,\n firmwareVersion: {\n mcu: \"mcu_version\",\n bootloader: \"bl_version\",\n os: \"se_version\",\n metadata: OS_VERSION,\n },\n firmwareUpdateContext: {\n currentFirmware: FIRMWARE_VERSION,\n availableUpdate: undefined,\n },\n customImage: { size: CUSTOM_IMAGE_SIZE },\n },\n }),\n );\n });\n\n it(\"success with a firmware update available\", async () => {\n // GIVEN\n apiMock.sendCommand\n .mockResolvedValueOnce(CommandResultFactory({ data: OS_VERSION }))\n .mockResolvedValueOnce(\n CommandResultFactory({ error: new InvalidStatusWordError(\"error\") }),\n );\n\n // WHEN\n const result = await new GetFirmwareMetadataTask(apiMock).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE_VERSION,\n firmwareVersion: {\n mcu: \"mcu_version\",\n bootloader: \"bl_version\",\n os: \"se_version\",\n metadata: OS_VERSION,\n },\n firmwareUpdateContext: {\n currentFirmware: FIRMWARE_VERSION,\n availableUpdate: {\n osuFirmware: OSU_VERSION,\n finalFirmware: NEXT_FIRMWARE_VERSION,\n mcuUpdateRequired: false,\n },\n },\n customImage: {},\n },\n }),\n );\n expect(MANAGER_MOCK.getDeviceVersion).toHaveBeenCalledWith(OS_VERSION);\n expect(MANAGER_MOCK.getFirmwareVersion).toHaveBeenCalledWith(\n OS_VERSION,\n DEVICE_VERSION,\n );\n expect(MANAGER_MOCK.getLatestFirmwareVersion).toHaveBeenCalledWith(\n FIRMWARE_VERSION,\n DEVICE_VERSION,\n );\n expect(MANAGER_MOCK.getNextFirmwareVersion).toHaveBeenCalledWith(\n OSU_VERSION,\n );\n });\n\n it(\"success with a firmware update available and MCU update\", async () => {\n // GIVEN\n apiMock.sendCommand\n .mockResolvedValueOnce(CommandResultFactory({ data: OS_VERSION }))\n .mockResolvedValueOnce(\n CommandResultFactory({ error: new InvalidStatusWordError(\"error\") }),\n );\n const nextFirmware = {\n ...NEXT_FIRMWARE_VERSION,\n mcuVersions: [3],\n };\n MANAGER_MOCK.getNextFirmwareVersion.mockReturnValue(\n EitherAsync(async () => nextFirmware),\n );\n\n // WHEN\n const result = await new GetFirmwareMetadataTask(apiMock).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({\n data: {\n deviceVersion: DEVICE_VERSION,\n firmware: FIRMWARE_VERSION,\n firmwareVersion: {\n mcu: \"mcu_version\",\n bootloader: \"bl_version\",\n os: \"se_version\",\n metadata: OS_VERSION,\n },\n firmwareUpdateContext: {\n currentFirmware: FIRMWARE_VERSION,\n availableUpdate: {\n osuFirmware: OSU_VERSION,\n finalFirmware: nextFirmware,\n mcuUpdateRequired: true,\n },\n },\n customImage: {},\n },\n }),\n );\n });\n\n it(\"should fail when OS version cannot be retrieved\", async () => {\n // GIVEN\n apiMock.sendCommand.mockResolvedValueOnce(\n CommandResultFactory({ error: new InvalidStatusWordError(\"error\") }),\n );\n\n // WHEN\n const result = await new GetFirmwareMetadataTask(apiMock).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({ error: new InvalidStatusWordError(\"error\") }),\n );\n });\n\n it(\"should fail if device version cannot be fetched with InvalidGetFirmwareMetadataResponseError\", async () => {\n // GIVEN\n apiMock.sendCommand.mockResolvedValueOnce(\n CommandResultFactory({ data: OS_VERSION }),\n );\n MANAGER_MOCK.getDeviceVersion.mockReturnValueOnce(\n EitherAsync(async ({ throwE }) => {\n throwE(new Error(\"error\"));\n }),\n );\n\n // WHEN\n const result = await new GetFirmwareMetadataTask(apiMock).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({\n error: new InvalidGetFirmwareMetadataResponseError(),\n }),\n );\n });\n\n it(\"should fail if firmware version cannot be fetched with InvalidGetFirmwareMetadataResponseError\", async () => {\n // GIVEN\n apiMock.sendCommand.mockResolvedValueOnce(\n CommandResultFactory({ data: OS_VERSION }),\n );\n MANAGER_MOCK.getFirmwareVersion.mockReturnValueOnce(\n EitherAsync(async ({ throwE }) => {\n throwE(new Error(\"error\"));\n }),\n );\n\n // WHEN\n const result = await new GetFirmwareMetadataTask(apiMock).run();\n\n // THEN\n expect(result).toStrictEqual(\n DmkResultFactory({\n error: new InvalidGetFirmwareMetadataResponseError(),\n }),\n );\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["EitherAsync", "InvalidStatusWordError", "CommandResultFactory", "makeDeviceActionInternalApiMock", "InvalidGetFirmwareMetadataResponseError", "DmkResultFactory", "GetFirmwareMetadataTask", "apiMock", "OS_VERSION", "CUSTOM_IMAGE_SIZE", "DEVICE_VERSION", "FIRMWARE_VERSION", "OSU_VERSION", "NEXT_FIRMWARE_VERSION", "MCUS", "MANAGER_MOCK", "throwE", "result", "nextFirmware"]
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{AxiosManagerApiDataSource as d}from"../../../internal/manager-api/data/AxiosManagerApiDataSource";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 n}from"./DisableDeviceSessionRefresher";vi.mock("uuid",()=>({v4:()=>"fakeUuid"}));let e,r,i,o,t,c;describe("DisableDeviceSessionRefresherUseCase",()=>{beforeEach(()=>{e=new v([],"get-connected-device-use-case-test"),r=new m(()=>e),t=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,t,c,f),r.addDeviceSession(o),i=new n(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 n(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({})),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 { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\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 AxiosManagerApiDataSource({} 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,6BAAAC,MAAiC,uDAC1C,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,EAA0B,CAAC,CAAc,CAC/C,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",
6
- "names": ["DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS", "deviceSessionStubBuilder", "DeviceSessionNotFound", "DefaultDeviceSessionService", "DefaultLoggerPublisherService", "AxiosManagerApiDataSource", "DefaultManagerApiService", "DefaultSecureChannelDataSource", "DefaultSecureChannelService", "DisableDeviceSessionRefresherUseCase", "logger", "sessionService", "useCase", "deviceSession", "managerApi", "secureChannel", "spy", "reenableRefresher", "error"]
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",
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{Apdu as r}from"./apdu/model/Apdu";import{APDU_MAX_PAYLOAD as p,ApduBuilder as a}from"./apdu/utils/ApduBuilder";import{ApduParser as n}from"./apdu/utils/ApduParser";export*from"./apdu/utils/AppBuilderError";import{ByteArrayBuilder as d}from"./apdu/utils/ByteArrayBuilder";import{ByteArrayParser as f}from"./apdu/utils/ByteArrayParser";import{InvalidGetFirmwareMetadataResponseError as x,InvalidResponseFormatError as D,InvalidStatusWordError as u}from"./command/Errors";import{CommandResultFactory as S,CommandResultStatus as g,isSuccessCommandResult as y}from"./command/model/CommandResult";import{BackupStorageCommand as C}from"./command/os/BackupStorageCommand";import{CloseAppCommand as E}from"./command/os/CloseAppCommand";import{GetAppAndVersionCommand as R}from"./command/os/GetAppAndVersionCommand";import{GetAppStorageInfoCommand as L}from"./command/os/GetAppStorageInfoCommand";import{GetBackgroundImageSizeCommand as b,GetBackgroundImageSizeCommandError as h}from"./command/os/GetBackgroundImageSizeCommand";import{BatteryStatusType as M,GetBatteryStatusCommand as k}from"./command/os/GetBatteryStatusCommand";import{GetOsVersionCommand as _}from"./command/os/GetOsVersionCommand";import{ListAppsCommand as V}from"./command/os/ListAppsCommand";import{LoadCertificateCommand as P}from"./command/os/LoadCertificateCommand";import{OpenAppCommand as W}from"./command/os/OpenAppCommand";import{isCommandErrorCode as H}from"./command/utils/CommandErrors";import{CommandUtils as X}from"./command/utils/CommandUtils";import{GLOBAL_ERRORS as Y,GlobalCommandError as j,GlobalCommandErrorHandler as J}from"./command/utils/GlobalCommandError";import{DeviceModel as Z,DeviceModelId as $,LEDGER_VENDOR_ID as ee}from"./device/DeviceModel";import{DeviceStatus as re}from"./device/DeviceStatus";import{DeviceActionStatus as pe}from"./device-action/model/DeviceActionState";import{UserInteractionRequired as me}from"./device-action/model/UserInteractionRequired";import{CallTaskInAppDeviceAction as ie}from"./device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction";import{DEFAULT_UNLOCK_TIMEOUT_MS as de}from"./device-action/os/Const";import{AppAlreadyInstalledDAError as fe,DeviceLockedError as Ae,DeviceNotOnboardedError as xe,OutOfMemoryDAError as De,RefusedByUserDAError as ue,UnknownDAError as le,UnsupportedFirmwareDAError as Se}from"./device-action/os/Errors";import{GetDeviceMetadataDeviceAction as ye}from"./device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction";import{GetDeviceStatusDeviceAction as Ce}from"./device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction";import{GoToDashboardDeviceAction as Ee}from"./device-action/os/GoToDashboard/GoToDashboardDeviceAction";import{InstallOrUpdateAppsDeviceAction as Re}from"./device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction";import{ListAppsDeviceAction as Le}from"./device-action/os/ListApps/ListAppsDeviceAction";import{ListAppsWithMetadataDeviceAction as be}from"./device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction";import{OpenAppDeviceAction as Oe}from"./device-action/os/OpenAppDeviceAction/OpenAppDeviceAction";import{OpenAppWithDependenciesDeviceAction as ke}from"./device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction";import{SendCommandInAppDeviceAction as _e}from"./device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction";import{BackupAppStorageTask as Ve}from"./device-action/task/BackupAppStorageTask";import{XStateDeviceAction as Pe}from"./device-action/xstate-utils/XStateDeviceAction";import{StaticDeviceModelDataSource as We}from"./device-model/data/StaticDeviceModelDataSource";import{BleDeviceInfos as He}from"./device-model/model/BleDeviceInfos";import{TransportDeviceModel as Xe}from"./device-model/model/DeviceModel";import{ApduResponse as Ye}from"./device-session/ApduResponse";export*from"./device-session/data/FramerConst";import{DeviceSessionStateType as Qe}from"./device-session/DeviceSessionState";import{GenuineCheckDeviceAction as $e}from"./secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction";import{InstallAppDeviceAction as oo}from"./secure-channel/device-action/InstallApp/InstallAppDeviceAction";import{ListInstalledAppsDeviceAction as to}from"./secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction";import{UninstallAppDeviceAction as ao}from"./secure-channel/device-action/UninstallApp/UninstallAppDeviceAction";import{DMK_STORAGE_PREFIX_KEY as no}from"./storage/KeyValueStorage";import{SecureChannelError as so}from"../internal/secure-channel/model/Errors";import{defaultApduReceiverServiceStubBuilder as fo}from"./device-session/service/DefaultApduReceiverService.stub";import{defaultApduSenderServiceStubBuilder as xo}from"./device-session/service/DefaultApduSenderService.stub";import{FramerUtils as uo}from"./device-session/utils/FramerUtils";import{DeviceManagementKit as So}from"./DeviceManagementKit";import{DeviceManagementKitBuilder as yo}from"./DeviceManagementKitBuilder";export*from"./Error";import{noopLogger as Go,noopLoggerFactory as Eo}from"./logger-publisher/utils/noopLoggerFactory";import{LogLevel as Ro}from"./logger-subscriber/model/LogLevel";import{ConsoleLogger as Lo}from"./logger-subscriber/service/ConsoleLogger";import{DefaultLogTagFormatter as bo}from"./logger-subscriber/service/DefaultLogTagFormatter";import{WebLogsExporterLogger as Oo}from"./logger-subscriber/service/WebLogsExporterLogger";import{ConnectedDevice as ko}from"./transport/model/ConnectedDevice";import{DeviceConnectionStateMachine as _o}from"./transport/model/DeviceConnectionStateMachine";export*from"./transport/model/Errors";import{TransportConnectedDevice as Ko}from"./transport/model/TransportConnectedDevice";import{connectedDeviceStubBuilder as zo}from"./transport/model/TransportConnectedDevice.stub";export*from"./types";import{formatApduReceivedLog as Ho,formatApduSentLog as No}from"./utils/apduLogs";import{ApplicationChecker as qo}from"./utils/ApplicationChecker";import{base64StringToBuffer as jo,bufferToBase64String as Jo,isBase64String as Qo}from"./utils/Base64String";import{bufferToHexaString as $o,hexaStringToBuffer as er,isHexaString as or}from"./utils/HexaString";export{p as APDU_MAX_PAYLOAD,r as Apdu,a as ApduBuilder,n as ApduParser,Ye as ApduResponse,fe as AppAlreadyInstalledDAError,qo as ApplicationChecker,Ve as BackupAppStorageTask,C as BackupStorageCommand,M as BatteryStatusType,He as BleDeviceInfos,d as ByteArrayBuilder,f as ByteArrayParser,ie as CallTaskInAppDeviceAction,E as CloseAppCommand,S as CommandResultFactory,g as CommandResultStatus,X as CommandUtils,ko as ConnectedDevice,Lo as ConsoleLogger,de as DEFAULT_UNLOCK_TIMEOUT_MS,no as DMK_STORAGE_PREFIX_KEY,bo as DefaultLogTagFormatter,pe as DeviceActionStatus,_o as DeviceConnectionStateMachine,Ae as DeviceLockedError,So as DeviceManagementKit,yo as DeviceManagementKitBuilder,Z as DeviceModel,$ as DeviceModelId,xe as DeviceNotOnboardedError,Qe as DeviceSessionStateType,re as DeviceStatus,uo as FramerUtils,Y as GLOBAL_ERRORS,$e as GenuineCheckDeviceAction,R as GetAppAndVersionCommand,L as GetAppStorageInfoCommand,b as GetBackgroundImageSizeCommand,h as GetBackgroundImageSizeCommandError,k as GetBatteryStatusCommand,ye as GetDeviceMetadataDeviceAction,Ce as GetDeviceStatusDeviceAction,_ as GetOsVersionCommand,j as GlobalCommandError,J as GlobalCommandErrorHandler,Ee as GoToDashboardDeviceAction,oo as InstallAppDeviceAction,Re as InstallOrUpdateAppsDeviceAction,x as InvalidGetFirmwareMetadataResponseError,D as InvalidResponseFormatError,u as InvalidStatusWordError,ee as LEDGER_VENDOR_ID,V as ListAppsCommand,Le as ListAppsDeviceAction,be as ListAppsWithMetadataDeviceAction,to as ListInstalledAppsDeviceAction,P as LoadCertificateCommand,Ro as LogLevel,W as OpenAppCommand,Oe as OpenAppDeviceAction,ke as OpenAppWithDependenciesDeviceAction,De as OutOfMemoryDAError,ue as RefusedByUserDAError,so as SecureChannelError,_e as SendCommandInAppDeviceAction,We as StaticDeviceModelDataSource,Ko as TransportConnectedDevice,Xe as TransportDeviceModel,ao as UninstallAppDeviceAction,le as UnknownDAError,Se as UnsupportedFirmwareDAError,me as UserInteractionRequired,Oo as WebLogsExporterLogger,Pe as XStateDeviceAction,jo as base64StringToBuffer,Jo as bufferToBase64String,$o as bufferToHexaString,zo as connectedDeviceStubBuilder,fo as defaultApduReceiverServiceStubBuilder,xo as defaultApduSenderServiceStubBuilder,Ho as formatApduReceivedLog,No as formatApduSentLog,er as hexaStringToBuffer,Qo as isBase64String,H as isCommandErrorCode,or as isHexaString,y as isSuccessCommandResult,Go as noopLogger,Eo as noopLoggerFactory};
1
+ import{Apdu as r}from"./apdu/model/Apdu";import{APDU_MAX_PAYLOAD as p,ApduBuilder as a}from"./apdu/utils/ApduBuilder";import{ApduParser as n}from"./apdu/utils/ApduParser";export*from"./apdu/utils/AppBuilderError";import{ByteArrayBuilder as f}from"./apdu/utils/ByteArrayBuilder";import{ByteArrayParser as d}from"./apdu/utils/ByteArrayParser";import{InvalidResponseFormatError as x,InvalidStatusWordError as D}from"./command/Errors";import{CommandResultFactory as l,CommandResultStatus as y,isSuccessCommandResult as S}from"./command/model/CommandResult";import{BackupStorageCommand as g}from"./command/os/BackupStorageCommand";import{CloseAppCommand as R}from"./command/os/CloseAppCommand";import{GetAppAndVersionCommand as E}from"./command/os/GetAppAndVersionCommand";import{GetAppStorageInfoCommand as I}from"./command/os/GetAppStorageInfoCommand";import{GetBackgroundImageSizeCommand as L,GetBackgroundImageSizeCommandError as T}from"./command/os/GetBackgroundImageSizeCommand";import{BatteryStatusType as b,GetBatteryStatusCommand as h}from"./command/os/GetBatteryStatusCommand";import{GetOsVersionCommand as U}from"./command/os/GetOsVersionCommand";import{ListAppsCommand as _}from"./command/os/ListAppsCommand";import{LoadCertificateCommand as V}from"./command/os/LoadCertificateCommand";import{OpenAppCommand as N}from"./command/os/OpenAppCommand";import{isCommandErrorCode as z}from"./command/utils/CommandErrors";import{CommandUtils as q}from"./command/utils/CommandUtils";import{GLOBAL_ERRORS as X,GlobalCommandError as Q,GlobalCommandErrorHandler as Y}from"./command/utils/GlobalCommandError";import{DeviceModel as J,DeviceModelId as Z,LEDGER_VENDOR_ID as $}from"./device/DeviceModel";import{DeviceStatus as oe}from"./device/DeviceStatus";import{DeviceActionStatus as te}from"./device-action/model/DeviceActionState";import{UserInteractionRequired as ae}from"./device-action/model/UserInteractionRequired";import{CallTaskInAppDeviceAction as ne}from"./device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction";import{DEFAULT_UNLOCK_TIMEOUT_MS as se}from"./device-action/os/Const";import{AppAlreadyInstalledDAError as ce,DeviceLockedError as de,DeviceNotOnboardedError as Ae,OutOfMemoryDAError as xe,RefusedByUserDAError as De,UnknownDAError as ue,UnsupportedFirmwareDAError as le}from"./device-action/os/Errors";import{GetDeviceMetadataDeviceAction as Se}from"./device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction";import{GetDeviceStatusDeviceAction as ge}from"./device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction";import{GoToDashboardDeviceAction as Re}from"./device-action/os/GoToDashboard/GoToDashboardDeviceAction";import{InstallOrUpdateAppsDeviceAction as Ee}from"./device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction";import{ListAppsDeviceAction as Ie}from"./device-action/os/ListApps/ListAppsDeviceAction";import{ListAppsWithMetadataDeviceAction as Le}from"./device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction";import{OpenAppDeviceAction as Oe}from"./device-action/os/OpenAppDeviceAction/OpenAppDeviceAction";import{OpenAppWithDependenciesDeviceAction as he}from"./device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction";import{SendCommandInAppDeviceAction as Ue}from"./device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction";import{BackupAppStorageTask as _e}from"./device-action/task/BackupAppStorageTask";import{GetApplicationsMetadataTaskError as Ve,InvalidGetFirmwareMetadataResponseError as we}from"./device-action/task/Errors";import{XStateDeviceAction as Ke}from"./device-action/xstate-utils/XStateDeviceAction";import{StaticDeviceModelDataSource as We}from"./device-model/data/StaticDeviceModelDataSource";import{BleDeviceInfos as He}from"./device-model/model/BleDeviceInfos";import{TransportDeviceModel as Qe}from"./device-model/model/DeviceModel";import{ApduResponse as je}from"./device-session/ApduResponse";export*from"./device-session/data/FramerConst";import{DeviceSessionStateType as $e}from"./device-session/DeviceSessionState";import{DmkResultFactory as oo,DmkResultStatus as ro,isSuccessDmkResult as to}from"./model/DmkResult";import{GenuineCheckDeviceAction as ao}from"./secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction";import{InstallAppDeviceAction as no}from"./secure-channel/device-action/InstallApp/InstallAppDeviceAction";import{ListInstalledAppsDeviceAction as so}from"./secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction";import{UninstallAppDeviceAction as co}from"./secure-channel/device-action/UninstallApp/UninstallAppDeviceAction";import{DMK_STORAGE_PREFIX_KEY as xo}from"./storage/KeyValueStorage";import{SecureChannelError as uo}from"../internal/secure-channel/model/Errors";import{defaultApduReceiverServiceStubBuilder as yo}from"./device-session/service/DefaultApduReceiverService.stub";import{defaultApduSenderServiceStubBuilder as Co}from"./device-session/service/DefaultApduSenderService.stub";import{FramerUtils as vo}from"./device-session/utils/FramerUtils";import{DeviceManagementKit as Go}from"./DeviceManagementKit";import{DeviceManagementKitBuilder as ko}from"./DeviceManagementKitBuilder";export*from"./Error";import{noopLogger as Lo,noopLoggerFactory as To}from"./logger-publisher/utils/noopLoggerFactory";import{LogLevel as bo}from"./logger-subscriber/model/LogLevel";import{ConsoleLogger as Mo}from"./logger-subscriber/service/ConsoleLogger";import{DefaultLogTagFormatter as Fo}from"./logger-subscriber/service/DefaultLogTagFormatter";import{WebLogsExporterLogger as Po}from"./logger-subscriber/service/WebLogsExporterLogger";import{DmkNetworkClient as wo}from"./network/DmkNetworkClient";import{DmkNetworkClientError as Ko}from"./network/DmkNetworkClientError";import{ConnectedDevice as Wo}from"./transport/model/ConnectedDevice";import{DeviceConnectionStateMachine as Ho}from"./transport/model/DeviceConnectionStateMachine";export*from"./transport/model/Errors";import{TransportConnectedDevice as Yo}from"./transport/model/TransportConnectedDevice";import{connectedDeviceStubBuilder as Jo}from"./transport/model/TransportConnectedDevice.stub";export*from"./types";import{formatApduReceivedLog as er,formatApduSentLog as or}from"./utils/apduLogs";import{ApplicationChecker as tr}from"./utils/ApplicationChecker";import{base64StringToBuffer as ar,bufferToBase64String as mr,isBase64String as nr}from"./utils/Base64String";import{bufferToHexaString as sr,hexaStringToBuffer as fr,isHexaString as cr}from"./utils/HexaString";export{p as APDU_MAX_PAYLOAD,r as Apdu,a as ApduBuilder,n as ApduParser,je as ApduResponse,ce as AppAlreadyInstalledDAError,tr as ApplicationChecker,_e as BackupAppStorageTask,g as BackupStorageCommand,b as BatteryStatusType,He as BleDeviceInfos,f as ByteArrayBuilder,d as ByteArrayParser,ne as CallTaskInAppDeviceAction,R as CloseAppCommand,l as CommandResultFactory,y as CommandResultStatus,q as CommandUtils,Wo as ConnectedDevice,Mo as ConsoleLogger,se as DEFAULT_UNLOCK_TIMEOUT_MS,xo as DMK_STORAGE_PREFIX_KEY,Fo as DefaultLogTagFormatter,te as DeviceActionStatus,Ho as DeviceConnectionStateMachine,de as DeviceLockedError,Go as DeviceManagementKit,ko as DeviceManagementKitBuilder,J as DeviceModel,Z as DeviceModelId,Ae as DeviceNotOnboardedError,$e as DeviceSessionStateType,oe as DeviceStatus,wo as DmkNetworkClient,Ko as DmkNetworkClientError,oo as DmkResultFactory,ro as DmkResultStatus,vo as FramerUtils,X as GLOBAL_ERRORS,ao as GenuineCheckDeviceAction,E as GetAppAndVersionCommand,I as GetAppStorageInfoCommand,Ve as GetApplicationsMetadataTaskError,L as GetBackgroundImageSizeCommand,T as GetBackgroundImageSizeCommandError,h as GetBatteryStatusCommand,Se as GetDeviceMetadataDeviceAction,ge as GetDeviceStatusDeviceAction,U as GetOsVersionCommand,Q as GlobalCommandError,Y as GlobalCommandErrorHandler,Re as GoToDashboardDeviceAction,no as InstallAppDeviceAction,Ee as InstallOrUpdateAppsDeviceAction,we as InvalidGetFirmwareMetadataResponseError,x as InvalidResponseFormatError,D as InvalidStatusWordError,$ as LEDGER_VENDOR_ID,_ as ListAppsCommand,Ie as ListAppsDeviceAction,Le as ListAppsWithMetadataDeviceAction,so as ListInstalledAppsDeviceAction,V as LoadCertificateCommand,bo as LogLevel,N as OpenAppCommand,Oe as OpenAppDeviceAction,he as OpenAppWithDependenciesDeviceAction,xe as OutOfMemoryDAError,De as RefusedByUserDAError,uo as SecureChannelError,Ue as SendCommandInAppDeviceAction,We as StaticDeviceModelDataSource,Yo as TransportConnectedDevice,Qe as TransportDeviceModel,co as UninstallAppDeviceAction,ue as UnknownDAError,le as UnsupportedFirmwareDAError,ae as UserInteractionRequired,Po as WebLogsExporterLogger,Ke as XStateDeviceAction,ar as base64StringToBuffer,mr as bufferToBase64String,sr as bufferToHexaString,Jo as connectedDeviceStubBuilder,yo as defaultApduReceiverServiceStubBuilder,Co as defaultApduSenderServiceStubBuilder,er as formatApduReceivedLog,or as formatApduSentLog,fr as hexaStringToBuffer,nr as isBase64String,z as isCommandErrorCode,cr as isHexaString,S as isSuccessCommandResult,to as isSuccessDmkResult,Lo as noopLogger,To as noopLoggerFactory};
2
2
  //# sourceMappingURL=index.js.map