@phystack/cli 5.0.3 → 5.1.1

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 (218) hide show
  1. package/bin/index.js +27 -1
  2. package/package.json +12 -65
  3. package/dist/commands/app/build-apps.js +0 -66
  4. package/dist/commands/app/build-apps.js.map +0 -1
  5. package/dist/commands/app/build-container-remote.js +0 -171
  6. package/dist/commands/app/build-container-remote.js.map +0 -1
  7. package/dist/commands/app/build-container.js +0 -330
  8. package/dist/commands/app/build-container.js.map +0 -1
  9. package/dist/commands/app/build.js +0 -398
  10. package/dist/commands/app/build.js.map +0 -1
  11. package/dist/commands/app/create.js +0 -463
  12. package/dist/commands/app/create.js.map +0 -1
  13. package/dist/commands/app/deploy.js +0 -176
  14. package/dist/commands/app/deploy.js.map +0 -1
  15. package/dist/commands/app/device-picker.js +0 -150
  16. package/dist/commands/app/device-picker.js.map +0 -1
  17. package/dist/commands/app/import.js +0 -336
  18. package/dist/commands/app/import.js.map +0 -1
  19. package/dist/commands/app/list.js +0 -26
  20. package/dist/commands/app/list.js.map +0 -1
  21. package/dist/commands/app/publish.js +0 -332
  22. package/dist/commands/app/publish.js.map +0 -1
  23. package/dist/commands/app/settings.js +0 -133
  24. package/dist/commands/app/settings.js.map +0 -1
  25. package/dist/commands/app/types.js +0 -14
  26. package/dist/commands/app/types.js.map +0 -1
  27. package/dist/commands/app/upload-description.js +0 -139
  28. package/dist/commands/app/upload-description.js.map +0 -1
  29. package/dist/commands/app/upload-settings.js +0 -29
  30. package/dist/commands/app/upload-settings.js.map +0 -1
  31. package/dist/commands/app/utils.js +0 -86
  32. package/dist/commands/app/utils.js.map +0 -1
  33. package/dist/commands/auth/login.js +0 -145
  34. package/dist/commands/auth/login.js.map +0 -1
  35. package/dist/commands/auth/logout.js +0 -19
  36. package/dist/commands/auth/logout.js.map +0 -1
  37. package/dist/commands/descriptor/create.js +0 -143
  38. package/dist/commands/descriptor/create.js.map +0 -1
  39. package/dist/commands/descriptor/index.js +0 -36
  40. package/dist/commands/descriptor/index.js.map +0 -1
  41. package/dist/commands/descriptor/publish.js +0 -163
  42. package/dist/commands/descriptor/publish.js.map +0 -1
  43. package/dist/commands/descriptor/show.js +0 -68
  44. package/dist/commands/descriptor/show.js.map +0 -1
  45. package/dist/commands/dev/cp.js +0 -764
  46. package/dist/commands/dev/cp.js.map +0 -1
  47. package/dist/commands/dev/develop.js +0 -175
  48. package/dist/commands/dev/develop.js.map +0 -1
  49. package/dist/commands/dev/forward.js +0 -132
  50. package/dist/commands/dev/forward.js.map +0 -1
  51. package/dist/commands/dev/index.js +0 -80
  52. package/dist/commands/dev/index.js.map +0 -1
  53. package/dist/commands/dev/list.js +0 -96
  54. package/dist/commands/dev/list.js.map +0 -1
  55. package/dist/commands/dev/screen-devtools.js +0 -156
  56. package/dist/commands/dev/screen-devtools.js.map +0 -1
  57. package/dist/commands/dev/select.js +0 -118
  58. package/dist/commands/dev/select.js.map +0 -1
  59. package/dist/commands/dev/shell.js +0 -186
  60. package/dist/commands/dev/shell.js.map +0 -1
  61. package/dist/commands/dev/vnc.js +0 -75
  62. package/dist/commands/dev/vnc.js.map +0 -1
  63. package/dist/commands/device/select.js +0 -118
  64. package/dist/commands/device/select.js.map +0 -1
  65. package/dist/commands/flash.js +0 -1120
  66. package/dist/commands/flash.js.map +0 -1
  67. package/dist/commands/inst/create.js +0 -55
  68. package/dist/commands/inst/create.js.map +0 -1
  69. package/dist/commands/inst/index.js +0 -15
  70. package/dist/commands/inst/index.js.map +0 -1
  71. package/dist/commands/inst/list.js +0 -26
  72. package/dist/commands/inst/list.js.map +0 -1
  73. package/dist/commands/legacydev/debug.js +0 -11
  74. package/dist/commands/legacydev/debug.js.map +0 -1
  75. package/dist/commands/legacydev/deploy.js +0 -15
  76. package/dist/commands/legacydev/deploy.js.map +0 -1
  77. package/dist/commands/legacydev/dumpTwin.js +0 -27
  78. package/dist/commands/legacydev/dumpTwin.js.map +0 -1
  79. package/dist/commands/legacydev/forward.js +0 -104
  80. package/dist/commands/legacydev/forward.js.map +0 -1
  81. package/dist/commands/legacydev/index.js +0 -188
  82. package/dist/commands/legacydev/index.js.map +0 -1
  83. package/dist/commands/legacydev/invoke.js +0 -29
  84. package/dist/commands/legacydev/invoke.js.map +0 -1
  85. package/dist/commands/legacydev/js.js +0 -69
  86. package/dist/commands/legacydev/js.js.map +0 -1
  87. package/dist/commands/legacydev/list.js +0 -196
  88. package/dist/commands/legacydev/list.js.map +0 -1
  89. package/dist/commands/legacydev/logs.js +0 -60
  90. package/dist/commands/legacydev/logs.js.map +0 -1
  91. package/dist/commands/legacydev/modules.js +0 -50
  92. package/dist/commands/legacydev/modules.js.map +0 -1
  93. package/dist/commands/legacydev/move.js +0 -23
  94. package/dist/commands/legacydev/move.js.map +0 -1
  95. package/dist/commands/legacydev/ota.js +0 -88
  96. package/dist/commands/legacydev/ota.js.map +0 -1
  97. package/dist/commands/legacydev/patchTwin.js +0 -21
  98. package/dist/commands/legacydev/patchTwin.js.map +0 -1
  99. package/dist/commands/legacydev/pin.js +0 -23
  100. package/dist/commands/legacydev/pin.js.map +0 -1
  101. package/dist/commands/legacydev/pub.js +0 -25
  102. package/dist/commands/legacydev/pub.js.map +0 -1
  103. package/dist/commands/legacydev/rdp.js +0 -64
  104. package/dist/commands/legacydev/rdp.js.map +0 -1
  105. package/dist/commands/legacydev/screen-devtools.js +0 -142
  106. package/dist/commands/legacydev/screen-devtools.js.map +0 -1
  107. package/dist/commands/legacydev/settingsShow.js +0 -89
  108. package/dist/commands/legacydev/settingsShow.js.map +0 -1
  109. package/dist/commands/legacydev/settingsUpdate.js +0 -114
  110. package/dist/commands/legacydev/settingsUpdate.js.map +0 -1
  111. package/dist/commands/legacydev/shell.js +0 -167
  112. package/dist/commands/legacydev/shell.js.map +0 -1
  113. package/dist/commands/legacydev/showTwin.js +0 -9
  114. package/dist/commands/legacydev/showTwin.js.map +0 -1
  115. package/dist/commands/legacydev/statusLog.js +0 -56
  116. package/dist/commands/legacydev/statusLog.js.map +0 -1
  117. package/dist/commands/legacydev/sub.js +0 -39
  118. package/dist/commands/legacydev/sub.js.map +0 -1
  119. package/dist/commands/legacydev/vnc.js +0 -61
  120. package/dist/commands/legacydev/vnc.js.map +0 -1
  121. package/dist/commands/simulator/index.js +0 -37
  122. package/dist/commands/simulator/index.js.map +0 -1
  123. package/dist/commands/simulator/list.js +0 -20
  124. package/dist/commands/simulator/list.js.map +0 -1
  125. package/dist/commands/simulator/remove.js +0 -19
  126. package/dist/commands/simulator/remove.js.map +0 -1
  127. package/dist/commands/simulator/run.js +0 -380
  128. package/dist/commands/simulator/run.js.map +0 -1
  129. package/dist/commands/simulator/start.js +0 -186
  130. package/dist/commands/simulator/start.js.map +0 -1
  131. package/dist/commands/tenant/index.js +0 -21
  132. package/dist/commands/tenant/index.js.map +0 -1
  133. package/dist/commands/tenant/list.js +0 -14
  134. package/dist/commands/tenant/list.js.map +0 -1
  135. package/dist/commands/tenant/select.js +0 -87
  136. package/dist/commands/tenant/select.js.map +0 -1
  137. package/dist/commands/vm/create.js +0 -959
  138. package/dist/commands/vm/create.js.map +0 -1
  139. package/dist/commands/vm/index.js +0 -130
  140. package/dist/commands/vm/index.js.map +0 -1
  141. package/dist/commands/vm/list.js +0 -124
  142. package/dist/commands/vm/list.js.map +0 -1
  143. package/dist/commands/vm/logs.js +0 -66
  144. package/dist/commands/vm/logs.js.map +0 -1
  145. package/dist/commands/vm/remove.js +0 -180
  146. package/dist/commands/vm/remove.js.map +0 -1
  147. package/dist/commands/vm/shell.js +0 -400
  148. package/dist/commands/vm/shell.js.map +0 -1
  149. package/dist/commands/vm/start.js +0 -861
  150. package/dist/commands/vm/start.js.map +0 -1
  151. package/dist/commands/vm/stop.js +0 -232
  152. package/dist/commands/vm/stop.js.map +0 -1
  153. package/dist/index.js +0 -169
  154. package/dist/index.js.map +0 -1
  155. package/dist/services/admin-api/admin-api.types.js +0 -3
  156. package/dist/services/admin-api/admin-api.types.js.map +0 -1
  157. package/dist/services/admin-api/device-modules.admin-api.service.js +0 -58
  158. package/dist/services/admin-api/device-modules.admin-api.service.js.map +0 -1
  159. package/dist/services/admin-api/devices-admin-api.service.js +0 -213
  160. package/dist/services/admin-api/devices-admin-api.service.js.map +0 -1
  161. package/dist/services/admin-api/gridapps-admin-api.service.js +0 -59
  162. package/dist/services/admin-api/gridapps-admin-api.service.js.map +0 -1
  163. package/dist/services/admin-api/index.js +0 -151
  164. package/dist/services/admin-api/index.js.map +0 -1
  165. package/dist/services/admin-api/installations-admin-api.service.js +0 -29
  166. package/dist/services/admin-api/installations-admin-api.service.js.map +0 -1
  167. package/dist/services/admin-api/organizations-admin-api.service.js +0 -53
  168. package/dist/services/admin-api/organizations-admin-api.service.js.map +0 -1
  169. package/dist/services/auth/device-grant-auth.service.js +0 -226
  170. package/dist/services/auth/device-grant-auth.service.js.map +0 -1
  171. package/dist/services/env.js +0 -21
  172. package/dist/services/env.js.map +0 -1
  173. package/dist/services/phyhub/index.js +0 -200
  174. package/dist/services/phyhub/index.js.map +0 -1
  175. package/dist/services/phyhub/phyhub.types.js +0 -3
  176. package/dist/services/phyhub/phyhub.types.js.map +0 -1
  177. package/dist/simulator/index.js +0 -162
  178. package/dist/simulator/index.js.map +0 -1
  179. package/dist/simulator/local-server.js +0 -147
  180. package/dist/simulator/local-server.js.map +0 -1
  181. package/dist/simulator/logger.js +0 -43
  182. package/dist/simulator/logger.js.map +0 -1
  183. package/dist/simulator/message-router.js +0 -379
  184. package/dist/simulator/message-router.js.map +0 -1
  185. package/dist/simulator/twin-cache.js +0 -58
  186. package/dist/simulator/twin-cache.js.map +0 -1
  187. package/dist/simulator/types.js +0 -16
  188. package/dist/simulator/types.js.map +0 -1
  189. package/dist/utils/device-fetcher.js +0 -92
  190. package/dist/utils/device-fetcher.js.map +0 -1
  191. package/dist/utils/devices.js +0 -41
  192. package/dist/utils/devices.js.map +0 -1
  193. package/dist/utils/docker-credentials.js +0 -720
  194. package/dist/utils/docker-credentials.js.map +0 -1
  195. package/dist/utils/emulated-device.js +0 -91
  196. package/dist/utils/emulated-device.js.map +0 -1
  197. package/dist/utils/index.js +0 -147
  198. package/dist/utils/index.js.map +0 -1
  199. package/dist/utils/modules.js +0 -36
  200. package/dist/utils/modules.js.map +0 -1
  201. package/dist/utils/org-selector.js +0 -108
  202. package/dist/utils/org-selector.js.map +0 -1
  203. package/dist/utils/proxy.js +0 -31
  204. package/dist/utils/proxy.js.map +0 -1
  205. package/dist/utils/registry-credentials.js +0 -113
  206. package/dist/utils/registry-credentials.js.map +0 -1
  207. package/dist/utils/simulator-config.js +0 -142
  208. package/dist/utils/simulator-config.js.map +0 -1
  209. package/dist/utils/statuses.js +0 -124
  210. package/dist/utils/statuses.js.map +0 -1
  211. package/dist/utils/templates.js +0 -197
  212. package/dist/utils/templates.js.map +0 -1
  213. package/dist/utils/tenant-storage.js +0 -88
  214. package/dist/utils/tenant-storage.js.map +0 -1
  215. package/dist/utils/vm.js +0 -434
  216. package/dist/utils/vm.js.map +0 -1
  217. package/dist/utils/with-spinner.js +0 -20
  218. package/dist/utils/with-spinner.js.map +0 -1
