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

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;
import java.time.LocalDateTime;

/**
 * Jenkins工作查询对象
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class JenkinsJobQuery extends BaseQuery {

    @QueryField(field = "buildable")
    private Boolean buildable;

    @QueryField(field = "description", type = QueryType.LIKE)
    private String description;

    @QueryField(field = "job_name", type = QueryType.LIKE)
    private String jobName;

    @QueryField(field = "job_url", type = QueryType.LIKE)
    private String jobUrl;

    @QueryField(field = "next_build_number")
    private Integer nextBuildNumber;

    @QueryField(field = "last_build_number")
    private Integer lastBuildNumber;

    @QueryField(field = "last_build_status", type = QueryType.LIKE)
    private String lastBuildStatus;

    @QueryField(field = "health_report_score")
    private Integer healthReportScore;

    @QueryField(field = "last_build_time")
    private LocalDateTime lastBuildTime;

    @QueryField(field = "externalSystemId")
    private Long externalSystemId;

    @QueryField(field = "viewId", type = QueryType.EQUAL)
    private Long viewId;

} 