UNPKG

grapi-cli

Version:

a cli tool to generate loopback 4 applications with extra features like caching & fuzzy search

30 lines (29 loc) 1.39 kB
import { Command, Flags } from '@oclif/core'; import chalk from 'chalk'; import { processOptions, execute, standardFlags, prompt } from '../utils/index.js'; export default class RestCrud extends Command { static description = 'generate rest crud apis.'; static flags = { ...standardFlags, datasource: Flags.string({ description: 'name of a valid datasource already created in src/datasources.' }), model: Flags.string({ description: 'name of a valid model already created in src/models.' }), basePath: Flags.string({ description: 'base path of the model endpoint.' }), readonly: Flags.string({ description: 'create readonly APIs e.g find and count.' }), }; async run() { const parsed = await this.parse(RestCrud); if (!parsed.flags.config) return prompt('rest-crud', parsed.flags); let options = processOptions(parsed.flags); let configs = ''; if (Object.keys(options).length) { configs = `--config='${JSON.stringify(options)}' `; } const command = `lb4 rest-crud ${configs}--yes`; const executed = await execute(command, 'generated crud apis.'); if (executed.stderr) console.log(chalk.bold(chalk.green(executed.stderr))); if (executed.stdout) console.log(chalk.bold(chalk.green(executed.stdout))); } }