summaryrefslogtreecommitdiffstats
path: root/modules/setting/attachment.go
diff options
context:
space:
mode:
Diffstat (limited to 'modules/setting/attachment.go')
-rw-r--r--modules/setting/attachment.go35
1 files changed, 35 insertions, 0 deletions
diff --git a/modules/setting/attachment.go b/modules/setting/attachment.go
new file mode 100644
index 00000000..0fdabb50
--- /dev/null
+++ b/modules/setting/attachment.go
@@ -0,0 +1,35 @@
+// Copyright 2020 The Gitea Authors. All rights reserved.
+// SPDX-License-Identifier: MIT
+
+package setting
+
+// Attachment settings
+var Attachment = struct {
+ Storage *Storage
+ AllowedTypes string
+ MaxSize int64
+ MaxFiles int
+ Enabled bool
+}{
+ Storage: &Storage{},
+ AllowedTypes: ".cpuprofile,.csv,.dmp,.docx,.fodg,.fodp,.fods,.fodt,.gif,.gz,.jpeg,.jpg,.json,.jsonc,.log,.md,.mov,.mp4,.odf,.odg,.odp,.ods,.odt,.patch,.pdf,.png,.pptx,.svg,.tgz,.txt,.webm,.xls,.xlsx,.zip",
+ MaxSize: 2048,
+ MaxFiles: 5,
+ Enabled: true,
+}
+
+func loadAttachmentFrom(rootCfg ConfigProvider) (err error) {
+ sec, _ := rootCfg.GetSection("attachment")
+ if sec == nil {
+ Attachment.Storage, err = getStorage(rootCfg, "attachments", "", nil)
+ return err
+ }
+
+ Attachment.AllowedTypes = sec.Key("ALLOWED_TYPES").MustString(".cpuprofile,.csv,.dmp,.docx,.fodg,.fodp,.fods,.fodt,.gif,.gz,.jpeg,.jpg,.json,.jsonc,.log,.md,.mov,.mp4,.odf,.odg,.odp,.ods,.odt,.patch,.pdf,.png,.pptx,.svg,.tgz,.txt,.webm,.xls,.xlsx,.zip")
+ Attachment.MaxSize = sec.Key("MAX_SIZE").MustInt64(2048)
+ Attachment.MaxFiles = sec.Key("MAX_FILES").MustInt(5)
+ Attachment.Enabled = sec.Key("ENABLED").MustBool(true)
+
+ Attachment.Storage, err = getStorage(rootCfg, "attachments", "", sec)
+ return err
+}