Add missing gRPC functions

This commit is contained in:
2022-08-11 17:14:21 +02:00
parent 26090e9299
commit 6530d024f8
12 changed files with 448 additions and 164 deletions

View File

@@ -46,12 +46,18 @@ func (lc LocalAuth) ToStorageType() storage.LocalAuth {
}
}
func AccountFromStorageType(account *storage.Account) *Account {
func AccountFromStorageType(account *storage.Account) (*Account, error) {
lc := LocalAuthFromStorageType(account.Authentication.Local)
data, err := structpb.NewStruct(account.Data)
d, err := sanitizeData(account.Data)
if err != nil {
return nil
return nil, err
}
data, err := structpb.NewStruct(d)
if err != nil {
fmt.Println(err)
return nil, err
}
return &Account{
@@ -61,7 +67,7 @@ func AccountFromStorageType(account *storage.Account) *Account {
Authentication: &AccountAuth{
Local: lc,
},
}
}, nil
}
func LocalAuthFromStorageType(lc storage.LocalAuth) *LocalAuth {
@@ -72,3 +78,16 @@ func LocalAuthFromStorageType(lc storage.LocalAuth) *LocalAuth {
PhoneNumber: lc.PhoneNumber,
}
}
func sanitizeData(data map[string]any) (d map[string]any, err error) {
j, err := json.Marshal(data)
if err != nil {
return nil, err
}
if err = json.Unmarshal(j, &d); err != nil {
return nil, err
}
return d, nil
}