feat: get user/staff profile
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"reflect"
|
||||
)
|
||||
|
||||
func StructToMap(s any) (map[string]any, error) {
|
||||
result := make(map[string]any)
|
||||
|
||||
val := reflect.ValueOf(s)
|
||||
|
||||
if val.Kind() != reflect.Struct {
|
||||
return nil, errors.New("provided value is not struct")
|
||||
}
|
||||
|
||||
for i := range val.NumField() {
|
||||
field := val.Type().Field(i)
|
||||
value := val.Field(i)
|
||||
|
||||
if value.IsZero() || value.IsNil() {
|
||||
continue
|
||||
}
|
||||
|
||||
result[field.Name] = value.Interface()
|
||||
}
|
||||
|
||||
return result, nil
|
||||
}
|
||||
Reference in New Issue
Block a user