UNPKG

balena-sdk

Version:
39 lines (38 loc) 1.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BuilderHelper = void 0; const tslib_1 = require("tslib"); const errors = tslib_1.__importStar(require("balena-errors")); const isBuilderError = (error) => error.code === 'BalenaRequestError' && typeof error.body === 'object' && !!error.body.error; class BuilderHelper { constructor(deps, opts) { this.deps = deps; this.opts = opts; } async buildFromUrl(owner, appName, urlDeployOptions) { var _a; try { const resp = await this.deps.request.send({ method: 'POST', url: `/v3/buildFromUrl?headless=true&owner=${owner}&app=${appName}`, baseUrl: this.opts.builderUrl, body: Object.assign({ shouldFlatten: (_a = urlDeployOptions.shouldFlatten) !== null && _a !== void 0 ? _a : true, }, urlDeployOptions), }); if (!resp.body.started) { throw new errors.BalenaError(resp.body.message); } return resp.body.releaseId; } catch (err) { if (isBuilderError(err)) { err.message = err.body.message || err.body.error; } throw err; } } } exports.BuilderHelper = BuilderHelper;