feat: allow admins to auto grant APIs to CIMD clients (#1692)

This commit is contained in:
Elias Schneider
2026-08-18 20:02:14 +02:00
committed by GitHub
parent 22354581df
commit 915a6bcf08
38 changed files with 2605 additions and 393 deletions
+19 -7
View File
@@ -9,9 +9,10 @@ import (
type API struct {
model.Base
Name string `sortable:"true"`
Audience string `sortable:"true"`
UpdatedAt *datatype.DateTime
Name string `sortable:"true"`
Audience string `sortable:"true"`
UpdatedAt *datatype.DateTime
AllowCIMDClients bool `gorm:"column:allow_cimd_clients"`
Permissions []Permission `gorm:"foreignKey:APIID;references:ID;constraint:OnDelete:CASCADE"`
}
@@ -19,14 +20,25 @@ type API struct {
type Permission struct {
model.Base
APIID string `gorm:"column:api_id"`
Key string `sortable:"true"`
Name string
Description *string
APIID string `gorm:"column:api_id"`
Key string `sortable:"true"`
Name string
Description *string
AllowedForCIMDClients bool `gorm:"column:allowed_for_cimd_clients"`
}
func (Permission) TableName() string { return "api_permissions" }
type OidcClientAllowedAPI struct {
OidcClientID string
APIID string `gorm:"column:api_id"`
SubjectType oidc.SubjectType
}
func (OidcClientAllowedAPI) TableName() string {
return "oidc_clients_allowed_apis"
}
type OidcClientAllowedAPIPermission struct {
OidcClientID string
APIPermissionID string