package com.qqchen.deploy.backend.deploy.query;

import com.qqchen.deploy.backend.framework.enums.AuthTypeEnum;
import com.qqchen.deploy.backend.framework.enums.OsTypeEnum;
import com.qqchen.deploy.backend.deploy.enums.ServerStatusEnum;
import com.qqchen.deploy.backend.framework.annotation.QueryField;
import com.qqchen.deploy.backend.framework.enums.QueryType;
import com.qqchen.deploy.backend.framework.query.BaseQuery;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 服务器查询对象
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class ServerQuery extends BaseQuery {

    /**
     * 服务器名称（模糊查询）
     */
    @QueryField(field = "serverName", type = QueryType.LIKE)
    private String serverName;

    /**
     * IP地址（模糊查询）
     */
    @QueryField(field = "hostIp", type = QueryType.LIKE)
    private String hostIp;

    /**
     * 服务器分类ID
     */
    @QueryField(field = "categoryId")
    private Long categoryId;

    /**
     * 认证方式
     */
    @QueryField(field = "authType")
    private AuthTypeEnum authType;

    /**
     * 操作系统类型
     */
    @QueryField(field = "osType")
    private OsTypeEnum osType;

    /**
     * 连接状态
     */
    @QueryField(field = "status")
    private ServerStatusEnum status;
}

