package com.zhongshu.card.server.core.model.upLoadFile;

import com.zhongshu.card.server.core.model.upLoadFile.oss.ALiObjectStorage;
import com.zhongshu.card.server.core.model.upLoadFile.oss.HuaweiObjectStorage;
import com.zhongshu.card.server.core.model.upLoadFile.oss.SuperObjectStorage;
import com.zhongshu.card.server.core.model.upLoadFile.oss.TencentObjectStorage;
import lombok.Getter;

/**
 * 对象存储类型
 */
public enum ObjectStorageType {

    ALi("阿里云oss", ALiObjectStorage.class),//阿里
    Tencent("腾讯云cos", TencentObjectStorage.class),//腾讯
    Huawei("华为云obs", HuaweiObjectStorage.class),//华为云
    BaiDu("百度云bos", null),//百度
    Platform("平台os", null); //平台


    //名称
    private String name;

    //对象存储配置对象
    @Getter
    private Class<? extends SuperObjectStorage> objectStorageConfigClass;


    ObjectStorageType(String name, Class<? extends SuperObjectStorage> objectStorageConfigClass) {
        this.name = name;
        this.objectStorageConfigClass = objectStorageConfigClass;
    }
}
