package cn.reghao.file.api.iface;

import cn.reghao.oss.api.dto.ObjectChannel;
import cn.reghao.oss.api.dto.ObjectInfo;
import cn.reghao.oss.api.dto.ServerInfo;
import cn.reghao.oss.api.dto.media.VideoInfo;
import cn.reghao.oss.api.dto.rest.UploadFileRet;
import cn.reghao.oss.api.dto.rest.UploadPrepare;
import cn.reghao.oss.api.dto.rest.UploadPrepareRet;
import cn.reghao.oss.api.dto.rest.UploadSample;

/**
 * @author reghao
 * @date 2024-07-03 14:40:25
 */
public interface OssService {
    ServerInfo getUploadStore(int channelCode);
    UploadPrepareRet prepareUpload(UploadPrepare uploadPrepare);
    UploadFileRet checkSample(UploadSample uploadSample);
    ObjectChannel getChannel(int channelCode);
    void setObjectScope(String objectId, int scope);
    void deleteByObjectId(String objectId);
    void deleteByObjectUrl(String objectUrl);
    String getSignedUrl(String objectId);
    ObjectInfo getObjectInfo(String objectId);
    VideoInfo getVideoInfo(String videoFileId);
}
