Add metadata to groups
All checks were successful
Build and Push Docker Image / build_and_push (push) Successful in 1m58s
All checks were successful
Build and Push Docker Image / build_and_push (push) Successful in 1m58s
This commit is contained in:
@@ -15,6 +15,7 @@ func (g Group) ToStorageType() storage.Group {
|
||||
Namespace: g.Namespace,
|
||||
Members: g.Members,
|
||||
Data: map[string]any{},
|
||||
Metadata: map[string]any{},
|
||||
}
|
||||
|
||||
for k, d := range g.Data.GetFields() {
|
||||
@@ -28,6 +29,17 @@ func (g Group) ToStorageType() storage.Group {
|
||||
group.Data[k] = data
|
||||
}
|
||||
|
||||
for k, d := range g.Metadata.GetFields() {
|
||||
jsondata, err := protojson.Marshal(d)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
break
|
||||
}
|
||||
var data any
|
||||
json.Unmarshal(jsondata, &data)
|
||||
group.Metadata[k] = data
|
||||
}
|
||||
|
||||
return group
|
||||
}
|
||||
|
||||
@@ -44,11 +56,25 @@ func GroupFromStorageType(group *storage.Group) (*Group, error) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var metadata *structpb.Struct
|
||||
if group.Metadata != nil {
|
||||
m, err := sanitizeData(group.Metadata)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
metadata, err = structpb.NewStruct(m)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return &Group{
|
||||
Id: group.ID,
|
||||
Namespace: group.Namespace,
|
||||
Members: group.Members,
|
||||
Data: data,
|
||||
Metadata: metadata,
|
||||
}, nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user