balena-cli
Version:
The official balena Command Line Interface
31 lines • 1.7 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.applicationCreateBase = applicationCreateBase;
const errors_1 = require("../errors");
const lazy_1 = require("./lazy");
async function applicationCreateBase(resource, options, params) {
var _a, _b, _c;
const deviceType = options.type || (await (await Promise.resolve().then(() => require('./patterns'))).selectDeviceType());
const organization = ((_a = options.organization) === null || _a === void 0 ? void 0 : _a.toLowerCase()) ||
(await (await Promise.resolve().then(() => require('./patterns'))).getAndSelectOrganization());
try {
const application = await (0, lazy_1.getBalenaSdk)().models.application.create({
name: params.name,
deviceType,
organization,
applicationClass: resource,
});
const { capitalize } = await Promise.resolve().then(() => require('lodash'));
console.log(`${capitalize(resource)} created: slug "${application.slug}", device type "${deviceType}"`);
}
catch (err) {
if (((_b = err.message) !== null && _b !== void 0 ? _b : '').toLowerCase().includes('unique')) {
throw new errors_1.ExpectedError(`Error: An app or block or fleet with the name "${params.name}" already exists in organization "${organization}".`);
}
else if (((_c = err.message) !== null && _c !== void 0 ? _c : '').toLowerCase().includes('unauthorized')) {
throw new errors_1.ExpectedError(`Error: You are not authorized to create ${resource}s in organization "${organization}".`);
}
throw err;
}
}
//# sourceMappingURL=application-create.js.map