balena-cli 16.2.5 → 16.2.6
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.
- package/CHANGELOG.md +14 -0
- package/build/commands/config/generate.d.ts +1 -1
- package/build/commands/config/generate.js +1 -0
- package/build/commands/config/generate.js.map +1 -1
- package/build/commands/device/init.js +1 -0
- package/build/commands/device/init.js.map +1 -1
- package/build/commands/device/move.d.ts +7 -5
- package/build/commands/device/move.js +20 -10
- package/build/commands/device/move.js.map +1 -1
- package/build/commands/device/register.js +3 -1
- package/build/commands/device/register.js.map +1 -1
- package/build/commands/devices/index.js +3 -1
- package/build/commands/devices/index.js.map +1 -1
- package/build/commands/fleet/create.js +3 -1
- package/build/commands/fleet/create.js.map +1 -1
- package/build/commands/fleet/purge.js +3 -1
- package/build/commands/fleet/purge.js.map +1 -1
- package/build/commands/fleet/rename.js +5 -2
- package/build/commands/fleet/rename.js.map +1 -1
- package/build/commands/fleet/restart.js +3 -1
- package/build/commands/fleet/restart.js.map +1 -1
- package/build/commands/fleet/rm.js +3 -1
- package/build/commands/fleet/rm.js.map +1 -1
- package/build/commands/orgs.js +3 -1
- package/build/commands/orgs.js.map +1 -1
- package/build/commands/push.js +1 -1
- package/build/commands/push.js.map +1 -1
- package/build/utils/helpers.d.ts +0 -18
- package/build/utils/helpers.js +1 -14
- package/build/utils/helpers.js.map +1 -1
- package/build/utils/patterns.d.ts +16 -2
- package/build/utils/patterns.js +15 -9
- package/build/utils/patterns.js.map +1 -1
- package/build/utils/sdk.d.ts +1 -0
- package/build/utils/sdk.js +4 -4
- package/build/utils/sdk.js.map +1 -1
- package/lib/commands/config/generate.ts +1 -0
- package/lib/commands/device/init.ts +1 -0
- package/lib/commands/device/move.ts +33 -30
- package/lib/commands/device/register.ts +3 -1
- package/lib/commands/devices/index.ts +3 -1
- package/lib/commands/fleet/create.ts +3 -1
- package/lib/commands/fleet/purge.ts +3 -1
- package/lib/commands/fleet/rename.ts +5 -4
- package/lib/commands/fleet/restart.ts +3 -1
- package/lib/commands/fleet/rm.ts +3 -1
- package/lib/commands/orgs.ts +3 -1
- package/lib/commands/push.ts +1 -1
- package/lib/utils/helpers.ts +0 -14
- package/lib/utils/patterns.ts +32 -11
- package/lib/utils/sdk.ts +25 -12
- package/npm-shrinkwrap.json +2 -2
- package/oclif.manifest.json +1 -1
- package/package.json +2 -2
package/build/utils/patterns.js
CHANGED
|
@@ -115,15 +115,17 @@ async function confirm(yesOption, message, yesMessage, defaultValue = false) {
|
|
|
115
115
|
}
|
|
116
116
|
}
|
|
117
117
|
exports.confirm = confirm;
|
|
118
|
+
const selectApplicationPineOptions = {
|
|
119
|
+
$select: ['id', 'slug', 'app_name'],
|
|
120
|
+
$expand: {
|
|
121
|
+
is_for__device_type: {
|
|
122
|
+
$select: 'slug',
|
|
123
|
+
},
|
|
124
|
+
},
|
|
125
|
+
};
|
|
118
126
|
async function selectApplication(filter, errorOnEmptySelection = false) {
|
|
119
127
|
const balena = (0, lazy_1.getBalenaSdk)();
|
|
120
|
-
const apps = (await balena.models.application.getAllDirectlyAccessible(
|
|
121
|
-
$expand: {
|
|
122
|
-
is_for__device_type: {
|
|
123
|
-
$select: 'slug',
|
|
124
|
-
},
|
|
125
|
-
},
|
|
126
|
-
}));
|
|
128
|
+
const apps = (await balena.models.application.getAllDirectlyAccessible(selectApplicationPineOptions));
|
|
127
129
|
if (!apps.length) {
|
|
128
130
|
throw new errors_1.ExpectedError('No fleets found');
|
|
129
131
|
}
|
|
@@ -142,7 +144,9 @@ async function selectApplication(filter, errorOnEmptySelection = false) {
|
|
|
142
144
|
}
|
|
143
145
|
exports.selectApplication = selectApplication;
|
|
144
146
|
async function selectOrganization(organizations) {
|
|
145
|
-
organizations !== null && organizations !== void 0 ? organizations : (organizations = await (0, lazy_1.getBalenaSdk)().models.organization.getAll(
|
|
147
|
+
organizations !== null && organizations !== void 0 ? organizations : (organizations = await (0, lazy_1.getBalenaSdk)().models.organization.getAll({
|
|
148
|
+
$select: ['name', 'handle'],
|
|
149
|
+
}));
|
|
146
150
|
return (0, lazy_1.getCliForm)().ask({
|
|
147
151
|
message: 'Select an organization',
|
|
148
152
|
type: 'list',
|
|
@@ -209,7 +213,9 @@ async function getOnlineTargetDeviceUuid(sdk, fleetOrDevice) {
|
|
|
209
213
|
try {
|
|
210
214
|
logger.logDebug(`Fetching fleet ${fleetOrDevice}`);
|
|
211
215
|
const { getApplication } = await Promise.resolve().then(() => require('./sdk'));
|
|
212
|
-
return await getApplication(sdk, fleetOrDevice
|
|
216
|
+
return await getApplication(sdk, fleetOrDevice, {
|
|
217
|
+
$select: ['id', 'slug'],
|
|
218
|
+
});
|
|
213
219
|
}
|
|
214
220
|
catch (err) {
|
|
215
221
|
const { BalenaApplicationNotFound } = await Promise.resolve().then(() => require('balena-errors'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patterns.js","sourceRoot":"","sources":["../../lib/utils/patterns.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"patterns.js","sourceRoot":"","sources":["../../lib/utils/patterns.ts"],"names":[],"mappings":"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"}
|
package/build/utils/sdk.d.ts
CHANGED
|
@@ -3,3 +3,4 @@ export declare function getApplication(sdk: BalenaSDK, nameOrSlugOrId: string |
|
|
|
3
3
|
export declare function getApplication<TP extends PineOptions<Application>>(sdk: BalenaSDK, nameOrSlugOrId: string | number, options?: TP): Promise<PineTypedResult<Application, TP>>;
|
|
4
4
|
export declare function getFleetSlug(sdk: BalenaSDK, nameOrSlug: string): Promise<string>;
|
|
5
5
|
export declare function getOwnOrganizations(sdk: BalenaSDK): Promise<Organization[]>;
|
|
6
|
+
export declare function getOwnOrganizations<TP extends PineOptions<Organization>>(sdk: BalenaSDK, options: TP): Promise<Array<PineTypedResult<Organization, TP>>>;
|
package/build/utils/sdk.js
CHANGED
|
@@ -13,13 +13,13 @@ exports.getApplication = getApplication;
|
|
|
13
13
|
async function getFleetSlug(sdk, nameOrSlug) {
|
|
14
14
|
const { looksLikeFleetSlug } = await Promise.resolve().then(() => require('./validation'));
|
|
15
15
|
if (!looksLikeFleetSlug(nameOrSlug)) {
|
|
16
|
-
return (await getApplication(sdk, nameOrSlug)).slug;
|
|
16
|
+
return (await getApplication(sdk, nameOrSlug, { $select: 'slug' })).slug;
|
|
17
17
|
}
|
|
18
18
|
return nameOrSlug.toLowerCase();
|
|
19
19
|
}
|
|
20
20
|
exports.getFleetSlug = getFleetSlug;
|
|
21
|
-
async function getOwnOrganizations(sdk) {
|
|
22
|
-
return await sdk.models.organization.getAll({
|
|
21
|
+
async function getOwnOrganizations(sdk, options) {
|
|
22
|
+
return await sdk.models.organization.getAll(sdk.utils.mergePineOptions({
|
|
23
23
|
$filter: {
|
|
24
24
|
organization_membership: {
|
|
25
25
|
$any: {
|
|
@@ -33,7 +33,7 @@ async function getOwnOrganizations(sdk) {
|
|
|
33
33
|
},
|
|
34
34
|
},
|
|
35
35
|
$orderby: 'name asc',
|
|
36
|
-
});
|
|
36
|
+
}, options));
|
|
37
37
|
}
|
|
38
38
|
exports.getOwnOrganizations = getOwnOrganizations;
|
|
39
39
|
//# sourceMappingURL=sdk.js.map
|
package/build/utils/sdk.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../lib/utils/sdk.ts"],"names":[],"mappings":";;;AAuCO,KAAK,UAAU,cAAc,CACnC,GAAc,EACd,cAA+B,EAC/B,OAAkC;IAElC,MAAM,EAAE,kBAAkB,EAAE,GAAG,2CAAa,cAAc,EAAC,CAAC;IAC5D,IACC,OAAO,cAAc,KAAK,QAAQ;QAClC,CAAC,kBAAkB,CAAC,cAAc,CAAC,EAClC;QAGD,OAAO,MAAM,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,CAC/C,cAAc,EACd,OAAO,EACP,qBAAqB,CACrB,CAAC;KACF;IACD,OAAO,MAAM,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,qBAAqB,CACxD,cAAc,EACd,OAAO,CACP,CAAC;AACH,CAAC;AAtBD,wCAsBC;AASM,KAAK,UAAU,YAAY,CACjC,GAAc,EACd,UAAkB;IAElB,MAAM,EAAE,kBAAkB,EAAE,GAAG,2CAAa,cAAc,EAAC,CAAC;IAC5D,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE;QAGpC,OAAO,CAAC,MAAM,cAAc,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../lib/utils/sdk.ts"],"names":[],"mappings":";;;AAuCO,KAAK,UAAU,cAAc,CACnC,GAAc,EACd,cAA+B,EAC/B,OAAkC;IAElC,MAAM,EAAE,kBAAkB,EAAE,GAAG,2CAAa,cAAc,EAAC,CAAC;IAC5D,IACC,OAAO,cAAc,KAAK,QAAQ;QAClC,CAAC,kBAAkB,CAAC,cAAc,CAAC,EAClC;QAGD,OAAO,MAAM,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,CAC/C,cAAc,EACd,OAAO,EACP,qBAAqB,CACrB,CAAC;KACF;IACD,OAAO,MAAM,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,qBAAqB,CACxD,cAAc,EACd,OAAO,CACP,CAAC;AACH,CAAC;AAtBD,wCAsBC;AASM,KAAK,UAAU,YAAY,CACjC,GAAc,EACd,UAAkB;IAElB,MAAM,EAAE,kBAAkB,EAAE,GAAG,2CAAa,cAAc,EAAC,CAAC;IAC5D,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE;QAGpC,OAAO,CAAC,MAAM,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;KACzE;IACD,OAAO,UAAU,CAAC,WAAW,EAAE,CAAC;AACjC,CAAC;AAXD,oCAWC;AAaM,KAAK,UAAU,mBAAmB,CACxC,GAAc,EACd,OAAmC;IAEnC,OAAO,MAAM,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAC1C,GAAG,CAAC,KAAK,CAAC,gBAAgB,CACzB;QACC,OAAO,EAAE;YACR,uBAAuB,EAAE;gBACxB,IAAI,EAAE;oBACL,MAAM,EAAE,KAAK;oBACb,KAAK,EAAE;wBACN,GAAG,EAAE;4BACJ,IAAI,EAAE,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE;yBAChC;qBACD;iBACD;aACD;SACD;QACD,QAAQ,EAAE,UAAU;KACpB,EACD,OAAO,CACP,CACD,CAAC;AACH,CAAC;AAxBD,kDAwBC"}
|
|
@@ -147,6 +147,7 @@ export default class ConfigGenerateCmd extends Command {
|
|
|
147
147
|
public async getApplication(balena: BalenaSDK, fleet: string) {
|
|
148
148
|
const { getApplication } = await import('../../utils/sdk');
|
|
149
149
|
return await getApplication(balena, fleet, {
|
|
150
|
+
$select: 'slug',
|
|
150
151
|
$expand: {
|
|
151
152
|
is_for__device_type: { $select: 'slug' },
|
|
152
153
|
},
|
|
@@ -30,13 +30,6 @@ import { ExpectedError } from '../../errors';
|
|
|
30
30
|
import { getBalenaSdk, stripIndent } from '../../utils/lazy';
|
|
31
31
|
import { applicationIdInfo } from '../../utils/messages';
|
|
32
32
|
|
|
33
|
-
type ExtendedDevice = PineTypedResult<
|
|
34
|
-
Device,
|
|
35
|
-
typeof import('../../utils/helpers').expandForAppNameAndCpuArch
|
|
36
|
-
> & {
|
|
37
|
-
application_name?: string;
|
|
38
|
-
};
|
|
39
|
-
|
|
40
33
|
interface FlagsDef {
|
|
41
34
|
fleet?: string;
|
|
42
35
|
help: void;
|
|
@@ -82,6 +75,33 @@ export default class DeviceMoveCmd extends Command {
|
|
|
82
75
|
|
|
83
76
|
public static authenticated = true;
|
|
84
77
|
|
|
78
|
+
private async getDevices(balena: BalenaSDK, deviceUuids: string[]) {
|
|
79
|
+
const deviceOptions = {
|
|
80
|
+
$select: 'belongs_to__application',
|
|
81
|
+
$expand: {
|
|
82
|
+
is_of__device_type: {
|
|
83
|
+
$select: 'is_of__cpu_architecture',
|
|
84
|
+
$expand: {
|
|
85
|
+
is_of__cpu_architecture: {
|
|
86
|
+
$select: 'slug',
|
|
87
|
+
},
|
|
88
|
+
},
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
} satisfies PineOptions<Device>;
|
|
92
|
+
|
|
93
|
+
// TODO: Refacor once `device.get()` accepts an array of uuids`
|
|
94
|
+
const devices = await Promise.all(
|
|
95
|
+
deviceUuids.map(
|
|
96
|
+
(uuid) =>
|
|
97
|
+
balena.models.device.get(uuid, deviceOptions) as Promise<
|
|
98
|
+
PineTypedResult<Device, typeof deviceOptions>
|
|
99
|
+
>,
|
|
100
|
+
),
|
|
101
|
+
);
|
|
102
|
+
return devices;
|
|
103
|
+
}
|
|
104
|
+
|
|
85
105
|
public async run() {
|
|
86
106
|
const { args: params, flags: options } = this.parse<FlagsDef, ArgsDef>(
|
|
87
107
|
DeviceMoveCmd,
|
|
@@ -89,36 +109,17 @@ export default class DeviceMoveCmd extends Command {
|
|
|
89
109
|
|
|
90
110
|
const balena = getBalenaSdk();
|
|
91
111
|
|
|
92
|
-
const { expandForAppNameAndCpuArch } = await import('../../utils/helpers');
|
|
93
|
-
|
|
94
112
|
// Split uuids string into array of uuids
|
|
95
113
|
const deviceUuids = params.uuid.split(',');
|
|
96
114
|
|
|
97
|
-
|
|
98
|
-
const devices = await Promise.all(
|
|
99
|
-
deviceUuids.map(
|
|
100
|
-
(uuid) =>
|
|
101
|
-
balena.models.device.get(
|
|
102
|
-
uuid,
|
|
103
|
-
expandForAppNameAndCpuArch,
|
|
104
|
-
) as Promise<ExtendedDevice>,
|
|
105
|
-
),
|
|
106
|
-
);
|
|
107
|
-
|
|
108
|
-
// Map application name for each device
|
|
109
|
-
for (const device of devices) {
|
|
110
|
-
const belongsToApplication = device.belongs_to__application;
|
|
111
|
-
device.application_name = belongsToApplication?.[0]
|
|
112
|
-
? belongsToApplication[0].app_name
|
|
113
|
-
: 'N/a';
|
|
114
|
-
}
|
|
115
|
+
const devices = await this.getDevices(balena, deviceUuids);
|
|
115
116
|
|
|
116
117
|
// Disambiguate application
|
|
117
118
|
const { getApplication } = await import('../../utils/sdk');
|
|
118
119
|
|
|
119
120
|
// Get destination application
|
|
120
121
|
const application = options.fleet
|
|
121
|
-
? await getApplication(balena, options.fleet)
|
|
122
|
+
? await getApplication(balena, options.fleet, { $select: ['id', 'slug'] })
|
|
122
123
|
: await this.interactivelySelectApplication(balena, devices);
|
|
123
124
|
|
|
124
125
|
// Move each device
|
|
@@ -135,7 +136,7 @@ export default class DeviceMoveCmd extends Command {
|
|
|
135
136
|
|
|
136
137
|
async interactivelySelectApplication(
|
|
137
138
|
balena: BalenaSDK,
|
|
138
|
-
devices:
|
|
139
|
+
devices: Awaited<ReturnType<typeof this.getDevices>>,
|
|
139
140
|
) {
|
|
140
141
|
const { getExpandedProp } = await import('../../utils/pine');
|
|
141
142
|
// deduplicate the slugs
|
|
@@ -181,7 +182,9 @@ export default class DeviceMoveCmd extends Command {
|
|
|
181
182
|
const application = await patterns.selectApplication(
|
|
182
183
|
(app) =>
|
|
183
184
|
compatibleDeviceTypeSlugs.has(app.is_for__device_type[0].slug) &&
|
|
184
|
-
devices.some(
|
|
185
|
+
devices.some(
|
|
186
|
+
(device) => device.belongs_to__application.__id !== app.id,
|
|
187
|
+
),
|
|
185
188
|
true,
|
|
186
189
|
);
|
|
187
190
|
return application;
|
|
@@ -78,7 +78,9 @@ export default class DeviceRegisterCmd extends Command {
|
|
|
78
78
|
|
|
79
79
|
const balena = getBalenaSdk();
|
|
80
80
|
|
|
81
|
-
const application = await getApplication(balena, params.fleet
|
|
81
|
+
const application = await getApplication(balena, params.fleet, {
|
|
82
|
+
$select: ['id', 'slug'],
|
|
83
|
+
});
|
|
82
84
|
const uuid = options.uuid ?? balena.models.device.generateUniqueKey();
|
|
83
85
|
|
|
84
86
|
console.info(`Registering to ${application.slug}: ${uuid}`);
|
|
@@ -92,7 +92,9 @@ export default class DevicesCmd extends Command {
|
|
|
92
92
|
|
|
93
93
|
if (options.fleet != null) {
|
|
94
94
|
const { getApplication } = await import('../../utils/sdk');
|
|
95
|
-
const application = await getApplication(balena, options.fleet
|
|
95
|
+
const application = await getApplication(balena, options.fleet, {
|
|
96
|
+
$select: 'id',
|
|
97
|
+
});
|
|
96
98
|
devices = (await balena.models.device.getAllByApplication(
|
|
97
99
|
application.id,
|
|
98
100
|
devicesOptions,
|
|
@@ -130,7 +130,9 @@ export default class FleetCreateCmd extends Command {
|
|
|
130
130
|
|
|
131
131
|
async getOrganization() {
|
|
132
132
|
const { getOwnOrganizations } = await import('../../utils/sdk');
|
|
133
|
-
const organizations = await getOwnOrganizations(getBalenaSdk()
|
|
133
|
+
const organizations = await getOwnOrganizations(getBalenaSdk(), {
|
|
134
|
+
$select: ['name', 'handle'],
|
|
135
|
+
});
|
|
134
136
|
|
|
135
137
|
if (organizations.length === 0) {
|
|
136
138
|
// User is not a member of any organizations (should not happen).
|
|
@@ -65,7 +65,9 @@ export default class FleetPurgeCmd extends Command {
|
|
|
65
65
|
|
|
66
66
|
// balena.models.application.purge only accepts a numeric id
|
|
67
67
|
// so we must first fetch the app to get it's id,
|
|
68
|
-
const application = await getApplication(balena, params.fleet
|
|
68
|
+
const application = await getApplication(balena, params.fleet, {
|
|
69
|
+
$select: 'id',
|
|
70
|
+
});
|
|
69
71
|
|
|
70
72
|
try {
|
|
71
73
|
await balena.models.application.purge(application.id);
|
|
@@ -77,9 +77,10 @@ export default class FleetRenameCmd extends Command {
|
|
|
77
77
|
// Disambiguate target application (if params.params is a number, it could either be an ID or a numerical name)
|
|
78
78
|
const { getApplication } = await import('../../utils/sdk');
|
|
79
79
|
const application = await getApplication(balena, params.fleet, {
|
|
80
|
+
$select: ['id', 'app_name', 'slug'],
|
|
80
81
|
$expand: {
|
|
81
82
|
application_type: {
|
|
82
|
-
$select:
|
|
83
|
+
$select: 'slug',
|
|
83
84
|
},
|
|
84
85
|
},
|
|
85
86
|
});
|
|
@@ -132,9 +133,9 @@ export default class FleetRenameCmd extends Command {
|
|
|
132
133
|
}
|
|
133
134
|
|
|
134
135
|
// Get application again, to be sure of results
|
|
135
|
-
const renamedApplication = await balena
|
|
136
|
-
|
|
137
|
-
);
|
|
136
|
+
const renamedApplication = await getApplication(balena, application.id, {
|
|
137
|
+
$select: ['app_name', 'slug'],
|
|
138
|
+
});
|
|
138
139
|
|
|
139
140
|
// Output result
|
|
140
141
|
console.log(`Fleet renamed`);
|
|
@@ -63,7 +63,9 @@ export default class FleetRestartCmd extends Command {
|
|
|
63
63
|
const balena = getBalenaSdk();
|
|
64
64
|
|
|
65
65
|
// Disambiguate application
|
|
66
|
-
const application = await getApplication(balena, params.fleet
|
|
66
|
+
const application = await getApplication(balena, params.fleet, {
|
|
67
|
+
$select: 'slug',
|
|
68
|
+
});
|
|
67
69
|
|
|
68
70
|
await balena.models.application.restart(application.slug);
|
|
69
71
|
}
|
package/lib/commands/fleet/rm.ts
CHANGED
|
@@ -76,7 +76,9 @@ export default class FleetRmCmd extends Command {
|
|
|
76
76
|
);
|
|
77
77
|
|
|
78
78
|
// Disambiguate application (if is a number, it could either be an ID or a numerical name)
|
|
79
|
-
const application = await getApplication(balena, params.fleet
|
|
79
|
+
const application = await getApplication(balena, params.fleet, {
|
|
80
|
+
$select: 'slug',
|
|
81
|
+
});
|
|
80
82
|
|
|
81
83
|
// Remove
|
|
82
84
|
await balena.models.application.remove(application.slug);
|
package/lib/commands/orgs.ts
CHANGED
|
@@ -46,7 +46,9 @@ export default class OrgsCmd extends Command {
|
|
|
46
46
|
const { getOwnOrganizations } = await import('../utils/sdk');
|
|
47
47
|
|
|
48
48
|
// Get organizations
|
|
49
|
-
const organizations = await getOwnOrganizations(getBalenaSdk()
|
|
49
|
+
const organizations = await getOwnOrganizations(getBalenaSdk(), {
|
|
50
|
+
$select: ['name', 'handle'],
|
|
51
|
+
});
|
|
50
52
|
|
|
51
53
|
// Display
|
|
52
54
|
console.log(
|
package/lib/commands/push.ts
CHANGED
package/lib/utils/helpers.ts
CHANGED
|
@@ -437,20 +437,6 @@ export const expandForAppName = {
|
|
|
437
437
|
},
|
|
438
438
|
} satisfies BalenaSdk.PineOptions<BalenaSdk.Device>;
|
|
439
439
|
|
|
440
|
-
export const expandForAppNameAndCpuArch = {
|
|
441
|
-
$expand: {
|
|
442
|
-
...expandForAppName.$expand,
|
|
443
|
-
is_of__device_type: {
|
|
444
|
-
$select: 'slug',
|
|
445
|
-
$expand: {
|
|
446
|
-
is_of__cpu_architecture: {
|
|
447
|
-
$select: 'slug',
|
|
448
|
-
},
|
|
449
|
-
},
|
|
450
|
-
},
|
|
451
|
-
},
|
|
452
|
-
} satisfies BalenaSdk.PineOptions<BalenaSdk.Device>;
|
|
453
|
-
|
|
454
440
|
/**
|
|
455
441
|
* Use the `readline` library on Windows to install SIGINT handlers.
|
|
456
442
|
* This appears to be necessary on MSYS / Git for Windows, and also useful
|
package/lib/utils/patterns.ts
CHANGED
|
@@ -14,7 +14,14 @@ See the License for the specific language governing permissions and
|
|
|
14
14
|
limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import type {
|
|
17
|
+
import type {
|
|
18
|
+
Application,
|
|
19
|
+
BalenaSDK,
|
|
20
|
+
Device,
|
|
21
|
+
Organization,
|
|
22
|
+
PineOptions,
|
|
23
|
+
PineTypedResult,
|
|
24
|
+
} from 'balena-sdk';
|
|
18
25
|
import _ = require('lodash');
|
|
19
26
|
|
|
20
27
|
import { instanceOf, NotLoggedInError, ExpectedError } from '../errors';
|
|
@@ -157,18 +164,28 @@ export async function confirm(
|
|
|
157
164
|
}
|
|
158
165
|
}
|
|
159
166
|
|
|
167
|
+
const selectApplicationPineOptions = {
|
|
168
|
+
$select: ['id', 'slug', 'app_name'],
|
|
169
|
+
$expand: {
|
|
170
|
+
is_for__device_type: {
|
|
171
|
+
$select: 'slug',
|
|
172
|
+
},
|
|
173
|
+
},
|
|
174
|
+
} satisfies PineOptions<Application>;
|
|
175
|
+
|
|
176
|
+
type SelectApplicationResult = PineTypedResult<
|
|
177
|
+
Application,
|
|
178
|
+
typeof selectApplicationPineOptions
|
|
179
|
+
>;
|
|
180
|
+
|
|
160
181
|
export async function selectApplication(
|
|
161
|
-
filter?: (app:
|
|
182
|
+
filter?: (app: SelectApplicationResult) => boolean,
|
|
162
183
|
errorOnEmptySelection = false,
|
|
163
184
|
) {
|
|
164
185
|
const balena = getBalenaSdk();
|
|
165
|
-
const apps = (await balena.models.application.getAllDirectlyAccessible(
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
$select: 'slug',
|
|
169
|
-
},
|
|
170
|
-
},
|
|
171
|
-
})) as ApplicationWithDeviceType[];
|
|
186
|
+
const apps = (await balena.models.application.getAllDirectlyAccessible(
|
|
187
|
+
selectApplicationPineOptions,
|
|
188
|
+
)) as SelectApplicationResult[];
|
|
172
189
|
|
|
173
190
|
if (!apps.length) {
|
|
174
191
|
throw new ExpectedError('No fleets found');
|
|
@@ -193,7 +210,9 @@ export async function selectOrganization(
|
|
|
193
210
|
organizations?: Array<Pick<Organization, 'handle' | 'name'>>,
|
|
194
211
|
) {
|
|
195
212
|
// Use either provided orgs (if e.g. already loaded) or load from cloud
|
|
196
|
-
organizations ??= await getBalenaSdk().models.organization.getAll(
|
|
213
|
+
organizations ??= await getBalenaSdk().models.organization.getAll({
|
|
214
|
+
$select: ['name', 'handle'],
|
|
215
|
+
});
|
|
197
216
|
return getCliForm().ask({
|
|
198
217
|
message: 'Select an organization',
|
|
199
218
|
type: 'list',
|
|
@@ -296,7 +315,9 @@ export async function getOnlineTargetDeviceUuid(
|
|
|
296
315
|
try {
|
|
297
316
|
logger.logDebug(`Fetching fleet ${fleetOrDevice}`);
|
|
298
317
|
const { getApplication } = await import('./sdk');
|
|
299
|
-
return await getApplication(sdk, fleetOrDevice
|
|
318
|
+
return await getApplication(sdk, fleetOrDevice, {
|
|
319
|
+
$select: ['id', 'slug'],
|
|
320
|
+
});
|
|
300
321
|
} catch (err) {
|
|
301
322
|
const { BalenaApplicationNotFound } = await import('balena-errors');
|
|
302
323
|
if (instanceOf(err, BalenaApplicationNotFound)) {
|
package/lib/utils/sdk.ts
CHANGED
|
@@ -76,31 +76,44 @@ export async function getFleetSlug(
|
|
|
76
76
|
if (!looksLikeFleetSlug(nameOrSlug)) {
|
|
77
77
|
// Not a slug: must be an app name.
|
|
78
78
|
// TODO: revisit this logic when we add support for fleet UUIDs.
|
|
79
|
-
return (await getApplication(sdk, nameOrSlug)).slug;
|
|
79
|
+
return (await getApplication(sdk, nameOrSlug, { $select: 'slug' })).slug;
|
|
80
80
|
}
|
|
81
81
|
return nameOrSlug.toLowerCase();
|
|
82
82
|
}
|
|
83
83
|
|
|
84
|
+
export async function getOwnOrganizations(
|
|
85
|
+
sdk: BalenaSDK,
|
|
86
|
+
): Promise<Organization[]>;
|
|
87
|
+
export async function getOwnOrganizations<TP extends PineOptions<Organization>>(
|
|
88
|
+
sdk: BalenaSDK,
|
|
89
|
+
options: TP,
|
|
90
|
+
): Promise<Array<PineTypedResult<Organization, TP>>>;
|
|
84
91
|
/**
|
|
85
92
|
* Wraps the sdk organization.getAll method,
|
|
86
93
|
* restricting to those orgs user is a member of
|
|
87
94
|
*/
|
|
88
95
|
export async function getOwnOrganizations(
|
|
89
96
|
sdk: BalenaSDK,
|
|
97
|
+
options?: PineOptions<Organization>,
|
|
90
98
|
): Promise<Organization[]> {
|
|
91
|
-
return await sdk.models.organization.getAll(
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
$
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
+
return await sdk.models.organization.getAll(
|
|
100
|
+
sdk.utils.mergePineOptions(
|
|
101
|
+
{
|
|
102
|
+
$filter: {
|
|
103
|
+
organization_membership: {
|
|
104
|
+
$any: {
|
|
105
|
+
$alias: 'orm',
|
|
106
|
+
$expr: {
|
|
107
|
+
orm: {
|
|
108
|
+
user: await sdk.auth.getUserId(),
|
|
109
|
+
},
|
|
110
|
+
},
|
|
99
111
|
},
|
|
100
112
|
},
|
|
101
113
|
},
|
|
114
|
+
$orderby: 'name asc',
|
|
102
115
|
},
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
116
|
+
options,
|
|
117
|
+
),
|
|
118
|
+
);
|
|
106
119
|
}
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "balena-cli",
|
|
3
|
-
"version": "16.2.
|
|
3
|
+
"version": "16.2.6",
|
|
4
4
|
"lockfileVersion": 2,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "balena-cli",
|
|
9
|
-
"version": "16.2.
|
|
9
|
+
"version": "16.2.6",
|
|
10
10
|
"hasInstallScript": true,
|
|
11
11
|
"license": "Apache-2.0",
|
|
12
12
|
"dependencies": {
|