refactor: 重构 schemas 结构,统一枚举定义
This commit is contained in:
@@ -6,7 +6,7 @@ from models.automation_jobs import AutomationJob
|
||||
from models.group_members import GroupMember
|
||||
from models.groups import Group
|
||||
from models.inbox_messages import InboxMessage
|
||||
from models.invite_code import InviteCode, InviteCodeStatus
|
||||
from models.invite_code import InviteCode
|
||||
from models.llm import Llm
|
||||
from models.llm_factory import LlmFactory
|
||||
from models.memories import Memory
|
||||
@@ -16,6 +16,7 @@ from models.schedule_subscriptions import ScheduleSubscription
|
||||
from models.system_agents import SystemAgents
|
||||
from models.todos import Todo
|
||||
from models.todo_sources import TodoSource
|
||||
from schemas.enums import InviteCodeStatus
|
||||
|
||||
__all__ = [
|
||||
"AgentChatMessage",
|
||||
|
||||
@@ -2,7 +2,6 @@ from __future__ import annotations
|
||||
|
||||
from decimal import Decimal
|
||||
import uuid
|
||||
from enum import Enum
|
||||
|
||||
from sqlalchemy import (
|
||||
BigInteger,
|
||||
@@ -19,13 +18,9 @@ from sqlalchemy.dialects.postgresql import JSONB, UUID
|
||||
from sqlalchemy.orm import Mapped, mapped_column
|
||||
|
||||
from core.db.base import Base, SoftDeleteMixin, TimestampMixin
|
||||
from schemas.enums import AgentChatMessageRole
|
||||
|
||||
|
||||
class AgentChatMessageRole(str, Enum):
|
||||
USER = "user"
|
||||
ASSISTANT = "assistant"
|
||||
SYSTEM = "system"
|
||||
TOOL = "tool"
|
||||
__all__ = ["AgentChatMessage", "AgentChatMessageRole"]
|
||||
|
||||
|
||||
class AgentChatMessage(TimestampMixin, SoftDeleteMixin, Base):
|
||||
|
||||
@@ -3,7 +3,6 @@ from __future__ import annotations
|
||||
from datetime import datetime
|
||||
from decimal import Decimal
|
||||
import uuid
|
||||
from enum import Enum
|
||||
|
||||
from sqlalchemy import (
|
||||
DateTime,
|
||||
@@ -19,18 +18,9 @@ from sqlalchemy.dialects.postgresql import JSONB, UUID
|
||||
from sqlalchemy.orm import Mapped, mapped_column
|
||||
|
||||
from core.db.base import Base, SoftDeleteMixin, TimestampMixin
|
||||
from schemas.enums import AgentChatSessionStatus, SessionType
|
||||
|
||||
|
||||
class AgentChatSessionStatus(str, Enum):
|
||||
PENDING = "pending"
|
||||
RUNNING = "running"
|
||||
COMPLETED = "completed"
|
||||
FAILED = "failed"
|
||||
|
||||
|
||||
class SessionType(str, Enum):
|
||||
CHAT = "chat"
|
||||
AUTOMATION = "automation"
|
||||
__all__ = ["AgentChatSession", "AgentChatSessionStatus", "SessionType"]
|
||||
|
||||
|
||||
class AgentChatSession(TimestampMixin, SoftDeleteMixin, Base):
|
||||
|
||||
@@ -2,23 +2,15 @@ from __future__ import annotations
|
||||
|
||||
import uuid
|
||||
from datetime import datetime
|
||||
from enum import Enum
|
||||
|
||||
from sqlalchemy import DateTime, JSON, String
|
||||
from sqlalchemy.dialects.postgresql import JSONB, UUID
|
||||
from sqlalchemy.orm import Mapped, mapped_column
|
||||
|
||||
from core.db.base import Base, SoftDeleteMixin, TimestampMixin
|
||||
from schemas.enums import AutomationJobStatus, ScheduleType
|
||||
|
||||
|
||||
class AutomationJobStatus(str, Enum):
|
||||
ACTIVE = "active"
|
||||
DISABLED = "disabled"
|
||||
|
||||
|
||||
class ScheduleType(str, Enum):
|
||||
DAILY = "daily"
|
||||
WEEKLY = "weekly"
|
||||
__all__ = ["AutomationJob", "AutomationJobStatus", "ScheduleType"]
|
||||
|
||||
|
||||
class AutomationJob(TimestampMixin, SoftDeleteMixin, Base):
|
||||
|
||||
@@ -2,21 +2,15 @@ from __future__ import annotations
|
||||
|
||||
import uuid
|
||||
from datetime import datetime
|
||||
from enum import Enum
|
||||
|
||||
from sqlalchemy import DateTime, String
|
||||
from sqlalchemy.dialects.postgresql import UUID
|
||||
from sqlalchemy.orm import Mapped, mapped_column
|
||||
|
||||
from core.db.base import Base, SoftDeleteMixin, TimestampMixin
|
||||
from schemas.enums import FriendshipStatus
|
||||
|
||||
|
||||
class FriendshipStatus(str, Enum):
|
||||
PENDING = "pending"
|
||||
ACCEPTED = "accepted"
|
||||
BLOCKED = "blocked"
|
||||
DECLINED = "declined"
|
||||
CANCELED = "canceled"
|
||||
__all__ = ["Friendship", "FriendshipStatus"]
|
||||
|
||||
|
||||
class Friendship(TimestampMixin, SoftDeleteMixin, Base):
|
||||
|
||||
@@ -1,30 +1,20 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import uuid
|
||||
from enum import Enum
|
||||
|
||||
from sqlalchemy import String
|
||||
from sqlalchemy.dialects.postgresql import UUID
|
||||
from sqlalchemy.orm import Mapped, mapped_column
|
||||
|
||||
from core.db.base import Base, SoftDeleteMixin, TimestampMixin
|
||||
from schemas.enums import GroupMemberRole, GroupMemberSource, GroupMemberStatus
|
||||
|
||||
|
||||
class GroupMemberRole(str, Enum):
|
||||
OWNER = "owner"
|
||||
ADMIN = "admin"
|
||||
MEMBER = "member"
|
||||
|
||||
|
||||
class GroupMemberSource(str, Enum):
|
||||
INVITED = "invited"
|
||||
JOINED = "joined"
|
||||
|
||||
|
||||
class GroupMemberStatus(str, Enum):
|
||||
ACTIVE = "active"
|
||||
MUTED = "muted"
|
||||
REMOVED = "removed"
|
||||
__all__ = [
|
||||
"GroupMember",
|
||||
"GroupMemberRole",
|
||||
"GroupMemberSource",
|
||||
"GroupMemberStatus",
|
||||
]
|
||||
|
||||
|
||||
class GroupMember(TimestampMixin, SoftDeleteMixin, Base):
|
||||
|
||||
@@ -1,18 +1,15 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import uuid
|
||||
from enum import Enum
|
||||
|
||||
from sqlalchemy import String, Text
|
||||
from sqlalchemy.dialects.postgresql import UUID
|
||||
from sqlalchemy.orm import Mapped, mapped_column
|
||||
|
||||
from core.db.base import Base, SoftDeleteMixin, TimestampMixin
|
||||
from schemas.enums import GroupStatus
|
||||
|
||||
|
||||
class GroupStatus(str, Enum):
|
||||
ACTIVE = "active"
|
||||
ARCHIVED = "archived"
|
||||
__all__ = ["Group", "GroupStatus"]
|
||||
|
||||
|
||||
class Group(TimestampMixin, SoftDeleteMixin, Base):
|
||||
|
||||
@@ -1,27 +1,15 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import uuid
|
||||
from enum import Enum
|
||||
|
||||
from sqlalchemy import Boolean, String
|
||||
from sqlalchemy.dialects.postgresql import JSONB, UUID
|
||||
from sqlalchemy.orm import Mapped, mapped_column
|
||||
|
||||
from core.db.base import Base, TimestampMixin
|
||||
from schemas.enums import InboxMessageStatus, InboxMessageType
|
||||
|
||||
|
||||
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"
|
||||
__all__ = ["InboxMessage", "InboxMessageType", "InboxMessageStatus"]
|
||||
|
||||
|
||||
class InboxMessage(TimestampMixin, Base):
|
||||
|
||||
@@ -2,7 +2,6 @@ from __future__ import annotations
|
||||
|
||||
import uuid
|
||||
from datetime import datetime
|
||||
from enum import Enum
|
||||
|
||||
from sqlalchemy import CheckConstraint, DateTime, ForeignKey, Integer, String
|
||||
from sqlalchemy.dialects.postgresql import UUID
|
||||
@@ -10,12 +9,9 @@ from sqlalchemy.orm import Mapped, mapped_column
|
||||
|
||||
from core.db.base import Base, TimestampMixin
|
||||
from core.db.types import json_jsonb
|
||||
from schemas.enums import InviteCodeStatus
|
||||
|
||||
|
||||
class InviteCodeStatus(str, Enum):
|
||||
ACTIVE = "active"
|
||||
DISABLED = "disabled"
|
||||
EXPIRED = "expired"
|
||||
__all__ = ["InviteCode", "InviteCodeStatus"]
|
||||
|
||||
|
||||
class InviteCode(TimestampMixin, Base):
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import uuid
|
||||
from enum import Enum
|
||||
|
||||
from sqlalchemy import String
|
||||
from sqlalchemy.dialects.postgresql import UUID
|
||||
@@ -9,16 +8,9 @@ from sqlalchemy.orm import Mapped, mapped_column
|
||||
|
||||
from core.db.base import Base, TimestampMixin
|
||||
from core.db.types import json_jsonb
|
||||
from schemas.enums import MemoryStatus, MemoryType
|
||||
|
||||
|
||||
class MemoryType(str, Enum):
|
||||
USER = "user"
|
||||
WORK = "work"
|
||||
|
||||
|
||||
class MemoryStatus(str, Enum):
|
||||
ACTIVE = "active"
|
||||
DISABLED = "disabled"
|
||||
__all__ = ["Memory", "MemoryType", "MemoryStatus"]
|
||||
|
||||
|
||||
class Memory(TimestampMixin, Base):
|
||||
|
||||
@@ -2,7 +2,6 @@ from __future__ import annotations
|
||||
|
||||
import uuid
|
||||
from datetime import datetime
|
||||
from enum import Enum
|
||||
|
||||
from sqlalchemy import DateTime, String, Text
|
||||
from sqlalchemy.dialects.postgresql import UUID
|
||||
@@ -10,19 +9,9 @@ from sqlalchemy.orm import Mapped, mapped_column
|
||||
|
||||
from core.db.base import Base, SoftDeleteMixin, TimestampMixin
|
||||
from core.db.types import json_jsonb
|
||||
from schemas.enums import ScheduleItemSourceType, ScheduleItemStatus
|
||||
|
||||
|
||||
class ScheduleItemStatus(str, Enum):
|
||||
ACTIVE = "active"
|
||||
COMPLETED = "completed"
|
||||
CANCELED = "canceled"
|
||||
ARCHIVED = "archived"
|
||||
|
||||
|
||||
class ScheduleItemSourceType(str, Enum):
|
||||
MANUAL = "manual"
|
||||
IMPORTED = "imported"
|
||||
AGENT_GENERATED = "agent_generated"
|
||||
__all__ = ["ScheduleItem", "ScheduleItemStatus", "ScheduleItemSourceType"]
|
||||
|
||||
|
||||
class ScheduleItem(TimestampMixin, SoftDeleteMixin, Base):
|
||||
|
||||
@@ -1,33 +1,20 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import uuid
|
||||
from enum import Enum
|
||||
|
||||
from sqlalchemy import Integer, String
|
||||
from sqlalchemy.dialects.postgresql import UUID
|
||||
from sqlalchemy.orm import Mapped, mapped_column
|
||||
|
||||
from core.db.base import Base, TimestampMixin
|
||||
from schemas.enums import NotifyLevel, SubscriptionPermission, SubscriptionStatus
|
||||
|
||||
|
||||
class SubscriptionStatus(str, Enum):
|
||||
ACTIVE = "active"
|
||||
PENDING = "pending"
|
||||
PAUSED = "paused"
|
||||
UNSUBSCRIBED = "unsubscribed"
|
||||
|
||||
|
||||
class NotifyLevel(str, Enum):
|
||||
ALL = "all"
|
||||
MENTIONS = "mentions"
|
||||
NONE = "none"
|
||||
|
||||
|
||||
class SubscriptionPermission(int, Enum):
|
||||
VIEW = 1 # 001 - 可查看
|
||||
INVITE = 2 # 010 - 可邀请
|
||||
EDIT = 4 # 100 - 可编辑
|
||||
OWNER = 7 # 111 - 所有者(VIEW + INVITE + EDIT)
|
||||
__all__ = [
|
||||
"ScheduleSubscription",
|
||||
"SubscriptionStatus",
|
||||
"NotifyLevel",
|
||||
"SubscriptionPermission",
|
||||
]
|
||||
|
||||
|
||||
class ScheduleSubscription(TimestampMixin, Base):
|
||||
|
||||
@@ -2,26 +2,15 @@ from __future__ import annotations
|
||||
|
||||
import uuid
|
||||
from datetime import datetime
|
||||
from enum import Enum
|
||||
|
||||
from sqlalchemy import DateTime, Integer, String
|
||||
from sqlalchemy.dialects.postgresql import UUID
|
||||
from sqlalchemy.orm import Mapped, mapped_column
|
||||
|
||||
from core.db.base import Base, SoftDeleteMixin, TimestampMixin
|
||||
from schemas.enums import TodoPriority, TodoStatus
|
||||
|
||||
|
||||
class TodoStatus(str, Enum):
|
||||
PENDING = "pending"
|
||||
DONE = "done"
|
||||
CANCELED = "canceled"
|
||||
|
||||
|
||||
class TodoPriority(int, Enum):
|
||||
IMPORTANT_URGENT = 1
|
||||
IMPORTANT_NOT_URGENT = 2
|
||||
NOT_IMPORTANT_URGENT = 3
|
||||
NOT_IMPORTANT_NOT_URGENT = 4
|
||||
__all__ = ["Todo", "TodoStatus", "TodoPriority"]
|
||||
|
||||
|
||||
class Todo(TimestampMixin, SoftDeleteMixin, Base):
|
||||
|
||||
Reference in New Issue
Block a user