package com.search.supersearch.model;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.time.LocalDateTime;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("文件信息")
public class FileInfo {
    @NonNull
    @JsonProperty("id")
    @ApiModelProperty("文件id,字符串长度小于32")
    private String id;

    @NonNull
    @JsonProperty("name")
    @ApiModelProperty("文件名(必须带文件后缀)")
    private String name;

    @JsonProperty("version")
    @ApiModelProperty("当前版本号，位数小于11")
    private int version;

    @JsonProperty("size")
    @ApiModelProperty("文件大小，单位为B(文件真实大小，否则会出现异常)")
    private long size;

    @NonNull
    @JsonProperty("create_time")
    @ApiModelProperty("创建时间，时间戳，单位为秒")
    private Long createTime;

    @NonNull
    @JsonProperty("modify_time")
    @ApiModelProperty("修改时间，时间戳，单位为秒")
    private Long modifyTime;

    @NonNull
    @JsonProperty("creator")
    @ApiModelProperty("创建者id，字符串长度小于32")
    private String creator;

    @NonNull
    @JsonProperty("modifier")
    @ApiModelProperty("修改者id，字符串长度小于32")
    private String modifier;

    @JsonProperty("download_url")
    @ApiModelProperty("文档下载地址")
    private String downloadUrl;

    @JsonProperty("preview_pages")
    @ApiModelProperty("限制预览页数")
    private Integer preview_pages;

//    @JsonProperty("user_acl")
//    private UserAcl userAcl;
}
