refactor(server): app module (#13193)

This commit is contained in:
Jason Rasmussen
2024-10-04 16:57:34 -04:00
committed by GitHub
parent 7ee0221c8e
commit 5d0a4bb1a5
18 changed files with 126 additions and 134 deletions

View File

@@ -1,13 +1,15 @@
import { ClassConstructor } from 'class-transformer';
import { SystemConfig } from 'src/config';
import { AssetResponseDto } from 'src/dtos/asset-response.dto';
import { ReleaseNotification, ServerVersionResponseDto } from 'src/dtos/server.dto';
import { ImmichWorker } from 'src/enum';
export const IEventRepository = 'IEventRepository';
type EventMap = {
// app events
'app.bootstrap': ['api' | 'microservices'];
'app.shutdown': [];
'app.bootstrap': [ImmichWorker];
'app.shutdown': [ImmichWorker];
// config events
'config.update': [
@@ -85,6 +87,7 @@ export type EventItem<T extends EmitEvent> = {
};
export interface IEventRepository {
setup(options: { services: ClassConstructor<unknown>[] }): void;
on<T extends keyof EventMap>(item: EventItem<T>): void;
emit<T extends keyof EventMap>(event: T, ...args: ArgsOf<T>): Promise<void>;