burdy
Version:
Open Source Headless Platform
61 lines (60 loc) • 2.86 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
require("../util/env.util");
const database_driver_1 = require("../../server/drivers/database.driver");
const server_bl_1 = require("../../server/business-logic/server.bl");
const console_output_util_1 = __importDefault(require("../util/console-output.util"));
const path_util_1 = __importDefault(require("../util/path.util"));
const nanoid_1 = require("nanoid");
const orm_helpers_1 = require("../../server/common/orm-helpers");
const access_token_1 = __importDefault(require("../../server/models/access-token"));
const handleImport = () => __awaiter(void 0, void 0, void 0, function* () {
const { payload } = action;
yield (0, server_bl_1.importContent)({
options: { force: payload.force, publish: payload.publish },
file: path_util_1.default.processRoot(payload.file),
});
});
const handleExport = () => __awaiter(void 0, void 0, void 0, function* () {
const { payload } = action;
yield (0, server_bl_1.exportContent)({ output: path_util_1.default.processRoot(payload.file), force: payload.force });
});
const handleGenerateApiKey = () => __awaiter(void 0, void 0, void 0, function* () {
const { payload } = action;
const token = (0, nanoid_1.nanoid)();
const accessTokenRepository = (0, orm_helpers_1.getEnhancedRepository)(access_token_1.default);
yield accessTokenRepository.save({
name: payload.name,
token,
});
process.stdout.write(`GENERATED_KEY="${token}"\n`);
});
(() => __awaiter(void 0, void 0, void 0, function* () {
require('../../index');
yield (0, database_driver_1.connectDatabaseDriver)();
switch (action.type) {
case 'import':
yield handleImport();
break;
case 'export':
yield handleExport();
break;
case 'generateApiKey':
yield handleGenerateApiKey();
break;
default:
console_output_util_1.default.info('Not action specified.');
}
}))();