fix: don't allow blank tag alias values in db (#628)

This commit is contained in:
Travis Abendshien
2024-12-09 11:44:51 -08:00
committed by GitHub
parent a535ed12b0
commit aaea0b1475
3 changed files with 7 additions and 2 deletions

View File

@@ -169,6 +169,8 @@ class Library:
# Tag Aliases
for tag in json_lib.tags:
for alias in tag.aliases:
if not alias:
break
self.add_alias(name=alias, tag_id=tag.id)
# Tag Subtags
@@ -1015,6 +1017,9 @@ class Library:
def add_alias(self, name: str, tag_id: int) -> bool:
with Session(self.engine) as session:
if not name:
logger.warning("[LIBRARY][add_alias] Alias value must not be empty")
return False
alias = TagAlias(
name=name,
tag_id=tag_id,

View File

@@ -23,7 +23,7 @@ class TagAlias(Base):
id: Mapped[int] = mapped_column(primary_key=True)
name: Mapped[str]
name: Mapped[str] = mapped_column(nullable=False)
tag_id: Mapped[int] = mapped_column(ForeignKey("tags.id"))
tag: Mapped["Tag"] = relationship(back_populates="aliases")

View File

@@ -699,7 +699,7 @@ class JsonMigrationModal(QObject):
sql_aliases = set(
session.scalars(select(TagAlias.name).where(TagAlias.tag_id == tag.id))
)
json_aliases = set(self.json_lib.get_tag(tag_id).aliases)
json_aliases = set([x for x in self.json_lib.get_tag(tag_id).aliases if x])
logger.info(
"[Alias Parity]",