import { Domain } from "@prisma/client";
import { DomainsRepository } from "../repositories/domains-repository";

interface GetDomainsByUserUseCaseRequest {
  userId: string;
}

interface GetDomainsByUserUseCaseResponse {
  domains: Domain[];
}

export class GetDomainsByUserUseCase {
  constructor(private domainsRepository: DomainsRepository) {}

  async execute({ userId }: GetDomainsByUserUseCaseRequest): Promise<GetDomainsByUserUseCaseResponse> {
    const domains = await this.domainsRepository.findByUserId(userId);
    return { domains };
  }
}
