@sourceloop/ctrl-plane-tenant-management-service
Version:
Tenant Management microservice for SaaS control plane
30 lines (27 loc) • 795 B
text/typescript
import {ApplicationConfig} from '@loopback/core';
import {TenantMgmtServiceApplication} from './application';
const ARGV_INDEX = 2;
const DEFAULT_PORT = 3000;
/**
* Export the OpenAPI spec from the application
*/
async function exportOpenApiSpec(): Promise<void> {
const config: ApplicationConfig = {
rest: {
port: +(process.env.PORT ?? DEFAULT_PORT),
host: process.env.HOST ?? 'localhost',
},
};
const outFile = process.argv[ARGV_INDEX] ?? './src/openapi.json';
const app = new TenantMgmtServiceApplication(config);
await app.boot();
await app.exportOpenApiSpec(outFile);
}
exportOpenApiSpec()
.then(() => {
process.exit(0);
})
.catch(err => {
console.error('Fail to export OpenAPI spec from the application.', err);
process.exit(1);
});