Skip to content

serviceRouter is not accessible while subscribing for container #59

@kbarbounakis

Description

@kbarbounakis

Is your feature request related to a problem? Please describe.

ExpressDataApplication.container subscription giving access to application container but if you try to use getServiceRouter(Application) to get serviceRouter instance, it will be undefined.

import { getServiceRouter } from '@themost/data';
// create data application
const app = express();
....
const dataApplication = new ExpressDataApplication();
app.use(dataApplication.middleware(app));
...
dataApplication.container.subscribe((container) => {
    const router = getServiceRouter(container);
   // router is empty
});

Describe the solution you'd like
Provide a new subscription or event to handle serviceRouter instance e.g.

dataApplication.serviceRouter.subscribe((serviceRouter) => { ... });

or

import { AsyncSeriesEventEmitter } from '@themost/events';
dataApplication.serviceRouter = new AsyncSeriesEventEmitter();
dataApplication.serviceRouter.subscribe((serviceRouter) => { ... });
...
dataApplication.serviceRouter.emit(serviceRouter);

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions