aboutsummaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authorBobby <[email protected]>2025-07-17 10:47:08 +0530
committerBobby <[email protected]>2025-07-17 10:47:08 +0530
commitb0ba363696a758a8d0637107bd29a0a9ac1382d4 (patch)
treef11acd0ebc5a4b3d633a6a596deee92b575f8f1c /config
parent94cca506f6d1461bf38afa5b0e38d778391b8d39 (diff)
downloadimageboard-b0ba363696a758a8d0637107bd29a0a9ac1382d4.tar.xz
imageboard-b0ba363696a758a8d0637107bd29a0a9ac1382d4.zip
refactor and fake upload
Diffstat (limited to 'config')
-rw-r--r--config/enums.go120
-rw-r--r--config/types.go4
2 files changed, 122 insertions, 2 deletions
diff --git a/config/enums.go b/config/enums.go
new file mode 100644
index 0000000..e825d61
--- /dev/null
+++ b/config/enums.go
@@ -0,0 +1,120 @@
+package config
+
+type UserLevel int
+
+const (
+ UserLevelMember UserLevel = iota
+ UserLevelContributor
+ UserLevelJanitor
+ UserLevelModerator
+ UserLevelAdmin
+ UserLevelSuperAdmin
+)
+
+func (l UserLevel) String() string {
+ switch l {
+ case UserLevelMember:
+ return "Member"
+ case UserLevelContributor:
+ return "Contributor"
+ case UserLevelJanitor:
+ return "Janitor"
+ case UserLevelModerator:
+ return "Moderator"
+ case UserLevelAdmin:
+ return "Admin"
+ default:
+ return "Unknown"
+ }
+}
+
+func (l UserLevel) Color() string {
+ switch l {
+ case UserLevelMember:
+ return "#8B9DC3" // Soft periwinkle blue
+ case UserLevelContributor:
+ return "#7FCDAE" // Mint green
+ case UserLevelJanitor:
+ return "#9BB5FF" // Light electric blue
+ case UserLevelModerator:
+ return "#FF9F9B" // Coral pink
+ case UserLevelAdmin:
+ return "#C39BD3" // Lavender purple
+ case UserLevelSuperAdmin:
+ return "#FFD93D" // Electric yellow
+ default:
+ return "#B0B0B0" // Neutral gray
+ }
+}
+
+type Rating string
+
+const (
+ RatingSafe Rating = "Safe"
+ RatingQuestionable Rating = "Questionable"
+ RatingSensitive Rating = "Sensitive"
+ RatingExplicit Rating = "Explicit"
+)
+
+type ImageContentType string
+
+const (
+ ImageContentTypeJPEG ImageContentType = "image/jpeg"
+ ImageContentTypePNG ImageContentType = "image/png"
+ ImageContentTypeGIF ImageContentType = "image/gif"
+ ImageContentTypeWebP ImageContentType = "image/webp"
+ ImageContentTypeAVIF ImageContentType = "image/avif"
+ ImageContentTypeSVG ImageContentType = "image/svg+xml"
+ ImageContentTypeBMP ImageContentType = "image/bmp"
+ ImageContentTypeTIFF ImageContentType = "image/tiff"
+ ImageContentTypeICO ImageContentType = "image/x-icon"
+ ImageContentTypeHEIC ImageContentType = "image/heic"
+ ImageContentTypeHEIF ImageContentType = "image/heif"
+ ImageContentTypeUnknown ImageContentType = "application/octet-stream"
+)
+
+type ImageSizeType string
+
+const (
+ ImageSizeTypeIcon ImageSizeType = "icon"
+ ImageSizeTypeThumbnail ImageSizeType = "thumbnail"
+ ImageSizeTypeSmall ImageSizeType = "small"
+ ImageSizeTypeMedium ImageSizeType = "medium"
+ ImageSizeTypeLarge ImageSizeType = "large"
+ ImageSizeTypeOriginal ImageSizeType = "original"
+)
+
+type TagType string
+
+const (
+ TagTypeGeneral TagType = "general"
+ TagTypeArtist TagType = "artist"
+ TagTypeCopyright TagType = "copyright"
+ TagTypeCharacter TagType = "character"
+ TagTypeMeta TagType = "meta"
+)
+
+func (t TagType) Color() string {
+ switch t {
+ case TagTypeGeneral:
+ return "#4ECDC4" // Turquoise cyan
+ case TagTypeArtist:
+ return "#FF6B9D" // Hot pink
+ case TagTypeCopyright:
+ return "#A8E6CF" // Mint green
+ case TagTypeCharacter:
+ return "#FFB347" // Peach orange
+ case TagTypeMeta:
+ return "#DDA0DD" // Plum purple
+ default:
+ return "#E6E6FA" // Light lavender
+ }
+}
+
+type EmailTokenType string
+
+const (
+ EmailTokenTypeVerification EmailTokenType = "verification"
+ EmailTokenTypePasswordReset EmailTokenType = "password_reset"
+ EmailTokenTypeChangeEmail EmailTokenType = "change_email"
+)
diff --git a/config/types.go b/config/types.go
index a66c7a4..7ddbc84 100644
--- a/config/types.go
+++ b/config/types.go
@@ -41,8 +41,8 @@ type S3Config struct {
Endpoint string `env:"S3_ENDPOINT" default:"localhost:9000"`
AccessKey string `env:"S3_ACCESS_KEY" default:"minioadmin"`
SecretAccessKey string `env:"S3_SECRET_KEY" default:"minioadmin"`
- BucketName string `env:"S3_BUCKET_NAME" default:"shifoo"`
- FolderPath string `env:"S3_FOLDER_PATH" default:"imageboard"`
+ BucketName string `env:"S3_BUCKET_NAME" default:"imageboard"`
+ FolderPath string `env:"S3_FOLDER_PATH" default:""`
Region string `env:"S3_REGION" default:"us-east-1"`
UseSSL bool `env:"S3_USE_SSL" default:"false"`
PublicURL string `env:"S3_PUBLIC_URL" default:""`