package com.multictrl.modules.business.service;

import io.minio.credentials.Credentials;
import org.springframework.web.multipart.MultipartFile;

import java.io.InputStream;

/**
 * minio对象存储
 *
 * @author Sdy
 * @since 1.0.0 2026/4/16
 */
public interface MinioService {

    //获取凭证
    Credentials getCredentials();

    //创建桶
    void createBucket(String bucketName);

    //删除桶
    void removeBucket(String bucketName);

    //上传文件
    void uploadFile(InputStream inputStream, String bucketName, String fileName);

    //删除文件
    void removeFile(String bucketName, String fileName);

    //上传航线图片
    String uploadRouteImg(String dockSn, MultipartFile file);

    //上传kmz
    String uploadRouteKmz(String dockSn, byte[] bytes);

    //上传固件
    String uploadFirmware(InputStream inputStream, String deviceName, String originalFilename);

    //上传喊话器音频文件
    String uploadSpeakerAudio(String dockSn, MultipartFile file);

    //上传地图标注文件
    String uploadGeoMark(String dockSn, MultipartFile file);

    //上传字典图片
    String uploadDictImage(MultipartFile file);
}
