balena-sdk
Version:
The Balena JavaScript SDK
98 lines (97 loc) • 5.1 kB
TypeScript
import type { ODataOptionsWithoutCount } from 'pinejs-client-core';
import type { CreditBundle, InjectedDependenciesParam } from '..';
declare const getCreditBundleModel: ({ pine, sdkInstance, }: InjectedDependenciesParam) => {
/**
* @summary Get all of the credit bundles purchased by the given org
* @name getAllByOrg
* @public
* @function
* @memberof balena.models.creditBundle
*
* @param {(String|Number)} organization - handle (string) or id (number) of the target organization.
* @param {Object} [options={}] - extra pine options to use
*
* @fulfil {Object[]} - credit bundles
* @returns {Promise}
*
* @example
* balena.models.creditBundle.getAllByOrg(orgId).then(function(creditBundles) {
* console.log(creditBundles);
* });
*
*/
getAllByOrg: <T extends ODataOptionsWithoutCount<CreditBundle["Read"]>>(organization: string | number, options?: T) => Promise<import("pinejs-client-core").OptionsToResponse<{
created_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
modified_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
id: import("@balena/sbvr-types").Types["Integer"]["Read"];
payment_status: "processing" | "paid" | "failed" | "complimentary" | "cancelled" | "refunded" | "manually invoiced";
is_created_by__user: {
__id: import("..").User["Read"]["id"];
} | [import("..").User["Read"]];
is_for__feature: {
__id: import("..").Feature["Read"]["id"];
} | [import("..").Feature["Read"]];
belongs_to__organization: {
__id: import("..").Organization["Read"]["id"];
} | [import("..").Organization["Read"]];
unit_cost: import("@balena/sbvr-types").Types["Integer"]["Read"];
original_quantity: import("@balena/sbvr-types").Types["Integer"]["Read"];
available_balance: import("@balena/sbvr-types").Types["Integer"]["Read"];
total_cost: import("@balena/sbvr-types").Types["Integer"]["Read"];
total_balance: import("@balena/sbvr-types").Types["Integer"]["Read"];
expires_on__date: import("@balena/sbvr-types").Types["Date Time"]["Read"];
is_associated_with__invoice_id: import("@balena/sbvr-types").Types["Short Text"]["Read"] | null;
error_message: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
}, import("../util").MergePineOptions<import("../util").AliasResourceRead, {
$filter: {
belongs_to__organization: number;
};
$orderby: {
created_at: "desc";
};
}, T>, undefined>>;
/**
* @summary Purchase a credit bundle for the given feature and org of the given quantity
* @name create
* @public
* @function
* @memberof balena.models.creditBundle
*
* @param {(String|Number)} organization - handle (string) or id (number) of the target organization.
* @param {Number} featureId - id (number) of the feature for which credits are being purchased.
* @param {Number} creditsToPurchase - number of credits being purchased.
*
* @fulfil {Object[]} - credit bundles
* @returns {Promise}
*
* @example
* balena.models.creditBundle.create(orgId, featureId, creditsToPurchase).then(function(creditBundle) {
* console.log(creditBundle);
* });
*
*/
create: (organization: string | number, featureId: number, creditsToPurchase: number) => 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"];
modified_at: import("@balena/sbvr-types").Types["Date Time"]["Read"];
id: import("@balena/sbvr-types").Types["Integer"]["Read"];
payment_status: "processing" | "paid" | "failed" | "complimentary" | "cancelled" | "refunded" | "manually invoiced";
is_created_by__user: {
__id: import("..").User["Read"]["id"];
} | [import("..").User["Read"]];
is_for__feature: {
__id: import("..").Feature["Read"]["id"];
} | [import("..").Feature["Read"]];
belongs_to__organization: {
__id: import("..").Organization["Read"]["id"];
} | [import("..").Organization["Read"]];
unit_cost: import("@balena/sbvr-types").Types["Integer"]["Read"];
original_quantity: import("@balena/sbvr-types").Types["Integer"]["Read"];
available_balance: import("@balena/sbvr-types").Types["Integer"]["Read"];
total_cost: import("@balena/sbvr-types").Types["Integer"]["Read"];
total_balance: import("@balena/sbvr-types").Types["Integer"]["Read"];
expires_on__date: import("@balena/sbvr-types").Types["Date Time"]["Read"];
is_associated_with__invoice_id: import("@balena/sbvr-types").Types["Short Text"]["Read"] | null;
error_message: import("@balena/sbvr-types").Types["Text"]["Read"] | null;
}>>;
};
export default getCreditBundleModel;