ask-cli
Version:
Alexa Skills Kit (ASK) Command Line Interfaces
50 lines (49 loc) • 2.16 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createCommand = void 0;
const abstract_command_1 = require("../../../abstract-command");
const json_view_1 = __importDefault(require("../../../../view/json-view"));
const messenger_1 = __importDefault(require("../../../../view/messenger"));
const option_model_json_1 = __importDefault(require("../../../option-model.json"));
const profile_helper_1 = __importDefault(require("../../../../utils/profile-helper"));
const smapi_client_1 = __importDefault(require("../../../../clients/smapi-client"));
class GetTaskCommand extends abstract_command_1.AbstractCommand {
name() {
return "get-task";
}
description() {
return "Get the task definition details specified by the taskName and version.";
}
requiredOptions() {
return ["skill-id", "task-name", "task-version"];
}
optionalOptions() {
return ["profile", "debug"];
}
async handle(cmd) {
const { skillId, taskName, taskVersion, profile, debug } = cmd;
const smapiClient = new smapi_client_1.default({
profile: profile_helper_1.default.runtimeProfile(profile),
doDebug: debug,
});
return new Promise((resolve, reject) => {
smapiClient.task.getTask(skillId, taskName, taskVersion, (err, result) => {
if (err || result.statusCode >= 400) {
const error = err || json_view_1.default.toString(result.body);
messenger_1.default.getInstance().error(error);
reject(error);
}
else {
const res = json_view_1.default.toString(JSON.parse(result.body.definition));
messenger_1.default.getInstance().info(res);
resolve(res);
}
});
});
}
}
exports.default = GetTaskCommand;
exports.createCommand = new GetTaskCommand(option_model_json_1.default).createCommand();