diff options
Diffstat (limited to 'users/models')
| -rw-r--r-- | users/models/identity.py | 22 | 
1 files changed, 20 insertions, 2 deletions
diff --git a/users/models/identity.py b/users/models/identity.py index d4ab720..21912ac 100644 --- a/users/models/identity.py +++ b/users/models/identity.py @@ -8,10 +8,12 @@ from asgiref.sync import async_to_sync, sync_to_async  from cryptography.hazmat.primitives import serialization  from cryptography.hazmat.primitives.asymmetric import rsa  from django.db import models +from django.template.defaultfilters import linebreaks_filter  from django.templatetags.static import static  from django.utils import timezone -from core.ld import canonicalise +from core.html import sanitize_post +from core.ld import canonicalise, media_type_from_filename  from core.uploads import upload_namer  from stator.models import State, StateField, StateGraph, StatorModel  from users.models.domain import Domain @@ -139,6 +141,10 @@ class Identity(StatorModel):          elif self.image_uri:              return self.image_uri +    @property +    def safe_summary(self): +        return sanitize_post(self.summary) +      ### Alternate constructors/fetchers ###      @classmethod @@ -223,7 +229,19 @@ class Identity(StatorModel):          if self.name:              response["name"] = self.name          if self.summary: -            response["summary"] = self.summary +            response["summary"] = str(linebreaks_filter(self.summary)) +        if self.icon: +            response["icon"] = { +                "type": "Image", +                "mediaType": media_type_from_filename(self.icon.name), +                "url": self.icon.url, +            } +        if self.image: +            response["image"] = { +                "type": "Image", +                "mediaType": media_type_from_filename(self.image.name), +                "url": self.image.url, +            }          return response      ### ActivityPub (inbound) ###  | 
