summaryrefslogtreecommitdiff
path: root/internal/typeutils/converter.go
diff options
context:
space:
mode:
authorLibravatar Tobi Smethurst <31960611+tsmethurst@users.noreply.github.com>2021-05-23 18:07:04 +0200
committerLibravatar GitHub <noreply@github.com>2021-05-23 18:07:04 +0200
commitee65d19ff343134c55ca968114dcbfe4b7b4431d (patch)
tree778141fb4dc2ff17c78594663b0c0cd2a47f79fc /internal/typeutils/converter.go
parentsmall fiddling to allow whalebird to work (a bit) (diff)
downloadgotosocial-ee65d19ff343134c55ca968114dcbfe4b7b4431d.tar.xz
status deletes, profile updates (#30)
1. Proper DELETE of federated statuses (not yet deleting all the media and stuff -- i still have to implement this -- but the actual status is toast). 2. Proper UPDATE of profiles. When you change your profile picture on your remote instance, that will now register properly in GoToSocial. 3. Scrolling down the home timeline - it no longer just sort of ends, and will keep loading older statuses as you scroll. 4. Little bugfixes -- still had some nil pointer errors when dereferencing remote accounts.
Diffstat (limited to 'internal/typeutils/converter.go')
-rw-r--r--internal/typeutils/converter.go8
1 files changed, 6 insertions, 2 deletions
diff --git a/internal/typeutils/converter.go b/internal/typeutils/converter.go
index ac2ce4317..63e201ded 100644
--- a/internal/typeutils/converter.go
+++ b/internal/typeutils/converter.go
@@ -95,8 +95,12 @@ type TypeConverter interface {
ACTIVITYSTREAMS MODEL TO INTERNAL (gts) MODEL
*/
- // ASPersonToAccount converts a remote account/person/application representation into a gts model account
- ASRepresentationToAccount(accountable Accountable) (*gtsmodel.Account, error)
+ // ASPersonToAccount converts a remote account/person/application representation into a gts model account.
+ //
+ // If update is false, and the account is already known in the database, then the existing account entry will be returned.
+ // If update is true, then even if the account is already known, all fields in the accountable will be parsed and a new *gtsmodel.Account
+ // will be generated. This is useful when one needs to force refresh of an account, eg., during an Update of a Profile.
+ ASRepresentationToAccount(accountable Accountable, update bool) (*gtsmodel.Account, error)
// ASStatus converts a remote activitystreams 'status' representation into a gts model status.
ASStatusToStatus(statusable Statusable) (*gtsmodel.Status, error)
// ASFollowToFollowRequest converts a remote activitystreams `follow` representation into gts model follow request.