UNPKG

draig-car

Version:

Database REST API interactive generator CLI and REPL OpenAPI3 based JS generator with interactive ORM/ODM REPL

31 lines (28 loc) 980 B
const util = require('util') const chalk = require('chalk') const mustache = require('mustache') const u = require('../util') const c = require('./common') module.exports.newSchemaAction = async function(args) { let api = this.context.api let argv = this.context.argv if (!args || args.length < 1) { console.log('Usage: ' + this.commands.newsch.help) return u.exitOrContinue(this) } let name = util.isArray(args) ? args[0] : args.split(' ')[0] // read template let view = await c.fillTemplate(this, 'schema', name) if (null === view) return u.exitOrContinue(this) // check if schema already exists let schema = Object.keys(view)[0] if (schema in api.components.schemas) { console.error(chalk`Conflict - schema {yellow ${schema}} already exists`) } else { // add subtitution to new schema api.components.schemas[schema] = view[schema] console.error(chalk`Success - schema {green ${schema}} added`) u.saveYaml(argv.api, api) } u.exitOrContinue(this) }