balena-sdk
Version:
The Balena JavaScript SDK
822 lines • 97.2 kB
TypeScript
import type { InjectedDependenciesParam, InjectedOptionsParam, Application } from '..';
import { type MergePineOptions } from '../util';
import type { ODataOptionsWithoutCount, OptionsToResponse } from 'pinejs-client-core';
declare const getApplicationModel: (deps: InjectedDependenciesParam, opts: InjectedOptionsParam) => {
_getId: (slugOrUuidOrId: string | number) => Promise<number>;
/**
* @summary Get Dashboard URL for a specific application
* @function getDashboardUrl
* @memberof balena.models.application
*
* @param {Number} id - Application id
*
* @returns {String} - Dashboard URL for the specific application
* @throws Exception if the id is not a finite number
*
* @example
* balena.models.application.get('myorganization/myapp').then(function(application) {
* const dashboardApplicationUrl = balena.models.application.getDashboardUrl(application.id);
* console.log(dashboardApplicationUrl);
* });
*/
getDashboardUrl(id: number): string;
/**
* @summary Get all applications
* @name getAll
* @public
* @function
* @memberof balena.models.application
*
* @param {Object} [options={}] - extra pine options to use
* @param {String} [context] - extra access filters, undefined or 'directly_accessible'
* @fulfil {Object[]} - applications
* @returns {Promise}
*
* @example
* balena.models.application.getAll().then(function(applications) {
* console.log(applications);
* });
*/
getAll<T extends ODataOptionsWithoutCount<Application["Read"]>>(options?: T, context?: "directly_accessible"): Promise<OptionsToResponse<{
created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
id: import("@balena/sbvr-types").Types["Integer"]["Read"];
actor: {
__id: import("..").Actor["Read"]["id"];
} | [import("..").Actor["Read"]];
should_track_latest_release: import("@balena/sbvr-types").Types["Boolean"]["Read"];
is_of__class: "fleet" | "block" | "app";
organization: {
__id: import("..").Organization["Read"]["id"];
} | [import("..").Organization["Read"]];
app_name: import("@balena/sbvr-types").Types["Text"]["Read"];
slug: import("@balena/sbvr-types").Types["Short Text"]["Read"];
is_for__device_type: {
__id: import("..").DeviceType["Read"]["id"];
} | [import("..").DeviceType["Read"]];
should_be_running__release: {
__id: import("..").Release["Read"]["id"];
} | [import("..").Release["Read"]] | [] | null;
application_type: {
__id: import("..").ApplicationType["Read"]["id"];
} | [import("..").ApplicationType["Read"]];
is_host: import("@balena/sbvr-types").Types["Boolean"]["Read"];
is_archived: import("@balena/sbvr-types").Types["Boolean"]["Read"];
uuid: import("@balena/sbvr-types").Types["Text"]["Read"];
is_public: import("@balena/sbvr-types").Types["Boolean"]["Read"];
is_accessible_by_support_until__date: import("@balena/sbvr-types").Types["Date Time"]["Read"] | null;
is_discoverable: import("@balena/sbvr-types").Types["Boolean"]["Read"];
is_stored_at__repository_url: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
application__has__env_var_name?: Array<import("..").ApplicationEnvironmentVariable["Read"]>;
application_environment_variable?: Array<import("..").ApplicationEnvironmentVariable["Read"]>;
application__has__config_var_name?: Array<import("..").ApplicationConfigVariable["Read"]>;
application_config_variable?: Array<import("..").ApplicationConfigVariable["Read"]>;
application__has__service_name?: Array<import("..").Service["Read"]>;
service?: Array<import("..").Service["Read"]>;
application__has__tag_key?: Array<import("..").ApplicationTag["Read"]>;
application_tag?: Array<import("..").ApplicationTag["Read"]>;
application__has__domain?: Array<import("..").ApplicationDomainMapping["Read"]>;
application_domain_mapping?: Array<import("..").ApplicationDomainMapping["Read"]>;
application__has__build_var_name?: Array<import("..").BuildEnvironmentVariable["Read"]>;
build_environment_variable?: Array<import("..").BuildEnvironmentVariable["Read"]>;
owns__device?: Array<import("..").Device["Read"]>;
owns__release?: Array<import("..").Release["Read"]>;
owns__public_device?: Array<import("..").PublicDevice["Read"]>;
team__grants_access_to__application?: Array<import("..").TeamApplicationAccess["Read"]>;
team_application_access?: Array<import("..").TeamApplicationAccess["Read"]>;
is_accessible_by__team?: Array<import("..").TeamApplicationAccess["Read"]>;
user__is_member_of__application?: Array<import("..").UserIsMemberOfApplication["Read"]>;
user_application_membership?: Array<import("..").UserIsMemberOfApplication["Read"]>;
includes__user?: Array<import("..").UserIsMemberOfApplication["Read"]>;
includes__user__is_member_of__application?: Array<import("..").UserIsMemberOfApplication["Read"]>;
includes__user_application_membership?: Array<import("..").UserIsMemberOfApplication["Read"]>;
invitee__is_invited_to__application?: Array<import("..").InviteeIsInvitedToApplication["Read"]>;
application_invite?: Array<import("..").InviteeIsInvitedToApplication["Read"]>;
invitee?: Array<import("..").InviteeIsInvitedToApplication["Read"]>;
is_directly_accessible_by__user?: Array<import("..").UserHasDirectAccessToApplication["Read"]>;
can_use__application_as_host?: Array<import("..").ApplicationCanUseApplicationAsHost["Read"]>;
}, MergePineOptions<import("../util").AliasResourceRead, {
$orderby: {
app_name: "asc";
};
$filter?: {
is_directly_accessible_by__user: {
$any: {
$alias: string;
$expr: {
1: number;
};
};
};
} | undefined;
}, T>, undefined>>;
/**
* @summary Get all applications directly accessible by the user
* @name getAllDirectlyAccessible
* @public
* @function
* @memberof balena.models.application
*
* @param {Object} [options={}] - extra pine options to use
* @fulfil {Object[]} - applications
* @returns {Promise}
*
* @example
* balena.models.application.getAllDirectlyAccessible().then(function(applications) {
* console.log(applications);
* });
*/
getAllDirectlyAccessible<T extends ODataOptionsWithoutCount<Application["Read"]>>(options?: T): Promise<OptionsToResponse<{
created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
id: import("@balena/sbvr-types").Types["Integer"]["Read"];
actor: {
__id: import("..").Actor["Read"]["id"];
} | [import("..").Actor["Read"]];
should_track_latest_release: import("@balena/sbvr-types").Types["Boolean"]["Read"];
is_of__class: "fleet" | "block" | "app";
organization: {
__id: import("..").Organization["Read"]["id"];
} | [import("..").Organization["Read"]];
app_name: import("@balena/sbvr-types").Types["Text"]["Read"];
slug: import("@balena/sbvr-types").Types["Short Text"]["Read"];
is_for__device_type: {
__id: import("..").DeviceType["Read"]["id"];
} | [import("..").DeviceType["Read"]];
should_be_running__release: {
__id: import("..").Release["Read"]["id"];
} | [import("..").Release["Read"]] | [] | null;
application_type: {
__id: import("..").ApplicationType["Read"]["id"];
} | [import("..").ApplicationType["Read"]];
is_host: import("@balena/sbvr-types").Types["Boolean"]["Read"];
is_archived: import("@balena/sbvr-types").Types["Boolean"]["Read"];
uuid: import("@balena/sbvr-types").Types["Text"]["Read"];
is_public: import("@balena/sbvr-types").Types["Boolean"]["Read"];
is_accessible_by_support_until__date: import("@balena/sbvr-types").Types["Date Time"]["Read"] | null;
is_discoverable: import("@balena/sbvr-types").Types["Boolean"]["Read"];
is_stored_at__repository_url: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
application__has__env_var_name?: Array<import("..").ApplicationEnvironmentVariable["Read"]>;
application_environment_variable?: Array<import("..").ApplicationEnvironmentVariable["Read"]>;
application__has__config_var_name?: Array<import("..").ApplicationConfigVariable["Read"]>;
application_config_variable?: Array<import("..").ApplicationConfigVariable["Read"]>;
application__has__service_name?: Array<import("..").Service["Read"]>;
service?: Array<import("..").Service["Read"]>;
application__has__tag_key?: Array<import("..").ApplicationTag["Read"]>;
application_tag?: Array<import("..").ApplicationTag["Read"]>;
application__has__domain?: Array<import("..").ApplicationDomainMapping["Read"]>;
application_domain_mapping?: Array<import("..").ApplicationDomainMapping["Read"]>;
application__has__build_var_name?: Array<import("..").BuildEnvironmentVariable["Read"]>;
build_environment_variable?: Array<import("..").BuildEnvironmentVariable["Read"]>;
owns__device?: Array<import("..").Device["Read"]>;
owns__release?: Array<import("..").Release["Read"]>;
owns__public_device?: Array<import("..").PublicDevice["Read"]>;
team__grants_access_to__application?: Array<import("..").TeamApplicationAccess["Read"]>;
team_application_access?: Array<import("..").TeamApplicationAccess["Read"]>;
is_accessible_by__team?: Array<import("..").TeamApplicationAccess["Read"]>;
user__is_member_of__application?: Array<import("..").UserIsMemberOfApplication["Read"]>;
user_application_membership?: Array<import("..").UserIsMemberOfApplication["Read"]>;
includes__user?: Array<import("..").UserIsMemberOfApplication["Read"]>;
includes__user__is_member_of__application?: Array<import("..").UserIsMemberOfApplication["Read"]>;
includes__user_application_membership?: Array<import("..").UserIsMemberOfApplication["Read"]>;
invitee__is_invited_to__application?: Array<import("..").InviteeIsInvitedToApplication["Read"]>;
application_invite?: Array<import("..").InviteeIsInvitedToApplication["Read"]>;
invitee?: Array<import("..").InviteeIsInvitedToApplication["Read"]>;
is_directly_accessible_by__user?: Array<import("..").UserHasDirectAccessToApplication["Read"]>;
can_use__application_as_host?: Array<import("..").ApplicationCanUseApplicationAsHost["Read"]>;
}, MergePineOptions<import("../util").AliasResourceRead, {
$orderby: {
app_name: "asc";
};
$filter?: {
is_directly_accessible_by__user: {
$any: {
$alias: string;
$expr: {
1: number;
};
};
};
} | undefined;
}, T>, undefined>>;
/**
* @summary Get all applications of an organization
* @name getAllByOrganization
* @public
* @function
* @memberof balena.models.application
*
* @param {Number|String} orgHandleOrId - organization handle (string) or id (number)
* @param {Object} [options={}] - extra pine options to use
* @fulfil {Object[]} - applications
* @returns {Promise}
*
* @example
* balena.models.application.getAllByOrganization().then(function(applications) {
* console.log(applications);
* });
*/
getAllByOrganization<T extends ODataOptionsWithoutCount<Application["Read"]>>(orgHandleOrId: number | string, options?: T): Promise<OptionsToResponse<{
created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
id: import("@balena/sbvr-types").Types["Integer"]["Read"];
actor: {
__id: import("..").Actor["Read"]["id"];
} | [import("..").Actor["Read"]];
should_track_latest_release: import("@balena/sbvr-types").Types["Boolean"]["Read"];
is_of__class: "fleet" | "block" | "app";
organization: {
__id: import("..").Organization["Read"]["id"];
} | [import("..").Organization["Read"]];
app_name: import("@balena/sbvr-types").Types["Text"]["Read"];
slug: import("@balena/sbvr-types").Types["Short Text"]["Read"];
is_for__device_type: {
__id: import("..").DeviceType["Read"]["id"];
} | [import("..").DeviceType["Read"]];
should_be_running__release: {
__id: import("..").Release["Read"]["id"];
} | [import("..").Release["Read"]] | [] | null;
application_type: {
__id: import("..").ApplicationType["Read"]["id"];
} | [import("..").ApplicationType["Read"]];
is_host: import("@balena/sbvr-types").Types["Boolean"]["Read"];
is_archived: import("@balena/sbvr-types").Types["Boolean"]["Read"];
uuid: import("@balena/sbvr-types").Types["Text"]["Read"];
is_public: import("@balena/sbvr-types").Types["Boolean"]["Read"];
is_accessible_by_support_until__date: import("@balena/sbvr-types").Types["Date Time"]["Read"] | null;
is_discoverable: import("@balena/sbvr-types").Types["Boolean"]["Read"];
is_stored_at__repository_url: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
application__has__env_var_name?: Array<import("..").ApplicationEnvironmentVariable["Read"]>;
application_environment_variable?: Array<import("..").ApplicationEnvironmentVariable["Read"]>;
application__has__config_var_name?: Array<import("..").ApplicationConfigVariable["Read"]>;
application_config_variable?: Array<import("..").ApplicationConfigVariable["Read"]>;
application__has__service_name?: Array<import("..").Service["Read"]>;
service?: Array<import("..").Service["Read"]>;
application__has__tag_key?: Array<import("..").ApplicationTag["Read"]>;
application_tag?: Array<import("..").ApplicationTag["Read"]>;
application__has__domain?: Array<import("..").ApplicationDomainMapping["Read"]>;
application_domain_mapping?: Array<import("..").ApplicationDomainMapping["Read"]>;
application__has__build_var_name?: Array<import("..").BuildEnvironmentVariable["Read"]>;
build_environment_variable?: Array<import("..").BuildEnvironmentVariable["Read"]>;
owns__device?: Array<import("..").Device["Read"]>;
owns__release?: Array<import("..").Release["Read"]>;
owns__public_device?: Array<import("..").PublicDevice["Read"]>;
team__grants_access_to__application?: Array<import("..").TeamApplicationAccess["Read"]>;
team_application_access?: Array<import("..").TeamApplicationAccess["Read"]>;
is_accessible_by__team?: Array<import("..").TeamApplicationAccess["Read"]>;
user__is_member_of__application?: Array<import("..").UserIsMemberOfApplication["Read"]>;
user_application_membership?: Array<import("..").UserIsMemberOfApplication["Read"]>;
includes__user?: Array<import("..").UserIsMemberOfApplication["Read"]>;
includes__user__is_member_of__application?: Array<import("..").UserIsMemberOfApplication["Read"]>;
includes__user_application_membership?: Array<import("..").UserIsMemberOfApplication["Read"]>;
invitee__is_invited_to__application?: Array<import("..").InviteeIsInvitedToApplication["Read"]>;
application_invite?: Array<import("..").InviteeIsInvitedToApplication["Read"]>;
invitee?: Array<import("..").InviteeIsInvitedToApplication["Read"]>;
is_directly_accessible_by__user?: Array<import("..").UserHasDirectAccessToApplication["Read"]>;
can_use__application_as_host?: Array<import("..").ApplicationCanUseApplicationAsHost["Read"]>;
}, MergePineOptions<import("../util").AliasResourceRead, {
$filter: {
organization: number;
};
$orderby: {
app_name: "asc";
};
}, T>, undefined>>;
/**
* @summary Get a single application
* @name get
* @public
* @function
* @memberof balena.models.application
*
* @param {String|Number} slugOrUuidOrId - application slug (string), uuid (string) or id (number)
* @param {Object} [options={}] - extra pine options to use
* @param {String} [context] - extra access filters, undefined or 'directly_accessible'
* @fulfil {Object} - application
* @returns {Promise}
*
* @example
* balena.models.application.get('myorganization/myapp').then(function(application) {
* console.log(application);
* });
*
* @example
* balena.models.application.get('1bf99a68cf9e4266986e6dec7a6e8f46').then(function(application) {
* console.log(application);
* });
*
* @example
* balena.models.application.get(123).then(function(application) {
* console.log(application);
* });
*/
get<T extends ODataOptionsWithoutCount<Application["Read"]>>(slugOrUuidOrId: string | number, options?: T, context?: "directly_accessible"): Promise<OptionsToResponse<{
created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
id: import("@balena/sbvr-types").Types["Integer"]["Read"];
actor: {
__id: import("..").Actor["Read"]["id"];
} | [import("..").Actor["Read"]];
should_track_latest_release: import("@balena/sbvr-types").Types["Boolean"]["Read"];
is_of__class: "fleet" | "block" | "app";
organization: {
__id: import("..").Organization["Read"]["id"];
} | [import("..").Organization["Read"]];
app_name: import("@balena/sbvr-types").Types["Text"]["Read"];
slug: import("@balena/sbvr-types").Types["Short Text"]["Read"];
is_for__device_type: {
__id: import("..").DeviceType["Read"]["id"];
} | [import("..").DeviceType["Read"]];
should_be_running__release: {
__id: import("..").Release["Read"]["id"];
} | [import("..").Release["Read"]] | [] | null;
application_type: {
__id: import("..").ApplicationType["Read"]["id"];
} | [import("..").ApplicationType["Read"]];
is_host: import("@balena/sbvr-types").Types["Boolean"]["Read"];
is_archived: import("@balena/sbvr-types").Types["Boolean"]["Read"];
uuid: import("@balena/sbvr-types").Types["Text"]["Read"];
is_public: import("@balena/sbvr-types").Types["Boolean"]["Read"];
is_accessible_by_support_until__date: import("@balena/sbvr-types").Types["Date Time"]["Read"] | null;
is_discoverable: import("@balena/sbvr-types").Types["Boolean"]["Read"];
is_stored_at__repository_url: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
application__has__env_var_name?: Array<import("..").ApplicationEnvironmentVariable["Read"]>;
application_environment_variable?: Array<import("..").ApplicationEnvironmentVariable["Read"]>;
application__has__config_var_name?: Array<import("..").ApplicationConfigVariable["Read"]>;
application_config_variable?: Array<import("..").ApplicationConfigVariable["Read"]>;
application__has__service_name?: Array<import("..").Service["Read"]>;
service?: Array<import("..").Service["Read"]>;
application__has__tag_key?: Array<import("..").ApplicationTag["Read"]>;
application_tag?: Array<import("..").ApplicationTag["Read"]>;
application__has__domain?: Array<import("..").ApplicationDomainMapping["Read"]>;
application_domain_mapping?: Array<import("..").ApplicationDomainMapping["Read"]>;
application__has__build_var_name?: Array<import("..").BuildEnvironmentVariable["Read"]>;
build_environment_variable?: Array<import("..").BuildEnvironmentVariable["Read"]>;
owns__device?: Array<import("..").Device["Read"]>;
owns__release?: Array<import("..").Release["Read"]>;
owns__public_device?: Array<import("..").PublicDevice["Read"]>;
team__grants_access_to__application?: Array<import("..").TeamApplicationAccess["Read"]>;
team_application_access?: Array<import("..").TeamApplicationAccess["Read"]>;
is_accessible_by__team?: Array<import("..").TeamApplicationAccess["Read"]>;
user__is_member_of__application?: Array<import("..").UserIsMemberOfApplication["Read"]>;
user_application_membership?: Array<import("..").UserIsMemberOfApplication["Read"]>;
includes__user?: Array<import("..").UserIsMemberOfApplication["Read"]>;
includes__user__is_member_of__application?: Array<import("..").UserIsMemberOfApplication["Read"]>;
includes__user_application_membership?: Array<import("..").UserIsMemberOfApplication["Read"]>;
invitee__is_invited_to__application?: Array<import("..").InviteeIsInvitedToApplication["Read"]>;
application_invite?: Array<import("..").InviteeIsInvitedToApplication["Read"]>;
invitee?: Array<import("..").InviteeIsInvitedToApplication["Read"]>;
is_directly_accessible_by__user?: Array<import("..").UserHasDirectAccessToApplication["Read"]>;
can_use__application_as_host?: Array<import("..").ApplicationCanUseApplicationAsHost["Read"]>;
}, T, undefined>[number]>;
/**
* @summary Get a single application directly accessible by the user
* @name getDirectlyAccessible
* @public
* @function
* @memberof balena.models.application
*
* @param {String|Number} slugOrUuidOrId - application slug (string), uuid (string) or id (number)
* @param {Object} [options={}] - extra pine options to use
* @fulfil {Object} - application
* @returns {Promise}
*
* @example
* balena.models.application.getDirectlyAccessible('myorganization/myapp').then(function(application) {
* console.log(application);
* });
*
* @example
* balena.models.application.getDirectlyAccessible(123).then(function(application) {
* console.log(application);
* });
*/
getDirectlyAccessible<T extends ODataOptionsWithoutCount<Application["Read"]>>(slugOrUuidOrId: string | number, options?: T): Promise<OptionsToResponse<{
created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
id: import("@balena/sbvr-types").Types["Integer"]["Read"];
actor: {
__id: import("..").Actor["Read"]["id"];
} | [import("..").Actor["Read"]];
should_track_latest_release: import("@balena/sbvr-types").Types["Boolean"]["Read"];
is_of__class: "fleet" | "block" | "app";
organization: {
__id: import("..").Organization["Read"]["id"];
} | [import("..").Organization["Read"]];
app_name: import("@balena/sbvr-types").Types["Text"]["Read"];
slug: import("@balena/sbvr-types").Types["Short Text"]["Read"];
is_for__device_type: {
__id: import("..").DeviceType["Read"]["id"];
} | [import("..").DeviceType["Read"]];
should_be_running__release: {
__id: import("..").Release["Read"]["id"];
} | [import("..").Release["Read"]] | [] | null;
application_type: {
__id: import("..").ApplicationType["Read"]["id"];
} | [import("..").ApplicationType["Read"]];
is_host: import("@balena/sbvr-types").Types["Boolean"]["Read"];
is_archived: import("@balena/sbvr-types").Types["Boolean"]["Read"];
uuid: import("@balena/sbvr-types").Types["Text"]["Read"];
is_public: import("@balena/sbvr-types").Types["Boolean"]["Read"];
is_accessible_by_support_until__date: import("@balena/sbvr-types").Types["Date Time"]["Read"] | null;
is_discoverable: import("@balena/sbvr-types").Types["Boolean"]["Read"];
is_stored_at__repository_url: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
application__has__env_var_name?: Array<import("..").ApplicationEnvironmentVariable["Read"]>;
application_environment_variable?: Array<import("..").ApplicationEnvironmentVariable["Read"]>;
application__has__config_var_name?: Array<import("..").ApplicationConfigVariable["Read"]>;
application_config_variable?: Array<import("..").ApplicationConfigVariable["Read"]>;
application__has__service_name?: Array<import("..").Service["Read"]>;
service?: Array<import("..").Service["Read"]>;
application__has__tag_key?: Array<import("..").ApplicationTag["Read"]>;
application_tag?: Array<import("..").ApplicationTag["Read"]>;
application__has__domain?: Array<import("..").ApplicationDomainMapping["Read"]>;
application_domain_mapping?: Array<import("..").ApplicationDomainMapping["Read"]>;
application__has__build_var_name?: Array<import("..").BuildEnvironmentVariable["Read"]>;
build_environment_variable?: Array<import("..").BuildEnvironmentVariable["Read"]>;
owns__device?: Array<import("..").Device["Read"]>;
owns__release?: Array<import("..").Release["Read"]>;
owns__public_device?: Array<import("..").PublicDevice["Read"]>;
team__grants_access_to__application?: Array<import("..").TeamApplicationAccess["Read"]>;
team_application_access?: Array<import("..").TeamApplicationAccess["Read"]>;
is_accessible_by__team?: Array<import("..").TeamApplicationAccess["Read"]>;
user__is_member_of__application?: Array<import("..").UserIsMemberOfApplication["Read"]>;
user_application_membership?: Array<import("..").UserIsMemberOfApplication["Read"]>;
includes__user?: Array<import("..").UserIsMemberOfApplication["Read"]>;
includes__user__is_member_of__application?: Array<import("..").UserIsMemberOfApplication["Read"]>;
includes__user_application_membership?: Array<import("..").UserIsMemberOfApplication["Read"]>;
invitee__is_invited_to__application?: Array<import("..").InviteeIsInvitedToApplication["Read"]>;
application_invite?: Array<import("..").InviteeIsInvitedToApplication["Read"]>;
invitee?: Array<import("..").InviteeIsInvitedToApplication["Read"]>;
is_directly_accessible_by__user?: Array<import("..").UserHasDirectAccessToApplication["Read"]>;
can_use__application_as_host?: Array<import("..").ApplicationCanUseApplicationAsHost["Read"]>;
}, T, undefined>[number]>;
/**
* @summary Get a single application and its devices, along with each device's
* associated services' essential details
* @name getWithDeviceServiceDetails
* @public
* @function
* @memberof balena.models.application
*
* @description
* This method does not map exactly to the underlying model: it runs a
* larger prebuilt query, and reformats it into an easy to use and
* understand format. If you want more control, or to see the raw model
* directly, use `application.get(uuidOrId, options)` instead.
*
* @param {String|Number} slugOrUuidOrId - application slug (string), uuid (string) or id (number)
* @param {Object} [options={}] - extra pine options to use
* @fulfil {Object} - application
* @returns {Promise}
*
* @example
* balena.models.application.getWithDeviceServiceDetails('myorganization/myapp').then(function(device) {
* console.log(device);
* })
*
* @example
* balena.models.application.getWithDeviceServiceDetails(123).then(function(device) {
* console.log(device);
* })
*/
getWithDeviceServiceDetails<T extends ODataOptionsWithoutCount<Application["Read"]>>(slugOrUuidOrId: string | number, options?: T): Promise<OptionsToResponse<{
created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
id: import("@balena/sbvr-types").Types["Integer"]["Read"];
actor: {
__id: import("..").Actor["Read"]["id"];
} | [import("..").Actor["Read"]];
should_track_latest_release: import("@balena/sbvr-types").Types["Boolean"]["Read"];
is_of__class: "fleet" | "block" | "app";
organization: {
__id: import("..").Organization["Read"]["id"];
} | [import("..").Organization["Read"]];
app_name: import("@balena/sbvr-types").Types["Text"]["Read"];
slug: import("@balena/sbvr-types").Types["Short Text"]["Read"];
is_for__device_type: {
__id: import("..").DeviceType["Read"]["id"];
} | [import("..").DeviceType["Read"]];
should_be_running__release: {
__id: import("..").Release["Read"]["id"];
} | [import("..").Release["Read"]] | [] | null;
application_type: {
__id: import("..").ApplicationType["Read"]["id"];
} | [import("..").ApplicationType["Read"]];
is_host: import("@balena/sbvr-types").Types["Boolean"]["Read"];
is_archived: import("@balena/sbvr-types").Types["Boolean"]["Read"];
uuid: import("@balena/sbvr-types").Types["Text"]["Read"];
is_public: import("@balena/sbvr-types").Types["Boolean"]["Read"];
is_accessible_by_support_until__date: import("@balena/sbvr-types").Types["Date Time"]["Read"] | null;
is_discoverable: import("@balena/sbvr-types").Types["Boolean"]["Read"];
is_stored_at__repository_url: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
application__has__env_var_name?: Array<import("..").ApplicationEnvironmentVariable["Read"]>;
application_environment_variable?: Array<import("..").ApplicationEnvironmentVariable["Read"]>;
application__has__config_var_name?: Array<import("..").ApplicationConfigVariable["Read"]>;
application_config_variable?: Array<import("..").ApplicationConfigVariable["Read"]>;
application__has__service_name?: Array<import("..").Service["Read"]>;
service?: Array<import("..").Service["Read"]>;
application__has__tag_key?: Array<import("..").ApplicationTag["Read"]>;
application_tag?: Array<import("..").ApplicationTag["Read"]>;
application__has__domain?: Array<import("..").ApplicationDomainMapping["Read"]>;
application_domain_mapping?: Array<import("..").ApplicationDomainMapping["Read"]>;
application__has__build_var_name?: Array<import("..").BuildEnvironmentVariable["Read"]>;
build_environment_variable?: Array<import("..").BuildEnvironmentVariable["Read"]>;
owns__device?: Array<import("..").Device["Read"]>;
owns__release?: Array<import("..").Release["Read"]>;
owns__public_device?: Array<import("..").PublicDevice["Read"]>;
team__grants_access_to__application?: Array<import("..").TeamApplicationAccess["Read"]>;
team_application_access?: Array<import("..").TeamApplicationAccess["Read"]>;
is_accessible_by__team?: Array<import("..").TeamApplicationAccess["Read"]>;
user__is_member_of__application?: Array<import("..").UserIsMemberOfApplication["Read"]>;
user_application_membership?: Array<import("..").UserIsMemberOfApplication["Read"]>;
includes__user?: Array<import("..").UserIsMemberOfApplication["Read"]>;
includes__user__is_member_of__application?: Array<import("..").UserIsMemberOfApplication["Read"]>;
includes__user_application_membership?: Array<import("..").UserIsMemberOfApplication["Read"]>;
invitee__is_invited_to__application?: Array<import("..").InviteeIsInvitedToApplication["Read"]>;
application_invite?: Array<import("..").InviteeIsInvitedToApplication["Read"]>;
invitee?: Array<import("..").InviteeIsInvitedToApplication["Read"]>;
is_directly_accessible_by__user?: Array<import("..").UserHasDirectAccessToApplication["Read"]>;
can_use__application_as_host?: Array<import("..").ApplicationCanUseApplicationAsHost["Read"]>;
}, MergePineOptions<{
created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
id: import("@balena/sbvr-types").Types["Integer"]["Read"];
actor: {
__id: import("..").Actor["Read"]["id"];
} | [import("..").Actor["Read"]];
should_track_latest_release: import("@balena/sbvr-types").Types["Boolean"]["Read"];
is_of__class: "fleet" | "block" | "app";
organization: {
__id: import("..").Organization["Read"]["id"];
} | [import("..").Organization["Read"]];
app_name: import("@balena/sbvr-types").Types["Text"]["Read"];
slug: import("@balena/sbvr-types").Types["Short Text"]["Read"];
is_for__device_type: {
__id: import("..").DeviceType["Read"]["id"];
} | [import("..").DeviceType["Read"]];
should_be_running__release: {
__id: import("..").Release["Read"]["id"];
} | [import("..").Release["Read"]] | [] | null;
application_type: {
__id: import("..").ApplicationType["Read"]["id"];
} | [import("..").ApplicationType["Read"]];
is_host: import("@balena/sbvr-types").Types["Boolean"]["Read"];
is_archived: import("@balena/sbvr-types").Types["Boolean"]["Read"];
uuid: import("@balena/sbvr-types").Types["Text"]["Read"];
is_public: import("@balena/sbvr-types").Types["Boolean"]["Read"];
is_accessible_by_support_until__date: import("@balena/sbvr-types").Types["Date Time"]["Read"] | null;
is_discoverable: import("@balena/sbvr-types").Types["Boolean"]["Read"];
is_stored_at__repository_url: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
application__has__env_var_name?: Array<import("..").ApplicationEnvironmentVariable["Read"]>;
application_environment_variable?: Array<import("..").ApplicationEnvironmentVariable["Read"]>;
application__has__config_var_name?: Array<import("..").ApplicationConfigVariable["Read"]>;
application_config_variable?: Array<import("..").ApplicationConfigVariable["Read"]>;
application__has__service_name?: Array<import("..").Service["Read"]>;
service?: Array<import("..").Service["Read"]>;
application__has__tag_key?: Array<import("..").ApplicationTag["Read"]>;
application_tag?: Array<import("..").ApplicationTag["Read"]>;
application__has__domain?: Array<import("..").ApplicationDomainMapping["Read"]>;
application_domain_mapping?: Array<import("..").ApplicationDomainMapping["Read"]>;
application__has__build_var_name?: Array<import("..").BuildEnvironmentVariable["Read"]>;
build_environment_variable?: Array<import("..").BuildEnvironmentVariable["Read"]>;
owns__device?: Array<import("..").Device["Read"]>;
owns__release?: Array<import("..").Release["Read"]>;
owns__public_device?: Array<import("..").PublicDevice["Read"]>;
team__grants_access_to__application?: Array<import("..").TeamApplicationAccess["Read"]>;
team_application_access?: Array<import("..").TeamApplicationAccess["Read"]>;
is_accessible_by__team?: Array<import("..").TeamApplicationAccess["Read"]>;
user__is_member_of__application?: Array<import("..").UserIsMemberOfApplication["Read"]>;
user_application_membership?: Array<import("..").UserIsMemberOfApplication["Read"]>;
includes__user?: Array<import("..").UserIsMemberOfApplication["Read"]>;
includes__user__is_member_of__application?: Array<import("..").UserIsMemberOfApplication["Read"]>;
includes__user_application_membership?: Array<import("..").UserIsMemberOfApplication["Read"]>;
invitee__is_invited_to__application?: Array<import("..").InviteeIsInvitedToApplication["Read"]>;
application_invite?: Array<import("..").InviteeIsInvitedToApplication["Read"]>;
invitee?: Array<import("..").InviteeIsInvitedToApplication["Read"]>;
is_directly_accessible_by__user?: Array<import("..").UserHasDirectAccessToApplication["Read"]>;
can_use__application_as_host?: Array<import("..").ApplicationCanUseApplicationAsHost["Read"]>;
}, {
readonly $expand: {
readonly owns__device: {
readonly $expand: {
readonly image_install: {
readonly $select: readonly ["id", "download_progress", "status", "install_date"];
readonly $filter: {
readonly status: {
readonly $ne: "deleted";
};
};
readonly $expand: {
readonly installs__image: {
readonly $select: readonly ["id"];
readonly $expand: {
readonly is_a_build_of__service: {
readonly $select: readonly ["id", "service_name"];
};
};
};
readonly is_provided_by__release: {
readonly $select: readonly ["id", "commit", "raw_version"];
readonly $expand: {
readonly belongs_to__application: {
readonly $select: readonly ["slug"];
};
};
};
};
};
};
};
};
}, T>, string | number> & {
owns__device: import("..").DeviceWithServiceDetails[];
}>;
/**
* @summary Get a single application using the appname and the handle of the owning organization
* @name getAppByName
* @public
* @function
* @memberof balena.models.application
*
* @param {String} appName - application name
* @param {Object} [options={}] - extra pine options to use
* @param {String} [context] - extra access filters, undefined or 'directly_accessible'
* @fulfil {Object} - application
* @returns {Promise}
*
* @example
* balena.models.application.getAppByName('MyApp').then(function(application) {
* console.log(application);
* });
*/
getAppByName<T extends ODataOptionsWithoutCount<Application["Read"]>>(appName: string, options?: T, context?: "directly_accessible"): Promise<import("pinejs-client-core/node_modules/@balena/abstract-sql-to-typescript", { with: { "resolution-mode": "import" } }).PickDeferred<{
created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
id: import("@balena/sbvr-types").Types["Integer"]["Read"];
actor: {
__id: import("..").Actor["Read"]["id"];
} | [import("..").Actor["Read"]];
should_track_latest_release: import("@balena/sbvr-types").Types["Boolean"]["Read"];
is_of__class: "fleet" | "block" | "app";
organization: {
__id: import("..").Organization["Read"]["id"];
} | [import("..").Organization["Read"]];
app_name: import("@balena/sbvr-types").Types["Text"]["Read"];
slug: import("@balena/sbvr-types").Types["Short Text"]["Read"];
is_for__device_type: {
__id: import("..").DeviceType["Read"]["id"];
} | [import("..").DeviceType["Read"]];
should_be_running__release: {
__id: import("..").Release["Read"]["id"];
} | [import("..").Release["Read"]] | [] | null;
application_type: {
__id: import("..").ApplicationType["Read"]["id"];
} | [import("..").ApplicationType["Read"]];
is_host: import("@balena/sbvr-types").Types["Boolean"]["Read"];
is_archived: import("@balena/sbvr-types").Types["Boolean"]["Read"];
uuid: import("@balena/sbvr-types").Types["Text"]["Read"];
is_public: import("@balena/sbvr-types").Types["Boolean"]["Read"];
is_accessible_by_support_until__date: import("@balena/sbvr-types").Types["Date Time"]["Read"] | null;
is_discoverable: import("@balena/sbvr-types").Types["Boolean"]["Read"];
is_stored_at__repository_url: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
application__has__env_var_name?: Array<import("..").ApplicationEnvironmentVariable["Read"]>;
application_environment_variable?: Array<import("..").ApplicationEnvironmentVariable["Read"]>;
application__has__config_var_name?: Array<import("..").ApplicationConfigVariable["Read"]>;
application_config_variable?: Array<import("..").ApplicationConfigVariable["Read"]>;
application__has__service_name?: Array<import("..").Service["Read"]>;
service?: Array<import("..").Service["Read"]>;
application__has__tag_key?: Array<import("..").ApplicationTag["Read"]>;
application_tag?: Array<import("..").ApplicationTag["Read"]>;
application__has__domain?: Array<import("..").ApplicationDomainMapping["Read"]>;
application_domain_mapping?: Array<import("..").ApplicationDomainMapping["Read"]>;
application__has__build_var_name?: Array<import("..").BuildEnvironmentVariable["Read"]>;
build_environment_variable?: Array<import("..").BuildEnvironmentVariable["Read"]>;
owns__device?: Array<import("..").Device["Read"]>;
owns__release?: Array<import("..").Release["Read"]>;
owns__public_device?: Array<import("..").PublicDevice["Read"]>;
team__grants_access_to__application?: Array<import("..").TeamApplicationAccess["Read"]>;
team_application_access?: Array<import("..").TeamApplicationAccess["Read"]>;
is_accessible_by__team?: Array<import("..").TeamApplicationAccess["Read"]>;
user__is_member_of__application?: Array<import("..").UserIsMemberOfApplication["Read"]>;
user_application_membership?: Array<import("..").UserIsMemberOfApplication["Read"]>;
includes__user?: Array<import("..").UserIsMemberOfApplication["Read"]>;
includes__user__is_member_of__application?: Array<import("..").UserIsMemberOfApplication["Read"]>;
includes__user_application_membership?: Array<import("..").UserIsMemberOfApplication["Read"]>;
invitee__is_invited_to__application?: Array<import("..").InviteeIsInvitedToApplication["Read"]>;
application_invite?: Array<import("..").InviteeIsInvitedToApplication["Read"]>;
invitee?: Array<import("..").InviteeIsInvitedToApplication["Read"]>;
is_directly_accessible_by__user?: Array<import("..").UserHasDirectAccessToApplication["Read"]>;
can_use__application_as_host?: Array<import("..").ApplicationCanUseApplicationAsHost["Read"]>;
}, "id" | "organization" | "created_at" | "actor" | "includes__user" | "should_track_latest_release" | "is_of__class" | "app_name" | "slug" | "is_for__device_type" | "should_be_running__release" | "application_type" | "is_host" | "is_archived" | "uuid" | "is_public" | "is_accessible_by_support_until__date" | "is_discoverable" | "is_stored_at__repository_url" | "application__has__env_var_name" | "application_environment_variable" | "application__has__config_var_name" | "application_config_variable" | "application__has__service_name" | "service" | "application__has__tag_key" | "application_tag" | "application__has__domain" | "application_domain_mapping" | "application__has__build_var_name" | "build_environment_variable" | "owns__device" | "owns__release" | "owns__public_device" | "team__grants_access_to__application" | "team_application_access" | "is_accessible_by__team" | "user__is_member_of__application" | "user_application_membership" | "includes__user__is_member_of__application" | "includes__user_application_membership" | "invitee__is_invited_to__application" | "application_invite" | "invitee" | "is_directly_accessible_by__user" | "can_use__application_as_host">>;
/**
* @summary Check if an application exists
* @name has
* @public
* @function
* @memberof balena.models.application
*
* @param {String|Number} slugOrUuidOrId - application slug (string), uuid (string) or id (number)
* @fulfil {Boolean} - has application
* @returns {Promise}
*
* @example
* balena.models.application.has('myorganization/myapp').then(function(hasApp) {
* console.log(hasApp);
* });
*
* @example
* balena.models.application.has(123).then(function(hasApp) {
* console.log(hasApp);
* });
*/
has: (slugOrUuidOrId: string | number) => Promise<boolean>;
/**
* @summary Check if the user has access to any applications
* @name hasAny
* @public
* @function
* @memberof balena.models.application
*
* @fulfil {Boolean} - has any applications
* @returns {Promise}
*
* @example
* balena.models.application.hasAny().then(function(hasAny) {
* console.log('Has any?', hasAny);
* });
*/
hasAny: () => Promise<boolean>;
/**
* @summary Create an application
* @name create
* @public
* @function
* @memberof balena.models.application
*
* @param {Object} options - application creation parameters
* @param {String} options.name - application name
* @param {String} [options.uuid] - application uuid
* @param {String} [options.applicationClass] - application class: 'app' | 'fleet' | 'block'
* @param {String} options.deviceType - device type slug
* @param {(String|Number)} options.organization - handle (string) or id (number) of the organization that the application will belong to or null
*
* @fulfil {Object} - application
* @returns {Promise}
*
* @example
* balena.models.application.create({ name: 'My App', deviceType: 'raspberry-pi' }).then(function(application) {
* console.log(application);
* });
*
* @example
* balena.models.application.create({ name: 'My Block', applicationClass: 'block', deviceType: 'raspberry-pi' }).then(function(application) {
* console.log(application);
* });
*
* @example
* balena.models.application.create({ name: 'My App', deviceType: 'raspberry-pi', parent: 'ParentApp' }).then(function(application) {
* console.log(application);
* });
*/
create({ name, uuid, applicationClass, deviceType, organization, }: {
name: string;
uuid?: string;
applicationClass?: "app" | "fleet" | "block";
deviceType: string;
organization: number | string;
}): Promise<import("pinejs-client-core/node_modules/@balena/abstract-sql-to-typescript", { with: { "resolution-mode": "import" } }).PickDeferred<{
created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
id: import("@balena/sbvr-types").Types["Integer"]["Read"];
actor: {
__id: import("..").Actor["Read"]["id"];
} | [import("..").Actor["Read"]];
should_track_latest_release: import("@balena/sbvr-types").Types["Boolean"]["Read"];
is_of__class: "fleet" | "block" | "app";
organization: {
__id: import("..").Organization["Read"]["id"];
} | [import("..").Organization["Read"]];
app_name: import("@balena/sbvr-types").Types["Text"]["Read"];
slug: import("@balena/sbvr-types").Types["Short Text"]["Read"];
is_for__device_type: {
__id: import("..").DeviceType["Read"]["id"];
} | [import("..").DeviceType["Read"]];
should_be_running__release: {
__id: import("..").Release["Read"]["id"];
} | [import("..").Release["Read"]] | [] | null;
application_type: {
__id: import("..").ApplicationType["Read"]["id"];
} | [import("..").ApplicationType["Read"]];
is_host: import("@balena/sbvr-types").Types["Boolean"]["Read"];
is_archived: import("@balena/sbvr-types").Types["Boolean"]["Read"];
uuid: import("@balena/sbvr-types").Types["Text"]["Read"];
is_public: import("@balena/sbvr-types").Types["Boolean"]["Read"];
is_accessible_by_support_until__date: import("@balena/sbvr-types").Types["Date Time"]["Read"] | null;
is_discoverable: import("@balena/sbvr-types").Types["Boolean"]["Read"];
is_stored_at__repository_url: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
application__has__env_var_name?: Array<import("..").ApplicationEnvironmentVariable["Read"]>;
application_environment_variable?: Array<import("..").ApplicationEnvironmentVariable["Read"]>;
application__has__config_var_name?: Array<import("..").ApplicationConfigVariable["Read"]>;
application_config_variable?: Array<import("..").ApplicationConfigVariable["Read"]>;
application__has__service_name?: Array<import("..").Service["Read"]>;
service?: Array<import("..").Service["Read"]>;
application__has__tag_key?: Array<import("..").ApplicationTag["Read"]>;
application_tag?: Array<import("..").ApplicationTag["Read"]>;
application__has__domain?: Array<import("..").ApplicationDomainMapping["Read"]>;
application_domain_mapping?: Array<import("..").ApplicationDomainMapping["Read"]>;
application__has__build_var_name?: Array<import("..").BuildEnvironmentVariable["Read"]>;
build_environment_variable?: Array<import("..").BuildEnvironmentVariable["Read"]>;
owns__device?: Array<import("..").Device["Read"]>;
owns__release?: Array<import("..").Release["Read"]>;
owns__public_device?: