forest-cli
Version:
The Lumberjacks' toolbelt is the Forest CLI which makes easy to manage your back office application directly from the terminal.
84 lines • 6.36 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
var _a;
Object.defineProperty(exports, "__esModule", { value: true });
const datasource_sql_1 = require("@forestadmin/datasource-sql");
const abstract_project_create_command_1 = __importDefault(require("../../../abstract-project-create-command"));
const projectCreateOptions = __importStar(require("../../../services/projects/create/options"));
const agents_1 = __importDefault(require("../../../utils/agents"));
const option_parser_1 = require("../../../utils/option-parser");
class SqlCommand extends abstract_project_create_command_1.default {
constructor(argv, config, plan) {
super(argv, config, plan);
this.agent = agents_1.default.NodeJS;
const { assertPresent, agentNodejsDumper } = this.context;
assertPresent({ agentNodejsDumper });
this.dumper = agentNodejsDumper;
}
async dump(config) {
return this.dumper.dump(config);
}
async testDatabaseConnection(dbConfig) {
this.spinner.start({ text: 'Testing connection to your database' });
const connectionPromise = (0, datasource_sql_1.introspect)({
uri: dbConfig.dbConnectionUrl,
dialect: dbConfig.dbDialect,
host: dbConfig.dbHostname,
database: dbConfig.dbName,
password: dbConfig.dbPassword,
port: dbConfig.dbPort,
schema: dbConfig.dbSchema,
sslMode: dbConfig.dbSslMode,
username: dbConfig.dbUser,
});
await this.spinner.attachToPromise(connectionPromise);
}
}
exports.default = SqlCommand;
_a = SqlCommand;
SqlCommand.options = {
databaseConnectionURL: projectCreateOptions.databaseConnectionURL,
databaseDialect: projectCreateOptions.databaseDialectSqlV2,
databaseName: projectCreateOptions.databaseName,
databaseSchema: projectCreateOptions.databaseSchema,
databaseHost: projectCreateOptions.databaseHost,
databasePort: projectCreateOptions.databasePort,
databaseUser: projectCreateOptions.databaseUser,
databasePassword: projectCreateOptions.databasePassword,
// Set prompter to null to replicate bug from previous version (we don't ask for SSL there).
databaseSslMode: { ...projectCreateOptions.databaseSslMode, prompter: null },
databaseSSL: { ...projectCreateOptions.databaseSSL, prompter: null },
applicationHost: projectCreateOptions.applicationHost,
applicationPort: projectCreateOptions.applicationPort,
language: projectCreateOptions.language,
};
/** @see https://oclif.io/docs/args */
SqlCommand.args = abstract_project_create_command_1.default.args;
/** @see https://oclif.io/docs/flags */
SqlCommand.flags = (0, option_parser_1.optionsToFlags)(_a.options);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbW1hbmRzL3Byb2plY3RzL2NyZWF0ZS9zcWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFLQSxnRUFBeUQ7QUFFekQsK0dBQW9GO0FBQ3BGLGdHQUFrRjtBQUNsRixtRUFBMkM7QUFDM0MsZ0VBQThEO0FBRTlELE1BQXFCLFVBQVcsU0FBUSx5Q0FBNEI7SUE4QmxFLFlBQVksSUFBYyxFQUFFLE1BQW1CLEVBQUUsSUFBSztRQUNwRCxLQUFLLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUhULFVBQUssR0FBRyxnQkFBTSxDQUFDLE1BQU0sQ0FBQztRQUt2QyxNQUFNLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUUxRCxhQUFhLENBQUMsRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUM7UUFFckMsSUFBSSxDQUFDLE1BQU0sR0FBRyxpQkFBaUIsQ0FBQztJQUNsQyxDQUFDO0lBRWtCLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBYztRQUMxQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFa0IsS0FBSyxDQUFDLHNCQUFzQixDQUFDLFFBQWtCO1FBQ2hFLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxFQUFFLHFDQUFxQyxFQUFFLENBQUMsQ0FBQztRQUVwRSxNQUFNLGlCQUFpQixHQUFHLElBQUEsMkJBQVUsRUFBQztZQUNuQyxHQUFHLEVBQUUsUUFBUSxDQUFDLGVBQWU7WUFDN0IsT0FBTyxFQUFFLFFBQVEsQ0FBQyxTQUFzRDtZQUN4RSxJQUFJLEVBQUUsUUFBUSxDQUFDLFVBQVU7WUFDekIsUUFBUSxFQUFFLFFBQVEsQ0FBQyxNQUFNO1lBQ3pCLFFBQVEsRUFBRSxRQUFRLENBQUMsVUFBVTtZQUM3QixJQUFJLEVBQUUsUUFBUSxDQUFDLE1BQU07WUFDckIsTUFBTSxFQUFFLFFBQVEsQ0FBQyxRQUFRO1lBQ3pCLE9BQU8sRUFBRSxRQUFRLENBQUMsU0FBUztZQUMzQixRQUFRLEVBQUUsUUFBUSxDQUFDLE1BQU07U0FDMUIsQ0FBQyxDQUFDO1FBRUgsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3hELENBQUM7O0FBNURILDZCQTZEQzs7QUE1RGtCLGtCQUFPLEdBQW1CO0lBQ3pDLHFCQUFxQixFQUFFLG9CQUFvQixDQUFDLHFCQUFxQjtJQUNqRSxlQUFlLEVBQUUsb0JBQW9CLENBQUMsb0JBQW9CO0lBQzFELFlBQVksRUFBRSxvQkFBb0IsQ0FBQyxZQUFZO0lBQy9DLGNBQWMsRUFBRSxvQkFBb0IsQ0FBQyxjQUFjO0lBQ25ELFlBQVksRUFBRSxvQkFBb0IsQ0FBQyxZQUFZO0lBQy9DLFlBQVksRUFBRSxvQkFBb0IsQ0FBQyxZQUFZO0lBQy9DLFlBQVksRUFBRSxvQkFBb0IsQ0FBQyxZQUFZO0lBQy9DLGdCQUFnQixFQUFFLG9CQUFvQixDQUFDLGdCQUFnQjtJQUV2RCw0RkFBNEY7SUFDNUYsZUFBZSxFQUFFLEVBQUUsR0FBRyxvQkFBb0IsQ0FBQyxlQUFlLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtJQUM1RSxXQUFXLEVBQUUsRUFBRSxHQUFHLG9CQUFvQixDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO0lBRXBFLGVBQWUsRUFBRSxvQkFBb0IsQ0FBQyxlQUFlO0lBQ3JELGVBQWUsRUFBRSxvQkFBb0IsQ0FBQyxlQUFlO0lBQ3JELFFBQVEsRUFBRSxvQkFBb0IsQ0FBQyxRQUFRO0NBQ3hDLENBQUM7QUFFRixzQ0FBc0M7QUFDYixlQUFJLEdBQUcseUNBQTRCLENBQUMsSUFBSSxDQUFDO0FBRWxFLHVDQUF1QztBQUNkLGdCQUFLLEdBQUcsSUFBQSw4QkFBYyxFQUFDLEVBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyJ9