mirror of
https://github.com/standardnotes/server
synced 2026-07-14 09:01:33 -04:00
37 lines
1.2 KiB
TypeScript
37 lines
1.2 KiB
TypeScript
import {
|
|
ServiceConfiguration,
|
|
ServiceContainerInterface,
|
|
ServiceIdentifier,
|
|
ServiceInterface,
|
|
} from '@standardnotes/domain-core'
|
|
import { DirectCallDomainEventPublisher } from '@standardnotes/domain-events-infra'
|
|
|
|
import { ContainerConfigLoader } from './Container'
|
|
|
|
export class Service implements ServiceInterface {
|
|
constructor(
|
|
private serviceContainer: ServiceContainerInterface,
|
|
private directCallDomainEventPublisher: DirectCallDomainEventPublisher,
|
|
) {
|
|
this.serviceContainer.register(this.getId(), this)
|
|
}
|
|
|
|
async handleRequest(_request: never, _response: never, _endpointOrMethodIdentifier: string): Promise<unknown> {
|
|
throw new Error('Requests are handled via inversify-express at ApiGateway level')
|
|
}
|
|
|
|
async getContainer(configuration?: ServiceConfiguration): Promise<unknown> {
|
|
const config = new ContainerConfigLoader()
|
|
|
|
return config.load({
|
|
directCallDomainEventPublisher: this.directCallDomainEventPublisher,
|
|
logger: configuration?.logger,
|
|
environmentOverrides: configuration?.environmentOverrides,
|
|
})
|
|
}
|
|
|
|
getId(): ServiceIdentifier {
|
|
return ServiceIdentifier.create(ServiceIdentifier.NAMES.Files).getValue()
|
|
}
|
|
}
|