refactor use cases
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
import { Result } from '@core/shared/application/Result';
|
||||
import type { ApplicationErrorCode } from '@core/shared/errors/ApplicationErrorCode';
|
||||
import type { UseCaseOutputPort } from '@core/shared/application/UseCaseOutputPort';
|
||||
import type { IAdminUserRepository } from '@core/admin/domain/repositories/IAdminUserRepository';
|
||||
import { AuthorizationService } from '@core/admin/domain/services/AuthorizationService';
|
||||
import { UserId } from '@core/admin/domain/value-objects/UserId';
|
||||
@@ -46,10 +45,9 @@ export type GetDashboardStatsApplicationError = ApplicationErrorCode<GetDashboar
|
||||
export class GetDashboardStatsUseCase {
|
||||
constructor(
|
||||
private readonly adminUserRepo: IAdminUserRepository,
|
||||
private readonly output: UseCaseOutputPort<DashboardStatsResult>,
|
||||
) {}
|
||||
|
||||
async execute(input: GetDashboardStatsInput): Promise<Result<void, GetDashboardStatsApplicationError>> {
|
||||
async execute(input: GetDashboardStatsInput): Promise<Result<DashboardStatsResult, GetDashboardStatsApplicationError>> {
|
||||
try {
|
||||
// Get actor (current user)
|
||||
const actor = await this.adminUserRepo.findById(UserId.fromString(input.actorId));
|
||||
@@ -166,9 +164,7 @@ export class GetDashboardStatsUseCase {
|
||||
activityTimeline,
|
||||
};
|
||||
|
||||
this.output.present(result);
|
||||
|
||||
return Result.ok(undefined);
|
||||
return Result.ok(result);
|
||||
} catch (error) {
|
||||
const message = error instanceof Error ? error.message : 'Failed to get dashboard stats';
|
||||
|
||||
|
||||
Reference in New Issue
Block a user