mirror of
https://github.com/superseriousbusiness/gotosocial
synced 2025-06-05 21:59:39 +02: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:
@@ -40,6 +40,7 @@ const (
|
||||
FollowPath = "follow" // FollowPath used to generate the URI for an individual follow or follow request
|
||||
UpdatePath = "updates" // UpdatePath is used to generate the URI for an account update
|
||||
BlocksPath = "blocks" // BlocksPath is used to generate the URI for a block
|
||||
MovesPath = "moves" // MovesPath is used to generate the URI for a move
|
||||
ReportsPath = "reports" // ReportsPath is used to generate the URI for a report/flag
|
||||
ConfirmEmailPath = "confirm_email" // ConfirmEmailPath is used to generate the URI for an email confirmation link
|
||||
FileserverPath = "fileserver" // FileserverPath is a path component for serving attachments + media
|
||||
@@ -108,6 +109,14 @@ func GenerateURIForBlock(username string, thisBlockID string) string {
|
||||
return fmt.Sprintf("%s://%s/%s/%s/%s/%s", protocol, host, UsersPath, username, BlocksPath, thisBlockID)
|
||||
}
|
||||
|
||||
// GenerateURIForMove returns the AP URI for a new Move activity -- something like:
|
||||
// https://example.org/users/whatever_user/moves/01F7XTH1QGBAPMGF49WJZ91XGC
|
||||
func GenerateURIForMove(username string, thisMoveID string) string {
|
||||
protocol := config.GetProtocol()
|
||||
host := config.GetHost()
|
||||
return fmt.Sprintf("%s://%s/%s/%s/%s/%s", protocol, host, UsersPath, username, MovesPath, thisMoveID)
|
||||
}
|
||||
|
||||
// GenerateURIForReport returns the API URI for a new Flag activity -- something like:
|
||||
// https://example.org/reports/01GP3AWY4CRDVRNZKW0TEAMB5R
|
||||
//
|
||||
|
Reference in New Issue
Block a user