forest-cli
Version:
The Lumberjacks' toolbelt is the Forest CLI which makes easy to manage your back office application directly from the terminal.
55 lines • 4.14 kB
JavaScript
const { Flags } = require('@oclif/core');
const AbstractCommand = require('../../abstract-command').default;
const StaticContext = require('../../context/static');
class UpdateCommand extends AbstractCommand {
constructor(argv, config, plan) {
super(argv, config, plan);
const { assertPresent, env, path, schemaService } = this.context;
assertPresent({
env,
path,
schemaService,
});
this.env = env;
this.path = path;
this.schemaService = schemaService;
}
async run() {
const parsed = await this.parse(UpdateCommand);
const commandOptions = { ...parsed.flags, ...parsed.args };
const options = {
isUpdate: true,
outputDirectory: commandOptions.outputDirectory,
dbSchema: this.env.DATABASE_SCHEMA,
dbConfigPath: commandOptions.config,
};
await this.schemaService.update(options);
}
}
UpdateCommand.description = 'Refresh your schema by generating files that do not currently exist.';
UpdateCommand.flags = (() => {
const { assertPresent, path } = StaticContext.init();
assertPresent({
path,
});
return {
config: Flags.string({
char: 'c',
default: () => path.join('config', 'databases.js'),
dependsOn: [],
description: 'Database configuration file to use.',
exclusive: [],
required: false,
}),
outputDirectory: Flags.string({
char: 'o',
dependsOn: [],
description: 'Output directory where to generate new files.',
exclusive: [],
required: false,
}),
};
})();
UpdateCommand.args = {};
module.exports = UpdateCommand;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL3NjaGVtYS91cGRhdGUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUN6QyxNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxPQUFPLENBQUM7QUFDbEUsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLHNCQUFzQixDQUFDLENBQUM7QUFFdEQsTUFBTSxhQUFjLFNBQVEsZUFBZTtJQUN6QyxZQUFZLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSTtRQUM1QixLQUFLLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMxQixNQUFNLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUNqRSxhQUFhLENBQUM7WUFDWixHQUFHO1lBQ0gsSUFBSTtZQUNKLGFBQWE7U0FDZCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxLQUFLLENBQUMsR0FBRztRQUNQLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMvQyxNQUFNLGNBQWMsR0FBRyxFQUFFLEdBQUcsTUFBTSxDQUFDLEtBQUssRUFBRSxHQUFHLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUUzRCxNQUFNLE9BQU8sR0FBRztZQUNkLFFBQVEsRUFBRSxJQUFJO1lBQ2QsZUFBZSxFQUFFLGNBQWMsQ0FBQyxlQUFlO1lBQy9DLFFBQVEsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWU7WUFDbEMsWUFBWSxFQUFFLGNBQWMsQ0FBQyxNQUFNO1NBQ3BDLENBQUM7UUFFRixNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNDLENBQUM7Q0FDRjtBQUVELGFBQWEsQ0FBQyxXQUFXLEdBQUcsc0VBQXNFLENBQUM7QUFFbkcsYUFBYSxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcsRUFBRTtJQUMxQixNQUFNLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxHQUFHLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyRCxhQUFhLENBQUM7UUFDWixJQUFJO0tBQ0wsQ0FBQyxDQUFDO0lBRUgsT0FBTztRQUNMLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ25CLElBQUksRUFBRSxHQUFHO1lBQ1QsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLGNBQWMsQ0FBQztZQUNsRCxTQUFTLEVBQUUsRUFBRTtZQUNiLFdBQVcsRUFBRSxxQ0FBcUM7WUFDbEQsU0FBUyxFQUFFLEVBQUU7WUFDYixRQUFRLEVBQUUsS0FBSztTQUNoQixDQUFDO1FBQ0YsZUFBZSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFDNUIsSUFBSSxFQUFFLEdBQUc7WUFDVCxTQUFTLEVBQUUsRUFBRTtZQUNiLFdBQVcsRUFBRSwrQ0FBK0M7WUFDNUQsU0FBUyxFQUFFLEVBQUU7WUFDYixRQUFRLEVBQUUsS0FBSztTQUNoQixDQUFDO0tBQ0gsQ0FBQztBQUNKLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFFTCxhQUFhLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztBQUV4QixNQUFNLENBQUMsT0FBTyxHQUFHLGFBQWEsQ0FBQyJ9