package com.qqchen.deploy.backend.deploy.entity;

import com.qqchen.deploy.backend.framework.annotation.LogicDelete;
import com.qqchen.deploy.backend.framework.domain.Entity;
import jakarta.persistence.Column;
import jakarta.persistence.Table;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 仓库组实体
 *
 * @author QQchen
 * @version 1.0
 */
@Data
@EqualsAndHashCode(callSuper = true)
@jakarta.persistence.Entity
@Table(name = "deploy_repo_group")
@LogicDelete
public class RepositoryGroup extends Entity<Long> {

    @Column(nullable = false)
    private String name;

    @Column(nullable = false)
    private String path;

    private String description;

    private String visibility;

    @Column(name = "parent_id")
    private Long parentId;

    @Column(name = "web_url")
    private String webUrl;

    @Column(name = "avatar_url")
    private String avatarUrl;

    @Column(name = "external_system_id")
    private Long externalSystemId;

    @Column(name = "repo_group_id", nullable = false)
    private Long repoGroupId;

    @Column(name = "full_name")
    private String fullName;

    @Column(name = "full_path")
    private String fullPath;

    private Integer sort;

    private Boolean enabled = true;

}