mirror of
https://github.com/hoernschen/dendrite.git
synced 2025-08-02 22:22:46 +00:00
Update gomatrixserverlib and use AuthEventProvider (#35)
This commit is contained in:
parent
8ccff1e40f
commit
414ea314a6
6 changed files with 125 additions and 50 deletions
|
@ -151,7 +151,7 @@ func createRoom(req *http.Request, cfg config.ClientAPI, roomID string, producer
|
|||
// TODO m.room.aliases
|
||||
}
|
||||
|
||||
authEvents := authEventProvider{builtEventMap}
|
||||
authEvents := gomatrixserverlib.NewAuthEvents(nil)
|
||||
for i, e := range eventsToMake {
|
||||
depth := i + 1 // depth starts at 1
|
||||
|
||||
|
@ -178,6 +178,7 @@ func createRoom(req *http.Request, cfg config.ClientAPI, roomID string, producer
|
|||
// Add the event to the list of auth events
|
||||
builtEventMap[common.StateKeyTuple{e.Type, e.StateKey}] = ev
|
||||
builtEvents = append(builtEvents, ev)
|
||||
authEvents.AddEvent(ev)
|
||||
}
|
||||
|
||||
// send events to the room server
|
||||
|
@ -280,27 +281,3 @@ func eventsToMessages(events []*gomatrixserverlib.Event, topic string) ([]*saram
|
|||
}
|
||||
return msgs, nil
|
||||
}
|
||||
|
||||
type authEventProvider struct {
|
||||
events map[common.StateKeyTuple]*gomatrixserverlib.Event
|
||||
}
|
||||
|
||||
func (a *authEventProvider) Create() (ev *gomatrixserverlib.Event, err error) {
|
||||
return a.events[common.StateKeyTuple{"m.room.create", ""}], nil
|
||||
}
|
||||
|
||||
func (a *authEventProvider) JoinRules() (ev *gomatrixserverlib.Event, err error) {
|
||||
return a.events[common.StateKeyTuple{"m.room.join_rules", ""}], nil
|
||||
}
|
||||
|
||||
func (a *authEventProvider) PowerLevels() (ev *gomatrixserverlib.Event, err error) {
|
||||
return a.events[common.StateKeyTuple{"m.room.power_levels", ""}], nil
|
||||
}
|
||||
|
||||
func (a *authEventProvider) Member(stateKey string) (ev *gomatrixserverlib.Event, err error) {
|
||||
return a.events[common.StateKeyTuple{"m.room.member", stateKey}], nil
|
||||
}
|
||||
|
||||
func (a *authEventProvider) ThirdPartyInvite(stateKey string) (ev *gomatrixserverlib.Event, err error) {
|
||||
return a.events[common.StateKeyTuple{"m.room.third_party_invite", stateKey}], nil
|
||||
}
|
||||
|
|
|
@ -44,27 +44,27 @@ type authEvents struct {
|
|||
events eventMap
|
||||
}
|
||||
|
||||
// Create implements gomatrixserverlib.AuthEvents
|
||||
// Create implements gomatrixserverlib.AuthEventProvider
|
||||
func (ae *authEvents) Create() (*gomatrixserverlib.Event, error) {
|
||||
return ae.lookupEventWithEmptyStateKey(types.MRoomCreateNID), nil
|
||||
}
|
||||
|
||||
// PowerLevels implements gomatrixserverlib.AuthEvents
|
||||
// PowerLevels implements gomatrixserverlib.AuthEventProvider
|
||||
func (ae *authEvents) PowerLevels() (*gomatrixserverlib.Event, error) {
|
||||
return ae.lookupEventWithEmptyStateKey(types.MRoomPowerLevelsNID), nil
|
||||
}
|
||||
|
||||
// JoinRules implements gomatrixserverlib.AuthEvents
|
||||
// JoinRules implements gomatrixserverlib.AuthEventProvider
|
||||
func (ae *authEvents) JoinRules() (*gomatrixserverlib.Event, error) {
|
||||
return ae.lookupEventWithEmptyStateKey(types.MRoomJoinRulesNID), nil
|
||||
}
|
||||
|
||||
// Memmber implements gomatrixserverlib.AuthEvents
|
||||
// Memmber implements gomatrixserverlib.AuthEventProvider
|
||||
func (ae *authEvents) Member(stateKey string) (*gomatrixserverlib.Event, error) {
|
||||
return ae.lookupEvent(types.MRoomMemberNID, stateKey), nil
|
||||
}
|
||||
|
||||
// ThirdPartyInvite implements gomatrixserverlib.AuthEvents
|
||||
// ThirdPartyInvite implements gomatrixserverlib.AuthEventProvider
|
||||
func (ae *authEvents) ThirdPartyInvite(stateKey string) (*gomatrixserverlib.Event, error) {
|
||||
return ae.lookupEvent(types.MRoomThirdPartyInviteNID, stateKey), nil
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue