Files
KubePi/internal/model/v1/ldap/ldap.go
2022-05-19 12:59:53 +08:00

42 lines
928 B
Go

package ldap
import (
"encoding/json"
v1 "github.com/KubeOperator/kubepi/internal/model/v1"
)
type Ldap struct {
v1.BaseModel `storm:"inline"`
v1.Metadata `storm:"inline"`
Username string `json:"username"`
Password string `json:"password"`
Address string `json:"address"`
Port string `json:"port"`
Dn string `json:"dn"`
Filter string `json:"filter"`
Mapping string `json:"mapping"`
TLS bool `json:"tls"`
}
func (l *Ldap) GetAttributes() ([]string, error) {
m := make(map[string]string)
err := json.Unmarshal([]byte(l.Mapping), &m)
if err != nil {
return nil, err
}
var result []string
for _, v := range m {
result = append(result, v)
}
return result, nil
}
func (l *Ldap) GetMappings() (map[string]string, error) {
m := make(map[string]string)
err := json.Unmarshal([]byte(l.Mapping), &m)
if err != nil {
return nil, err
}
return m, nil
}