summaryrefslogtreecommitdiff
path: root/internal/db/bundb/move.go
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2024-03-13 13:53:29 +0100
committerLibravatar GitHub <noreply@github.com>2024-03-13 13:53:29 +0100
commitab2d063fcb04f241a3147c843a021491f5fc0a55 (patch)
tree3d2eff864e8b19d4d9a24f4f1fe92feda8ee4dac /internal/db/bundb/move.go
parent[bugfix]: Add missing Link headers in Swagger spec (#2751) (diff)
downloadgotosocial-ab2d063fcb04f241a3147c843a021491f5fc0a55.tar.xz
[feature] Process outgoing Move from clientAPI (#2750)
* prevent moved accounts from taking create-type actions * update move logic * federate move out * indicate on web profile when an account has moved * [docs] Add migration docs section * lock while checking + setting move state * use redirectFollowers func for clientAPI as well * comment typo * linter? i barely know 'er! * Update internal/uris/uri.go Co-authored-by: Daenney <daenney@users.noreply.github.com> * add a couple tests for move * fix little mistake exposed by tests (thanks tests) * ensure Move marked as successful * attach shared util funcs to struct * lock whole account when doing move * move moving check to after error check * replace repeated text with error func * linterrrrrr!!!! * catch self follow case --------- Co-authored-by: Daenney <daenney@users.noreply.github.com>
Diffstat (limited to 'internal/db/bundb/move.go')
-rw-r--r--internal/db/bundb/move.go16
1 files changed, 13 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 {