package com.dora.service;

import com.dora.dto.AdminOssUploadRequest;
import java.util.Map;

/**
 * 管理端OSS服务接口
 */
public interface AdminOssService {
    
    /**
     * 生成管理端OSS POST签名
     * @param request 上传请求
     * @param adminId 管理员ID
     * @return POST签名信息
     */
    Map<String, Object> generateAdminPostSignature(AdminOssUploadRequest request, String adminId) throws Exception;
    
    /**
     * 删除OSS文件（管理员专用）
     * @param objectKey 对象键
     * @param adminId 管理员ID
     * @return 是否删除成功
     */
    boolean deleteAdminFile(String objectKey, String adminId) throws Exception;
    
    /**
     * 获取文件信息（管理员专用）
     * @param objectKey 对象键
     * @return 文件信息
     */
    Map<String, Object> getAdminFileInfo(String objectKey) throws Exception;
    
    /**
     * 批量删除文件（管理员专用）
     * @param objectKeys 对象键列表
     * @param adminId 管理员ID
     * @return 删除结果
     */
    Map<String, Object> batchDeleteAdminFiles(String[] objectKeys, String adminId) throws Exception;
}
