diff --git a/src/abstract-project-create-command.ts b/src/abstract-project-create-command.ts index add8ff197..b6f7312dd 100644 --- a/src/abstract-project-create-command.ts +++ b/src/abstract-project-create-command.ts @@ -114,7 +114,7 @@ export default abstract class AbstractProjectCreateCommand extends AbstractAuthe protected abstract generateProject(config: Config): Promise; - private async getConfig(): Promise<{ + protected async getConfig(): Promise<{ appConfig: AppConfig; dbConfig: DbConfig; language: Language | null; diff --git a/src/commands/projects/bundle/nosql.ts b/src/commands/projects/bundle/nosql.ts new file mode 100644 index 000000000..6881073c2 --- /dev/null +++ b/src/commands/projects/bundle/nosql.ts @@ -0,0 +1,29 @@ +import AbstractProjectCreateCommand from '../../../abstract-project-create-command'; +import { optionsToFlags } from '../../../utils/option-parser'; +import NosqlCommand from '../create/nosql'; + +export default class NoSqlBundleCommand extends NosqlCommand { + /** @see https://oclif.io/docs/args */ + static override readonly args = AbstractProjectCreateCommand.args; + + /** @see https://oclif.io/docs/flags */ + static override readonly flags = optionsToFlags(this.options); + + static override description = 'Bundle files for Forest Admin project.'; + + protected override async runAuthenticated(): Promise { + const { appConfig, dbConfig, language } = await this.getConfig(); + + await this.testDatabaseConnection(dbConfig); + + await this.generateProject({ + dbConfig, + appConfig, + forestAuthSecret: '', + forestEnvSecret: '', + language, + }); + + this.logger.info(`Hooray, ${this.chalk.green('installation success')}!`); + } +} diff --git a/src/commands/projects/bundle/sql.ts b/src/commands/projects/bundle/sql.ts new file mode 100644 index 000000000..36f3a2dc0 --- /dev/null +++ b/src/commands/projects/bundle/sql.ts @@ -0,0 +1,29 @@ +import AbstractProjectCreateCommand from '../../../abstract-project-create-command'; +import { optionsToFlags } from '../../../utils/option-parser'; +import SqlCommand from '../create/sql'; + +export default class SqlBundleCommand extends SqlCommand { + /** @see https://oclif.io/docs/args */ + static override readonly args = AbstractProjectCreateCommand.args; + + /** @see https://oclif.io/docs/flags */ + static override readonly flags = optionsToFlags(this.options); + + static override description = 'Bundle files for Forest Admin project.'; + + protected override async runAuthenticated(): Promise { + const { appConfig, dbConfig, language } = await this.getConfig(); + + await this.testDatabaseConnection(dbConfig); + + await this.generateProject({ + dbConfig, + appConfig, + forestAuthSecret: '', + forestEnvSecret: '', + language, + }); + + this.logger.info(`Hooray, ${this.chalk.green('installation success')}!`); + } +}