Files
video-gen/video-gen-api/app/enums/upload_resource.py
T
2026-07-09 09:10:49 +08:00

168 lines
5.8 KiB
Python

from __future__ import annotations
from enum import StrEnum
class UploadResourceModuleEnum(StrEnum):
"""上传资源所属业务模块。"""
COMMON = "common"
HOT_OPENING_REPLICATE = "hot_opening_replicate"
SHOT_REPLICATE = "shot_replicate"
class UploadResourceTypeEnum(StrEnum):
"""上传资源类型。"""
IMAGE = "image"
VIDEO = "video"
AUDIO = "audio"
SHOT_SEGMENT = "shot_segment"
class UploadResourceBindStatusEnum(StrEnum):
"""上传资源绑定状态。"""
PENDING = "pending"
BOUND = "bound"
class UploadResourceDeletePolicyEnum(StrEnum):
"""上传资源删除策略。"""
USER_DELETABLE = "user_deletable"
MODULE_ONLY = "module_only"
SYSTEM_ONLY = "system_only"
class UploadResourceCreatedByEnum(StrEnum):
"""上传资源创建来源。"""
API = "api"
BACKFILL = "backfill"
SPLIT_TASK = "split_task"
SYSTEM_CLEANUP = "system_cleanup"
class UploadResourceDurationSourceEnum(StrEnum):
"""音视频秒数来源。"""
FFPROBE = "ffprobe"
CLIENT = "client"
BUSINESS = "business"
UNKNOWN = "unknown"
class UploadResourceFileDeleteStatusEnum(StrEnum):
"""上传资源真实文件删除状态。"""
ACTIVE = "active"
PENDING_DELETE = "pending_delete"
DELETED = "deleted"
DELETE_FAILED = "delete_failed"
DELETE_MARKED_PENDING = "delete_marked_pending"
DELETE_PHYSICAL_SUCCESS = "delete_physical_success"
DELETE_PHYSICAL_MISSING = "delete_physical_missing"
DELETE_PHYSICAL_FAILED = "delete_physical_failed"
CLEANUP_PENDING_START = "cleanup_pending_start"
CLEANUP_PENDING_FINISHED = "cleanup_pending_finished"
MISSING = "missing"
class UploadResourceSourceModelEnum(StrEnum):
"""上传资源业务来源模型名。"""
MODULE_GENERATION_PROJECT = "ModuleGenerationProject"
SHOT_REPLICATE_TASK_SET = "ShotReplicateTaskSet"
SHOT_REPLICATE_SEGMENT = "ShotReplicateSegment"
class UploadResourceEventEnum(StrEnum):
"""上传资源日志事件。"""
UPLOAD_START = "upload_start"
UPLOAD_CAPACITY_CHECKED = "upload_capacity_checked"
UPLOAD_CAPACITY_REJECTED = "upload_capacity_rejected"
UPLOAD_FILE_SAVED = "upload_file_saved"
UPLOAD_DB_RECORDED = "upload_db_recorded"
UPLOAD_FAILED = "upload_failed"
DELETE_START = "delete_start"
DELETE_REJECTED_BOUND = "delete_rejected_bound"
DELETE_FILE_REMOVED = "delete_file_removed"
DELETE_CAPACITY_RELEASED = "delete_capacity_released"
DELETE_FAILED = "delete_failed"
DELETE_MARKED_PENDING = "delete_marked_pending"
DELETE_PHYSICAL_SUCCESS = "delete_physical_success"
DELETE_PHYSICAL_MISSING = "delete_physical_missing"
DELETE_PHYSICAL_FAILED = "delete_physical_failed"
CLEANUP_PENDING_START = "cleanup_pending_start"
CLEANUP_PENDING_FINISHED = "cleanup_pending_finished"
BIND_START = "bind_start"
BIND_SUCCESS = "bind_success"
BIND_CONFLICT = "bind_conflict"
BIND_SKIPPED = "bind_skipped"
BACKFILL_START = "backfill_start"
BACKFILL_FILE_MATCHED = "backfill_file_matched"
BACKFILL_FILE_INSERTED = "backfill_file_inserted"
BACKFILL_FILE_EXISTS = "backfill_file_exists"
BACKFILL_FILE_SKIPPED = "backfill_file_skipped"
BACKFILL_REBIND_DONE = "backfill_rebind_done"
BACKFILL_STATS_REBUILT = "backfill_stats_rebuilt"
BACKFILL_FINISHED = "backfill_finished"
HISTORY_LIST_START = "history_list_start"
HISTORY_LIST_SUCCESS = "history_list_success"
HISTORY_LIST_FAILED = "history_list_failed"
HISTORY_DAY_LIST_START = "history_day_list_start"
HISTORY_DAY_LIST_SUCCESS = "history_day_list_success"
HISTORY_DAY_LIST_FAILED = "history_day_list_failed"
DELETE_BATCH_START = "delete_batch_start"
DELETE_BATCH_VALIDATE_FAILED = "delete_batch_validate_failed"
DELETE_BATCH_MARKED_PENDING = "delete_batch_marked_pending"
DELETE_BATCH_COMMIT_SUCCESS = "delete_batch_commit_success"
DELETE_BATCH_CLEANUP_SUCCESS = "delete_batch_cleanup_success"
DELETE_BATCH_CLEANUP_FAILED = "delete_batch_cleanup_failed"
DELETE_BATCH_FAILED = "delete_batch_failed"
DELETE_BATCH_ROLLBACK_FAILED = "delete_batch_rollback_failed"
DELETE_UPLOAD_FAILED = "delete_upload_failed"
DELETE_UPLOAD_ROLLBACK_FAILED = "delete_upload_rollback_failed"
DELETE_UPLOAD_CLEANUP_FAILED = "delete_upload_cleanup_failed"
HOT_OPENING_DELETE_PROJECT_FAILED = "hot_opening_delete_project_failed"
HOT_OPENING_DELETE_PROJECT_ROLLBACK_FAILED = "hot_opening_delete_project_rollback_failed"
HOT_OPENING_DELETE_PROJECT_CLEANUP_FAILED = "hot_opening_delete_project_cleanup_failed"
SHOT_SEGMENT_DELETE_FAILED = "shot_segment_delete_failed"
SHOT_SEGMENT_DELETE_ROLLBACK_FAILED = "shot_segment_delete_rollback_failed"
SHOT_SEGMENT_DELETE_CLEANUP_FAILED = "shot_segment_delete_cleanup_failed"
SHOT_TASK_SET_DELETE_FAILED = "shot_task_set_delete_failed"
SHOT_TASK_SET_DELETE_ROLLBACK_FAILED = "shot_task_set_delete_rollback_failed"
SHOT_TASK_SET_DELETE_CLEANUP_FAILED = "shot_task_set_delete_cleanup_failed"
UPLOAD_RESOURCE_PHYSICAL_DELETE_FAILED = "upload_resource_physical_delete_failed"
UPLOAD_RESOURCE_CLEANUP_BATCH_FAILED = "upload_resource_cleanup_batch_failed"
UPLOAD_RESOURCE_BACKFILL_CLI_FAILED = "upload_resource_backfill_cli_failed"
UPLOAD_RESOURCE_BACKFILL_CLI_ROLLBACK_FAILED = "upload_resource_backfill_cli_rollback_failed"
UPLOAD_RESOURCE_MODULE_LABELS: dict[str, str] = {
UploadResourceModuleEnum.COMMON.value: "普通上传",
UploadResourceModuleEnum.HOT_OPENING_REPLICATE.value: "爆款开头复刻",
UploadResourceModuleEnum.SHOT_REPLICATE.value: "拆镜复刻",
}
UPLOAD_RESOURCE_TYPE_LABELS: dict[str, str] = {
UploadResourceTypeEnum.IMAGE.value: "图片",
UploadResourceTypeEnum.VIDEO.value: "视频",
UploadResourceTypeEnum.AUDIO.value: "音频",
UploadResourceTypeEnum.SHOT_SEGMENT.value: "拆镜切片",
}