MCPcopy Create free account
hub / github.com/daodst/chat / QueryEventsByID

Method QueryEventsByID

roomserver/internal/query/query.go:131–161  ·  view source on GitHub ↗

QueryEventsByID implements api.RoomserverInternalAPI

(
	ctx context.Context,
	request *api.QueryEventsByIDRequest,
	response *api.QueryEventsByIDResponse,
)

Source from the content-addressed store, hash-verified

129
130// QueryEventsByID implements api.RoomserverInternalAPI
131func (r *Queryer) QueryEventsByID(
132 ctx context.Context,
133 request *api.QueryEventsByIDRequest,
134 response *api.QueryEventsByIDResponse,
135) error {
136 eventNIDMap, err := r.DB.EventNIDs(ctx, request.EventIDs)
137 if err != nil {
138 return err
139 }
140
141 var eventNIDs []types.EventNID
142 for _, nid := range eventNIDMap {
143 eventNIDs = append(eventNIDs, nid)
144 }
145
146 events, err := helpers.LoadEvents(ctx, r.DB, eventNIDs)
147 if err != nil {
148 return err
149 }
150
151 for _, event := range events {
152 roomVersion, verr := r.roomVersion(event.RoomID())
153 if verr != nil {
154 return verr
155 }
156
157 response.Events = append(response.Events, event.Headered(roomVersion))
158 }
159
160 return nil
161}
162
163// QueryMembershipForUser implements api.RoomserverInternalAPI
164func (r *Queryer) QueryMembershipForUser(

Callers

nothing calls this directly

Calls 2

roomVersionMethod · 0.95
EventNIDsMethod · 0.65

Tested by

no test coverage detected