@ledgerhq/device-core 0.4.13-next.0 → 0.4.14-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/.turbo/turbo-build.log +2 -2
  2. package/CHANGELOG.md +14 -0
  3. package/lib/commands/entities/APDU.d.ts +1 -0
  4. package/lib/commands/entities/APDU.d.ts.map +1 -1
  5. package/lib/commands/entities/FirmwareInfoEntity.d.ts +1 -0
  6. package/lib/commands/entities/FirmwareInfoEntity.d.ts.map +1 -1
  7. package/lib/commands/use-cases/app-backup/backupAppStorage.d.ts +1 -0
  8. package/lib/commands/use-cases/app-backup/backupAppStorage.d.ts.map +1 -1
  9. package/lib/commands/use-cases/app-backup/backupAppStorage.js +8 -19
  10. package/lib/commands/use-cases/app-backup/backupAppStorage.js.map +1 -1
  11. package/lib/commands/use-cases/app-backup/backupAppStorage.test.js +3 -12
  12. package/lib/commands/use-cases/app-backup/backupAppStorage.test.js.map +1 -1
  13. package/lib/commands/use-cases/app-backup/getAppStorageInfo.d.ts +1 -0
  14. package/lib/commands/use-cases/app-backup/getAppStorageInfo.d.ts.map +1 -1
  15. package/lib/commands/use-cases/app-backup/getAppStorageInfo.js +9 -20
  16. package/lib/commands/use-cases/app-backup/getAppStorageInfo.js.map +1 -1
  17. package/lib/commands/use-cases/app-backup/getAppStorageInfo.test.js +3 -12
  18. package/lib/commands/use-cases/app-backup/getAppStorageInfo.test.js.map +1 -1
  19. package/lib/commands/use-cases/app-backup/restoreAppStorage.d.ts +1 -0
  20. package/lib/commands/use-cases/app-backup/restoreAppStorage.d.ts.map +1 -1
  21. package/lib/commands/use-cases/app-backup/restoreAppStorage.js +8 -19
  22. package/lib/commands/use-cases/app-backup/restoreAppStorage.js.map +1 -1
  23. package/lib/commands/use-cases/app-backup/restoreAppStorage.test.js +3 -12
  24. package/lib/commands/use-cases/app-backup/restoreAppStorage.test.js.map +1 -1
  25. package/lib/commands/use-cases/app-backup/restoreAppStorageCommit.d.ts +1 -0
  26. package/lib/commands/use-cases/app-backup/restoreAppStorageCommit.d.ts.map +1 -1
  27. package/lib/commands/use-cases/app-backup/restoreAppStorageCommit.js +8 -19
  28. package/lib/commands/use-cases/app-backup/restoreAppStorageCommit.js.map +1 -1
  29. package/lib/commands/use-cases/app-backup/restoreAppStorageCommit.test.js +3 -12
  30. package/lib/commands/use-cases/app-backup/restoreAppStorageCommit.test.js.map +1 -1
  31. package/lib/commands/use-cases/app-backup/restoreAppStorageInit.d.ts +1 -0
  32. package/lib/commands/use-cases/app-backup/restoreAppStorageInit.d.ts.map +1 -1
  33. package/lib/commands/use-cases/app-backup/restoreAppStorageInit.js +12 -23
  34. package/lib/commands/use-cases/app-backup/restoreAppStorageInit.js.map +1 -1
  35. package/lib/commands/use-cases/app-backup/restoreAppStorageInit.test.js +3 -12
  36. package/lib/commands/use-cases/app-backup/restoreAppStorageInit.test.js.map +1 -1
  37. package/lib/commands/use-cases/consent/reinstallConfigurationConsent.d.ts +1 -0
  38. package/lib/commands/use-cases/consent/reinstallConfigurationConsent.d.ts.map +1 -1
  39. package/lib/commands/use-cases/consent/reinstallConfigurationConsent.js +8 -19
  40. package/lib/commands/use-cases/consent/reinstallConfigurationConsent.js.map +1 -1
  41. package/lib/commands/use-cases/consent/reinstallConfigurationConsent.test.js +12 -21
  42. package/lib/commands/use-cases/consent/reinstallConfigurationConsent.test.js.map +1 -1
  43. package/lib/commands/use-cases/getDeviceName.js +19 -30
  44. package/lib/commands/use-cases/getDeviceName.js.map +1 -1
  45. package/lib/commands/use-cases/getVersion.d.ts.map +1 -1
  46. package/lib/commands/use-cases/getVersion.js +4 -15
  47. package/lib/commands/use-cases/getVersion.js.map +1 -1
  48. package/lib/commands/use-cases/parseGetDeviceNameResponse.d.ts +1 -0
  49. package/lib/commands/use-cases/parseGetDeviceNameResponse.d.ts.map +1 -1
  50. package/lib/commands/use-cases/parseGetVersionResponse.d.ts +1 -0
  51. package/lib/commands/use-cases/parseGetVersionResponse.d.ts.map +1 -1
  52. package/lib/commands/use-cases/parseGetVersionResponse.js +3 -3
  53. package/lib/commands/use-cases/parseGetVersionResponse.js.map +1 -1
  54. package/lib/customLockScreen/screenSpecs.js +11 -2
  55. package/lib/customLockScreen/screenSpecs.js.map +1 -1
  56. package/lib/firmwareUpdate/shouldForceFirmwareUpdate.js +1 -2
  57. package/lib/firmwareUpdate/shouldForceFirmwareUpdate.js.map +1 -1
  58. package/lib/managerApi/entities/mocks/aDeviceInfo.js +12 -1
  59. package/lib/managerApi/entities/mocks/aDeviceInfo.js.map +1 -1
  60. package/lib/managerApi/entities/mocks/aDeviceVersion.js +16 -1
  61. package/lib/managerApi/entities/mocks/aDeviceVersion.js.map +1 -1
  62. package/lib/managerApi/entities/mocks/aFinalFirmware.js +21 -1
  63. package/lib/managerApi/entities/mocks/aFinalFirmware.js.map +1 -1
  64. package/lib/managerApi/entities/mocks/aOsuFirmware.js +18 -1
  65. package/lib/managerApi/entities/mocks/aOsuFirmware.js.map +1 -1
  66. package/lib/managerApi/repositories/HttpManagerApiRepository.js +170 -176
  67. package/lib/managerApi/repositories/HttpManagerApiRepository.js.map +1 -1
  68. package/lib/managerApi/repositories/HttpManagerApiRepository.test.js +81 -90
  69. package/lib/managerApi/repositories/HttpManagerApiRepository.test.js.map +1 -1
  70. package/lib/managerApi/repositories/StubManagerApiRepository.js +32 -34
  71. package/lib/managerApi/repositories/StubManagerApiRepository.js.map +1 -1
  72. package/lib/managerApi/use-cases/getAppsCatalogForDevice.js +6 -17
  73. package/lib/managerApi/use-cases/getAppsCatalogForDevice.js.map +1 -1
  74. package/lib/managerApi/use-cases/getLatestFirmwareForDevice.js +42 -53
  75. package/lib/managerApi/use-cases/getLatestFirmwareForDevice.js.map +1 -1
  76. package/lib/managerApi/use-cases/getLatestFirmwareForDevice.test.js +17 -26
  77. package/lib/managerApi/use-cases/getLatestFirmwareForDevice.test.js.map +1 -1
  78. package/lib-es/commands/entities/APDU.d.ts +1 -0
  79. package/lib-es/commands/entities/APDU.d.ts.map +1 -1
  80. package/lib-es/commands/entities/FirmwareInfoEntity.d.ts +1 -0
  81. package/lib-es/commands/entities/FirmwareInfoEntity.d.ts.map +1 -1
  82. package/lib-es/commands/use-cases/app-backup/backupAppStorage.d.ts +1 -0
  83. package/lib-es/commands/use-cases/app-backup/backupAppStorage.d.ts.map +1 -1
  84. package/lib-es/commands/use-cases/app-backup/backupAppStorage.js +8 -19
  85. package/lib-es/commands/use-cases/app-backup/backupAppStorage.js.map +1 -1
  86. package/lib-es/commands/use-cases/app-backup/backupAppStorage.test.js +3 -12
  87. package/lib-es/commands/use-cases/app-backup/backupAppStorage.test.js.map +1 -1
  88. package/lib-es/commands/use-cases/app-backup/getAppStorageInfo.d.ts +1 -0
  89. package/lib-es/commands/use-cases/app-backup/getAppStorageInfo.d.ts.map +1 -1
  90. package/lib-es/commands/use-cases/app-backup/getAppStorageInfo.js +9 -20
  91. package/lib-es/commands/use-cases/app-backup/getAppStorageInfo.js.map +1 -1
  92. package/lib-es/commands/use-cases/app-backup/getAppStorageInfo.test.js +3 -12
  93. package/lib-es/commands/use-cases/app-backup/getAppStorageInfo.test.js.map +1 -1
  94. package/lib-es/commands/use-cases/app-backup/restoreAppStorage.d.ts +1 -0
  95. package/lib-es/commands/use-cases/app-backup/restoreAppStorage.d.ts.map +1 -1
  96. package/lib-es/commands/use-cases/app-backup/restoreAppStorage.js +8 -19
  97. package/lib-es/commands/use-cases/app-backup/restoreAppStorage.js.map +1 -1
  98. package/lib-es/commands/use-cases/app-backup/restoreAppStorage.test.js +3 -12
  99. package/lib-es/commands/use-cases/app-backup/restoreAppStorage.test.js.map +1 -1
  100. package/lib-es/commands/use-cases/app-backup/restoreAppStorageCommit.d.ts +1 -0
  101. package/lib-es/commands/use-cases/app-backup/restoreAppStorageCommit.d.ts.map +1 -1
  102. package/lib-es/commands/use-cases/app-backup/restoreAppStorageCommit.js +8 -19
  103. package/lib-es/commands/use-cases/app-backup/restoreAppStorageCommit.js.map +1 -1
  104. package/lib-es/commands/use-cases/app-backup/restoreAppStorageCommit.test.js +3 -12
  105. package/lib-es/commands/use-cases/app-backup/restoreAppStorageCommit.test.js.map +1 -1
  106. package/lib-es/commands/use-cases/app-backup/restoreAppStorageInit.d.ts +1 -0
  107. package/lib-es/commands/use-cases/app-backup/restoreAppStorageInit.d.ts.map +1 -1
  108. package/lib-es/commands/use-cases/app-backup/restoreAppStorageInit.js +12 -23
  109. package/lib-es/commands/use-cases/app-backup/restoreAppStorageInit.js.map +1 -1
  110. package/lib-es/commands/use-cases/app-backup/restoreAppStorageInit.test.js +3 -12
  111. package/lib-es/commands/use-cases/app-backup/restoreAppStorageInit.test.js.map +1 -1
  112. package/lib-es/commands/use-cases/consent/reinstallConfigurationConsent.d.ts +1 -0
  113. package/lib-es/commands/use-cases/consent/reinstallConfigurationConsent.d.ts.map +1 -1
  114. package/lib-es/commands/use-cases/consent/reinstallConfigurationConsent.js +8 -19
  115. package/lib-es/commands/use-cases/consent/reinstallConfigurationConsent.js.map +1 -1
  116. package/lib-es/commands/use-cases/consent/reinstallConfigurationConsent.test.js +12 -21
  117. package/lib-es/commands/use-cases/consent/reinstallConfigurationConsent.test.js.map +1 -1
  118. package/lib-es/commands/use-cases/getDeviceName.js +19 -30
  119. package/lib-es/commands/use-cases/getDeviceName.js.map +1 -1
  120. package/lib-es/commands/use-cases/getVersion.d.ts.map +1 -1
  121. package/lib-es/commands/use-cases/getVersion.js +4 -15
  122. package/lib-es/commands/use-cases/getVersion.js.map +1 -1
  123. package/lib-es/commands/use-cases/parseGetDeviceNameResponse.d.ts +1 -0
  124. package/lib-es/commands/use-cases/parseGetDeviceNameResponse.d.ts.map +1 -1
  125. package/lib-es/commands/use-cases/parseGetVersionResponse.d.ts +1 -0
  126. package/lib-es/commands/use-cases/parseGetVersionResponse.d.ts.map +1 -1
  127. package/lib-es/commands/use-cases/parseGetVersionResponse.js +3 -3
  128. package/lib-es/commands/use-cases/parseGetVersionResponse.js.map +1 -1
  129. package/lib-es/customLockScreen/screenSpecs.js +11 -2
  130. package/lib-es/customLockScreen/screenSpecs.js.map +1 -1
  131. package/lib-es/firmwareUpdate/shouldForceFirmwareUpdate.js +1 -2
  132. package/lib-es/firmwareUpdate/shouldForceFirmwareUpdate.js.map +1 -1
  133. package/lib-es/managerApi/entities/mocks/aDeviceInfo.js +12 -1
  134. package/lib-es/managerApi/entities/mocks/aDeviceInfo.js.map +1 -1
  135. package/lib-es/managerApi/entities/mocks/aDeviceVersion.js +16 -1
  136. package/lib-es/managerApi/entities/mocks/aDeviceVersion.js.map +1 -1
  137. package/lib-es/managerApi/entities/mocks/aFinalFirmware.js +21 -1
  138. package/lib-es/managerApi/entities/mocks/aFinalFirmware.js.map +1 -1
  139. package/lib-es/managerApi/entities/mocks/aOsuFirmware.js +18 -1
  140. package/lib-es/managerApi/entities/mocks/aOsuFirmware.js.map +1 -1
  141. package/lib-es/managerApi/repositories/HttpManagerApiRepository.js +170 -176
  142. package/lib-es/managerApi/repositories/HttpManagerApiRepository.js.map +1 -1
  143. package/lib-es/managerApi/repositories/HttpManagerApiRepository.test.js +81 -90
  144. package/lib-es/managerApi/repositories/HttpManagerApiRepository.test.js.map +1 -1
  145. package/lib-es/managerApi/repositories/StubManagerApiRepository.js +32 -34
  146. package/lib-es/managerApi/repositories/StubManagerApiRepository.js.map +1 -1
  147. package/lib-es/managerApi/use-cases/getAppsCatalogForDevice.js +6 -17
  148. package/lib-es/managerApi/use-cases/getAppsCatalogForDevice.js.map +1 -1
  149. package/lib-es/managerApi/use-cases/getLatestFirmwareForDevice.js +42 -53
  150. package/lib-es/managerApi/use-cases/getLatestFirmwareForDevice.js.map +1 -1
  151. package/lib-es/managerApi/use-cases/getLatestFirmwareForDevice.test.js +17 -26
  152. package/lib-es/managerApi/use-cases/getLatestFirmwareForDevice.test.js.map +1 -1
  153. package/package.json +5 -5
  154. package/src/commands/use-cases/getVersion.ts +1 -0
  155. package/tsconfig.json +0 -2
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
12
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
4
  };
