package com.ruoyi.platform.vo;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Data
@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class NewDatasetVo implements Serializable {


    @ApiModelProperty(name = "name")
    private String name;
    /**
     * 数据集仓库名称
     */
    @ApiModelProperty(name = "identifier", value = "数据集仓库名称")
    private String identifier;
    @ApiModelProperty(name = "description",value = "数据集描述")
    private String description;
    /**
     * 是否公开1公开，0私有
     */
    @ApiModelProperty(name = "is_public", value = "是否公开1公开，0私有")
    private Boolean isPublic;
    @ApiModelProperty(name = "data_type",value = "数据集类型")
    private String dataType;
    @ApiModelProperty(name = "data_tag",value = "数据集标签")
    private String dataTag;
    /**
     * 版本
     */
    @ApiModelProperty(name = "version",value = "版本")
    private String version;
    @ApiModelProperty(name = "dataset_version_vos",value = "文件列表")
    private List<VersionVo> datasetVersionVos;

    @ApiModelProperty(name = "time_ago",value = "创建时间")
    private String timeAgo;

    @ApiModelProperty(name = "full_last_update_time",value = "更新时间")
    private String fullLastUpdateTime;

    @ApiModelProperty(name = "id",value = "数据集仓库id")
    private Integer id;
    @ApiModelProperty(name = "visits",value = "访问次数")
    private Integer visits;

    @ApiModelProperty(name = "praises_count",value = "点赞数量")
    private Integer praisesCount;

    @ApiModelProperty(name = "praised",value = "是否点赞")
    private Boolean praised;

    @ApiModelProperty(name = "create_by",value = "创建者")
    private String createBy;
    @ApiModelProperty(name = "version_desc",value = "版本描述")
    private String versionDesc;
    @ApiModelProperty(name = "usage",value = "使用示例")
    private String usage;
    @ApiModelProperty(name = "update_time",value = "更新时间")
    private String updateTime;
    @ApiModelProperty(name = "processing_code",value = "处理代码")
    private HashMap<String, Object> processingCode;
    @ApiModelProperty(name = "train_task",value = "训练任务")
    private HashMap<String, Object> trainTask;
    @ApiModelProperty(name = "owner",value = "项目所有者")
    private String owner;
    @ApiModelProperty(name = "dataset_source",value = "数据集来源")
    private String datasetSource;
    @ApiModelProperty(name = "relative_paths",value = "文件相对路径")
    private String relativePaths;

}
