package models type User struct { ID string `json:"id"` Username string `json:"username"` DisplayName string `json:"display_name"` Email string `json:"email"` IsAdmin bool `json:"is_admin"` Disabled bool `json:"disabled"` AuthSource string `json:"auth_source"` CreatedAt int64 `json:"created_at"` UpdatedAt int64 `json:"updated_at"` } type Project struct { ID string `json:"id"` Slug string `json:"slug"` Name string `json:"name"` Description string `json:"description"` HomePage string `json:"home_page"` CreatedBy string `json:"created_by"` UpdatedBy string `json:"updated_by"` CreatedByName string `json:"created_by_name"` UpdatedByName string `json:"updated_by_name"` CreatedAt int64 `json:"created_at"` UpdatedAt int64 `json:"updated_at"` } type ProjectMember struct { ProjectID string `json:"project_id"` UserID string `json:"user_id"` Role string `json:"role"` CreatedAt int64 `json:"created_at"` } type Repo struct { ID string `json:"id"` ProjectID string `json:"project_id"` Name string `json:"name"` Type string `json:"type"` Path string `json:"path"` CreatedBy string `json:"created_by"` CreatedAt int64 `json:"created_at"` IsForeign bool `json:"is_foreign"` } type RPMRepoDir struct { RepoID string `json:"repo_id"` Path string `json:"path"` Mode string `json:"mode"` AllowDelete bool `json:"allow_delete"` RemoteURL string `json:"remote_url"` ConnectHost string `json:"connect_host"` HostHeader string `json:"host_header"` TLSServerName string `json:"tls_server_name"` TLSInsecureSkipVerify bool `json:"tls_insecure_skip_verify"` SyncIntervalSec int64 `json:"sync_interval_sec"` SyncEnabled bool `json:"sync_enabled"` Dirty bool `json:"dirty"` NextSyncAt int64 `json:"next_sync_at"` SyncRunning bool `json:"sync_running"` SyncStatus string `json:"sync_status"` SyncError string `json:"sync_error"` SyncStep string `json:"sync_step"` SyncTotal int64 `json:"sync_total"` SyncDone int64 `json:"sync_done"` SyncFailed int64 `json:"sync_failed"` SyncDeleted int64 `json:"sync_deleted"` LastSyncStartedAt int64 `json:"last_sync_started_at"` LastSyncFinishedAt int64 `json:"last_sync_finished_at"` LastSyncSuccessAt int64 `json:"last_sync_success_at"` LastSyncedRevision string `json:"last_synced_revision"` CreatedAt int64 `json:"created_at"` UpdatedAt int64 `json:"updated_at"` } type RPMMirrorTask struct { RepoID string `json:"repo_id"` RepoPath string `json:"repo_path"` MirrorPath string `json:"mirror_path"` RemoteURL string `json:"remote_url"` ConnectHost string `json:"connect_host"` HostHeader string `json:"host_header"` TLSServerName string `json:"tls_server_name"` TLSInsecureSkipVerify bool `json:"tls_insecure_skip_verify"` SyncIntervalSec int64 `json:"sync_interval_sec"` Dirty bool `json:"dirty"` LastSyncedRevision string `json:"last_synced_revision"` } type RPMMirrorRun struct { ID string `json:"id"` RepoID string `json:"repo_id"` Path string `json:"path"` StartedAt int64 `json:"started_at"` FinishedAt int64 `json:"finished_at"` Status string `json:"status"` Step string `json:"step"` Total int64 `json:"total"` Done int64 `json:"done"` Failed int64 `json:"failed"` Deleted int64 `json:"deleted"` Revision string `json:"revision"` Error string `json:"error"` } type Issue struct { ID string `json:"id"` ProjectID string `json:"project_id"` Title string `json:"title"` Body string `json:"body"` Status string `json:"status"` CreatedBy string `json:"created_by"` AssigneeID string `json:"assignee_id"` CreatedAt int64 `json:"created_at"` UpdatedAt int64 `json:"updated_at"` } type IssueComment struct { ID string `json:"id"` IssueID string `json:"issue_id"` Body string `json:"body"` CreatedBy string `json:"created_by"` CreatedAt int64 `json:"created_at"` } type WikiPage struct { ID string `json:"id"` ProjectID string `json:"project_id"` Title string `json:"title"` Slug string `json:"slug"` Body string `json:"body"` CreatedBy string `json:"created_by"` UpdatedAt int64 `json:"updated_at"` } type Upload struct { ID string `json:"id"` ProjectID string `json:"project_id"` Filename string `json:"filename"` ContentType string `json:"content_type"` Size int64 `json:"size"` StoragePath string `json:"storage_path"` CreatedBy string `json:"created_by"` CreatedAt int64 `json:"created_at"` } type APIKey struct { ID string `json:"id"` UserID string `json:"user_id"` Name string `json:"name"` Prefix string `json:"prefix"` CreatedAt int64 `json:"created_at"` LastUsedAt int64 `json:"last_used_at"` ExpiresAt int64 `json:"expires_at"` Disabled bool `json:"disabled"` } type AdminAPIKey struct { ID string `json:"id"` UserID string `json:"user_id"` Username string `json:"username"` DisplayName string `json:"display_name"` Email string `json:"email"` Name string `json:"name"` Prefix string `json:"prefix"` CreatedAt int64 `json:"created_at"` LastUsedAt int64 `json:"last_used_at"` ExpiresAt int64 `json:"expires_at"` Disabled bool `json:"disabled"` } type AuthSettings struct { AuthMode string `json:"auth_mode"` OIDCEnabled bool `json:"oidc_enabled"` LDAPURL string `json:"ldap_url"` LDAPBindDN string `json:"ldap_bind_dn"` LDAPBindPassword string `json:"ldap_bind_password"` LDAPUserBaseDN string `json:"ldap_user_base_dn"` LDAPUserFilter string `json:"ldap_user_filter"` LDAPTLSInsecureSkipVerify bool `json:"ldap_tls_insecure_skip_verify"` OIDCClientID string `json:"oidc_client_id"` OIDCClientSecret string `json:"oidc_client_secret"` OIDCAuthorizeURL string `json:"oidc_authorize_url"` OIDCTokenURL string `json:"oidc_token_url"` OIDCUserInfoURL string `json:"oidc_userinfo_url"` OIDCRedirectURL string `json:"oidc_redirect_url"` OIDCScopes string `json:"oidc_scopes"` OIDCTLSInsecureSkipVerify bool `json:"oidc_tls_insecure_skip_verify"` } type TLSSettings struct { HTTPAddrs []string `json:"http_addrs"` HTTPSAddrs []string `json:"https_addrs"` TLSServerCertSource string `json:"tls_server_cert_source"` TLSCertFile string `json:"tls_cert_file"` TLSKeyFile string `json:"tls_key_file"` TLSPKIServerCertID string `json:"tls_pki_server_cert_id"` TLSClientAuth string `json:"tls_client_auth"` TLSClientCAFile string `json:"tls_client_ca_file"` TLSPKIClientCAID string `json:"tls_pki_client_ca_id"` TLSMinVersion string `json:"tls_min_version"` } type TLSListener struct { ID string `json:"id"` Name string `json:"name"` Enabled bool `json:"enabled"` HTTPAddrs []string `json:"http_addrs"` HTTPSAddrs []string `json:"https_addrs"` AuthPolicy string `json:"auth_policy"` ApplyPolicyAPI bool `json:"apply_policy_api"` ApplyPolicyGit bool `json:"apply_policy_git"` ApplyPolicyRPM bool `json:"apply_policy_rpm"` ApplyPolicyV2 bool `json:"apply_policy_v2"` ClientCertAllowlist []string `json:"client_cert_allowlist"` TLSServerCertSource string `json:"tls_server_cert_source"` TLSCertFile string `json:"tls_cert_file"` TLSKeyFile string `json:"tls_key_file"` TLSPKIServerCertID string `json:"tls_pki_server_cert_id"` TLSClientAuth string `json:"tls_client_auth"` TLSClientCAFile string `json:"tls_client_ca_file"` TLSPKIClientCAID string `json:"tls_pki_client_ca_id"` TLSMinVersion string `json:"tls_min_version"` CreatedAt int64 `json:"created_at"` UpdatedAt int64 `json:"updated_at"` } type PKICA struct { ID string `json:"id"` Name string `json:"name"` ParentCAID string `json:"parent_ca_id"` IsRoot bool `json:"is_root"` CertPEM string `json:"cert_pem"` KeyPEM string `json:"key_pem"` SerialCounter int64 `json:"serial_counter"` Status string `json:"status"` CreatedAt int64 `json:"created_at"` UpdatedAt int64 `json:"updated_at"` } type PKICert struct { ID string `json:"id"` CAID string `json:"ca_id"` SerialHex string `json:"serial_hex"` CommonName string `json:"common_name"` SANDNS string `json:"san_dns"` SANIPs string `json:"san_ips"` IsCA bool `json:"is_ca"` CertPEM string `json:"cert_pem"` KeyPEM string `json:"key_pem"` NotBefore int64 `json:"not_before"` NotAfter int64 `json:"not_after"` Status string `json:"status"` RevokedAt int64 `json:"revoked_at"` RevocationReason string `json:"revocation_reason"` CreatedAt int64 `json:"created_at"` } type ServicePrincipal struct { ID string `json:"id"` Name string `json:"name"` Description string `json:"description"` IsAdmin bool `json:"is_admin"` Disabled bool `json:"disabled"` CreatedAt int64 `json:"created_at"` UpdatedAt int64 `json:"updated_at"` } type CertPrincipalBinding struct { Fingerprint string `json:"fingerprint"` PrincipalID string `json:"principal_id"` Enabled bool `json:"enabled"` CreatedAt int64 `json:"created_at"` UpdatedAt int64 `json:"updated_at"` } type PrincipalProjectRole struct { PrincipalID string `json:"principal_id"` ProjectID string `json:"project_id"` Role string `json:"role"` CreatedAt int64 `json:"created_at"` }