package domain import ( "context" "time" ) // ClientSecret represents the stored client secret for OIDC clients. // Since Hydra only returns the secret once during creation, we store it here. type ClientSecret struct { ClientID string `gorm:"primaryKey;column:client_id"` ClientSecret string `gorm:"column:client_secret;not null"` CreatedAt time.Time `gorm:"column:created_at"` UpdatedAt time.Time `gorm:"column:updated_at"` } type ClientSecretRepository interface { Upsert(ctx context.Context, clientID, secret string) error GetByID(ctx context.Context, clientID string) (string, error) Delete(ctx context.Context, clientID string) error }