package config type Source string const ( SourceDefault Source = "default" SourceEnv Source = "environment" SourceDB Source = "db override" ) type AdminEnabledMode string const ( AdminEnabledAuto AdminEnabledMode = "auto" AdminEnabledTrue AdminEnabledMode = "true" AdminEnabledFalse AdminEnabledMode = "false" ) const ( SettingGuestUploadsEnabled = "guest_uploads_enabled" SettingAPIEnabled = "api_enabled" SettingZipDownloadsEnabled = "zip_downloads_enabled" SettingOneTimeDownloadsEnabled = "one_time_downloads_enabled" SettingOneTimeDownloadExpirySecs = "one_time_download_expiry_seconds" SettingOneTimeDownloadRetryFail = "one_time_download_retry_on_failure" SettingRenewOnAccessEnabled = "renew_on_access_enabled" SettingRenewOnDownloadEnabled = "renew_on_download_enabled" SettingDefaultGuestExpirySecs = "default_guest_expiry_seconds" SettingMaxGuestExpirySecs = "max_guest_expiry_seconds" SettingGlobalMaxFileSizeBytes = "global_max_file_size_bytes" SettingGlobalMaxBoxSizeBytes = "global_max_box_size_bytes" SettingDefaultUserMaxFileBytes = "default_user_max_file_size_bytes" SettingDefaultUserMaxBoxBytes = "default_user_max_box_size_bytes" SettingSessionTTLSeconds = "session_ttl_seconds" SettingBoxPollIntervalMS = "box_poll_interval_ms" SettingThumbnailBatchSize = "thumbnail_batch_size" SettingThumbnailIntervalSeconds = "thumbnail_interval_seconds" SettingDataDir = "data_dir" ) type SettingType string const ( SettingTypeBool SettingType = "bool" SettingTypeInt64 SettingType = "int64" SettingTypeInt SettingType = "int" SettingTypeText SettingType = "text" ) type SettingDefinition struct { Key string EnvName string Label string Type SettingType Editable bool HardLimit bool Minimum int64 } type SettingRow struct { Definition SettingDefinition Value string Source Source } type Config struct { DataDir string UploadsDir string DBDir string AdminPassword string AdminUsername string AdminEmail string AdminEnabled AdminEnabledMode AdminCookieSecure bool AllowAdminSettingsOverride bool GuestUploadsEnabled bool APIEnabled bool ZipDownloadsEnabled bool OneTimeDownloadsEnabled bool OneTimeDownloadExpirySeconds int64 OneTimeDownloadRetryOnFailure bool RenewOnAccessEnabled bool RenewOnDownloadEnabled bool DefaultGuestExpirySeconds int64 MaxGuestExpirySeconds int64 GlobalMaxFileSizeBytes int64 GlobalMaxBoxSizeBytes int64 DefaultUserMaxFileSizeBytes int64 DefaultUserMaxBoxSizeBytes int64 SessionTTLSeconds int64 BoxPollIntervalMS int ThumbnailBatchSize int ThumbnailIntervalSeconds int sources map[string]Source values map[string]string }