284 lines
10 KiB
Go
284 lines
10 KiB
Go
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"`
|
|
}
|