module creation

This commit is contained in:
2025-12-15 21:44:06 +01:00
parent b834f88bbd
commit 7c7267da72
88 changed files with 12119 additions and 4241 deletions

View File

@@ -0,0 +1,41 @@
import { Provider } from '@nestjs/common';
import { MediaService } from './MediaService';
// Due to persistent module resolution issues in the environment,
// actual core interfaces and adapter implementations are not directly imported here.
// In a functional TypeScript environment, these would be imported as follows:
/*
import { IAvatarGenerationRepository } from 'core/media/domain/repositories/IAvatarGenerationRepository';
import { FaceValidationPort } from 'core/media/application/ports/FaceValidationPort';
import { ILogger } from 'core/shared/logging/ILogger';
import { InMemoryAvatarGenerationRepository } from 'adapters/media/persistence/inmemory/InMemoryAvatarGenerationRepository';
import { InMemoryFaceValidationAdapter } from 'adapters/media/ports/InMemoryFaceValidationAdapter';
import { ConsoleLogger } from 'adapters/logging/ConsoleLogger';
*/
// Define injection tokens as string literals for NestJS
export const AVATAR_GENERATION_REPOSITORY_TOKEN = 'IAvatarGenerationRepository';
export const FACE_VALIDATION_PORT_TOKEN = 'FaceValidationPort';
export const LOGGER_TOKEN = 'ILogger';
export const MediaProviders: Provider[] = [
MediaService, // Provide the service itself
// In a functional setup, the following would be enabled:
/*
{
provide: AVATAR_GENERATION_REPOSITORY_TOKEN,
useFactory: (logger: ILogger) => new InMemoryAvatarGenerationRepository(logger),
inject: [LOGGER_TOKEN],
},
{
provide: FACE_VALIDATION_PORT_TOKEN,
useFactory: (logger: ILogger) => new InMemoryFaceValidationAdapter(logger),
inject: [LOGGER_TOKEN],
},
{
provide: LOGGER_TOKEN,
useClass: ConsoleLogger,
},
*/
];