mirror of
https://github.com/zitadel/zitadel.git
synced 2024-12-12 19:14:23 +00:00
54 lines
889 B
Go
54 lines
889 B
Go
package model
|
|
|
|
import (
|
|
es_models "github.com/zitadel/zitadel/internal/eventstore/v1/models"
|
|
)
|
|
|
|
type Application struct {
|
|
es_models.ObjectRoot
|
|
|
|
AppID string
|
|
State AppState
|
|
Name string
|
|
Type AppType
|
|
OIDCConfig *OIDCConfig
|
|
APIConfig *APIConfig
|
|
SAMLConfig *SAMLConfig
|
|
}
|
|
|
|
type AppState int32
|
|
|
|
const (
|
|
AppStateActive AppState = iota
|
|
AppStateInactive
|
|
AppStateRemoved
|
|
)
|
|
|
|
type AppType int32
|
|
|
|
const (
|
|
AppTypeUnspecified AppType = iota
|
|
AppTypeOIDC
|
|
AppTypeSAML
|
|
AppTypeAPI
|
|
)
|
|
|
|
func (a *Application) IsValid(includeConfig bool) bool {
|
|
if a.Name == "" || a.AggregateID == "" {
|
|
return false
|
|
}
|
|
if !includeConfig {
|
|
return true
|
|
}
|
|
if a.Type == AppTypeOIDC && !a.OIDCConfig.IsValid() {
|
|
return false
|
|
}
|
|
if a.Type == AppTypeAPI && !a.APIConfig.IsValid() {
|
|
return false
|
|
}
|
|
if a.Type == AppTypeSAML && !a.SAMLConfig.IsValid() {
|
|
return false
|
|
}
|
|
return true
|
|
}
|