From fe707a163e8973d91d2450fbec11099dfb56f003 Mon Sep 17 00:00:00 2001 From: Neil Alexander Date: Wed, 22 Jan 2020 18:16:42 +0000 Subject: [PATCH] Thwarted by gocyclo again --- syncapi/storage/postgres/syncserver.go | 35 +++++++++++++++++--------- 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/syncapi/storage/postgres/syncserver.go b/syncapi/storage/postgres/syncserver.go index c103089f4..aabb9474b 100644 --- a/syncapi/storage/postgres/syncserver.go +++ b/syncapi/storage/postgres/syncserver.go @@ -777,6 +777,26 @@ func (d *SyncServerDatasource) addInvitesToResponse( return nil } +// Retrieve the backward topology position, i.e. the position of the +// oldest event in the room's topology. +func (d *SyncServerDatasource) getBackwardTopologyPos( + ctx context.Context, + events []types.StreamEvent, +) (pos types.StreamPosition, err error) { + if len(events) > 0 { + pos, err = d.topology.selectPositionInTopology(ctx, events[0].EventID()) + if err != nil { + return + } + } + if pos-1 <= 0 { + pos = types.StreamPosition(1) + } else { + pos = pos - 1 + } + return +} + // addRoomDeltaToResponse adds a room state delta to a sync response func (d *SyncServerDatasource) addRoomDeltaToResponse( ctx context.Context, @@ -826,19 +846,10 @@ func (d *SyncServerDatasource) addRoomDeltaToResponse( prevPDUPos = 1 } - // Retrieve the backward topology position, i.e. the position of the - // oldest event in the room's topology. var backwardTopologyPos types.StreamPosition - if len(recentStreamEvents) > 0 { - backwardTopologyPos, err = d.topology.selectPositionInTopology(ctx, recentStreamEvents[0].EventID()) - if err != nil { - return err - } - } - if backwardTopologyPos-1 <= 0 { - backwardTopologyPos = types.StreamPosition(1) - } else { - backwardTopologyPos = backwardTopologyPos - 1 + backwardTopologyPos, err = d.getBackwardTopologyPos(ctx, recentStreamEvents) + if err != nil { + return err } switch delta.membership {