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

Function BuildEvent

internal/eventutil/events.go:58–77  ·  view source on GitHub ↗

BuildEvent builds a Matrix event from the builder and QueryLatestEventsAndStateResponse provided.

(
	ctx context.Context,
	builder *gomatrixserverlib.EventBuilder, cfg *config.Global, evTime time.Time,
	eventsNeeded *gomatrixserverlib.StateNeeded, queryRes *api.QueryLatestEventsAndStateResponse,
)

Source from the content-addressed store, hash-verified

56// BuildEvent builds a Matrix event from the builder and QueryLatestEventsAndStateResponse
57// provided.
58func BuildEvent(
59 ctx context.Context,
60 builder *gomatrixserverlib.EventBuilder, cfg *config.Global, evTime time.Time,
61 eventsNeeded *gomatrixserverlib.StateNeeded, queryRes *api.QueryLatestEventsAndStateResponse,
62) (*gomatrixserverlib.HeaderedEvent, error) {
63 err := addPrevEventsToEvent(builder, eventsNeeded, queryRes)
64 if err != nil {
65 return nil, err
66 }
67
68 event, err := builder.Build(
69 evTime, cfg.ServerName, cfg.KeyID,
70 cfg.PrivateKey, queryRes.RoomVersion,
71 )
72 if err != nil {
73 return nil, err
74 }
75
76 return event.Headered(queryRes.RoomVersion), nil
77}
78
79// queryRequiredEventsForBuilder queries the roomserver for auth/prev events needed for this builder.
80func queryRequiredEventsForBuilder(

Callers 1

QueryAndBuildEventFunction · 0.85

Calls 1

addPrevEventsToEventFunction · 0.85

Tested by

no test coverage detected