From 50f14174642d2d0252780e1fcac3e3d570d0d983 Mon Sep 17 00:00:00 2001 From: mrveiss Date: Fri, 27 Mar 2026 11:06:27 +0200 Subject: [PATCH] fix(models): replace postgresql.UUID with sqlalchemy.types.Uuid (#2495) --- autobot-backend/models/agent.py | 4 ++-- autobot-backend/models/agent_org.py | 4 ++-- autobot-backend/user_management/models/base.py | 6 +++--- autobot-backend/user_management/models/mfa.py | 6 +++--- autobot-backend/user_management/models/role.py | 18 +++++++++--------- 5 files changed, 19 insertions(+), 19 deletions(-) diff --git a/autobot-backend/models/agent.py b/autobot-backend/models/agent.py index d851900c8..8f2f1e4a5 100644 --- a/autobot-backend/models/agent.py +++ b/autobot-backend/models/agent.py @@ -14,7 +14,7 @@ from enum import Enum from sqlalchemy import Column, String, Text -from sqlalchemy.dialects.postgresql import UUID +from sqlalchemy.types import Uuid from user_management.models.base import Base, TimestampMixin @@ -37,7 +37,7 @@ class Agent(Base, TimestampMixin): __tablename__ = "agents" - id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4) + id = Column(Uuid(as_uuid=True), primary_key=True, default=uuid.uuid4) agent_id = Column(String(255), nullable=False, unique=True, index=True) name = Column(String(255), nullable=False) description = Column(Text, nullable=True) diff --git a/autobot-backend/models/agent_org.py b/autobot-backend/models/agent_org.py index ec0d18994..cff9cdf3c 100644 --- a/autobot-backend/models/agent_org.py +++ b/autobot-backend/models/agent_org.py @@ -12,7 +12,7 @@ from enum import Enum from sqlalchemy import Column, String, Text -from sqlalchemy.dialects.postgresql import UUID +from sqlalchemy.types import Uuid from user_management.models.base import Base, TimestampMixin @@ -35,7 +35,7 @@ class AgentOrgNode(Base, TimestampMixin): __tablename__ = "agent_org_nodes" - id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4) + id = Column(Uuid(as_uuid=True), primary_key=True, default=uuid.uuid4) agent_id = Column(String(255), nullable=False, unique=True, index=True) name = Column(String(255), nullable=False) reports_to = Column(String(255), nullable=True, index=True) diff --git a/autobot-backend/user_management/models/base.py b/autobot-backend/user_management/models/base.py index 8e31cf728..7f70d146e 100644 --- a/autobot-backend/user_management/models/base.py +++ b/autobot-backend/user_management/models/base.py @@ -14,8 +14,8 @@ from datetime import datetime from sqlalchemy import DateTime, ForeignKey, func -from sqlalchemy.dialects.postgresql import UUID from sqlalchemy.orm import DeclarativeBase, Mapped, declared_attr, mapped_column +from sqlalchemy.types import Uuid class Base(DeclarativeBase): @@ -23,7 +23,7 @@ class Base(DeclarativeBase): # Use UUID as default type annotation for id columns type_annotation_map = { - uuid.UUID: UUID(as_uuid=True), + uuid.UUID: Uuid(as_uuid=True), } @@ -55,7 +55,7 @@ class TenantMixin: @declared_attr def org_id(cls) -> Mapped[uuid.UUID]: return mapped_column( - UUID(as_uuid=True), + Uuid(as_uuid=True), ForeignKey("organizations.id", ondelete="CASCADE"), nullable=False, index=True, diff --git a/autobot-backend/user_management/models/mfa.py b/autobot-backend/user_management/models/mfa.py index 0031e13dc..96f05420a 100644 --- a/autobot-backend/user_management/models/mfa.py +++ b/autobot-backend/user_management/models/mfa.py @@ -13,8 +13,8 @@ from typing import TYPE_CHECKING, Optional from sqlalchemy import Boolean, DateTime, ForeignKey, String -from sqlalchemy.dialects.postgresql import UUID from sqlalchemy.orm import Mapped, mapped_column, relationship +from sqlalchemy.types import Uuid from user_management.models.base import Base, TimestampMixin if TYPE_CHECKING: @@ -40,13 +40,13 @@ class UserMFA(Base, TimestampMixin): __tablename__ = "user_mfa" id: Mapped[uuid.UUID] = mapped_column( - UUID(as_uuid=True), + Uuid(as_uuid=True), primary_key=True, default=uuid.uuid4, ) user_id: Mapped[uuid.UUID] = mapped_column( - UUID(as_uuid=True), + Uuid(as_uuid=True), ForeignKey("users.id", ondelete="CASCADE"), nullable=False, unique=True, diff --git a/autobot-backend/user_management/models/role.py b/autobot-backend/user_management/models/role.py index e1aebf125..a5cbcf608 100644 --- a/autobot-backend/user_management/models/role.py +++ b/autobot-backend/user_management/models/role.py @@ -11,8 +11,8 @@ from typing import TYPE_CHECKING, Optional from sqlalchemy import Boolean, ForeignKey, String, Text -from sqlalchemy.dialects.postgresql import UUID from sqlalchemy.orm import Mapped, mapped_column, relationship +from sqlalchemy.types import Uuid from user_management.models.base import Base, TimestampMixin if TYPE_CHECKING: @@ -37,7 +37,7 @@ class Permission(Base, TimestampMixin): __tablename__ = "permissions" id: Mapped[uuid.UUID] = mapped_column( - UUID(as_uuid=True), + Uuid(as_uuid=True), primary_key=True, default=uuid.uuid4, ) @@ -94,14 +94,14 @@ class Role(Base, TimestampMixin): __tablename__ = "roles" id: Mapped[uuid.UUID] = mapped_column( - UUID(as_uuid=True), + Uuid(as_uuid=True), primary_key=True, default=uuid.uuid4, ) # Nullable org_id means system role org_id: Mapped[Optional[uuid.UUID]] = mapped_column( - UUID(as_uuid=True), + Uuid(as_uuid=True), ForeignKey("organizations.id", ondelete="CASCADE"), nullable=True, index=True, @@ -178,13 +178,13 @@ class RolePermission(Base): __tablename__ = "role_permissions" role_id: Mapped[uuid.UUID] = mapped_column( - UUID(as_uuid=True), + Uuid(as_uuid=True), ForeignKey("roles.id", ondelete="CASCADE"), primary_key=True, ) permission_id: Mapped[uuid.UUID] = mapped_column( - UUID(as_uuid=True), + Uuid(as_uuid=True), ForeignKey("permissions.id", ondelete="CASCADE"), primary_key=True, ) @@ -214,20 +214,20 @@ class UserRole(Base, TimestampMixin): __tablename__ = "user_roles" user_id: Mapped[uuid.UUID] = mapped_column( - UUID(as_uuid=True), + Uuid(as_uuid=True), ForeignKey("users.id", ondelete="CASCADE"), primary_key=True, ) role_id: Mapped[uuid.UUID] = mapped_column( - UUID(as_uuid=True), + Uuid(as_uuid=True), ForeignKey("roles.id", ondelete="CASCADE"), primary_key=True, ) # Who assigned this role assigned_by: Mapped[Optional[uuid.UUID]] = mapped_column( - UUID(as_uuid=True), + Uuid(as_uuid=True), ForeignKey("users.id", ondelete="SET NULL"), nullable=True, )