website refactor
This commit is contained in:
@@ -12,6 +12,7 @@ import type { ValidateFaceInputDTO } from './dtos/ValidateFaceInputDTO';
|
||||
import type { ValidateFaceOutputDTO } from './dtos/ValidateFaceOutputDTO';
|
||||
import type { RacingSuitColor } from '@core/media/domain/types/AvatarGenerationRequest';
|
||||
import type { MulterFile } from './types/MulterFile';
|
||||
import type { MediaReference } from '@core/domain/media/MediaReference';
|
||||
|
||||
type RequestAvatarGenerationInput = RequestAvatarGenerationInputDTO;
|
||||
type UploadMediaInput = UploadMediaInputDTO;
|
||||
@@ -24,6 +25,8 @@ import { GetMediaUseCase } from '@core/media/application/use-cases/GetMediaUseCa
|
||||
import { DeleteMediaUseCase } from '@core/media/application/use-cases/DeleteMediaUseCase';
|
||||
import { GetAvatarUseCase } from '@core/media/application/use-cases/GetAvatarUseCase';
|
||||
import { UpdateAvatarUseCase } from '@core/media/application/use-cases/UpdateAvatarUseCase';
|
||||
import { ResolveMediaReferenceUseCase } from '@core/media/application/use-cases/ResolveMediaReferenceUseCase';
|
||||
import { GetUploadedMediaUseCase, type GetUploadedMediaResult } from '@core/media/application/use-cases/GetUploadedMediaUseCase';
|
||||
|
||||
// Presenters (now transformers)
|
||||
import { RequestAvatarGenerationPresenter } from './presenters/RequestAvatarGenerationPresenter';
|
||||
@@ -40,6 +43,8 @@ import {
|
||||
DELETE_MEDIA_USE_CASE_TOKEN,
|
||||
GET_AVATAR_USE_CASE_TOKEN,
|
||||
UPDATE_AVATAR_USE_CASE_TOKEN,
|
||||
RESOLVE_MEDIA_REFERENCE_USE_CASE_TOKEN,
|
||||
GET_UPLOADED_MEDIA_USE_CASE_TOKEN,
|
||||
LOGGER_TOKEN,
|
||||
} from './MediaTokens';
|
||||
import type { Logger } from '@core/shared/application';
|
||||
@@ -59,6 +64,10 @@ export class MediaService {
|
||||
private readonly getAvatarUseCase: GetAvatarUseCase,
|
||||
@Inject(UPDATE_AVATAR_USE_CASE_TOKEN)
|
||||
private readonly updateAvatarUseCase: UpdateAvatarUseCase,
|
||||
@Inject(RESOLVE_MEDIA_REFERENCE_USE_CASE_TOKEN)
|
||||
private readonly resolveMediaReferenceUseCase: ResolveMediaReferenceUseCase,
|
||||
@Inject(GET_UPLOADED_MEDIA_USE_CASE_TOKEN)
|
||||
private readonly getUploadedMediaUseCase: GetUploadedMediaUseCase,
|
||||
@Inject(LOGGER_TOKEN)
|
||||
private readonly logger: Logger,
|
||||
private readonly requestAvatarGenerationPresenter: RequestAvatarGenerationPresenter,
|
||||
@@ -211,4 +220,20 @@ export class MediaService {
|
||||
|
||||
return { isValid: true };
|
||||
}
|
||||
}
|
||||
|
||||
async resolveMediaReference(reference: MediaReference): Promise<string | null> {
|
||||
const result = await this.resolveMediaReferenceUseCase.execute({ reference });
|
||||
if (result.isErr()) {
|
||||
throw new Error(result.unwrapErr().message);
|
||||
}
|
||||
return result.unwrap();
|
||||
}
|
||||
|
||||
async getUploadedMedia(storageKey: string): Promise<GetUploadedMediaResult | null> {
|
||||
const result = await this.getUploadedMediaUseCase.execute({ storageKey });
|
||||
if (result.isErr()) {
|
||||
throw new Error(result.unwrapErr().message);
|
||||
}
|
||||
return result.unwrap();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user