2021-03-08 11:49:10 -05:00
|
|
|
""" actor serializer """
|
2020-09-17 16:02:52 -04:00
|
|
|
from dataclasses import dataclass, field
|
|
|
|
from typing import Dict
|
|
|
|
|
2020-11-30 13:32:13 -05:00
|
|
|
from .base_activity import ActivityObject
|
2021-04-15 19:35:04 -04:00
|
|
|
from .image import Document
|
2020-09-17 16:02:52 -04:00
|
|
|
|
2020-11-30 13:32:13 -05:00
|
|
|
|
|
|
|
@dataclass(init=False)
|
|
|
|
class PublicKey(ActivityObject):
|
2021-03-08 11:49:10 -05:00
|
|
|
""" public key block """
|
|
|
|
|
2020-11-30 13:32:13 -05:00
|
|
|
owner: str
|
|
|
|
publicKeyPem: str
|
2021-03-08 11:49:10 -05:00
|
|
|
type: str = "PublicKey"
|
2020-11-30 13:32:13 -05:00
|
|
|
|
|
|
|
|
2020-09-17 16:02:52 -04:00
|
|
|
@dataclass(init=False)
|
|
|
|
class Person(ActivityObject):
|
2021-03-08 11:49:10 -05:00
|
|
|
""" actor activitypub json """
|
|
|
|
|
2020-09-17 16:02:52 -04:00
|
|
|
preferredUsername: str
|
|
|
|
inbox: str
|
|
|
|
publicKey: PublicKey
|
2021-04-02 10:38:37 -04:00
|
|
|
followers: str = None
|
2021-04-07 13:32:16 -04:00
|
|
|
following: str = None
|
2021-04-02 10:35:56 -04:00
|
|
|
outbox: str = None
|
2021-03-17 16:59:16 -04:00
|
|
|
endpoints: Dict = None
|
2020-12-20 15:09:19 -05:00
|
|
|
name: str = None
|
|
|
|
summary: str = None
|
2021-04-15 19:35:04 -04:00
|
|
|
icon: Document = field(default_factory=lambda: {})
|
2020-10-31 16:06:22 -04:00
|
|
|
bookwyrmUser: bool = False
|
2020-09-17 16:02:52 -04:00
|
|
|
manuallyApprovesFollowers: str = False
|
2021-03-21 17:50:36 -04:00
|
|
|
discoverable: str = False
|
2021-03-08 11:49:10 -05:00
|
|
|
type: str = "Person"
|