UploadedFileService.java 1.9 KB
// ai/service/UploadedFileService.java
package com.aigeo.ai.service;

import com.aigeo.ai.entity.UploadedFile;
import com.aigeo.common.enums.FileStatus;
import com.aigeo.common.enums.FileType;
import com.aigeo.ai.repository.UploadedFileRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Optional;

@Service
public class UploadedFileService {
    
    @Autowired
    private UploadedFileRepository uploadedFileRepository;
    
    public List<UploadedFile> getAllFiles() {
        return uploadedFileRepository.findAll();
    }
    
    public List<UploadedFile> getFilesByCompanyId(Integer companyId) {
        return uploadedFileRepository.findByCompanyId(companyId);
    }
    
    public List<UploadedFile> getFilesByUserId(Integer userId) {
        return uploadedFileRepository.findByUserId(userId);
    }
    
    public List<UploadedFile> getFilesByCompanyIdAndUserId(Integer companyId, Integer userId) {
        return uploadedFileRepository.findByCompanyIdAndUserId(companyId, userId);
    }
    
    public List<UploadedFile> getFilesByFileType(FileType fileType) {
        return uploadedFileRepository.findByFileType(fileType);
    }
    
    public List<UploadedFile> getFilesByStatus(FileStatus status) {
        return uploadedFileRepository.findByStatus(status);
    }
    
    public List<UploadedFile> getFilesByCompanyIdAndStatus(Integer companyId, FileStatus status) {
        return uploadedFileRepository.findByCompanyIdAndStatus(companyId, status);
    }
    
    public Optional<UploadedFile> getFileById(Integer id) {
        return uploadedFileRepository.findById(id);
    }
    
    public UploadedFile saveFile(UploadedFile file) {
        return uploadedFileRepository.save(file);
    }
    
    public void deleteFile(Integer id) {
        uploadedFileRepository.deleteById(id);
    }
}