mirror of
https://github.com/immich-app/immich.git
synced 2025-12-22 01:11:20 +03:00
refactor(server): app module (#13193)
This commit is contained in:
@@ -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>;
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import { LogLevel } from 'src/enum';
|
||||
import { ImmichWorker, LogLevel } from 'src/enum';
|
||||
|
||||
export const ILoggerRepository = 'ILoggerRepository';
|
||||
|
||||
export interface ILoggerRepository {
|
||||
setAppName(name: string): void;
|
||||
setAppName(name: ImmichWorker): void;
|
||||
setContext(message: string): void;
|
||||
setLogLevel(level: LogLevel | false): void;
|
||||
isLevelEnabled(level: LogLevel): boolean;
|
||||
|
||||
Reference in New Issue
Block a user