chore: move the go code into a subfolder

This commit is contained in:
Florian Forster
2025-08-05 15:20:32 -07:00
parent 4ad22ba456
commit cd2921de26
2978 changed files with 373 additions and 300 deletions

View 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))
}
}

View 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))
}
}

View 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
}
}