diff options
Diffstat (limited to 'internal/db')
-rw-r--r-- | internal/db/bundb/move.go | 16 | ||||
-rw-r--r-- | internal/db/move.go | 3 |
2 files changed, 16 insertions, 3 deletions
diff --git a/internal/db/bundb/move.go b/internal/db/bundb/move.go index a66b9dea5..220874630 100644 --- a/internal/db/bundb/move.go +++ b/internal/db/bundb/move.go @@ -177,21 +177,31 @@ func (m *moveDB) getMove( } // Populate the Move by parsing out the URIs. + if err := m.PopulateMove(ctx, move); err != nil { + return nil, err + } + + return move, nil +} + +func (m *moveDB) PopulateMove(ctx context.Context, move *gtsmodel.Move) error { if move.Origin == nil { + var err error move.Origin, err = url.Parse(move.OriginURI) if err != nil { - return nil, fmt.Errorf("error parsing Move originURI: %w", err) + return fmt.Errorf("error parsing Move originURI: %w", err) } } if move.Target == nil { + var err error move.Target, err = url.Parse(move.TargetURI) if err != nil { - return nil, fmt.Errorf("error parsing Move originURI: %w", err) + return fmt.Errorf("error parsing Move targetURI: %w", err) } } - return move, nil + return nil } func (m *moveDB) PutMove(ctx context.Context, move *gtsmodel.Move) error { diff --git a/internal/db/move.go b/internal/db/move.go index 5bce781a3..42357627b 100644 --- a/internal/db/move.go +++ b/internal/db/move.go @@ -34,6 +34,9 @@ type Move interface { // GetMoveByOriginTarget gets one move with the given originURI and targetURI. GetMoveByOriginTarget(ctx context.Context, originURI string, targetURI string) (*gtsmodel.Move, error) + // PopulateMove parses out the origin and target URIs on the move. + PopulateMove(ctx context.Context, move *gtsmodel.Move) error + // GetLatestMoveSuccessInvolvingURIs gets the time of // the latest successfully-processed Move that includes // either uri1 or uri2 in target or origin positions. |