refactor use cases
This commit is contained in:
@@ -1,20 +1,20 @@
|
||||
import type { UseCaseOutputPort } from '@core/shared/application';
|
||||
import type { DeleteMediaResult } from '@core/media/application/use-cases/DeleteMediaUseCase';
|
||||
import type { DeleteMediaOutputDTO } from '../dtos/DeleteMediaOutputDTO';
|
||||
|
||||
type DeleteMediaResponseModel = DeleteMediaOutputDTO;
|
||||
|
||||
export class DeleteMediaPresenter implements UseCaseOutputPort<DeleteMediaResult> {
|
||||
export class DeleteMediaPresenter {
|
||||
private model: DeleteMediaResponseModel | null = null;
|
||||
|
||||
reset(): void {
|
||||
this.model = null;
|
||||
}
|
||||
|
||||
present(result: DeleteMediaResult): void {
|
||||
transform(result: DeleteMediaResult): DeleteMediaResponseModel {
|
||||
this.model = {
|
||||
success: result.deleted,
|
||||
};
|
||||
return this.model;
|
||||
}
|
||||
|
||||
getResponseModel(): DeleteMediaResponseModel | null {
|
||||
@@ -25,4 +25,4 @@ export class DeleteMediaPresenter implements UseCaseOutputPort<DeleteMediaResult
|
||||
if (!this.model) throw new Error('Presenter not presented');
|
||||
return this.model;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,20 +1,20 @@
|
||||
import type { UseCaseOutputPort } from '@core/shared/application';
|
||||
import type { GetAvatarResult } from '@core/media/application/use-cases/GetAvatarUseCase';
|
||||
import type { GetAvatarOutputDTO } from '../dtos/GetAvatarOutputDTO';
|
||||
|
||||
export type GetAvatarResponseModel = GetAvatarOutputDTO | null;
|
||||
|
||||
export class GetAvatarPresenter implements UseCaseOutputPort<GetAvatarResult> {
|
||||
export class GetAvatarPresenter {
|
||||
private model: GetAvatarResponseModel | null = null;
|
||||
|
||||
reset(): void {
|
||||
this.model = null;
|
||||
}
|
||||
|
||||
present(result: GetAvatarResult): void {
|
||||
transform(result: GetAvatarResult): GetAvatarResponseModel {
|
||||
this.model = {
|
||||
avatarUrl: result.avatar.mediaUrl,
|
||||
};
|
||||
return this.model;
|
||||
}
|
||||
|
||||
getResponseModel(): GetAvatarResponseModel | null {
|
||||
|
||||
@@ -1,17 +1,16 @@
|
||||
import type { UseCaseOutputPort } from '@core/shared/application';
|
||||
import type { GetMediaResult } from '@core/media/application/use-cases/GetMediaUseCase';
|
||||
import type { GetMediaOutputDTO } from '../dtos/GetMediaOutputDTO';
|
||||
|
||||
export type GetMediaResponseModel = GetMediaOutputDTO | null;
|
||||
|
||||
export class GetMediaPresenter implements UseCaseOutputPort<GetMediaResult> {
|
||||
export class GetMediaPresenter {
|
||||
private model: GetMediaResponseModel | null = null;
|
||||
|
||||
reset(): void {
|
||||
this.model = null;
|
||||
}
|
||||
|
||||
present(result: GetMediaResult): void {
|
||||
transform(result: GetMediaResult): GetMediaResponseModel {
|
||||
const media = result.media;
|
||||
|
||||
const model: GetMediaResponseModel = {
|
||||
@@ -29,6 +28,7 @@ export class GetMediaPresenter implements UseCaseOutputPort<GetMediaResult> {
|
||||
}
|
||||
|
||||
this.model = model;
|
||||
return model;
|
||||
}
|
||||
|
||||
getResponseModel(): GetMediaResponseModel | null {
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
import type { UseCaseOutputPort } from '@core/shared/application';
|
||||
import type { RequestAvatarGenerationResult } from '@core/media/application/use-cases/RequestAvatarGenerationUseCase';
|
||||
import type { RequestAvatarGenerationOutputDTO } from '../dtos/RequestAvatarGenerationOutputDTO';
|
||||
|
||||
type RequestAvatarGenerationResponseModel = RequestAvatarGenerationOutputDTO;
|
||||
|
||||
export class RequestAvatarGenerationPresenter implements UseCaseOutputPort<RequestAvatarGenerationResult> {
|
||||
export class RequestAvatarGenerationPresenter {
|
||||
private model: RequestAvatarGenerationResponseModel | null = null;
|
||||
|
||||
reset() {
|
||||
this.model = null;
|
||||
}
|
||||
|
||||
present(result: RequestAvatarGenerationResult): void {
|
||||
transform(result: RequestAvatarGenerationResult): RequestAvatarGenerationResponseModel {
|
||||
this.model = {
|
||||
success: result.status === 'completed',
|
||||
requestId: result.requestId,
|
||||
avatarUrls: result.avatarUrls || [],
|
||||
};
|
||||
return this.model;
|
||||
}
|
||||
|
||||
getResponseModel(): RequestAvatarGenerationResponseModel | null {
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
import type { UseCaseOutputPort } from '@core/shared/application';
|
||||
import type { UpdateAvatarResult } from '@core/media/application/use-cases/UpdateAvatarUseCase';
|
||||
import type { UpdateAvatarOutputDTO } from '../dtos/UpdateAvatarOutputDTO';
|
||||
|
||||
type UpdateAvatarResponseModel = UpdateAvatarOutputDTO;
|
||||
|
||||
export class UpdateAvatarPresenter implements UseCaseOutputPort<UpdateAvatarResult> {
|
||||
export class UpdateAvatarPresenter {
|
||||
private model: UpdateAvatarResponseModel | null = null;
|
||||
|
||||
reset(): void {
|
||||
this.model = null;
|
||||
}
|
||||
|
||||
present(result: UpdateAvatarResult): void {
|
||||
transform(result: UpdateAvatarResult): UpdateAvatarResponseModel {
|
||||
void result;
|
||||
|
||||
this.model = {
|
||||
success: true,
|
||||
};
|
||||
return this.model;
|
||||
}
|
||||
|
||||
getResponseModel(): UpdateAvatarResponseModel | null {
|
||||
|
||||
@@ -1,17 +1,16 @@
|
||||
import type { UseCaseOutputPort } from '@core/shared/application';
|
||||
import type { UploadMediaResult } from '@core/media/application/use-cases/UploadMediaUseCase';
|
||||
import type { UploadMediaOutputDTO } from '../dtos/UploadMediaOutputDTO';
|
||||
|
||||
type UploadMediaResponseModel = UploadMediaOutputDTO;
|
||||
|
||||
export class UploadMediaPresenter implements UseCaseOutputPort<UploadMediaResult> {
|
||||
export class UploadMediaPresenter {
|
||||
private model: UploadMediaResponseModel | null = null;
|
||||
|
||||
reset(): void {
|
||||
this.model = null;
|
||||
}
|
||||
|
||||
present(result: UploadMediaResult): void {
|
||||
transform(result: UploadMediaResult): UploadMediaResponseModel {
|
||||
const model: UploadMediaResponseModel = {
|
||||
success: true,
|
||||
mediaId: result.mediaId,
|
||||
@@ -22,6 +21,7 @@ export class UploadMediaPresenter implements UseCaseOutputPort<UploadMediaResult
|
||||
}
|
||||
|
||||
this.model = model;
|
||||
return model;
|
||||
}
|
||||
|
||||
getResponseModel(): UploadMediaResponseModel | null {
|
||||
@@ -32,4 +32,4 @@ export class UploadMediaPresenter implements UseCaseOutputPort<UploadMediaResult
|
||||
if (!this.model) throw new Error('Presenter not presented');
|
||||
return this.model;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user