summaryrefslogtreecommitdiff
path: root/internal/processing
diff options
context:
space:
mode:
Diffstat (limited to 'internal/processing')
-rw-r--r--internal/processing/account/update.go23
-rw-r--r--internal/processing/admin/emoji.go2
-rw-r--r--internal/processing/media/create.go12
3 files changed, 23 insertions, 14 deletions
diff --git a/internal/processing/account/update.go b/internal/processing/account/update.go
index 6e74a0ccd..e0dd493e1 100644
--- a/internal/processing/account/update.go
+++ b/internal/processing/account/update.go
@@ -33,6 +33,7 @@ import (
apimodel "github.com/superseriousbusiness/gotosocial/internal/api/model"
"github.com/superseriousbusiness/gotosocial/internal/config"
"github.com/superseriousbusiness/gotosocial/internal/gtsmodel"
+ "github.com/superseriousbusiness/gotosocial/internal/media"
"github.com/superseriousbusiness/gotosocial/internal/messages"
"github.com/superseriousbusiness/gotosocial/internal/text"
"github.com/superseriousbusiness/gotosocial/internal/util"
@@ -163,16 +164,15 @@ func (p *processor) UpdateAvatar(ctx context.Context, avatar *multipart.FileHead
}
// do the setting
- media, err := p.mediaManager.ProcessMedia(ctx, buf.Bytes(), accountID, "")
+ isAvatar := true
+ processingMedia, err := p.mediaManager.ProcessMedia(ctx, buf.Bytes(), accountID, &media.AdditionalInfo{
+ Avatar: &isAvatar,
+ })
if err != nil {
return nil, fmt.Errorf("UpdateAvatar: error processing avatar: %s", err)
}
- if err := media.SetAsAvatar(ctx); err != nil {
- return nil, fmt.Errorf("UpdateAvatar: error setting media as avatar: %s", err)
- }
-
- return media.LoadAttachment(ctx)
+ return processingMedia.LoadAttachment(ctx)
}
// UpdateHeader does the dirty work of checking the header part of an account update form,
@@ -206,16 +206,15 @@ func (p *processor) UpdateHeader(ctx context.Context, header *multipart.FileHead
}
// do the setting
- media, err := p.mediaManager.ProcessMedia(ctx, buf.Bytes(), accountID, "")
+ isHeader := true
+ processingMedia, err := p.mediaManager.ProcessMedia(ctx, buf.Bytes(), accountID, &media.AdditionalInfo{
+ Header: &isHeader,
+ })
if err != nil {
return nil, fmt.Errorf("UpdateHeader: error processing header: %s", err)
}
- if err := media.SetAsHeader(ctx); err != nil {
- return nil, fmt.Errorf("UpdateHeader: error setting media as header: %s", err)
- }
-
- return media.LoadAttachment(ctx)
+ return processingMedia.LoadAttachment(ctx)
}
func (p *processor) processNote(ctx context.Context, note string, accountID string) (string, error) {
diff --git a/internal/processing/admin/emoji.go b/internal/processing/admin/emoji.go
index 6fb2ca8c5..737a4ebe2 100644
--- a/internal/processing/admin/emoji.go
+++ b/internal/processing/admin/emoji.go
@@ -48,7 +48,7 @@ func (p *processor) EmojiCreate(ctx context.Context, account *gtsmodel.Account,
return nil, errors.New("could not read provided emoji: size 0 bytes")
}
- media, err := p.mediaManager.ProcessEmoji(ctx, buf.Bytes(), account.ID, "")
+ media, err := p.mediaManager.ProcessEmoji(ctx, buf.Bytes(), account.ID)
if err != nil {
return nil, err
}
diff --git a/internal/processing/media/create.go b/internal/processing/media/create.go
index d1840196a..093a3d2be 100644
--- a/internal/processing/media/create.go
+++ b/internal/processing/media/create.go
@@ -27,6 +27,7 @@ import (
apimodel "github.com/superseriousbusiness/gotosocial/internal/api/model"
"github.com/superseriousbusiness/gotosocial/internal/gtsmodel"
+ "github.com/superseriousbusiness/gotosocial/internal/media"
)
func (p *processor) Create(ctx context.Context, account *gtsmodel.Account, form *apimodel.AttachmentRequest) (*apimodel.Attachment, error) {
@@ -44,8 +45,17 @@ func (p *processor) Create(ctx context.Context, account *gtsmodel.Account, form
return nil, errors.New("could not read provided attachment: size 0 bytes")
}
+ focusX, focusY, err := parseFocus(form.Focus)
+ if err != nil {
+ return nil, fmt.Errorf("could not parse focus value %s: %s", form.Focus, err)
+ }
+
// process the media attachment and load it immediately
- media, err := p.mediaManager.ProcessMedia(ctx, buf.Bytes(), account.ID, "")
+ media, err := p.mediaManager.ProcessMedia(ctx, buf.Bytes(), account.ID, &media.AdditionalInfo{
+ Description: &form.Description,
+ FocusX: &focusX,
+ FocusY: &focusY,
+ })
if err != nil {
return nil, err
}