30 lines
1.0 KiB
TypeScript
30 lines
1.0 KiB
TypeScript
import * as plugins from './plugins.js';
|
|
import * as paths from './paths.js';
|
|
import { Reception } from './reception/classes.reception.js';
|
|
|
|
export const runCli = async () => {
|
|
const serviceQenv = new plugins.qenv.Qenv('./', './.nogit', false);
|
|
const websiteServer = new plugins.typedserver.utilityservers.UtilityWebsiteServer({
|
|
feedMetadata: null,
|
|
domain: 'idp.global',
|
|
serveDir: paths.distWebDir,
|
|
addCustomRoutes: async (typedserver) => {
|
|
// Enable SPA fallback - serves index.html for non-file routes (e.g., /login, /dashboard)
|
|
typedserver.options.spaFallback = true;
|
|
},
|
|
});
|
|
|
|
// lets add the reception routes
|
|
const reception = new Reception({
|
|
name: (await serviceQenv.getEnvVarOnDemand('INSTANCE_NAME')) || 'idp.global',
|
|
mongoDescriptor: {
|
|
mongoDbUrl: await serviceQenv.getEnvVarOnDemand('MONGODB_URL'),
|
|
},
|
|
websiteServer: websiteServer,
|
|
baseUrl: await serviceQenv.getEnvVarOnDemand('IDP_BASEURL'),
|
|
});
|
|
await reception.start();
|
|
|
|
await websiteServer.start();
|
|
};
|