(evt events.Event, id *ttnpb.EntityIdentifiers)
| 77 | ) |
| 78 | |
| 79 | func encodeEventMeta(evt events.Event, id *ttnpb.EntityIdentifiers) ([]string, error) { |
| 80 | meta := []string{ |
| 81 | eventUIDKey, evt.UniqueID(), |
| 82 | eventNameKey, evt.Name(), |
| 83 | entityIDKey, unique.ID(evt.Context(), id), |
| 84 | entityTypeKey, id.EntityType(), |
| 85 | } |
| 86 | ePB, err := events.Proto(evt) |
| 87 | if err != nil { |
| 88 | return nil, err |
| 89 | } |
| 90 | sparsePB := &ttnpb.Event{ |
| 91 | // Name is stored in eventNameKey |
| 92 | Time: ePB.Time, |
| 93 | // Identifiers is stored in entityTypeKey+entityIDKey |
| 94 | Context: ePB.Context, |
| 95 | Visibility: ePB.Visibility, |
| 96 | // UniqueID is stored in eventUIDKey |
| 97 | } |
| 98 | rb, err := proto.Marshal(sparsePB) |
| 99 | if err != nil { |
| 100 | return nil, err |
| 101 | } |
| 102 | return append(meta, eventSparseKey, encodeBinary(rb)), nil |
| 103 | } |
| 104 | |
| 105 | func decodeEventMeta(values map[string]any) (*ttnpb.Event, error) { |
| 106 | var ( |
no test coverage detected