This commit is contained in:
Timothy Jaeryang Baek 2025-12-03 18:22:00 -05:00
parent 54b7ec56d6
commit 39f778c275

View file

@ -9,7 +9,7 @@ from open_webui.models.users import Users, User, UserNameResponse
from open_webui.models.channels import Channels, ChannelMember from open_webui.models.channels import Channels, ChannelMember
from pydantic import BaseModel, ConfigDict from pydantic import BaseModel, ConfigDict, field_validator
from sqlalchemy import BigInteger, Boolean, Column, String, Text, JSON from sqlalchemy import BigInteger, Boolean, Column, String, Text, JSON
from sqlalchemy import or_, func, select, and_, text from sqlalchemy import or_, func, select, and_, text
from sqlalchemy.sql import exists from sqlalchemy.sql import exists
@ -108,11 +108,24 @@ class MessageUserResponse(MessageModel):
user: Optional[UserNameResponse] = None user: Optional[UserNameResponse] = None
class MessageUserSlimResponse(MessageUserResponse):
data: bool | None = None
@field_validator("data", mode="before")
def convert_data_to_bool(cls, v):
# No data or not a dict → False
if not isinstance(v, dict):
return False
# True if ANY value in the dict is non-empty
return any(bool(val) for val in v.values())
class MessageReplyToResponse(MessageUserResponse): class MessageReplyToResponse(MessageUserResponse):
reply_to_message: Optional[MessageUserResponse] = None reply_to_message: Optional[MessageUserSlimResponse] = None
class MessageWithReactionsResponse(MessageUserResponse): class MessageWithReactionsResponse(MessageUserSlimResponse):
reactions: list[Reactions] reactions: list[Reactions]