mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-12 17:37:32 +00:00
chore: move the go code into a subfolder
This commit is contained in:
26
apps/api/internal/config/hook/base64_to_bytes.go
Normal file
26
apps/api/internal/config/hook/base64_to_bytes.go
Normal file
@@ -0,0 +1,26 @@
|
||||
package hook
|
||||
|
||||
import (
|
||||
"encoding/base64"
|
||||
"reflect"
|
||||
|
||||
"github.com/mitchellh/mapstructure"
|
||||
)
|
||||
|
||||
func Base64ToBytesHookFunc() mapstructure.DecodeHookFuncType {
|
||||
return func(
|
||||
f reflect.Type,
|
||||
t reflect.Type,
|
||||
data interface{},
|
||||
) (interface{}, error) {
|
||||
if f.Kind() != reflect.String {
|
||||
return data, nil
|
||||
}
|
||||
|
||||
if t != reflect.TypeOf([]byte{}) {
|
||||
return data, nil
|
||||
}
|
||||
|
||||
return base64.StdEncoding.DecodeString(data.(string))
|
||||
}
|
||||
}
|
24
apps/api/internal/config/hook/enum.go
Normal file
24
apps/api/internal/config/hook/enum.go
Normal file
@@ -0,0 +1,24 @@
|
||||
package hook
|
||||
|
||||
import (
|
||||
"reflect"
|
||||
|
||||
"github.com/mitchellh/mapstructure"
|
||||
"golang.org/x/exp/constraints"
|
||||
)
|
||||
|
||||
func EnumHookFunc[T constraints.Integer](resolve func(string) (T, error)) mapstructure.DecodeHookFuncType {
|
||||
return func(
|
||||
f reflect.Type,
|
||||
t reflect.Type,
|
||||
data interface{},
|
||||
) (interface{}, error) {
|
||||
if f.Kind() != reflect.String {
|
||||
return data, nil
|
||||
}
|
||||
if t != reflect.TypeOf(T(0)) {
|
||||
return data, nil
|
||||
}
|
||||
return resolve(data.(string))
|
||||
}
|
||||
}
|
29
apps/api/internal/config/hook/tag_to_language.go
Normal file
29
apps/api/internal/config/hook/tag_to_language.go
Normal file
@@ -0,0 +1,29 @@
|
||||
package hook
|
||||
|
||||
import (
|
||||
"reflect"
|
||||
|
||||
"github.com/mitchellh/mapstructure"
|
||||
"golang.org/x/text/language"
|
||||
|
||||
"github.com/zitadel/zitadel/internal/domain"
|
||||
)
|
||||
|
||||
func TagToLanguageHookFunc() mapstructure.DecodeHookFuncType {
|
||||
return func(
|
||||
f reflect.Type,
|
||||
t reflect.Type,
|
||||
data interface{},
|
||||
) (interface{}, error) {
|
||||
if f.Kind() != reflect.String {
|
||||
return data, nil
|
||||
}
|
||||
|
||||
if t != reflect.TypeOf(language.Tag{}) {
|
||||
return data, nil
|
||||
}
|
||||
|
||||
lang, err := domain.ParseLanguage(data.(string))
|
||||
return lang[0], err
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user