balena-sdk
Version:
The Balena JavaScript SDK
57 lines (56 loc) • 3.21 kB
TypeScript
import type { ODataOptionsWithoutCount, OptionsToResponse } from 'pinejs-client-core';
import type { InjectedDependenciesParam, InjectedOptionsParam, Release, ReleaseAsset } from '..';
import type { ReleaseRawVersionApplicationPair } from './release';
type WriteReleaseAssetParams = Omit<ReleaseAsset['Write'], 'asset'> & {
asset: File | string;
};
type UploadProgressInfo = {
total: number;
uploaded: number;
};
type UploadParams = {
chunkSize?: number | undefined;
parallelUploads?: number | undefined;
overwrite?: boolean | undefined;
onUploadProgress?: (progress: UploadProgressInfo) => void | Promise<void>;
};
type ReleaseAssetId = ReleaseAsset['Read']['id'] | {
asset_key: ReleaseAsset['Read']['asset_key'];
release: string | number | ReleaseRawVersionApplicationPair;
};
declare const getReleaseAssetModel: (deps: InjectedDependenciesParam, opts: InjectedOptionsParam, getRelease: <T extends ODataOptionsWithoutCount<Release["Read"]>>(commitOrIdOrRawVersion: string | number | ReleaseRawVersionApplicationPair, options?: T) => Promise<OptionsToResponse<Release["Read"], T, undefined>[number]>) => {
getAllByRelease<T extends ODataOptionsWithoutCount<ReleaseAsset["Read"]>>(commitOrIdOrRawVersion: string | number | ReleaseRawVersionApplicationPair, options?: T): Promise<OptionsToResponse<{
release: {
__id: Release["Read"]["id"];
} | [Release["Read"]];
asset_key: import("@balena/sbvr-types").Types["Short Text"]["Read"];
id: import("@balena/sbvr-types").Types["Integer"]["Read"];
asset: import("@balena/sbvr-types").Types["WebResource"]["Read"] | null;
}, import("../util").MergePineOptions<import("../util").AliasResourceRead, {
$orderby: {
id: "asc";
};
}, T>, undefined>>;
get<T extends ODataOptionsWithoutCount<ReleaseAsset["Read"]>>(id: ReleaseAssetId, options?: T): Promise<NonNullable<OptionsToResponse<{
release: {
__id: Release["Read"]["id"];
} | [Release["Read"]];
asset_key: import("@balena/sbvr-types").Types["Short Text"]["Read"];
id: import("@balena/sbvr-types").Types["Integer"]["Read"];
asset: import("@balena/sbvr-types").Types["WebResource"]["Read"] | null;
}, T & {}, number | {
release: number;
asset_key: ReleaseAsset["Read"]["asset_key"];
}>>>;
download(id: ReleaseAssetId): Promise<import("balena-request").BalenaRequestStreamResult>;
upload(uploadParams: WriteReleaseAssetParams, { chunkSize, parallelUploads, overwrite, onUploadProgress, }?: UploadParams): Promise<import("pinejs-client-core/node_modules/@balena/abstract-sql-to-typescript", { with: { "resolution-mode": "import" } }).PickDeferred<{
release: {
__id: Release["Read"]["id"];
} | [Release["Read"]];
asset_key: import("@balena/sbvr-types").Types["Short Text"]["Read"];
id: import("@balena/sbvr-types").Types["Integer"]["Read"];
asset: import("@balena/sbvr-types").Types["WebResource"]["Read"] | null;
}, "release" | "id" | "asset_key" | "asset">>;
remove(id: ReleaseAssetId): Promise<void>;
};
export default getReleaseAssetModel;