feat: Add ability to add tags to agents (#1984)

This commit is contained in:
Matthew Zhou
2024-11-06 16:16:23 -08:00
committed by GitHub
parent 8414a94b96
commit 960f7421c1
14 changed files with 465 additions and 197 deletions

View File

@@ -112,6 +112,22 @@ class SqlalchemyBase(CommonSqlalchemyMetaMixins, Base):
self.is_deleted = True
return self.update(db_session)
def hard_delete(self, db_session: "Session", actor: Optional["User"] = None) -> None:
"""Permanently removes the record from the database."""
if actor:
logger.info(f"User {actor.id} requested hard deletion of {self.__class__.__name__} with ID {self.id}")
with db_session as session:
try:
session.delete(self)
session.commit()
except Exception as e:
session.rollback()
logger.exception(f"Failed to hard delete {self.__class__.__name__} with ID {self.id}")
raise ValueError(f"Failed to hard delete {self.__class__.__name__} with ID {self.id}: {e}")
else:
logger.info(f"{self.__class__.__name__} with ID {self.id} successfully hard deleted")
def update(self, db_session: "Session", actor: Optional["User"] = None) -> Type["SqlalchemyBase"]:
if actor:
self._set_created_and_updated_by_fields(actor.id)