@modyo/cli
Version:
Modyo CLI Command line to expose local development tools
46 lines (45 loc) • 1.75 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const core_1 = require("@oclif/core");
const debug_1 = tslib_1.__importDefault(require("debug"));
const axios_1 = tslib_1.__importDefault(require("axios"));
const api_client_1 = tslib_1.__importDefault(require("../utils/api-client"));
const modyo_api_paths_1 = require("./modyo-api-paths");
const debug = (0, debug_1.default)('push/create-widget.ts');
const debugError = (0, debug_1.default)('error::push/create-widget.ts');
async function createWidget(name, { version, accountUrl, siteId, token, }) {
var _a;
const url = `${accountUrl}/${modyo_api_paths_1.MODYO_API_PATH[version]}/sites/${siteId}/widget_definitions`;
debug(`creating widget in ${url}`);
const query = {
method: 'POST',
url,
headers: {
Authorization: `Bearer ${token}`,
},
data: {
name,
read_only: true,
public: true,
},
};
debug(query);
core_1.ux.action.start(`Creating widget ${name} in a Modyo ${version} site accountUrl=${accountUrl} siteId=${siteId}`);
try {
const response = await api_client_1.default.request(query);
const json = response.data;
debug('the response is');
debug(json);
core_1.ux.action.stop(`widget ${json.id}`);
return json.id;
}
catch (error) {
if (axios_1.default.isAxiosError(error) && ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 401) {
throw new Error('Unauthorized, please check your Modyo Api Access Token');
}
debugError(error);
throw error;
}
}
exports.default = createWidget;