feat: add modular services and repositories for improved code organization

Introduce repository pattern across multiple services, including `favorites`, `tags`, `sessions`, `reports`, `auth`, and more. Decouple crypto functionalities into modular services like `HashingService`, `JwtService`, and `EncryptionService`. Improve testability and maintainability by simplifying dependencies and consolidating utility logic.
This commit is contained in:
Mathis HERRIOT
2026-01-14 12:11:39 +01:00
parent 9c45bf11e4
commit 514bd354bf
64 changed files with 1801 additions and 1295 deletions

View File

@@ -0,0 +1,25 @@
export interface MediaProcessingResult {
buffer: Buffer;
mimeType: string;
extension: string;
width?: number;
height?: number;
size: number;
}
export interface ScanResult {
isInfected: boolean;
virusName?: string;
}
export interface IMediaService {
scanFile(buffer: Buffer, filename: string): Promise<ScanResult>;
processImage(
buffer: Buffer,
format?: "webp" | "avif",
): Promise<MediaProcessingResult>;
processVideo(
buffer: Buffer,
format?: "webm" | "av1",
): Promise<MediaProcessingResult>;
}