Files
hackathon-opti-1a67c9077937…/backend/src/domain/use-cases/auth/get-me.use-case.ts
2026-05-22 20:53:39 -06:00

25 lines
547 B
TypeScript

import { AuthRepository } from "../../repositories/auth.repository.js";
import { CustomError } from "../../errors/custom.error.js";
export interface GetMeResponse {
id: number;
email: string;
name: string;
role: string;
}
export class GetMeUseCase {
constructor(private repository: AuthRepository) {}
async execute(userId: number): Promise<GetMeResponse> {
const user = await this.repository.findById(userId);
if (!user) {
throw CustomError.notFound("User not found");
}
return user as GetMeResponse;
}
}