refactor: replace SQLModel with QueryModel in various models and update query methods

This commit is contained in:
Abhimanyu Saharan
2026-02-09 02:04:14 +05:30
parent e19e47106b
commit 228b99bc9b
40 changed files with 413 additions and 419 deletions

View File

@@ -3,12 +3,13 @@ from __future__ import annotations
from datetime import datetime
from uuid import UUID, uuid4
from sqlmodel import Field, SQLModel
from sqlmodel import Field
from app.core.time import utcnow
from app.models.base import QueryModel
class ActivityEvent(SQLModel, table=True):
class ActivityEvent(QueryModel, table=True):
__tablename__ = "activity_events"
id: UUID = Field(default_factory=uuid4, primary_key=True)

View File

@@ -5,12 +5,13 @@ from typing import Any
from uuid import UUID, uuid4
from sqlalchemy import JSON, Column, Text
from sqlmodel import Field, SQLModel
from sqlmodel import Field
from app.core.time import utcnow
from app.models.base import QueryModel
class Agent(SQLModel, table=True):
class Agent(QueryModel, table=True):
__tablename__ = "agents"
id: UUID = Field(default_factory=uuid4, primary_key=True)

View File

@@ -4,12 +4,13 @@ from datetime import datetime
from uuid import UUID, uuid4
from sqlalchemy import JSON, Column
from sqlmodel import Field, SQLModel
from sqlmodel import Field
from app.core.time import utcnow
from app.models.base import QueryModel
class Approval(SQLModel, table=True):
class Approval(QueryModel, table=True):
__tablename__ = "approvals"
id: UUID = Field(default_factory=uuid4, primary_key=True)

View File

@@ -0,0 +1,11 @@
from __future__ import annotations
from typing import ClassVar, Self
from sqlmodel import SQLModel
from app.db.query_manager import ManagerDescriptor
class QueryModel(SQLModel, table=False):
objects: ClassVar[ManagerDescriptor[Self]] = ManagerDescriptor()

View File

@@ -4,12 +4,13 @@ from datetime import datetime
from uuid import UUID, uuid4
from sqlalchemy import JSON, Column
from sqlmodel import Field, SQLModel
from sqlmodel import Field
from app.core.time import utcnow
from app.models.base import QueryModel
class BoardGroupMemory(SQLModel, table=True):
class BoardGroupMemory(QueryModel, table=True):
__tablename__ = "board_group_memory"
id: UUID = Field(default_factory=uuid4, primary_key=True)

View File

@@ -4,12 +4,13 @@ from datetime import datetime
from uuid import UUID, uuid4
from sqlalchemy import JSON, Column
from sqlmodel import Field, SQLModel
from sqlmodel import Field
from app.core.time import utcnow
from app.models.base import QueryModel
class BoardMemory(SQLModel, table=True):
class BoardMemory(QueryModel, table=True):
__tablename__ = "board_memory"
id: UUID = Field(default_factory=uuid4, primary_key=True)

View File

@@ -4,12 +4,13 @@ from datetime import datetime
from uuid import UUID, uuid4
from sqlalchemy import JSON, Column
from sqlmodel import Field, SQLModel
from sqlmodel import Field
from app.core.time import utcnow
from app.models.base import QueryModel
class BoardOnboardingSession(SQLModel, table=True):
class BoardOnboardingSession(QueryModel, table=True):
__tablename__ = "board_onboarding_sessions"
id: UUID = Field(default_factory=uuid4, primary_key=True)

View File

@@ -3,12 +3,13 @@ from __future__ import annotations
from datetime import datetime
from uuid import UUID, uuid4
from sqlmodel import Field, SQLModel
from sqlmodel import Field
from app.core.time import utcnow
from app.models.base import QueryModel
class Gateway(SQLModel, table=True):
class Gateway(QueryModel, table=True):
__tablename__ = "gateways"
id: UUID = Field(default_factory=uuid4, primary_key=True)

View File

@@ -4,12 +4,13 @@ from datetime import datetime
from uuid import UUID, uuid4
from sqlalchemy import UniqueConstraint
from sqlmodel import Field, SQLModel
from sqlmodel import Field
from app.core.time import utcnow
from app.models.base import QueryModel
class OrganizationBoardAccess(SQLModel, table=True):
class OrganizationBoardAccess(QueryModel, table=True):
__tablename__ = "organization_board_access"
__table_args__ = (
UniqueConstraint(

View File

@@ -4,12 +4,13 @@ from datetime import datetime
from uuid import UUID, uuid4
from sqlalchemy import UniqueConstraint
from sqlmodel import Field, SQLModel
from sqlmodel import Field
from app.core.time import utcnow
from app.models.base import QueryModel
class OrganizationInviteBoardAccess(SQLModel, table=True):
class OrganizationInviteBoardAccess(QueryModel, table=True):
__tablename__ = "organization_invite_board_access"
__table_args__ = (
UniqueConstraint(

View File

@@ -4,12 +4,13 @@ from datetime import datetime
from uuid import UUID, uuid4
from sqlalchemy import UniqueConstraint
from sqlmodel import Field, SQLModel
from sqlmodel import Field
from app.core.time import utcnow
from app.models.base import QueryModel
class OrganizationInvite(SQLModel, table=True):
class OrganizationInvite(QueryModel, table=True):
__tablename__ = "organization_invites"
__table_args__ = (UniqueConstraint("token", name="uq_org_invites_token"),)

View File

@@ -4,12 +4,13 @@ from datetime import datetime
from uuid import UUID, uuid4
from sqlalchemy import UniqueConstraint
from sqlmodel import Field, SQLModel
from sqlmodel import Field
from app.core.time import utcnow
from app.models.base import QueryModel
class OrganizationMember(SQLModel, table=True):
class OrganizationMember(QueryModel, table=True):
__tablename__ = "organization_members"
__table_args__ = (
UniqueConstraint(

View File

@@ -4,12 +4,13 @@ from datetime import datetime
from uuid import UUID, uuid4
from sqlalchemy import UniqueConstraint
from sqlmodel import Field, SQLModel
from sqlmodel import Field
from app.core.time import utcnow
from app.models.base import QueryModel
class Organization(SQLModel, table=True):
class Organization(QueryModel, table=True):
__tablename__ = "organizations"
__table_args__ = (UniqueConstraint("name", name="uq_organizations_name"),)

View File

@@ -3,12 +3,13 @@ from __future__ import annotations
from datetime import datetime
from uuid import UUID, uuid4
from sqlmodel import Field, SQLModel
from sqlmodel import Field
from app.core.time import utcnow
from app.models.base import QueryModel
class TaskFingerprint(SQLModel, table=True):
class TaskFingerprint(QueryModel, table=True):
__tablename__ = "task_fingerprints"
id: UUID = Field(default_factory=uuid4, primary_key=True)

View File

@@ -1,7 +1,7 @@
from __future__ import annotations
from sqlmodel import SQLModel
from app.models.base import QueryModel
class TenantScoped(SQLModel, table=False):
class TenantScoped(QueryModel, table=False):
pass

View File

@@ -2,10 +2,12 @@ from __future__ import annotations
from uuid import UUID, uuid4
from sqlmodel import Field, SQLModel
from sqlmodel import Field
from app.models.base import QueryModel
class User(SQLModel, table=True):
class User(QueryModel, table=True):
__tablename__ = "users"
id: UUID = Field(default_factory=uuid4, primary_key=True)