refactor: replace SQLModel with QueryModel in various models and update query methods
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
11
backend/app/models/base.py
Normal file
11
backend/app/models/base.py
Normal 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()
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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"),)
|
||||
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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"),)
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user