Add methods to get attributes more easily in Go API (#2299)
* Add methods to get attributes more easily in Go API * Add type check
This commit is contained in:
1 parent
ab3fe75537
commit
a67085f663
14 files changed
+480
-24
No files matched your search
@@ -1,6 +1,12 @@
|
||||
// Code generated by "make api"; DO NOT EDIT.
|
||||
package authmethods
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/mitchellh/mapstructure"
|
||||
)
|
||||
|
||||
type OidcAuthMethodAttributes struct {
|
||||
State string `json:"state,omitempty"`
|
||||
Issuer string `json:"issuer,omitempty"`
|
||||
@@ -18,3 +24,28 @@ type OidcAuthMethodAttributes struct {
|
||||
DisableDiscoveredConfigValidation bool `json:"disable_discovered_config_validation,omitempty"`
|
||||
DryRun bool `json:"dry_run,omitempty"`
|
||||
}
|
||||
|
||||
func AttributesMapToOidcAuthMethodAttributes(in map[string]interface{}) (*OidcAuthMethodAttributes, error) {
|
||||
if in == nil {
|
||||
return nil, fmt.Errorf("nil input map")
|
||||
}
|
||||
var out OidcAuthMethodAttributes
|
||||
dec, err := mapstructure.NewDecoder(&mapstructure.DecoderConfig{
|
||||
Result: &out,
|
||||
TagName: "json",
|
||||
})
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error creating mapstructure decoder: %w", err)
|
||||
}
|
||||
if err := dec.Decode(in); err != nil {
|
||||
return nil, fmt.Errorf("error decoding: %w", err)
|
||||
}
|
||||
return &out, nil
|
||||
}
|
||||
|
||||
func (pt *AuthMethod) GetOidcAuthMethodAttributes() (*OidcAuthMethodAttributes, error) {
|
||||
if pt.Type != "oidc" {
|
||||
return nil, fmt.Errorf("asked to fetch %s-type attributes but auth-method is of type %s", "oidc", pt.Type)
|
||||
}
|
||||
return AttributesMapToOidcAuthMethodAttributes(pt.Attributes)
|
||||
}
|
||||
@@ -1,7 +1,38 @@
|
||||
// Code generated by "make api"; DO NOT EDIT.
|
||||
package authmethods
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/mitchellh/mapstructure"
|
||||
)
|
||||
|
||||
type PasswordAuthMethodAttributes struct {
|
||||
MinLoginNameLength uint32 `json:"min_login_name_length,omitempty"`
|
||||
MinPasswordLength uint32 `json:"min_password_length,omitempty"`
|
||||
}
|
||||
|
||||
func AttributesMapToPasswordAuthMethodAttributes(in map[string]interface{}) (*PasswordAuthMethodAttributes, error) {
|
||||
if in == nil {
|
||||
return nil, fmt.Errorf("nil input map")
|
||||
}
|
||||
var out PasswordAuthMethodAttributes
|
||||
dec, err := mapstructure.NewDecoder(&mapstructure.DecoderConfig{
|
||||
Result: &out,
|
||||
TagName: "json",
|
||||
})
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error creating mapstructure decoder: %w", err)
|
||||
}
|
||||
if err := dec.Decode(in); err != nil {
|
||||
return nil, fmt.Errorf("error decoding: %w", err)
|
||||
}
|
||||
return &out, nil
|
||||
}
|
||||
|
||||
func (pt *AuthMethod) GetPasswordAuthMethodAttributes() (*PasswordAuthMethodAttributes, error) {
|
||||
if pt.Type != "password" {
|
||||
return nil, fmt.Errorf("asked to fetch %s-type attributes but auth-method is of type %s", "password", pt.Type)
|
||||
}
|
||||
return AttributesMapToPasswordAuthMethodAttributes(pt.Attributes)
|
||||
}
|
||||
Reference in new issue
Block a user