更改ActionRecord为数据模型

This commit is contained in:
UnCLAS-Prommer
2025-08-24 00:11:57 +08:00
parent 90c7be0912
commit d2f98145da
4 changed files with 54 additions and 13 deletions

View File

@@ -1,3 +1,4 @@
import json
from typing import Optional, Any, Dict
from dataclasses import dataclass, field
@@ -196,3 +197,32 @@ class DatabaseMessages(BaseDataModel):
"chat_info_user_nickname": self.chat_info.user_info.user_nickname,
"chat_info_user_cardname": self.chat_info.user_info.user_cardname,
}
@dataclass(init=False)
class DatabaseActionRecords(BaseDataModel):
def __init__(
self,
action_id: str,
time: float,
action_name: str,
action_data: str,
action_done: bool,
action_build_into_prompt: bool,
action_prompt_display: str,
chat_id: str,
chat_info_stream_id: str,
chat_info_platform: str,
):
self.action_id = action_id
self.time = time
self.action_name = action_name
if isinstance(action_data, str):
self.action_data = json.loads(action_data)
else:
raise ValueError("action_data must be a JSON string")
self.action_done = action_done
self.action_build_into_prompt = action_build_into_prompt
self.action_prompt_display = action_prompt_display
self.chat_id = chat_id
self.chat_info_stream_id = chat_info_stream_id
self.chat_info_platform = chat_info_platform