summaryrefslogtreecommitdiff
path: root/internal/media/processingemoji.go
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2022-02-22 13:50:33 +0100
committerLibravatar GitHub <noreply@github.com>2022-02-22 13:50:33 +0100
commit55b83bea7cad893aabda4ab5e05c248fb66e1e51 (patch)
tree4f0fe25b706e5635bcdd91e6ad19324fc250760a /internal/media/processingemoji.go
parent[bugfix] Fix thumbnail image type (#406) (diff)
downloadgotosocial-55b83bea7cad893aabda4ab5e05c248fb66e1e51.tar.xz
[feature] Add postDataCallbackFunc to allow cleanup (#408)
Diffstat (limited to 'internal/media/processingemoji.go')
-rw-r--r--internal/media/processingemoji.go15
1 files changed, 11 insertions, 4 deletions
diff --git a/internal/media/processingemoji.go b/internal/media/processingemoji.go
index 741854b9b..2a3cd1613 100644
--- a/internal/media/processingemoji.go
+++ b/internal/media/processingemoji.go
@@ -47,9 +47,10 @@ type ProcessingEmoji struct {
emoji will be updated incrementally as media goes through processing
*/
- emoji *gtsmodel.Emoji
- data DataFunc
- read bool // bool indicating that data function has been triggered already
+ emoji *gtsmodel.Emoji
+ data DataFunc
+ postData PostDataCallbackFunc
+ read bool // bool indicating that data function has been triggered already
/*
below fields represent the processing state of the static of the emoji
@@ -212,10 +213,15 @@ func (p *ProcessingEmoji) store(ctx context.Context) error {
}
p.read = true
+
+ if p.postData != nil {
+ return p.postData(ctx)
+ }
+
return nil
}
-func (m *manager) preProcessEmoji(ctx context.Context, data DataFunc, shortcode string, id string, uri string, ai *AdditionalEmojiInfo) (*ProcessingEmoji, error) {
+func (m *manager) preProcessEmoji(ctx context.Context, data DataFunc, postData PostDataCallbackFunc, shortcode string, id string, uri string, ai *AdditionalEmojiInfo) (*ProcessingEmoji, error) {
instanceAccount, err := m.db.GetInstanceAccount(ctx, "")
if err != nil {
return nil, fmt.Errorf("preProcessEmoji: error fetching this instance account from the db: %s", err)
@@ -281,6 +287,7 @@ func (m *manager) preProcessEmoji(ctx context.Context, data DataFunc, shortcode
instanceAccountID: instanceAccount.ID,
emoji: emoji,
data: data,
+ postData: postData,
staticState: int32(received),
database: m.db,
storage: m.storage,