@@ -20,177 +11,180 @@ const getUserHashes_1 = require("../use-cases/getUserHashes");
20
11
  const url_1 = __importDefault(require("url"));
21
12
  const getProviderIdUseCase_1 = require("../use-cases/getProviderIdUseCase");
22
13
  class HttpManagerApiRepository {
14
+ managerApiBase;
15
+ liveCommonVersion;
23
16
  constructor(managerApiBase, liveCommonVersion) {
24
- // NB: we are explicitly specifying the type because TypeScript cannot infer
25
- // properly the return type of `makeLRUCache` without using `any` for the
26
- // parameters.
27
- this.fetchLatestFirmware = (0, cache_1.makeLRUCache)((_a) => __awaiter(this, [_a], void 0, function* ({ current_se_firmware_final_version, device_version, providerId, userId }) {
28
- const salt = (0, getUserHashes_1.getUserHashes)(userId).firmwareSalt;
29
- const { data, } = yield (0, network_1.default)({
30
- method: "GET",
31
- url: url_1.default.format({
32
- pathname: `${this.managerApiBase}/get_latest_firmware`,
33
- query: {
34
- livecommonversion: this.liveCommonVersion,
35
- salt,
36
- current_se_firmware_final_version,
37
- device_version,
38
- provider: providerId,
39
- },
40
- }),
41
- });
42
- if (data.result === "null") {
43
- return null;
44
- }
45
- return data.se_firmware_osu_version;
46
- }), a => `${a.current_se_firmware_final_version}_${a.device_version}_${a.providerId}`);
47
- this.fetchMcus = (0, cache_1.makeLRUCache)(() => __awaiter(this, void 0, void 0, function* () {
48
- const { data } = yield (0, network_1.default)({
49
- method: "GET",
50
- url: url_1.default.format({
51
- pathname: `${this.managerApiBase}/mcu_versions`,
52
- query: {
53
- livecommonversion: this.liveCommonVersion,
54
- },
55
- }),
56
- });
57
- return data;
58
- }), () => "");
59
- this.getDeviceVersion = (0, cache_1.makeLRUCache)((_b) => __awaiter(this, [_b], void 0, function* ({ targetId, providerId }) {
60
- const { data, } = yield (0, network_1.default)({
61
- method: "GET",
62
- url: url_1.default.format({
63
- pathname: `${this.managerApiBase}/get_device_version`,
64
- query: {
65
- livecommonversion: this.liveCommonVersion,
66
- provider: providerId,
67
- target_id: targetId,
68
- },
69
- }),
70
- }).catch(error => {
71
- var _a;
72
- const status = (error === null || error === void 0 ? void 0 : error.status) || ((_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.status);
73
- if (status === 404)
74
- throw new errors_1.FirmwareNotRecognized("manager api did not recognize targetId=" + targetId, {
75
- targetId,
76
- });
77
- throw error;
78
- });
79
- return data;
80
- }), ({ targetId, providerId }) => `${targetId}_${providerId}`);
81
- this.getCurrentOSU = (0, cache_1.makeLRUCache)((input) => __awaiter(this, void 0, void 0, function* () {
82
- const { data } = yield (0, network_1.default)({
83
- method: "GET",
84
- url: url_1.default.format({
85
- pathname: `${this.managerApiBase}/get_osu_version`,
86
- query: {
87
- livecommonversion: this.liveCommonVersion,
88
- device_version: input.deviceId,
89
- version_name: `${input.version}-osu`,
90
- provider: input.providerId,
91
- },
92
- }),
93
- });
94
- return data;
95
- }), a => `${a.version}_${a.deviceId}_${a.providerId}`);
96
- this.getCurrentFirmware = (0, cache_1.makeLRUCache)((input) => __awaiter(this, void 0, void 0, function* () {
97
- const { data, } = yield (0, network_1.default)({
98
- method: "GET",
99
- url: url_1.default.format({
100
- pathname: `${this.managerApiBase}/get_firmware_version`,
101
- query: {
102
- livecommonversion: this.liveCommonVersion,
103
- device_version: input.deviceId,
104
- version_name: input.version,
105
- provider: input.providerId,
106
- },
107
- }),
108
- }).catch(error => {
109
- var _a;
110
- const status = (error === null || error === void 0 ? void 0 : error.status) || ((_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.status);
111
- if (status === 404)
112
- throw new errors_1.FirmwareNotRecognized();
113
- throw error;
114
- });
115
- return data;
116
- }), a => `${a.version}_${a.deviceId}_${a.providerId}`);
117
- this.getFinalFirmwareById = (0, cache_1.makeLRUCache)((id) => __awaiter(this, void 0, void 0, function* () {
118
- const { data, } = yield (0, network_1.default)({
119
- method: "GET",
120
- url: url_1.default.format({
121
- pathname: `${this.managerApiBase}/firmware_final_versions/${id}`,
122
- query: {
123
- livecommonversion: this.liveCommonVersion,
124
- },
125
- }),
126
- });
127
- return data;
128
- }), id => String(id));
129
- this.getAppsByHash = (0, cache_1.makeLRUCache)((hashes) => __awaiter(this, void 0, void 0, function* () {
130
- const { data, } = yield (0, network_1.default)({
131
- method: "POST",
132
- url: url_1.default.format({
133
- pathname: `${this.managerApiBase}/v2/apps/hash`,
134
- query: {
135
- livecommonversion: this.liveCommonVersion,
136
- },
137
- }),
138
- data: hashes,
139
- });
140
- if (!data || !Array.isArray(data)) {
141
- throw new errors_1.NetworkDown("");
142
- }
143
- return data;
144
- }), hashes => `${this.managerApiBase}_${hashes.join("-")}`);
145
- this.catalogForDevice = (0, cache_1.makeLRUCache)((params) => __awaiter(this, void 0, void 0, function* () {
146
- const { provider, targetId, firmwareVersion } = params;
147
- const { data, } = yield (0, network_1.default)({
148
- method: "GET",
149
- url: url_1.default.format({
150
- pathname: `${this.managerApiBase}/v2/apps/by-target`,
151
- query: {
152
- livecommonversion: this.liveCommonVersion,
153
- provider,
154
- target_id: targetId,
155
- firmware_version_name: firmwareVersion,
156
- },
157
- }),
158
- });
159
- if (!data || !Array.isArray(data)) {
160
- throw new errors_1.NetworkDown("");
161
- }
162
- return data;
163
- }), a => `${this.managerApiBase}_${a.provider}_${a.targetId}_${a.firmwareVersion}`);
164
- this.getLanguagePackagesForDevice = (deviceInfo, forceProvider) => __awaiter(this, void 0, void 0, function* () {
165
- const deviceVersion = yield this.getDeviceVersion({
166
- targetId: deviceInfo.targetId,
167
- providerId: (0, getProviderIdUseCase_1.getProviderIdUseCase)({ deviceInfo, forceProvider }),
168
- });
169
- const seFirmwareVersion = yield this.getCurrentFirmware({
170
- version: deviceInfo.version,
171
- deviceId: deviceVersion.id,
172
- providerId: (0, getProviderIdUseCase_1.getProviderIdUseCase)({ deviceInfo, forceProvider }),
173
- });
174
- const { data } = yield (0, network_1.default)({
175
- method: "GET",
176
- url: url_1.default.format({
177
- pathname: `${this.managerApiBase}/language-package`,
178
- query: {
179
- livecommonversion: this.liveCommonVersion,
180
- },
181
- }),
182
- });
183
- const allPackages = data.reduce((acc, response) => [
184
- ...acc,
185
- ...response.language_package_version.map(p => (Object.assign(Object.assign({}, p), { language: response.language }))),
186
- ], []);
187
- const packages = allPackages.filter(pack => pack.device_versions.includes(deviceVersion.id) &&
188
- pack.se_firmware_final_versions.includes(seFirmwareVersion.id));
189
- return packages;
190
- });
191
17
  this.managerApiBase = managerApiBase;
192
18
  this.liveCommonVersion = liveCommonVersion;
193
19
  }
20
+ // NB: we are explicitly specifying the type because TypeScript cannot infer
21
+ // properly the return type of `makeLRUCache` without using `any` for the
22
+ // parameters.
23
+ fetchLatestFirmware = (0, cache_1.makeLRUCache)(async ({ current_se_firmware_final_version, device_version, providerId, userId }) => {
24
+ const salt = (0, getUserHashes_1.getUserHashes)(userId).firmwareSalt;
25
+ const { data, } = await (0, network_1.default)({
26
+ method: "GET",
27
+ url: url_1.default.format({
28
+ pathname: `${this.managerApiBase}/get_latest_firmware`,
29
+ query: {
30
+ livecommonversion: this.liveCommonVersion,
31
+ salt,
32
+ current_se_firmware_final_version,
33
+ device_version,
34
+ provider: providerId,
35
+ },
36
+ }),
37
+ });
38
+ if (data.result === "null") {
39
+ return null;
40
+ }
41
+ return data.se_firmware_osu_version;
42
+ }, a => `${a.current_se_firmware_final_version}_${a.device_version}_${a.providerId}`);
43
+ fetchMcus = (0, cache_1.makeLRUCache)(async () => {
44
+ const { data } = await (0, network_1.default)({
45
+ method: "GET",
46
+ url: url_1.default.format({
47
+ pathname: `${this.managerApiBase}/mcu_versions`,
48
+ query: {
49
+ livecommonversion: this.liveCommonVersion,
50
+ },
51
+ }),
52
+ });
53
+ return data;
54
+ }, () => "");
55
+ getDeviceVersion = (0, cache_1.makeLRUCache)(async ({ targetId, providerId }) => {
56
+ const { data, } = await (0, network_1.default)({
57
+ method: "GET",
58
+ url: url_1.default.format({
59
+ pathname: `${this.managerApiBase}/get_device_version`,
60
+ query: {
61
+ livecommonversion: this.liveCommonVersion,
62
+ provider: providerId,
63
+ target_id: targetId,
64
+ },
65
+ }),
66
+ }).catch(error => {
67
+ const status = error?.status || error?.response?.status;
68
+ if (status === 404)
69
+ throw new errors_1.FirmwareNotRecognized("manager api did not recognize targetId=" + targetId, {
70
+ targetId,
71
+ });
72
+ throw error;
73
+ });
74
+ return data;
75
+ }, ({ targetId, providerId }) => `${targetId}_${providerId}`);
76
+ getCurrentOSU = (0, cache_1.makeLRUCache)(async (input) => {
77
+ const { data } = await (0, network_1.default)({
78
+ method: "GET",
79
+ url: url_1.default.format({
80
+ pathname: `${this.managerApiBase}/get_osu_version`,
81
+ query: {
82
+ livecommonversion: this.liveCommonVersion,
83
+ device_version: input.deviceId,
84
+ version_name: `${input.version}-osu`,
85
+ provider: input.providerId,
86
+ },
87
+ }),
88
+ });
89
+ return data;
90
+ }, a => `${a.version}_${a.deviceId}_${a.providerId}`);
91
+ getCurrentFirmware = (0, cache_1.makeLRUCache)(async (input) => {
92
+ const { data, } = await (0, network_1.default)({
93
+ method: "GET",
94
+ url: url_1.default.format({
95
+ pathname: `${this.managerApiBase}/get_firmware_version`,
96
+ query: {
97
+ livecommonversion: this.liveCommonVersion,
98
+ device_version: input.deviceId,
99
+ version_name: input.version,
100
+ provider: input.providerId,
101
+ },
102
+ }),
103
+ }).catch(error => {
104
+ const status = error?.status || error?.response?.status;
105
+ if (status === 404)
106
+ throw new errors_1.FirmwareNotRecognized();
107
+ throw error;
108
+ });
109
+ return data;
110
+ }, a => `${a.version}_${a.deviceId}_${a.providerId}`);
111
+ getFinalFirmwareById = (0, cache_1.makeLRUCache)(async (id) => {
112
+ const { data, } = await (0, network_1.default)({
113
+ method: "GET",
114
+ url: url_1.default.format({
115
+ pathname: `${this.managerApiBase}/firmware_final_versions/${id}`,
116
+ query: {
117
+ livecommonversion: this.liveCommonVersion,
118
+ },
119
+ }),
120
+ });
121
+ return data;
122
+ }, id => String(id));
123
+ getAppsByHash = (0, cache_1.makeLRUCache)(async (hashes) => {
124
+ const { data, } = await (0, network_1.default)({
125
+ method: "POST",
126
+ url: url_1.default.format({
127
+ pathname: `${this.managerApiBase}/v2/apps/hash`,
128
+ query: {
129
+ livecommonversion: this.liveCommonVersion,
130
+ },
131
+ }),
132
+ data: hashes,
133
+ });
134
+ if (!data || !Array.isArray(data)) {
135
+ throw new errors_1.NetworkDown("");
136
+ }
137
+ return data;
138
+ }, hashes => `${this.managerApiBase}_${hashes.join("-")}`);
139
+ catalogForDevice = (0, cache_1.makeLRUCache)(async (params) => {
140
+ const { provider, targetId, firmwareVersion } = params;
141
+ const { data, } = await (0, network_1.default)({
142
+ method: "GET",
143
+ url: url_1.default.format({
144
+ pathname: `${this.managerApiBase}/v2/apps/by-target`,
145
+ query: {
146
+ livecommonversion: this.liveCommonVersion,
147
+ provider,
148
+ target_id: targetId,
149
+ firmware_version_name: firmwareVersion,
150
+ },
151
+ }),
152
+ });
153
+ if (!data || !Array.isArray(data)) {
154
+ throw new errors_1.NetworkDown("");
155
+ }
156
+ return data;
157
+ }, a => `${this.managerApiBase}_${a.provider}_${a.targetId}_${a.firmwareVersion}`);
158
+ getLanguagePackagesForDevice = async (deviceInfo, forceProvider) => {
159
+ const deviceVersion = await this.getDeviceVersion({
160
+ targetId: deviceInfo.targetId,
161
+ providerId: (0, getProviderIdUseCase_1.getProviderIdUseCase)({ deviceInfo, forceProvider }),
162
+ });
163
+ const seFirmwareVersion = await this.getCurrentFirmware({
164
+ version: deviceInfo.version,
165
+ deviceId: deviceVersion.id,
166
+ providerId: (0, getProviderIdUseCase_1.getProviderIdUseCase)({ deviceInfo, forceProvider }),
167
+ });
168
+ const { data } = await (0, network_1.default)({
169
+ method: "GET",
170
+ url: url_1.default.format({
171
+ pathname: `${this.managerApiBase}/language-package`,
172
+ query: {
173
+ livecommonversion: this.liveCommonVersion,
174
+ },
175
+ }),
176
+ });
177
+ const allPackages = data.reduce((acc, response) => [
178
+ ...acc,
179
+ ...response.language_package_version.map(p => ({
180
+ ...p,
181
+ language: response.language,
182
+ })),
183
+ ], []);
184
+ const packages = allPackages.filter(pack => pack.device_versions.includes(deviceVersion.id) &&
185
+ pack.se_firmware_final_versions.includes(seFirmwareVersion.id));
186
+ return packages;
187
+ };
194
188
  }
195
189
  exports.HttpManagerApiRepository = HttpManagerApiRepository;
196
190
  //# sourceMappingURL=HttpManagerApiRepository.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HttpManagerApiRepository.js","sourceRoot":"","sources":["../../../src/managerApi/repositories/HttpManagerApiRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HttpManagerApiRepository.js","sourceRoot":"","sources":["../../../src/managerApi/repositories/HttpManagerApiRepository.ts"],"names":[],"mappings":"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"}