feat: add inbox messages module for calendar invitations

This commit is contained in:
qzl
2026-02-28 12:09:34 +08:00
parent 9b48939de8
commit 709ae5ab73
8 changed files with 454 additions and 0 deletions
+46
View File
@@ -0,0 +1,46 @@
from __future__ import annotations
from datetime import datetime
from enum import Enum
from typing import ClassVar
from uuid import UUID
from pydantic import BaseModel, ConfigDict
class InboxMessageType(str, Enum):
FRIEND_REQUEST = "friend_request"
CALENDAR = "calendar"
SYSTEM = "system"
GROUP = "group"
class InboxMessageStatus(str, Enum):
PENDING = "pending"
ACCEPTED = "accepted"
REJECTED = "rejected"
DISMISSED = "dismissed"
class InboxMessageResponse(BaseModel):
model_config: ClassVar[ConfigDict] = ConfigDict(from_attributes=True)
id: UUID
recipient_id: UUID
sender_id: UUID | None = None
message_type: InboxMessageType
schedule_item_id: UUID | None = None
content: str | None = None
is_read: bool = False
status: InboxMessageStatus = InboxMessageStatus.PENDING
created_at: datetime
class InboxMessageListRequest(BaseModel):
status: InboxMessageStatus | None = None
class InboxMessageAcceptRequest(BaseModel):
permission_view: bool = True
permission_edit: bool = False
permission_invite: bool = False