funquail/api/funkwhale_api/federation/activity.py

61 lines
1 KiB
Python
Raw Normal View History

ACTIVITY_TYPES = [
2018-06-09 15:36:16 +02:00
"Accept",
"Add",
"Announce",
"Arrive",
"Block",
"Create",
"Delete",
"Dislike",
"Flag",
"Follow",
"Ignore",
"Invite",
"Join",
"Leave",
"Like",
"Listen",
"Move",
"Offer",
"Question",
"Reject",
"Read",
"Remove",
"TentativeReject",
"TentativeAccept",
"Travel",
"Undo",
"Update",
"View",
]
OBJECT_TYPES = [
2018-06-09 15:36:16 +02:00
"Article",
"Audio",
"Collection",
"Document",
"Event",
"Image",
"Note",
"OrderedCollection",
"Page",
"Place",
"Profile",
"Relationship",
"Tombstone",
"Video",
2018-04-03 21:30:15 +02:00
] + ACTIVITY_TYPES
def deliver(activity, on_behalf_of, to=[]):
2018-06-10 10:39:47 +02:00
from . import tasks
2018-06-09 15:36:16 +02:00
return tasks.send.delay(activity=activity, actor_id=on_behalf_of.pk, to=to)
2018-04-03 19:48:50 +02:00
def accept_follow(follow):
2018-06-10 10:39:47 +02:00
from . import serializers
serializer = serializers.AcceptFollowSerializer(follow)
2018-06-09 15:36:16 +02:00
return deliver(serializer.data, to=[follow.actor.url], on_behalf_of=follow.target)