''' 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 name: str inbox: str outbox: str followers: str summary: str publicKey: PublicKey endpoints: Dict icon: Image = field(default_factory=lambda: {}) bookwyrmUser: bool = False manuallyApprovesFollowers: str = False discoverable: str = True type: str = 'Person'