package com.schisandra.oss.infra.basic.entity;


import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 实体类
 *
 * @author landaiqing
 * @since 2024-05-14 19:47:04
 */
@Data
@Table("schisandra_oss_minio")
public class SchisandraOssMinio implements Serializable {

    /**
     *
     */
    @Id(value = "id", keyType = KeyType.Auto)
    private Long id;

    /**
     *
     */
    @Column("user_id")
    private Long userId;

    /**
     *
     */
    @Column("endpoint")
    private String endpoint;

    /**
     *
     */
    @Column("accessKey")
    private String accessKey;

    /**
     *
     */
    @Column("secretKey")
    private String secretKey;

    /**
     *
     */
    @Column("bucketName")
    private String bucketName;

    /**
     *
     */
    @Column("port")
    private Integer port;

    /**
     *
     */
    @Column("basePath")
    private String basePath;

    /**
     *
     */
    @Column("file_host")
    private String fileHost;

    /**
     *
     */
    @Column("download_host")
    private String downloadHost;

    /**
     *
     */
    @Column("upload_host")
    private String uploadHost;

    /**
     * 当桶不存在，是否创建
     */
    @Column("create_bucket")
    private String createBucket;

    /**
     * 启动检测桶，是否存在
     */
    @Column("check_bucket")
    private String checkBucket;

    /**
     * 连接超时时间（单位：毫秒）
     */
    @Column("connect_timeout")
    private Long connectTimeout;

    /**
     * 写超时时间（单位：毫秒）
     */
    @Column("write_timeout")
    private Long writeTimeout;

    /**
     * 读超时时间（单位：毫秒）
     */
    @Column("read_timeout")
    private Long readTimeout;

    /**
     * 调用超时时间（单位：毫秒）
     */
    @Column("call_timeout")
    private Long callTimeout;

    /**
     * 是否支持重定向，默认支持
     */
    @Column("follow_redirects")
    private String followRedirects;

    /**
     * 是否支持HTTP到HTTPS，HTTPS到HTTP的重定向，默认支持
     */
    @Column("follow_ssl_redirects")
    private String followSslRedirects;

    /**
     * 是否开始连接失败重试，默认不支持
     */
    @Column("retry_on_connection_failure")
    private String retryOnConnectionFailure;

    /**
     * 连接健康检测间隔时长（单位：毫秒）
     */
    @Column("ping_interval")
    private Integer pingInterval;

    /**
     * 分片大小,默认5MB
     */
    @Column("part_size")
    private Long partSize;

    /**
     * 并发线程数,默认等于CPU的核数
     */
    @Column("task_num")
    private Integer taskNum;

    /**
     * 图片大小限制，单位：m
     */
    @Column("img_size")
    private Integer imgSize;

    /**
     * 文件大小限制，单位：m
     */
    @Column("file_size")
    private Integer fileSize;

    /**
     * 额外json
     */
    @Column("extra_json")
    private String extraJson;

    /**
     * 状态
     */
    @Column("status")
    private String status;

    /**
     * 创建人
     */
    @Column("created_by")
    private String createdBy;

    /**
     * 创建时间
     */
    @Column("created_time")
    private Date createdTime;

    /**
     * 更新时间
     */
    @Column("update_time")
    private Date updateTime;

    /**
     * 更新人
     */
    @Column("update_by")
    private String updateBy;

    /**
     * 是否删除 0 未删除 1已删除
     */
    @Column("is_deleted")
    private Integer isDeleted;

    /**
     * 是否开启高级设置
     */
    @Column("open_advanced_setup")
    private String openAdvancedSetup;

}

