Files
video-gen/video-gen-api/app/enums/admin_upload.py
T

56 lines
1.8 KiB
Python

from __future__ import annotations
from enum import StrEnum
class AdminUploadSceneEnum(StrEnum):
"""管理后台全局上传场景。"""
SYSTEM_LOGO = "system_logo"
SYSTEM_PDF = "system_pdf"
OPEN_TYPE_THUMB = "open_type_thumb"
HOME_MATERIAL_REFERENCE = "home_material_reference"
ADMIN_COMMON = "admin_common"
class AdminUploadResourceTypeEnum(StrEnum):
"""管理后台全局上传资源类型。"""
IMAGE = "image"
VIDEO = "video"
AUDIO = "audio"
PDF = "pdf"
FILE = "file"
class AdminUploadLogEventEnum(StrEnum):
"""管理后台上传步骤日志事件。"""
VALIDATE_STARTED = "ADMIN_UPLOAD_VALIDATE_STARTED"
VALIDATE_SUCCESS = "ADMIN_UPLOAD_VALIDATE_SUCCESS"
SAVE_STARTED = "ADMIN_UPLOAD_SAVE_STARTED"
SAVE_SUCCESS = "ADMIN_UPLOAD_SAVE_SUCCESS"
DB_RECORD_SUCCESS = "ADMIN_UPLOAD_DB_RECORD_SUCCESS"
FAILED = "ADMIN_UPLOAD_FAILED"
ADMIN_UPLOAD_IMAGE_EXTENSIONS = {".jpg", ".jpeg", ".png", ".webp", ".gif"}
ADMIN_UPLOAD_VIDEO_EXTENSIONS = {".mp4", ".mov", ".m4v", ".webm"}
ADMIN_UPLOAD_AUDIO_EXTENSIONS = {".mp3", ".wav", ".m4a", ".aac"}
ADMIN_UPLOAD_PDF_EXTENSIONS = {".pdf"}
ADMIN_UPLOAD_IMAGE_MAX_BYTES = 20 * 1024 * 1024
ADMIN_UPLOAD_VIDEO_MAX_BYTES = 300 * 1024 * 1024
ADMIN_UPLOAD_AUDIO_MAX_BYTES = 30 * 1024 * 1024
ADMIN_UPLOAD_PDF_MAX_BYTES = 20 * 1024 * 1024
ADMIN_UPLOAD_FILE_MAX_BYTES = 100 * 1024 * 1024
ADMIN_UPLOAD_FILE_NAME_MAX_LEN = 255
ADMIN_UPLOAD_SCENE_LABELS: dict[str, str] = {
AdminUploadSceneEnum.SYSTEM_LOGO.value: "系统Logo",
AdminUploadSceneEnum.SYSTEM_PDF.value: "系统PDF",
AdminUploadSceneEnum.OPEN_TYPE_THUMB.value: "开户方式缩略图",
AdminUploadSceneEnum.HOME_MATERIAL_REFERENCE.value: "首页素材附件",
AdminUploadSceneEnum.ADMIN_COMMON.value: "后台公共上传",
}