summaryrefslogtreecommitdiff
path: root/internal/db
diff options
context:
space:
mode:
Diffstat (limited to 'internal/db')
-rw-r--r--internal/db/bundb/move.go16
-rw-r--r--internal/db/move.go3
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.