UNPKG

balena-cli

Version:

The official balena Command Line Interface

76 lines (74 loc) 2.61 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const core_1 = require("@oclif/core"); const errors_1 = require("../../errors"); const lazy_1 = require("../../utils/lazy"); class DevicePublicUrlCmd extends core_1.Command { async run() { const { args: params, flags: options } = await this.parse(DevicePublicUrlCmd); const balena = (0, lazy_1.getBalenaSdk)(); if (options.enable) { await balena.models.device.enableDeviceUrl(params.uuid); } else if (options.disable) { await balena.models.device.disableDeviceUrl(params.uuid); } else if (options.status) { const hasUrl = await balena.models.device.hasDeviceUrl(params.uuid); console.log(hasUrl); } else { try { const url = await balena.models.device.getDeviceUrl(params.uuid); console.log(url); } catch (e) { if (e.message.includes('Device is not web accessible')) { throw new errors_1.ExpectedError((0, lazy_1.stripIndent) ` Public URL is not enabled for this device. To enable, use: balena device public-url ${params.uuid} --enable `); } else { throw e; } } } } } DevicePublicUrlCmd.description = (0, lazy_1.stripIndent) ` Get or manage the public URL for a device. This command will output the current public URL for the specified device. It can also enable or disable the URL, or output the enabled status, using the respective options. `; DevicePublicUrlCmd.examples = [ '$ balena device public-url 23c73a1', '$ balena device public-url 23c73a1 --enable', '$ balena device public-url 23c73a1 --disable', '$ balena device public-url 23c73a1 --status', ]; DevicePublicUrlCmd.args = { uuid: core_1.Args.string({ description: 'the uuid of the device to manage', required: true, }), }; DevicePublicUrlCmd.flags = { enable: core_1.Flags.boolean({ description: 'enable the public URL', exclusive: ['disable', 'status'], }), disable: core_1.Flags.boolean({ description: 'disable the public URL', exclusive: ['enable', 'status'], }), status: core_1.Flags.boolean({ description: 'determine if public URL is enabled', exclusive: ['enable', 'disable'], }), }; DevicePublicUrlCmd.authenticated = true; exports.default = DevicePublicUrlCmd; //# sourceMappingURL=public-url.js.map