UNPKG

@apillon/sdk

Version:

▶◀ Apillon SDK for NodeJS ▶◀

44 lines 1.9 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Computing = void 0; const apillon_1 = require("../../lib/apillon"); const apillon_api_1 = require("../../lib/apillon-api"); const common_1 = require("../../lib/common"); const computing_contract_1 = require("./computing-contract"); class Computing extends apillon_1.ApillonModule { constructor() { super(...arguments); /** * API url for computing. */ this.API_PREFIX = '/computing/contracts'; } /** * Lists all computing contracts. * @param {IContractListFilters} params Filter for listing collections. * @returns Array of ComputingContract objects. */ async listContracts(params) { const url = (0, common_1.constructUrlWithQueryParams)(this.API_PREFIX, params); const data = await apillon_api_1.ApillonApi.get(url); return Object.assign(Object.assign({}, data), { items: data.items.map((contract) => new computing_contract_1.ComputingContract(contract.contractUuid, contract, this.config)) }); } /** * Creates a new computing contract based on the provided data. * @param {ICreateComputingContract} data Data for creating the contract. * @returns {ComputingContract} Newly created computing contract. */ async createContract(data) { const contract = await apillon_api_1.ApillonApi.post(this.API_PREFIX, Object.assign(Object.assign({}, data), { contractType: 1 })); return new computing_contract_1.ComputingContract(contract.contractUuid, contract, this.config); } /** * @param uuid Unique contract identifier. * @returns An empty instance of ComputingContract. */ contract(uuid) { return new computing_contract_1.ComputingContract(uuid, null, this.config); } } exports.Computing = Computing; //# sourceMappingURL=computing.js.map