LoadStateAtEvent loads the full state of a room before a particular event.
( ctx context.Context, eventID string, )
| 103 | |
| 104 | // LoadStateAtEvent loads the full state of a room before a particular event. |
| 105 | func (v *StateResolution) LoadStateAtEvent( |
| 106 | ctx context.Context, eventID string, |
| 107 | ) ([]types.StateEntry, error) { |
| 108 | span, ctx := opentracing.StartSpanFromContext(ctx, "StateResolution.LoadStateAtEvent") |
| 109 | defer span.Finish() |
| 110 | |
| 111 | snapshotNID, err := v.db.SnapshotNIDFromEventID(ctx, eventID) |
| 112 | if err != nil { |
| 113 | return nil, fmt.Errorf("LoadStateAtEvent.SnapshotNIDFromEventID failed for event %s : %w", eventID, err) |
| 114 | } |
| 115 | if snapshotNID == 0 { |
| 116 | return nil, fmt.Errorf("LoadStateAtEvent.SnapshotNIDFromEventID(%s) returned 0 NID, was this event stored?", eventID) |
| 117 | } |
| 118 | |
| 119 | stateEntries, err := v.LoadStateAtSnapshot(ctx, snapshotNID) |
| 120 | if err != nil { |
| 121 | return nil, err |
| 122 | } |
| 123 | |
| 124 | return stateEntries, nil |
| 125 | } |
| 126 | |
| 127 | // LoadStateAtEvent loads the full state of a room before a particular event. |
| 128 | func (v *StateResolution) LoadStateAtEventForHistoryVisibility( |
no test coverage detected