bookwyrm/bookwyrm/activitypub/person.py
2021-03-08 08:49:10 -08:00

35 lines
749 B
Python

""" actor serializer """
from dataclasses import dataclass, field
from typing import Dict
from .base_activity import ActivityObject
from .image import Image
@dataclass(init=False)
class PublicKey(ActivityObject):
""" public key block """
owner: str
publicKeyPem: str
type: str = "PublicKey"
@dataclass(init=False)
class Person(ActivityObject):
""" actor activitypub json """
preferredUsername: str
inbox: str
outbox: str
followers: str
publicKey: PublicKey
endpoints: Dict
name: str = None
summary: str = None
icon: Image = field(default_factory=lambda: {})
bookwyrmUser: bool = False
manuallyApprovesFollowers: str = False
discoverable: str = True
type: str = "Person"