mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-10-29 13:32:25 -05:00
[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>
This commit is contained in:
parent
13b9fd5f92
commit
ab2d063fcb
60 changed files with 1124 additions and 309 deletions
|
|
@ -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 {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue