diff options
| author | Bobby <[email protected]> | 2025-07-17 10:47:08 +0530 |
|---|---|---|
| committer | Bobby <[email protected]> | 2025-07-17 10:47:08 +0530 |
| commit | b0ba363696a758a8d0637107bd29a0a9ac1382d4 (patch) | |
| tree | f11acd0ebc5a4b3d633a6a596deee92b575f8f1c /config | |
| parent | 94cca506f6d1461bf38afa5b0e38d778391b8d39 (diff) | |
| download | imageboard-b0ba363696a758a8d0637107bd29a0a9ac1382d4.tar.xz imageboard-b0ba363696a758a8d0637107bd29a0a9ac1382d4.zip | |
refactor and fake upload
Diffstat (limited to 'config')
| -rw-r--r-- | config/enums.go | 120 | ||||
| -rw-r--r-- | config/types.go | 4 |
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:""`
|
