package com.dji.sample.manage.model.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Builder;
import lombok.Data;

import java.io.Serializable;

@TableName(value = "operate_record")
@Data
@Builder
public class OperateRecordEntity implements Serializable {

    @TableId(type = IdType.AUTO)
    private Integer id;

    /** Client IP address. */
    @TableField("ip")
    private String ip;

    @TableField("workspace_id")
    private String workspaceId;

    @TableField("user_id")
    private String userId;

    /** Unix timestamp (ms) when the operation was performed. */
    @TableField("operating_time")
    private Long operatingTime;

    /**
     * Operation type identifier, e.g. FLIGHT_TASK_CREATE, RETURN_HOME, TAKEOFF_TO_POINT.
     * @see com.dji.sample.manage.model.enums.OperateRecordTypeEnum
     */
    @TableField("operating_type")
    private String operatingType;

    /** JSON-serialized request parameters. */
    @TableField("operating_param")
    private String operatingParam;

    /** Human-readable description of the operation. */
    @TableField("operating_content")
    private String operatingContent;

    /** Dock SN involved in the operation. */
    @TableField("dock_sn")
    private String dockSn;
}
