Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type SCIMProvider ¶
type SCIMProvider struct {
bun.BaseModel `bun:"table:scim_providers"`
ID xid.ID `bun:"id,pk,type:varchar(20)" json:"id"`
AppID xid.ID `bun:"app_id,notnull,type:varchar(20)" json:"app_id"`
EnvironmentID xid.ID `bun:"environment_id,type:varchar(20)" json:"environment_id"`
OrganizationID *xid.ID `bun:"organization_id,type:varchar(20)" json:"organization_id,omitempty"`
Name string `bun:"name,notnull" json:"name"`
Type string `bun:"type,notnull" json:"type"` // "okta", "azure_ad", "onelogin", "google_workspace", "custom"
Direction string `bun:"direction,notnull" json:"direction"` // "inbound", "outbound", "bidirectional"
// Inbound configuration (IdP → AuthSome)
BaseURL *string `bun:"base_url" json:"base_url,omitempty"`
AuthMethod string `bun:"auth_method" json:"auth_method"` // "bearer", "oauth2"
// Outbound configuration (AuthSome → External)
TargetURL *string `bun:"target_url" json:"target_url,omitempty"`
TargetAuth *string `bun:"target_auth,type:jsonb" json:"-"` // Encrypted auth credentials
Status string `bun:"status" json:"status"` // "active", "inactive", "error"
LastSyncAt *time.Time `bun:"last_sync_at" json:"last_sync_at,omitempty"`
LastSyncStatus string `bun:"last_sync_status" json:"last_sync_status,omitempty"`
Config map[string]interface{} `bun:"config,type:jsonb" json:"config,omitempty"`
Metadata map[string]interface{} `bun:"metadata,type:jsonb" json:"metadata,omitempty"`
CreatedAt time.Time `bun:"created_at,notnull,default:current_timestamp" json:"created_at"`
UpdatedAt time.Time `bun:"updated_at,notnull,default:current_timestamp" json:"updated_at"`
}
SCIMProvider represents a SCIM identity provider configuration
func (*SCIMProvider) BeforeInsert ¶
BeforeInsert hook to set ID and timestamps
func (*SCIMProvider) BeforeUpdate ¶
BeforeUpdate hook to update timestamp
type SCIMSyncEvent ¶
type SCIMSyncEvent struct {
bun.BaseModel `bun:"table:scim_sync_events"`
ID xid.ID `bun:"id,pk,type:varchar(20)" json:"id"`
ProviderID xid.ID `bun:"provider_id,notnull,type:varchar(20)" json:"provider_id"`
TokenID xid.ID `bun:"token_id,type:varchar(20)" json:"token_id,omitempty"`
EventType string `bun:"event_type,notnull" json:"event_type"` // "user_create", "user_update", "user_delete", "group_create", etc.
Direction string `bun:"direction" json:"direction"` // "inbound", "outbound"
Status string `bun:"status" json:"status"` // "success", "failed", "pending"
ResourceType string `bun:"resource_type" json:"resource_type"` // "User", "Group"
ResourceID *xid.ID `bun:"resource_id,type:varchar(20)" json:"resource_id,omitempty"`
ExternalID *string `bun:"external_id" json:"external_id,omitempty"`
Details map[string]interface{} `bun:"details,type:jsonb" json:"details,omitempty"`
ErrorMessage *string `bun:"error_message" json:"error_message,omitempty"`
Duration int64 `bun:"duration_ms" json:"duration_ms"` // Operation duration in milliseconds
CreatedAt time.Time `bun:"created_at,notnull,default:current_timestamp" json:"created_at"`
}
SCIMSyncEvent represents a SCIM synchronization event for monitoring
func (*SCIMSyncEvent) BeforeInsert ¶
BeforeInsert hook to set ID and timestamp
Click to show internal directories.
Click to hide internal directories.