diff --git a/bin/clever.js b/bin/clever.js index 1b11500..9022617 100755 --- a/bin/clever.js +++ b/bin/clever.js @@ -90,7 +90,10 @@ function run () { description: 'Application ID (or name, if unambiguous)', parser: Parsers.appIdOrName, }), - appNameCreation: cliparse.argument('app-name', { description: 'Application name' }), + appNameCreation: cliparse.argument('app-name', { + description: 'Application name (optional, current directory name is used if not specified)', + default: '', + }), backupId: cliparse.argument('backup-id', { description: 'A Database backup ID (format: UUID)' }), databaseId: cliparse.argument('database-id', { description: 'Any database ID (format: addon_UUID, postgresql_UUID, mysql_UUID, ...)' }), drainId: cliparse.argument('drain-id', { description: 'Drain ID' }), diff --git a/src/commands/addon.js b/src/commands/addon.js index 93de6d2..6a168b3 100644 --- a/src/commands/addon.js +++ b/src/commands/addon.js @@ -84,8 +84,8 @@ function displayAddon (format, addon, message) { case 'json': { Logger.printJson({ id: addon.id, - name: addon.name, realId: addon.realId, + name: addon.name, }); break; } @@ -96,6 +96,7 @@ function displayAddon (format, addon, message) { message, `ID: ${addon.id}`, `Real ID: ${addon.realId}`, + `Name: ${addon.name}`, ].join('\n')); } } diff --git a/src/commands/create.js b/src/commands/create.js index ea8c6b3..53e7d4e 100644 --- a/src/commands/create.js +++ b/src/commands/create.js @@ -1,15 +1,19 @@ 'use strict'; +const path = require('path'); const Application = require('../models/application.js'); const AppConfig = require('../models/app_configuration.js'); const Logger = require('../logger.js'); async function create (params) { const { type: typeName } = params.options; - const [name] = params.args; + const [rawName] = params.args; const { org: orgaIdOrName, alias, region, github: githubOwnerRepo, format } = params.options; const { apps } = await AppConfig.loadApplicationConf(); + // Application name is optionnal, use current directory name if not specified (empty string) + const name = (rawName !== '') ? rawName : getCurrentDirectoryName(); + AppConfig.checkAlreadyLinked(apps, name, alias); const github = getGithubDetails(githubOwnerRepo); @@ -31,6 +35,7 @@ async function create (params) { default: Logger.println('Application created successfully!'); Logger.println(`ID: ${app.id}`); + Logger.println(`Name: ${name}`); } }; @@ -41,4 +46,8 @@ function getGithubDetails (githubOwnerRepo) { } } +function getCurrentDirectoryName () { + return path.basename(process.cwd()); +} + module.exports = { create };