UNPKG

balena-cli

Version:

The official balena Command Line Interface

62 lines 2.37 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getApplication = getApplication; exports.getFleetSlug = getFleetSlug; exports.getOwnOrganizations = getOwnOrganizations; async function getApplication(sdk, nameOrSlugOrId, options) { const { looksLikeFleetSlug } = await Promise.resolve().then(() => require('./validation')); const whoamiResult = await sdk.auth.whoami(); const isDeviceActor = (whoamiResult === null || whoamiResult === void 0 ? void 0 : whoamiResult.actorType) === 'device'; if (isDeviceActor) { const $filterByActor = { $filter: { owns__device: { $any: { $alias: 'd', $expr: { d: { actor: whoamiResult.id, }, }, }, }, }, }; options = options ? sdk.utils.mergePineOptions(options, $filterByActor) : $filterByActor; } if (typeof nameOrSlugOrId === 'string' && !looksLikeFleetSlug(nameOrSlugOrId)) { return await sdk.models.application.getAppByName(nameOrSlugOrId, options, isDeviceActor ? undefined : 'directly_accessible'); } const getFunction = isDeviceActor ? sdk.models.application.get : sdk.models.application.getDirectlyAccessible; return getFunction(nameOrSlugOrId, options); } async function getFleetSlug(sdk, nameOrSlug) { const { looksLikeFleetSlug } = await Promise.resolve().then(() => require('./validation')); if (!looksLikeFleetSlug(nameOrSlug)) { return (await getApplication(sdk, nameOrSlug, { $select: 'slug' })).slug; } return nameOrSlug.toLowerCase(); } async function getOwnOrganizations(sdk, options) { return await sdk.models.organization.getAll(sdk.utils.mergePineOptions({ $filter: { organization_membership: { $any: { $alias: 'orm', $expr: { orm: { user: (await sdk.auth.getUserInfo()).id, }, }, }, }, }, $orderby: 'name asc', }, options)); } //# sourceMappingURL=sdk.js.map