buildEvent fills out auth_events for the builder then builds the event
( builder *gomatrixserverlib.EventBuilder, provider gomatrixserverlib.AuthEventProvider, cfg *config.ClientAPI, evTime time.Time, roomVersion gomatrixserverlib.RoomVersion, )
| 631 | |
| 632 | // buildEvent fills out auth_events for the builder then builds the event |
| 633 | func buildEvent( |
| 634 | builder *gomatrixserverlib.EventBuilder, |
| 635 | provider gomatrixserverlib.AuthEventProvider, |
| 636 | cfg *config.ClientAPI, |
| 637 | evTime time.Time, |
| 638 | roomVersion gomatrixserverlib.RoomVersion, |
| 639 | ) (*gomatrixserverlib.Event, error) { |
| 640 | eventsNeeded, err := gomatrixserverlib.StateNeededForEventBuilder(builder) |
| 641 | if err != nil { |
| 642 | return nil, err |
| 643 | } |
| 644 | refs, err := eventsNeeded.AuthEventReferences(provider) |
| 645 | if err != nil { |
| 646 | return nil, err |
| 647 | } |
| 648 | builder.AuthEvents = refs |
| 649 | event, err := builder.Build( |
| 650 | evTime, cfg.Matrix.ServerName, cfg.Matrix.KeyID, |
| 651 | cfg.Matrix.PrivateKey, roomVersion, |
| 652 | ) |
| 653 | if err != nil { |
| 654 | return nil, fmt.Errorf("cannot build event %s : Builder failed to build. %w", builder.Type, err) |
| 655 | } |
| 656 | return event, nil |
| 657 | } |