68 lines
2.4 KiB
Python
68 lines
2.4 KiB
Python
from __future__ import annotations
|
|
|
|
from enum import StrEnum
|
|
|
|
from app.enums.generation_task import ChatGenerationTaskStatus, GenerationMode
|
|
|
|
|
|
class RecentGenerationModuleEnum(StrEnum):
|
|
"""最近生成记录接口支持的模块分组枚举。"""
|
|
|
|
PROJECT = "project"
|
|
CHAT_AI = "chat_ai"
|
|
HOT_OPENING_REPLICATE = "hot_opening_replicate"
|
|
SHOT_REPLICATE = "shot_replicate"
|
|
|
|
|
|
class RecentGenerationResourceTypeEnum(StrEnum):
|
|
"""最近生成记录接口返回的资源类型枚举。"""
|
|
|
|
IMAGE = "image"
|
|
VIDEO = "video"
|
|
|
|
|
|
RECENT_GENERATION_ALL_MODULES: tuple[RecentGenerationModuleEnum, ...] = (
|
|
RecentGenerationModuleEnum.PROJECT,
|
|
RecentGenerationModuleEnum.CHAT_AI,
|
|
RecentGenerationModuleEnum.HOT_OPENING_REPLICATE,
|
|
RecentGenerationModuleEnum.SHOT_REPLICATE,
|
|
)
|
|
"""最近生成记录接口默认查询的全部模块。"""
|
|
|
|
|
|
RECENT_GENERATION_CHAT_TASK_MODULES: tuple[RecentGenerationModuleEnum, ...] = (
|
|
RecentGenerationModuleEnum.CHAT_AI,
|
|
RecentGenerationModuleEnum.HOT_OPENING_REPLICATE,
|
|
RecentGenerationModuleEnum.SHOT_REPLICATE,
|
|
)
|
|
"""来自 chat_generation_tasks 表的模块集合。"""
|
|
|
|
|
|
RECENT_GENERATION_MODULE_TO_TASK_MODES: dict[RecentGenerationModuleEnum, tuple[GenerationMode, ...]] = {
|
|
RecentGenerationModuleEnum.CHAT_AI: (
|
|
GenerationMode.CHATAPI_ASYNC,
|
|
GenerationMode.CHATAPI_CHILD,
|
|
),
|
|
RecentGenerationModuleEnum.HOT_OPENING_REPLICATE: (GenerationMode.HOT_OPENING_REPLICATE,),
|
|
RecentGenerationModuleEnum.SHOT_REPLICATE: (GenerationMode.SHOT_REPLICATE,),
|
|
}
|
|
"""最近生成记录模块枚举到 ChatGenerationTask.generation_mode 集合的映射。"""
|
|
|
|
|
|
RECENT_GENERATION_MODULE_TO_TASK_MODE: dict[RecentGenerationModuleEnum, GenerationMode] = {
|
|
module: task_modes[0]
|
|
for module, task_modes in RECENT_GENERATION_MODULE_TO_TASK_MODES.items()
|
|
}
|
|
"""兼容旧调用的单一任务模式映射。"""
|
|
|
|
|
|
RECENT_GENERATION_TASK_MODE_VALUE_TO_MODULE: dict[str, RecentGenerationModuleEnum] = {
|
|
task_mode.value: module
|
|
for module, task_modes in RECENT_GENERATION_MODULE_TO_TASK_MODES.items()
|
|
for task_mode in task_modes
|
|
}
|
|
"""ChatGenerationTask.generation_mode 字符串值到最近生成记录模块枚举的映射。"""
|
|
|
|
|
|
RECENT_GENERATION_COMPLETED_STATUS = ChatGenerationTaskStatus.COMPLETED.value
|
|
"""最近生成记录只展示生成成功的数据,状态值与 ChatGenerationTaskStatus.COMPLETED 保持一致。""" |