Add metadata to groups
All checks were successful
Build and Push Docker Image / build_and_push (push) Successful in 1m58s

This commit is contained in:
Arnaud Delcasse
2026-01-13 22:08:54 +01:00
parent eb884ab52d
commit 68912e17a0
4 changed files with 46 additions and 9 deletions

View File

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