import { PublicSender, SendersRepository } from "../repositories/senders-repository";

interface GetSendersByUserUseCaseRequest {
  userId: string;
}

interface GetSendersByUserUseCaseResponse {
  senders: PublicSender[];
}

export class GetSendersByUserUseCase {
  constructor(private sendersRepository: SendersRepository) {}

  async execute({ userId }: GetSendersByUserUseCaseRequest): Promise<GetSendersByUserUseCaseResponse> {
    const senders = await this.sendersRepository.findByUserId(userId);
    return { senders };
  }
}
