import { ContactImportJob } from "@prisma/client";
import { AppError } from "@/core/errors/app-error";
import { ContactImportJobsRepository } from "../repositories/contact-import-jobs-repository";

interface GetImportJobUseCaseResponse {
  job: ContactImportJob;
}

export class GetImportJobUseCase {
  constructor(private contactImportJobsRepository: ContactImportJobsRepository) {}

  async execute({ jobId }: { jobId: string }): Promise<GetImportJobUseCaseResponse> {
    const job = await this.contactImportJobsRepository.findById(jobId);
    if (!job) {
      throw AppError.notFound("Job de importação não encontrado");
    }
    return { job };
  }
}