@@ -1,213 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.DevicesAdminApi = exports.DeviceStatusEnum = exports.ParentDeviceTypeEnum = void 0;
7
- const inquirer_1 = __importDefault(require("inquirer"));
8
- const fuzzy_1 = __importDefault(require("fuzzy"));
9
- const chalk_1 = __importDefault(require("chalk"));
10
- const _1 = require(".");
11
- var ParentDeviceTypeEnum;
12
- (function (ParentDeviceTypeEnum) {
13
- ParentDeviceTypeEnum["IOTHUB"] = "iothub";
14
- ParentDeviceTypeEnum["SCREEN"] = "screen";
15
- ParentDeviceTypeEnum["UNIVERSAL"] = "universal";
16
- ParentDeviceTypeEnum["LEGACY_BALENA"] = "balena";
17
- ParentDeviceTypeEnum["ANDROID"] = "android";
18
- ParentDeviceTypeEnum["TIZEN"] = "tizen";
19
- ParentDeviceTypeEnum["WINDOWS"] = "windows";
20
- ParentDeviceTypeEnum["MACOS"] = "macos";
21
- ParentDeviceTypeEnum["BROWSER"] = "browser";
22
- })(ParentDeviceTypeEnum || (exports.ParentDeviceTypeEnum = ParentDeviceTypeEnum = {}));
23
- var DeviceStatusEnum;
24
- (function (DeviceStatusEnum) {
25
- DeviceStatusEnum["OFFLINE"] = "OFFLINE";
26
- DeviceStatusEnum["FAILING"] = "FAILING";
27
- DeviceStatusEnum["OK"] = "OK";
28
- })(DeviceStatusEnum || (exports.DeviceStatusEnum = DeviceStatusEnum = {}));
29
- class DevicesAdminApi {
30
- constructor({ axiosInstance }) {
31
- this.listAllDevicesLegacyPhyhub = async (fields) => {
32
- try {
33
- const selectedOrg = await this.selectOrganization();
34
- if (!selectedOrg) {
35
- throw new Error('No organization selected');
36
- }
37
- // Get the phyhubUrl from the selected organization
38
- const { phyhubUrl } = selectedOrg;
39
- if (!phyhubUrl) {
40
- throw new Error('No Phyhub URL found for this organization');
41
- }
42
- console.log('');
43
- try {
44
- const response = await (0, _1.adminApi)().organizations.fetchDevicesFromPhyhub(selectedOrg.id, phyhubUrl);
45
- if (response.status === 404) {
46
- console.log(chalk_1.default.yellow('No devices found for this organization.'));
47
- return { data: [] };
48
- }
49
- if (!response?.data?.data?.docs) {
50
- console.log(chalk_1.default.yellow('No devices data in response.'));
51
- return { data: [] };
52
- }
53
- return {
54
- data: response.data.data.docs,
55
- };
56
- }
57
- catch (apiError) {
58
- console.error(chalk_1.default.red(`API Error: ${apiError.message}`));
59
- if (apiError.response) {
60
- console.error(chalk_1.default.dim('Response:', JSON.stringify(apiError.response.data, null, 2)));
61
- }
62
- return { data: [] };
63
- }
64
- }
65
- catch (error) {
66
- console.error(chalk_1.default.red(`Error: ${error.message}`));
67
- return { data: [] };
68
- }
69
- };
70
- this.listAllDevicesLegacyEdge = async (fields) => {
71
- const { data } = await this.axiosInstance.get(`cli/devices/all?fields=${fields}`);
72
- return data;
73
- };
74
- this.listPaginatedDevices = async ({ limit, page, }) => {
75
- const { data } = await this.axiosInstance.get(`v4/devices?limit=${limit}&page=${page}`);
76
- return data;
77
- };
78
- this.getDeviceByName = async (deviceName) => {
79
- const { data } = await this.axiosInstance.get(`v4/devices/find?deviceName=${deviceName}`);
80
- return data;
81
- };
82
- this.getDeviceStatusLog = async (uuid) => {
83
- const { data } = await this.axiosInstance.get(`v4/devices/${uuid}/status-history?start=0`);
84
- return data;
85
- };
86
- this.startDeviceShellSession = async (deviceName, payload = {}) => {
87
- const { data } = await this.axiosInstance.post(`cli/devices/${deviceName}/shell`, payload);
88
- return data;
89
- };
90
- this.startPhyHubDeviceShellSession = async (deviceName, payload = {}) => {
91
- const { data } = await this.axiosInstance.post(`phyhub/cli/devices/${deviceName}/shell`, payload);
92
- return data;
93
- };
94
- this.getDeviceLogs = async (deviceName, payload = {}) => {
95
- const { data } = await this.axiosInstance.post(`cli/devices/${deviceName}/logs`, payload);
96
- return data;
97
- };
98
- this.startRdpSession = async (deviceName, payload = {}) => {
99
- const { data } = await this.axiosInstance.post(`cli/devices/${deviceName}/rdp`, payload);
100
- return data;
101
- };
102
- this.startVNCSession = async (deviceName, payload = {}) => {
103
- const { data } = await this.axiosInstance.post(`cli/devices/${deviceName}/vnc`, payload);
104
- return data;
105
- };
106
- this.subscribeMessageBus = async (deviceName, payload = {}) => {
107
- const { data } = await this.axiosInstance.post(`cli/devices/${deviceName}/stream/message-bus`, payload);
108
- return data;
109
- };
110
- this.createDeviceStreamSession = async ({ deviceName, moduleName, method, payload, }) => {
111
- const { data } = await this.axiosInstance.post(`edge/devices/${deviceName}/modules/${moduleName}/stream/${method}`, { ...payload });
112
- return data;
113
- };
114
- this.getDeviceReportedModulesEdge = async (deviceName) => {
115
- const { data } = await this.axiosInstance.get(`edge/devices/${deviceName}/modules`);
116
- return data;
117
- };
118
- // TODO: Why do we expose this????
119
- this.getDeviceTwinEdge = async (deviceName) => {
120
- const { data } = await this.axiosInstance.get(`edge/devices/${deviceName}/config`);
121
- return data;
122
- };
123
- this.patchDeviceTwinEdge = async (deviceName, payload) => {
124
- const { data } = await this.axiosInstance.post(`edge/devices/${deviceName}/config`, payload);
125
- return data;
126
- };
127
- // TODO: Deprecate this! this is ancient endpoint
128
- // Verify first if this is still being used or can be recreated in a better way
129
- this.getDeviceInstalledModulesEdge = async (deviceId) => {
130
- const { data } = await this.axiosInstance.get(`v2/devices/${deviceId}/modules`);
131
- return data;
132
- };
133
- this.updateDeviceInstalledModulesEdge = async (iothubDeviceId, modules) => {
134
- const { data } = await this.axiosInstance.put(`v2/devices/${iothubDeviceId}/modules`, modules);
135
- return data;
136
- };
137
- this.invokeDeviceModuleEdge = async ({ deviceName, moduleName, method, payload, }) => {
138
- const { data } = await this.axiosInstance.post(`edge/devices/${deviceName}/modules/${moduleName}/invoke/${method}`, payload);
139
- return data;
140
- };
141
- this.deviceMove = async (deviceId, installationId) => {
142
- const { data } = await this.axiosInstance.post(`v3/devices/${deviceId}/connect/${installationId}`, {});
143
- return data;
144
- };
145
- this.getDeviceModuleLogs = async (deviceName, moduleName, payload) => {
146
- const { data } = await this.axiosInstance.get(`edge/devices/${deviceName}/modules/${moduleName}/logs`, payload);
147
- return data;
148
- };
149
- this.deployDeviceModules = async (deviceName, payload) => {
150
- const { data } = await this.axiosInstance.post(`edge/devices/${deviceName}/deploy`, payload);
151
- return data;
152
- };
153
- this.axiosInstance = axiosInstance;
154
- }
155
- async selectOrganization() {
156
- try {
157
- console.log('\nSelect the organization to list devices from:\n');
158
- const organizations = await (0, _1.adminApi)().organizations.listOrganizations();
159
- if (!organizations || !Array.isArray(organizations)) {
160
- console.error(chalk_1.default.red('No organizations found or invalid response format'));
161
- return undefined;
162
- }
163
- if (organizations.length === 0) {
164
- console.error(chalk_1.default.yellow('No organizations available'));
165
- return undefined;
166
- }
167
- const organizationList = [
168
- {
169
- type: 'autocomplete',
170
- name: 'organizationLabel',
171
- message: ' ',
172
- source: undefined,
173
- },
174
- ];
175
- const mappedOrganizations = organizations.map((org) => ({
176
- name: org.displayName,
177
- displayName: org.displayName,
178
- organizationName: org.organizationName,
179
- id: org.id,
180
- phyhubUrl: org.phyhubUrl,
181
- }));
182
- // Setup autocomplete source
183
- organizationList[0].source = (answers, input = '') => {
184
- return new Promise((resolve) => {
185
- const filtered = fuzzy_1.default.filter(input, mappedOrganizations, {
186
- extract: (entry) => `${entry.name} (${entry.organizationName})`,
187
- });
188
- const organizationLabels = filtered.map((entry) => `${entry.original.name} (${entry.original.organizationName})`);
189
- resolve(organizationLabels);
190
- });
191
- };
192
- // Show prompt and get selected organization
193
- const { organizationLabel } = await inquirer_1.default.prompt(organizationList);
194
- const selectedOrg = mappedOrganizations.find((org) => `${org.name} (${org.organizationName})` === organizationLabel);
195
- if (!selectedOrg) {
196
- console.error(chalk_1.default.red('No organization selected'));
197
- return undefined;
198
- }
199
- return selectedOrg;
200
- }
201
- catch (error) {
202
- console.error(chalk_1.default.red(`Error fetching organizations: ${error.message}`));
203
- if (error.response) {
204
- console.error(chalk_1.default.dim('Response:', JSON.stringify(error.response.data, null, 2)));
205
- }
206
- console.error(chalk_1.default.dim('Full error:', error));
207
- return undefined;
208
- }
209
- }
210
- }
211
- exports.DevicesAdminApi = DevicesAdminApi;
212
- exports.default = DevicesAdminApi;
213
- //# sourceMappingURL=devices-admin-api.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"devices-admin-api.service.js","sourceRoot":"","sources":["../../../src/services/admin-api/devices-admin-api.service.ts"],"names":[],"mappings":"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"}
@@ -1,59 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- class GridappsAdminApi {
4
- constructor({ axiosInstance }) {
5
- this.listGridappsByOrganizationId = async (organizationId) => {
6
- const { data } = await this.axiosInstance.get(`/gridapps?organizationId=${organizationId}`);
7
- return data;
8
- };
9
- this.listGridappBuilds = async (gridappId) => {
10
- const { data } = await this.axiosInstance.get(`/gridapps/${gridappId}/builds`);
11
- return data;
12
- };
13
- this.getBuildUploadToken = async () => {
14
- const { data } = await this.axiosInstance.get(`/gridapps/token`);
15
- return data;
16
- };
17
- this.createGridappBuild = async ({ filename, size, fileUuid, gridappId, }) => {
18
- const { data } = await this.axiosInstance.post(`/gridapps/${gridappId}/builds`, {
19
- filename,
20
- size,
21
- fileUuid,
22
- gridappId,
23
- });
24
- return data;
25
- };
26
- this.createGridapp = async ({ packageName, displayName, description, organizationId, access, type, }) => {
27
- const metaData = {
28
- packageName,
29
- type,
30
- displayName,
31
- description,
32
- organizationId,
33
- access,
34
- };
35
- console.log(`Creating gridapp call with metadata: ${JSON.stringify(metaData)}`);
36
- const { data } = await this.axiosInstance.post(`/gridapps`, metaData);
37
- return data;
38
- };
39
- // TODO: use patch instead of put
40
- this.updateGridapp = async ({ displayName, packageName, author, access, description, screenshots, id, }) => {
41
- const { data } = await this.axiosInstance.put(`/gridapps/${id}`, {
42
- displayName,
43
- packageName,
44
- author,
45
- access,
46
- description,
47
- screenshots,
48
- });
49
- return data;
50
- };
51
- this.listGridappBootReleases = async (deviceType) => {
52
- const { data } = await this.axiosInstance.get(`schemas/releases?deviceType=${deviceType.toString()}`);
53
- return data;
54
- };
55
- this.axiosInstance = axiosInstance;
56
- }
57
- }
58
- exports.default = GridappsAdminApi;
59
- //# sourceMappingURL=gridapps-admin-api.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gridapps-admin-api.service.js","sourceRoot":"","sources":["../../../src/services/admin-api/gridapps-admin-api.service.ts"],"names":[],"mappings":";;AAuBA,MAAM,gBAAgB;IAGpB,YAAY,EAAE,aAAa,EAAoC;QAIxD,iCAA4B,GAAG,KAAK,EAAE,cAAsB,EAAE,EAAE;YACrE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAC3C,4BAA4B,cAAc,EAAE,CAC7C,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEK,sBAAiB,GAAG,KAAK,EAAE,SAAiB,EAAE,EAAE;YACrD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,aAAa,SAAS,SAAS,CAAC,CAAC;YAC/E,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEK,wBAAmB,GAAG,KAAK,IAAI,EAAE;YACtC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAqB,iBAAiB,CAAC,CAAC;YACrF,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEK,uBAAkB,GAAG,KAAK,EAAE,EACjC,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,SAAS,GAMV,EAAE,EAAE;YACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,SAAS,SAAS,EAAE;gBAC9E,QAAQ;gBACR,IAAI;gBACJ,QAAQ;gBACR,SAAS;aACV,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEK,kBAAa,GAAG,KAAK,EAAE,EAC5B,WAAW,EACX,WAAW,EACX,WAAW,EACX,cAAc,EACd,MAAM,EACN,IAAI,GAQL,EAAE,EAAE;YACH,MAAM,QAAQ,GAAG;gBACf,WAAW;gBACX,IAAI;gBACJ,WAAW;gBACX,WAAW;gBACX,cAAc;gBACd,MAAM;aACP,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,wCAAwC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAChF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAU,WAAW,EAAE,QAAQ,CAAC,CAAC;YAE/E,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,iCAAiC;QAC1B,kBAAa,GAAG,KAAK,EAAE,EAC5B,WAAW,EACX,WAAW,EACX,MAAM,EACN,MAAM,EACN,WAAW,EACX,WAAW,EACX,EAAE,GASH,EAAE,EAAE;YACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAU,aAAa,EAAE,EAAE,EAAE;gBACxE,WAAW;gBACX,WAAW;gBACX,MAAM;gBACN,MAAM;gBACN,WAAW;gBACX,WAAW;aACZ,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEK,4BAAuB,GAAG,KAAK,EAAE,UAAsC,EAAE,EAAE;YAChF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAC3C,+BAA+B,UAAU,CAAC,QAAQ,EAAE,EAAE,CACvD,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAzGA,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;CAyGF;AAED,kBAAe,gBAAgB,CAAC"}
@@ -1,151 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- var __importDefault = (this && this.__importDefault) || function (mod) {
17
- return (mod && mod.__esModule) ? mod : { "default": mod };
18
- };
19
- Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.adminApi = void 0;
21
- const axios_1 = __importDefault(require("axios"));
22
- const axios_auth_refresh_1 = __importDefault(require("axios-auth-refresh"));
23
- const https_proxy_agent_1 = require("https-proxy-agent");
24
- const http_proxy_agent_1 = require("http-proxy-agent");
25
- const http_1 = __importDefault(require("http"));
26
- const https_1 = __importDefault(require("https"));
27
- const gridapps_admin_api_service_1 = __importDefault(require("./gridapps-admin-api.service"));
28
- const organizations_admin_api_service_1 = __importDefault(require("./organizations-admin-api.service"));
29
- const devices_admin_api_service_1 = __importDefault(require("./devices-admin-api.service"));
30
- const device_modules_admin_api_service_1 = __importDefault(require("./device-modules.admin-api.service"));
31
- const installations_admin_api_service_1 = __importDefault(require("./installations-admin-api.service"));
32
- const device_grant_auth_service_1 = __importDefault(require("../auth/device-grant-auth.service"));
33
- const env_1 = require("../env");
34
- __exportStar(require("./gridapps-admin-api.service"), exports);
35
- __exportStar(require("./organizations-admin-api.service"), exports);
36
- __exportStar(require("./devices-admin-api.service"), exports);
37
- __exportStar(require("./device-modules.admin-api.service"), exports);
38
- __exportStar(require("./installations-admin-api.service"), exports);
39
- __exportStar(require("./admin-api.types"), exports);
40
- class AdminApiService {
41
- constructor() {
42
- this.findModuleByName = async (name) => {
43
- const [orgName, moduleName] = name.split('.');
44
- const org = await this.organizations.getOrganizationBySlug(orgName);
45
- if (!org)
46
- throw new Error('Organisation not found');
47
- const modules = await this.deviceModules.listModules();
48
- return modules.find((mod) => mod.moduleName === moduleName && mod.organizationId === org.id);
49
- };
50
- const authService = new device_grant_auth_service_1.default();
51
- const token = authService.getAccessToken();
52
- if (!token) {
53
- throw new Error('Unauthorized. Please run "phy login" to use this command.');
54
- }
55
- const baseurl = (0, env_1.resolveApiUrl)() + '/api';
56
- const proxyUrl = process.env.HTTPS_PROXY ||
57
- process.env.HTTP_PROXY ||
58
- process.env.https_proxy ||
59
- process.env.http_proxy;
60
- if (proxyUrl) {
61
- const httpAgent = new http_proxy_agent_1.HttpProxyAgent(proxyUrl, {
62
- keepAlive: true,
63
- });
64
- const httpsAgent = new https_proxy_agent_1.HttpsProxyAgent(proxyUrl, {
65
- keepAlive: true,
66
- rejectUnauthorized: true,
67
- });
68
- this.axiosInstance = axios_1.default.create({
69
- proxy: false,
70
- baseURL: baseurl,
71
- headers: {
72
- Authorization: `Bearer ${authService.getAccessToken()}`,
73
- 'Content-Type': 'application/json',
74
- },
75
- maxBodyLength: Infinity,
76
- maxContentLength: Infinity,
77
- httpAgent,
78
- httpsAgent,
79
- timeout: 60000,
80
- validateStatus(status) {
81
- return status >= 200 && status < 300;
82
- },
83
- });
84
- }
85
- else {
86
- this.axiosInstance = axios_1.default.create({
87
- baseURL: baseurl,
88
- headers: {
89
- Authorization: `Bearer ${authService.getAccessToken()}`,
90
- 'Content-Type': 'application/json',
91
- },
92
- maxBodyLength: Infinity,
93
- maxContentLength: Infinity,
94
- httpAgent: new http_1.default.Agent({ keepAlive: true }),
95
- httpsAgent: new https_1.default.Agent({
96
- keepAlive: true,
97
- rejectUnauthorized: true,
98
- }),
99
- timeout: 60000,
100
- validateStatus(status) {
101
- return status >= 200 && status < 300;
102
- },
103
- });
104
- }
105
- this.axiosInstance.interceptors.response.use((response) => response, async (error) => {
106
- if (error.code === 'EPIPE' || error.code === 'ECONNRESET') {
107
- const { config } = error;
108
- if (!config._retry) {
109
- config._retry = true;
110
- return this.axiosInstance(config);
111
- }
112
- }
113
- return Promise.reject(error);
114
- });
115
- (0, axios_auth_refresh_1.default)(this.axiosInstance, async (failedRequest) => {
116
- await authService.refreshToken();
117
- failedRequest.response.config.headers.Authorization = `Bearer ${authService.getAccessToken()}`;
118
- });
119
- this.axiosInstance.interceptors.response.use((response) => {
120
- return response;
121
- }, (error) => {
122
- // If the request failed with ECONNREFUSED, log 'Unauthorized'
123
- let customError = null;
124
- if (error.code === 'ECONNREFUSED') {
125
- customError = new Error(`Unauthorized. Please run "phy login" to use this command. ${error.message}`);
126
- }
127
- // If you want to handle the error in the catch block of the request,
128
- // you should reject the error here
129
- return Promise.reject(customError || error);
130
- });
131
- this.gridapps = new gridapps_admin_api_service_1.default({
132
- axiosInstance: this.axiosInstance,
133
- });
134
- this.organizations = new organizations_admin_api_service_1.default({
135
- axiosInstance: this.axiosInstance,
136
- });
137
- this.deviceModules = new device_modules_admin_api_service_1.default({
138
- axiosInstance: this.axiosInstance,
139
- });
140
- this.devices = new devices_admin_api_service_1.default({
141
- axiosInstance: this.axiosInstance,
142
- });
143
- this.installations = new installations_admin_api_service_1.default({
144
- axiosInstance: this.axiosInstance,
145
- });
146
- }
147
- }
148
- const adminApi = () => new AdminApiService();
149
- exports.adminApi = adminApi;
150
- exports.default = AdminApiService;
151
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/admin-api/index.ts"],"names":[],"mappings":"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"}
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InstallationDeviceTypeEnum = void 0;
4
- var InstallationDeviceTypeEnum;
5
- (function (InstallationDeviceTypeEnum) {
6
- InstallationDeviceTypeEnum["PWA"] = "wpa";
7
- InstallationDeviceTypeEnum["MOBILE_PWA"] = "mobilewpa";
8
- InstallationDeviceTypeEnum["IOT"] = "iot";
9
- InstallationDeviceTypeEnum["CLOUD"] = "cloud";
10
- })(InstallationDeviceTypeEnum || (exports.InstallationDeviceTypeEnum = InstallationDeviceTypeEnum = {}));
11
- class InstallationsAdminApi {
12
- constructor({ axiosInstance }) {
13
- this.listInstallations = async () => {
14
- const { data } = await this.axiosInstance.get(`/apps`);
15
- return data;
16
- };
17
- this.updateInstallation = async (installation) => {
18
- const { data } = await this.axiosInstance.put(`/apps/${installation.id}`, installation);
19
- return data;
20
- };
21
- this.createInstallation = async (installation) => {
22
- const { data } = await this.axiosInstance.post(`/apps`, installation);
23
- return data;
24
- };
25
- this.axiosInstance = axiosInstance;
26
- }
27
- }
28
- exports.default = InstallationsAdminApi;
29
- //# sourceMappingURL=installations-admin-api.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"installations-admin-api.service.js","sourceRoot":"","sources":["../../../src/services/admin-api/installations-admin-api.service.ts"],"names":[],"mappings":";;;AAEA,IAAY,0BAKX;AALD,WAAY,0BAA0B;IACpC,yCAAW,CAAA;IACX,sDAAwB,CAAA;IACxB,yCAAW,CAAA;IACX,6CAAe,CAAA;AACjB,CAAC,EALW,0BAA0B,0CAA1B,0BAA0B,QAKrC;AA+BD,MAAM,qBAAqB;IAGzB,YAAY,EAAE,aAAa,EAAoC;QAIxD,sBAAiB,GAAG,KAAK,IAAI,EAAE;YACpC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAiB,OAAO,CAAC,CAAC;YACvE,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEK,uBAAkB,GAAG,KAAK,EAAE,YAA0B,EAAE,EAAE;YAC/D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAC3C,SAAS,YAAY,CAAC,EAAE,EAAE,EAC1B,YAAY,CACb,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEK,uBAAkB,GAAG,KAAK,EAAE,YAAuC,EAAE,EAAE;YAC5E,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAe,OAAO,EAAE,YAAY,CAAC,CAAC;YAEpF,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QApBA,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;CAoBF;AAED,kBAAe,qBAAqB,CAAC"}
@@ -1,53 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- class OrganizationsAdminApi {
4
- constructor({ axiosInstance }) {
5
- this.listOrganizations = async () => {
6
- const { data } = await this.axiosInstance.get(`/organizations`);
7
- return data;
8
- };
9
- this.getOrganization = async (id) => {
10
- const { data } = await this.axiosInstance.get(`/organizations/${id}`);
11
- return data;
12
- };
13
- this.getOrganizationBySlug = async (slug) => {
14
- const { data } = await this.axiosInstance.get(`/organizations/${slug}`);
15
- return data;
16
- };
17
- this.fetchDevicesFromPhyhub = async (organizationId, phyhubUrl, limit = 20, page = 1, search) => {
18
- try {
19
- // Get the Authorization header from the current axiosInstance configuration
20
- const currentHeaders = this.axiosInstance.defaults.headers;
21
- const authHeader = currentHeaders?.common?.Authorization || currentHeaders?.Authorization;
22
- // Build URL with query parameters
23
- let url = `/api/v1/admin/tenant/${organizationId}/devices?page=${page}&limit=${limit}`;
24
- if (search) {
25
- url += `&search=${encodeURIComponent(search)}`;
26
- }
27
- // Try a more direct approach by making a direct axios request with the auth header
28
- let response;
29
- response = await this.axiosInstance.get(url, {
30
- baseURL: phyhubUrl,
31
- headers: {
32
- Accept: 'application/json',
33
- 'Content-Type': 'application/json',
34
- // Preserve authorization from the original instance
35
- Authorization: authHeader,
36
- },
37
- validateStatus: (status) => status < 500,
38
- });
39
- return response;
40
- }
41
- catch (error) {
42
- console.error(`Error fetching devices from PhyHub: ${error.message}`);
43
- if (error.response) {
44
- console.error(`Status: ${error.response.status}, Data:`, error.response.data);
45
- }
46
- throw error;
47
- }
48
- };
49
- this.axiosInstance = axiosInstance;
50
- }
51
- }
52
- exports.default = OrganizationsAdminApi;
53
- //# sourceMappingURL=organizations-admin-api.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"organizations-admin-api.service.js","sourceRoot":"","sources":["../../../src/services/admin-api/organizations-admin-api.service.ts"],"names":[],"mappings":";;AAUA,MAAM,qBAAqB;IAGzB,YAAY,EAAE,aAAa,EAAoC;QAIxD,sBAAiB,GAAG,KAAK,IAAI,EAAE;YACpC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAiB,gBAAgB,CAAC,CAAC;YAChF,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEK,oBAAe,GAAG,KAAK,EAAE,EAAU,EAAE,EAAE;YAC5C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAe,kBAAkB,EAAE,EAAE,CAAC,CAAC;YACpF,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEK,0BAAqB,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;YACpD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAe,kBAAkB,IAAI,EAAE,CAAC,CAAC;YACtF,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEK,2BAAsB,GAAG,KAAK,EACnC,cAAsB,EACtB,SAAiB,EACjB,QAAgB,EAAE,EAClB,OAAe,CAAC,EAChB,MAAe,EACf,EAAE;YACF,IAAI,CAAC;gBACH,4EAA4E;gBAC5E,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAC3D,MAAM,UAAU,GACd,cAAc,EAAE,MAAM,EAAE,aAAa,IAAI,cAAc,EAAE,aAAa,CAAC;gBAEzE,kCAAkC;gBAClC,IAAI,GAAG,GAAG,wBAAwB,cAAc,iBAAiB,IAAI,UAAU,KAAK,EAAE,CAAC;gBACvF,IAAI,MAAM,EAAE,CAAC;oBACX,GAAG,IAAI,WAAW,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjD,CAAC;gBAED,mFAAmF;gBACnF,IAAI,QAAQ,CAAC;gBAEb,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CACrC,GAAG,EACH;oBACE,OAAO,EAAE,SAAS;oBAClB,OAAO,EAAE;wBACP,MAAM,EAAE,kBAAkB;wBAC1B,cAAc,EAAE,kBAAkB;wBAClC,oDAAoD;wBACpD,aAAa,EAAE,UAAU;qBAC1B;oBACD,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,GAAG,GAAG;iBACzC,CACF,CAAC;gBAEF,OAAO,QAAQ,CAAC;YAClB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,uCAAuC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBACtE,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACnB,OAAO,CAAC,KAAK,CAAC,WAAW,KAAK,CAAC,QAAQ,CAAC,MAAM,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAChF,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC,CAAC;QA9DA,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;CA8DF;AAED,kBAAe,qBAAqB,CAAC"}