balena-sdk
Version:
The Balena JavaScript SDK
39 lines (38 loc) • 1.35 kB
JavaScript
;
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;