diff --git a/backend/hermes/app/db/database.py b/backend/hermes/app/db/database.py index 260eb13..c860b24 100644 --- a/backend/hermes/app/db/database.py +++ b/backend/hermes/app/db/database.py @@ -25,6 +25,7 @@ import app.models.customer import app.models.knowledge import app.models.audit import app.models.user +import app.models.inventory import app.models.repair import app.models.repair_estimate import app.models.system_setting diff --git a/backend/hermes/app/models/inventory.py b/backend/hermes/app/models/inventory.py index 9428b9e..ecfdfc9 100644 --- a/backend/hermes/app/models/inventory.py +++ b/backend/hermes/app/models/inventory.py @@ -103,7 +103,11 @@ class InventoryStockMovement(Base): created_at: Mapped[datetime] = mapped_column(DateTime(timezone=True), server_default=func.now()) item: Mapped[InventoryItem] = relationship(back_populates="movements") - actor = relationship("User", lazy="joined") + actor = relationship( + "User", + foreign_keys="InventoryStockMovement.actor_user_id", + lazy="joined", + ) @property def actor_username(self) -> str: diff --git a/backend/hermes/app/models/repair.py b/backend/hermes/app/models/repair.py index 53ba9e2..6b32497 100644 --- a/backend/hermes/app/models/repair.py +++ b/backend/hermes/app/models/repair.py @@ -56,7 +56,11 @@ class RepairStatusHistory(Base): created_at: Mapped[datetime] = mapped_column(DateTime(timezone=True), server_default=func.now()) repair: Mapped[Repair] = relationship(back_populates="history") - actor = relationship("User", lazy="joined") + actor = relationship( + "User", + foreign_keys="RepairStatusHistory.actor_user_id", + lazy="joined", + ) @property def actor_username(self) -> str: @@ -105,7 +109,11 @@ class RepairDocument(Base): updated_at: Mapped[datetime] = mapped_column(DateTime(timezone=True), server_default=func.now(), onupdate=func.now()) repair: Mapped[Repair] = relationship(back_populates="documents") - uploaded_by = relationship("User", lazy="joined") + uploaded_by = relationship( + "User", + foreign_keys="RepairDocument.uploaded_by_user_id", + lazy="joined", + ) @property def uploaded_by_username(self) -> str: diff --git a/backend/hermes/app/models/repair_estimate.py b/backend/hermes/app/models/repair_estimate.py index b9d6a80..9cdda96 100644 --- a/backend/hermes/app/models/repair_estimate.py +++ b/backend/hermes/app/models/repair_estimate.py @@ -40,7 +40,16 @@ class RepairEstimate(Base): updated_at: Mapped[datetime] = mapped_column(DateTime(timezone=True), server_default=func.now(), onupdate=func.now()) repair = relationship("Repair", lazy="joined") - created_by = relationship("User", lazy="joined") + created_by = relationship( + "User", + foreign_keys="RepairEstimate.created_by_user_id", + lazy="joined", + ) + accounting_transferred_by = relationship( + "User", + foreign_keys="RepairEstimate.accounting_transferred_by_user_id", + lazy="joined", + ) items: Mapped[list["RepairEstimateItem"]] = relationship( back_populates="estimate", cascade="all, delete-orphan", @@ -92,4 +101,8 @@ class RepairEstimateEvent(Base): created_at: Mapped[datetime] = mapped_column(DateTime(timezone=True), server_default=func.now()) estimate: Mapped[RepairEstimate] = relationship(back_populates="events") - actor = relationship("User", lazy="joined") + actor = relationship( + "User", + foreign_keys="RepairEstimateEvent.actor_user_id", + lazy="joined", + )