diff options
| author | 2024-11-04 14:00:10 +0000 | |
|---|---|---|
| committer | 2024-11-04 15:00:10 +0100 | |
| commit | f3b2eca8b86c797170d198d2aeb16a4cadd71e41 (patch) | |
| tree | e387216c9d91e1fefb50a02cee84c9e166558336 /internal/config | |
| parent | [bugfix] determine mime-type to use during ffprobe evaluation stage, don't bo... (diff) | |
| download | gotosocial-f3b2eca8b86c797170d198d2aeb16a4cadd71e41.tar.xz | |
[feature] add support for hinting via api/v_/instance preferred image / video max sizes (#3505)
* add support for hinting via api/v_/instance endpoints a preferred image / video size limit
* fix tests expecting old default values
Diffstat (limited to 'internal/config')
| -rw-r--r-- | internal/config/config.go | 2 | ||||
| -rw-r--r-- | internal/config/helpers.gen.go | 50 |
2 files changed, 52 insertions, 0 deletions
diff --git a/internal/config/config.go b/internal/config/config.go index 4a40e9c13..9001b61d0 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -98,6 +98,8 @@ type Configuration struct { MediaRemoteCacheDays int `name:"media-remote-cache-days" usage:"Number of days to locally cache media from remote instances. If set to 0, remote media will be kept indefinitely."` MediaEmojiLocalMaxSize bytesize.Size `name:"media-emoji-local-max-size" usage:"Max size in bytes of emojis uploaded to this instance via the admin API."` MediaEmojiRemoteMaxSize bytesize.Size `name:"media-emoji-remote-max-size" usage:"Max size in bytes of emojis to download from other instances."` + MediaImageSizeHint bytesize.Size `name:"media-image-size-hint" usage:"Size in bytes of max image size referred to on /api/v_/instance endpoints (else, local max size)"` + MediaVideoSizeHint bytesize.Size `name:"media-video-size-hint" usage:"Size in bytes of max video size referred to on /api/v_/instance endpoints (else, local max size)"` MediaLocalMaxSize bytesize.Size `name:"media-local-max-size" usage:"Max size in bytes of media uploaded to this instance via API"` MediaRemoteMaxSize bytesize.Size `name:"media-remote-max-size" usage:"Max size in bytes of media to download from other instances"` MediaCleanupFrom string `name:"media-cleanup-from" usage:"Time of day from which to start running media cleanup/prune jobs. Should be in the format 'hh:mm:ss', eg., '15:04:05'."` diff --git a/internal/config/helpers.gen.go b/internal/config/helpers.gen.go index d25d6cca8..2a7e5b6ad 100644 --- a/internal/config/helpers.gen.go +++ b/internal/config/helpers.gen.go @@ -1225,6 +1225,56 @@ func GetMediaEmojiRemoteMaxSize() bytesize.Size { return global.GetMediaEmojiRem // SetMediaEmojiRemoteMaxSize safely sets the value for global configuration 'MediaEmojiRemoteMaxSize' field func SetMediaEmojiRemoteMaxSize(v bytesize.Size) { global.SetMediaEmojiRemoteMaxSize(v) } +// GetMediaImageSizeHint safely fetches the Configuration value for state's 'MediaImageSizeHint' field +func (st *ConfigState) GetMediaImageSizeHint() (v bytesize.Size) { + st.mutex.RLock() + v = st.config.MediaImageSizeHint + st.mutex.RUnlock() + return +} + +// SetMediaImageSizeHint safely sets the Configuration value for state's 'MediaImageSizeHint' field +func (st *ConfigState) SetMediaImageSizeHint(v bytesize.Size) { + st.mutex.Lock() + defer st.mutex.Unlock() + st.config.MediaImageSizeHint = v + st.reloadToViper() +} + +// MediaImageSizeHintFlag returns the flag name for the 'MediaImageSizeHint' field +func MediaImageSizeHintFlag() string { return "media-image-size-hint" } + +// GetMediaImageSizeHint safely fetches the value for global configuration 'MediaImageSizeHint' field +func GetMediaImageSizeHint() bytesize.Size { return global.GetMediaImageSizeHint() } + +// SetMediaImageSizeHint safely sets the value for global configuration 'MediaImageSizeHint' field +func SetMediaImageSizeHint(v bytesize.Size) { global.SetMediaImageSizeHint(v) } + +// GetMediaVideoSizeHint safely fetches the Configuration value for state's 'MediaVideoSizeHint' field +func (st *ConfigState) GetMediaVideoSizeHint() (v bytesize.Size) { + st.mutex.RLock() + v = st.config.MediaVideoSizeHint + st.mutex.RUnlock() + return +} + +// SetMediaVideoSizeHint safely sets the Configuration value for state's 'MediaVideoSizeHint' field +func (st *ConfigState) SetMediaVideoSizeHint(v bytesize.Size) { + st.mutex.Lock() + defer st.mutex.Unlock() + st.config.MediaVideoSizeHint = v + st.reloadToViper() +} + +// MediaVideoSizeHintFlag returns the flag name for the 'MediaVideoSizeHint' field +func MediaVideoSizeHintFlag() string { return "media-video-size-hint" } + +// GetMediaVideoSizeHint safely fetches the value for global configuration 'MediaVideoSizeHint' field +func GetMediaVideoSizeHint() bytesize.Size { return global.GetMediaVideoSizeHint() } + +// SetMediaVideoSizeHint safely sets the value for global configuration 'MediaVideoSizeHint' field +func SetMediaVideoSizeHint(v bytesize.Size) { global.SetMediaVideoSizeHint(v) } + // GetMediaLocalMaxSize safely fetches the Configuration value for state's 'MediaLocalMaxSize' field func (st *ConfigState) GetMediaLocalMaxSize() (v bytesize.Size) { st.mutex.RLock() |
