package com.kpaudel.service;
import com.kpaudel.model.ApplicationStatus;
import com.kpaudel.model.Company;
import com.kpaudel.model.JobApplication;
import com.kpaudel.repository.CompanyRepository;
import com.kpaudel.repository.JobApplicationRepository;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.UUID;
@Service
public class JobService {
private final JobApplicationRepository jobRepo;
private final CompanyRepository companyRepo;
public JobService(JobApplicationRepository jobRepo, CompanyRepository companyRepo) {
this.jobRepo = jobRepo;
this.companyRepo = companyRepo;
}
public JobApplication create(UUID companyId, JobApplication data) {
Company company = this.companyRepo.findById(companyId).orElseThrow(() -> new IllegalArgumentException("Company not found!"));
data.setCompany(company);
return jobRepo.save(data);
}
public JobApplication updateStatus(UUID id, ApplicationStatus status) {
JobApplication job = this.jobRepo.findById(id).orElseThrow(() -> new IllegalArgumentException("Job not found"));
job.setStatus(status);
return this.jobRepo.save(job);
}
public List<JobApplication> listAll() {
return this.jobRepo.findAll();
}
}