diff options
author | 2023-02-11 12:48:38 +0100 | |
---|---|---|
committer | 2023-02-11 12:48:38 +0100 | |
commit | 40bc03e71789523ec0f3cc4ae9f8532430832cd4 (patch) | |
tree | 9a2baceffea0b80d1701b636eb19107b96e70fd3 /internal/processing/media/getfile.go | |
parent | [performance] remove throttling timers (#1466) (diff) | |
download | gotosocial-40bc03e71789523ec0f3cc4ae9f8532430832cd4.tar.xz |
[chore/performance] Update media prune logic, add extra CLI command (#1474)v0.7.0-rc2
* start updating media prune stuff a wee bit
* continue prune / uncache work
* more tidying + consistency stuff
* add prune CLI command
* docs
* arg
Diffstat (limited to 'internal/processing/media/getfile.go')
-rw-r--r-- | internal/processing/media/getfile.go | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/internal/processing/media/getfile.go b/internal/processing/media/getfile.go index 48e907244..9501706fb 100644 --- a/internal/processing/media/getfile.go +++ b/internal/processing/media/getfile.go @@ -33,14 +33,42 @@ import ( "github.com/superseriousbusiness/gotosocial/internal/uris" ) +// ParseMediaType converts s to a recognized MediaType, or returns an error if unrecognized +func parseMediaType(s string) (media.Type, error) { + switch s { + case string(media.TypeAttachment): + return media.TypeAttachment, nil + case string(media.TypeHeader): + return media.TypeHeader, nil + case string(media.TypeAvatar): + return media.TypeAvatar, nil + case string(media.TypeEmoji): + return media.TypeEmoji, nil + } + return "", fmt.Errorf("%s not a recognized media.Type", s) +} + +// ParseMediaSize converts s to a recognized MediaSize, or returns an error if unrecognized +func parseMediaSize(s string) (media.Size, error) { + switch s { + case string(media.SizeSmall): + return media.SizeSmall, nil + case string(media.SizeOriginal): + return media.SizeOriginal, nil + case string(media.SizeStatic): + return media.SizeStatic, nil + } + return "", fmt.Errorf("%s not a recognized media.Size", s) +} + func (p *processor) GetFile(ctx context.Context, requestingAccount *gtsmodel.Account, form *apimodel.GetContentRequestForm) (*apimodel.Content, gtserror.WithCode) { // parse the form fields - mediaSize, err := media.ParseMediaSize(form.MediaSize) + mediaSize, err := parseMediaSize(form.MediaSize) if err != nil { return nil, gtserror.NewErrorNotFound(fmt.Errorf("media size %s not valid", form.MediaSize)) } - mediaType, err := media.ParseMediaType(form.MediaType) + mediaType, err := parseMediaType(form.MediaType) if err != nil { return nil, gtserror.NewErrorNotFound(fmt.Errorf("media type %s not valid", form.MediaType)) } |