package com.sonic.shark.enums;


import com.amazonaws.regions.Regions;
import lombok.Getter;
import software.amazon.awssdk.regions.Region;

/**
 * S3 bucketName 枚举
 **/
@Getter
public enum S3BucketNameEnum {

    /**
     * 相册
     */
    SONIC_SHARK(1, "crushthem1", "prod/", true, Regions.US_WEST_2, Region.US_WEST_2, "crushthem1.s3.us-west-2.amazonaws.com", "https://hhb.crushlevel.ai/"),

    /**
     * 存储模糊图片
     */
    BLURRY(2, "cl-sub", "prod/", false, Regions.US_WEST_2, Region.US_WEST_2, "cl-sub.s3.us-west-2.amazonaws.com", "https://sub.crushlevel.ai/"),

    /**
     * 声音存储桶
     */
    SONIC_SOUND(3, "cl-sound", "prod/", true, Regions.US_WEST_2, Region.US_WEST_2, "cl-sound.s3.us-west-2.amazonaws.com", "https://snd.crushlevel.ai/"),

    /**
     * IM存储桶
     */
    SONIC_IM(4, "cl-im", "prod/", true, Regions.US_WEST_2, Region.US_WEST_2, "cl-im.s3.us-west-2.amazonaws.com", "https://img.crushlevel.ai/"),

    ;

    /**
     * 状态编码
     */
    private int index;

    private String bucketName;

    private String prefix;

    /**
     * 是否可以授权拿到 s3 的 sts token 进行
     */
    private Boolean s3StsTokenBl;

    /**
     * 图像识别时使用的区域
     */
    private Regions regions;

    /**
     * S3文件上传时使用的区域
     */
    private Region region;

    private String endPoint;

    private String rootUrl;

    S3BucketNameEnum(int index, String bucketName, String prefix, Boolean s3StsTokenBl, Regions regions, Region region, String endPoint, String rootUrl) {
        this.index = index;
        this.bucketName = bucketName;
        this.prefix = prefix;
        this.s3StsTokenBl = s3StsTokenBl;
        this.regions = regions;
        this.region = region;
        this.endPoint = endPoint;
        this.rootUrl = rootUrl;
    }
}
