package cn.novalon.gym.manage.file.core.service;

import cn.novalon.gym.manage.file.core.domain.SysFile;
import org.springframework.http.codec.multipart.FilePart;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;

public interface ISysFileService {

    Flux<SysFile> getAllFiles();

    Mono<SysFile> getFileById(Long id);

    Flux<SysFile> getFilesByUser(String username);

    Mono<SysFile> uploadFile(FilePart filePart, String username);

    Mono<Void> downloadFile(Long id);

    Mono<Void> deleteFile(Long id);
}
