Improve actor icons handling and admin

This commit is contained in:
Thomas Sileo 2022-06-25 08:23:28 +02:00
parent 951c74c40a
commit f66e3f3995
11 changed files with 172 additions and 25 deletions

View file

@ -1,6 +1,7 @@
import enum
from typing import Any
from typing import Optional
from typing import Union
from sqlalchemy import JSON
from sqlalchemy import Boolean
@ -104,6 +105,15 @@ class InboxObject(Base, BaseObject):
og_meta: Mapped[list[dict[str, Any]] | None] = Column(JSON, nullable=True)
@property
def relates_to_anybox_object(self) -> Union["InboxObject", "OutboxObject"] | None:
if self.relates_to_inbox_object_id:
return self.relates_to_inbox_object
elif self.relates_to_outbox_object_id:
return self.relates_to_outbox_object
else:
return None
class OutboxObject(Base, BaseObject):
__tablename__ = "outbox"
@ -202,6 +212,15 @@ class OutboxObject(Base, BaseObject):
)
return out
@property
def relates_to_anybox_object(self) -> Union["InboxObject", "OutboxObject"] | None:
if self.relates_to_inbox_object_id:
return self.relates_to_inbox_object
elif self.relates_to_outbox_object_id:
return self.relates_to_outbox_object
else:
return None
class Follower(Base):
__tablename__ = "follower"