From 902dd1a6bf38df03337b4091ea1497ba6b7d1c09 Mon Sep 17 00:00:00 2001 From: Felix Stupp Date: Thu, 18 Aug 2022 11:26:21 +0000 Subject: [PATCH] models:MediaCollection: Add creator / created_collections relation --- server/entertainment_decider/models.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/server/entertainment_decider/models.py b/server/entertainment_decider/models.py index 0194b69..3d04086 100644 --- a/server/entertainment_decider/models.py +++ b/server/entertainment_decider/models.py @@ -581,6 +581,7 @@ class MediaCollection(db.Entity, Tagable): title: str = orm.Optional(str) notes: str = orm.Optional(str) release_date: datetime = orm.Optional(datetime) + creator: MediaCollection = orm.Optional(lambda: MediaCollection, nullable=True) extractor_name: str = orm.Optional(str) extractor_key: str = orm.Optional(str) @@ -597,6 +598,19 @@ class MediaCollection(db.Entity, Tagable): tag_list: Iterable[Tag] = orm.Set(lambda: Tag) uris: Iterable[CollectionUriMapping] = orm.Set(lambda: CollectionUriMapping) media_links: Iterable[MediaCollectionLink] = orm.Set(MediaCollectionLink) + created_collections: Set[MediaCollection] = orm.Set(lambda: MediaCollection) + + @property + def is_creator(self) -> bool: + return self == self.creator + + @property + def has_creator(self) -> bool: + return self.creator is not None + + @property + def is_root_collection(self) -> bool: + return self.is_creator or not self.has_creator @property def was_extracted(self) -> bool: