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;

/**
 * Git仓库分支查询对象
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class RepositoryBranchQuery extends BaseQuery {

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

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

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

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

    @QueryField(field = "commitDate")
    private java.time.LocalDateTime commitDate;

    @QueryField(field = "lastUpdateTime")
    private java.time.LocalDateTime lastUpdateTime;

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

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

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

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

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

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

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

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