ASE-New/src/main/java/com/codesdream/ase/service/ReportService.java

47 lines
1.3 KiB
Java

package com.codesdream.ase.service;
import com.codesdream.ase.model.activity.Activity;
import com.codesdream.ase.model.activity.Report;
import com.codesdream.ase.repository.activity.ReportRepository;
import javax.annotation.Resource;
import java.util.Optional;
public class ReportService implements IReportService {
@Resource
ReportRepository reportRepository;
ActivityService activityService;
@Override
public Optional<Report> findByTitle(String title) {
return reportRepository.findByTitle(title);
}
@Override
public Optional<Report> findByCreator(String creatorName) {
return reportRepository.findByCreator(creatorName);
}
@Override
public Report save(Activity activity, Report report) {
if(activity == null){
throw new RuntimeException("Activity does not exist.");
}
activityService.addReport(activity, report);
return reportRepository.save(report);
}
@Override
public void delete(Report report) {
if(reportRepository.findById(report.getId()).isPresent()) reportRepository.delete(report);
else throw new RuntimeException("Report does not exist.");
}
@Override
public Report update(Report report) {
reportRepository.save(report);
return report;
}
}