package domain import ( "time" "gorm.io/gorm" ) // RelyingParty represents an OAuth2 Client owner by a Tenant. // It maps 1:1 to a Hydra Client. type RelyingParty struct { ClientID string `gorm:"primaryKey" json:"clientId"` // Maps to Hydra Client ID TenantID string `gorm:"index" json:"tenantId"` Name string `json:"name"` // Display name (can be same as Hydra Client Name) Description string `json:"description"` CreatedAt time.Time `json:"createdAt"` UpdatedAt time.Time `json:"updatedAt"` DeletedAt gorm.DeletedAt `gorm:"index" json:"-"` // We don't store OAuth2 specific config here (redirect_uris, etc.) // those are fetched from Hydra on demand. } func (rp *RelyingParty) TableName() string { return "relying_parties" }