Fix postgres, fix lint

This commit is contained in:
Neil Alexander 2020-05-19 13:43:31 +01:00
parent c5e3ac9537
commit 3b88b8fd3a
2 changed files with 21 additions and 12 deletions

View file

@ -57,7 +57,6 @@ func (r *RoomserverInternalAPI) updateMemberships(
var ae *gomatrixserverlib.Event
var re *gomatrixserverlib.Event
targetUserNID := change.EventStateKeyNID
targetLocal := false
if change.removedEventNID != 0 {
ev, _ := eventMap(events).lookup(change.removedEventNID)
if ev != nil {
@ -70,7 +69,7 @@ func (r *RoomserverInternalAPI) updateMemberships(
ae = &ev.Event
}
}
if updates, err = r.updateMembership(updater, targetUserNID, targetLocal, re, ae, updates); err != nil {
if updates, err = r.updateMembership(updater, targetUserNID, re, ae, updates); err != nil {
return nil, err
}
}
@ -80,7 +79,6 @@ func (r *RoomserverInternalAPI) updateMemberships(
func (r *RoomserverInternalAPI) updateMembership(
updater types.RoomRecentEventsUpdater,
targetUserNID types.EventStateKeyNID,
targetLocal bool,
remove, add *gomatrixserverlib.Event,
updates []api.OutputEvent,
) ([]api.OutputEvent, error) {
@ -114,13 +112,7 @@ func (r *RoomserverInternalAPI) updateMembership(
return updates, nil
}
targetLocal = false
if statekey := add.StateKey(); statekey != nil {
_, domain, _ := gomatrixserverlib.SplitID('@', *statekey)
targetLocal = domain == r.Cfg.Matrix.ServerName
}
mu, err := updater.MembershipUpdater(targetUserNID, targetLocal)
mu, err := updater.MembershipUpdater(targetUserNID, r.isLocalTarget(add))
if err != nil {
return nil, err
}
@ -139,6 +131,15 @@ func (r *RoomserverInternalAPI) updateMembership(
}
}
func (r *RoomserverInternalAPI) isLocalTarget(event *gomatrixserverlib.Event) bool {
targetLocal := false
if statekey := event.StateKey(); statekey != nil {
_, domain, _ := gomatrixserverlib.SplitID('@', *statekey)
targetLocal = domain == r.Cfg.Matrix.ServerName
}
return targetLocal
}
func updateToInviteMembership(
mu types.MembershipUpdater, add *gomatrixserverlib.Event, updates []api.OutputEvent,
roomVersion gomatrixserverlib.RoomVersion,

View file

@ -166,7 +166,13 @@ func (s *membershipStatements) selectMembershipFromRoomAndTarget(
func (s *membershipStatements) selectMembershipsFromRoom(
ctx context.Context, roomNID types.RoomNID, localOnly bool,
) (eventNIDs []types.EventNID, err error) {
rows, err := s.selectMembershipsFromRoomStmt.QueryContext(ctx, roomNID)
var stmt *sql.Stmt
if localOnly {
stmt = s.selectLocalMembershipsFromRoomStmt
} else {
stmt = s.selectMembershipsFromRoomStmt
}
rows, err := stmt.QueryContext(ctx, roomNID)
if err != nil {
return
}
@ -187,9 +193,11 @@ func (s *membershipStatements) selectMembershipsFromRoomAndMembership(
roomNID types.RoomNID, membership membershipState, localOnly bool,
) (eventNIDs []types.EventNID, err error) {
var rows *sql.Rows
stmt := s.selectMembershipsFromRoomAndMembershipStmt
var stmt *sql.Stmt
if localOnly {
stmt = s.selectLocalMembershipsFromRoomAndMembershipStmt
} else {
stmt = s.selectMembershipsFromRoomAndMembershipStmt
}
rows, err = stmt.QueryContext(ctx, roomNID, membership)
if err != nil {