.activity_pub
cattle_grid.activity_pub
cattle_grid.activity_pub.actor
actor_to_object(actor)
Transform the actor to an object
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
actor
|
Actor
|
|
required |
Returns:
| Type | Description |
|---|---|
dict
|
|
Source code in cattle_grid/activity_pub/actor.py
bovine_actor_for_actor_id(actor_id)
async
Uses the information stored in [Credential][cattle_grid.ap.models.Credential] to construct a bovine actor
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
actor_id
|
str
|
|
required |
Returns:
| Type | Description |
|---|---|
BovineActor | None
|
|
Source code in cattle_grid/activity_pub/actor.py
compute_acct_uri(base_url, preferred_username)
Computes the acct uri
Source code in cattle_grid/activity_pub/actor.py
create_actor(base_url, preferred_username=None, identifiers={}, profile={})
async
Creates a new actor in the database
Source code in cattle_grid/activity_pub/actor.py
delete_actor(actor)
async
Deletes an actor
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
actor
|
Actor
|
Actor to be deleted |
required |
Source code in cattle_grid/activity_pub/actor.py
delete_for_actor_profile(actor)
Creates a delete activity for the Actor
Source code in cattle_grid/activity_pub/actor.py
followers_for_actor(actor)
async
following_for_actor(actor)
async
remove_from_followers_following(actor_id_to_remove)
async
Removes actor_id from all occurring followers and following
Source code in cattle_grid/activity_pub/actor.py
update_for_actor_profile(actor)
Creates an update for the Actor
Source code in cattle_grid/activity_pub/actor.py
cattle_grid.activity_pub.enqueuer
determine_activity_type(activity)
Determines the type of an activity
In the case of multiple types, these are concatenated. This means that they are probably missed by processing, but don’t get ignored.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
activity
|
dict
|
|
required |
Returns:
| Type | Description |
|---|---|
str | None
|
|
Source code in cattle_grid/activity_pub/enqueuer.py
enqueue_from_inbox(broker, exchange, receiving_actor_id, content)
async
Enqueues a new message arrived from the inbox
The routing key will be incoming.${activity_type}
Source code in cattle_grid/activity_pub/enqueuer.py
cattle_grid.activity_pub.models
Data model used to describe ActivityPub related objects
Actor
Bases: Model
Actors administrated by cattle_grid
Source code in cattle_grid/activity_pub/models.py
actor_id = fields.CharField(max_length=255, unique=True)
class-attribute
instance-attribute
The id of the actor
automatically_accept_followers = fields.BooleanField()
class-attribute
instance-attribute
Set to true to indicate cattle_grid should automatically accept follow requests
followers_uri = fields.CharField(max_length=255, unique=True)
class-attribute
instance-attribute
The uri of the followers collection
following_uri = fields.CharField(max_length=255, unique=True)
class-attribute
instance-attribute
The uri of the following collection
inbox_uri = fields.CharField(max_length=255, unique=True)
class-attribute
instance-attribute
The uri of the inbox
outbox_uri = fields.CharField(max_length=255, unique=True)
class-attribute
instance-attribute
The uri of the outbox
preferred_username = fields.CharField(max_length=255, null=True)
class-attribute
instance-attribute
The preferred username, used as the username part of the
acct-uri of the actor, i.e. acct:${preferred_username}@domain.
See RFC 7565 The ‘acct’ URI Scheme.
profile: Dict[str, Any] = fields.JSONField()
class-attribute
instance-attribute
Additional profile values
public_key = fields.TextField()
class-attribute
instance-attribute
The public key
public_key_name = fields.CharField(max_length=255)
class-attribute
instance-attribute
The name given to the public key, i.e. the id will be `${actor_id}#${public_key_name}.
status = fields.CharEnumField(ActorStatus, default=ActorStatus.active)
class-attribute
instance-attribute
Represents the status of the actor
ActorStatus
Credential
Follower
Bases: Model
The people that follow the actor
Source code in cattle_grid/activity_pub/models.py
Following
Bases: Model
The people the actor is following
Source code in cattle_grid/activity_pub/models.py
InboxLocation
Bases: Model
Describes the location of an inbox. Used to send ActivityPub Activities addressed to the actor to the corresponding inbox.
This information is also collected for remote actors.
Source code in cattle_grid/activity_pub/models.py
actor = fields.CharField(max_length=255, unique=True)
class-attribute
instance-attribute
The id of the remote actor
inbox = fields.CharField(max_length=255)
class-attribute
instance-attribute
The inbox of the remote actor
PublicIdentifier
Bases: Model
Public identifiers
Source code in cattle_grid/activity_pub/models.py
actor: fields.ForeignKeyRelation[Actor] = fields.ForeignKeyField('ap_models.Actor', related_name='identifiers')
class-attribute
instance-attribute
The actor the public key belongs to
identifier = fields.CharField(max_length=255, unique=True)
class-attribute
instance-attribute
The public identifier, e.g. an acct-uri
name = fields.CharField(max_length=255)
class-attribute
instance-attribute
name of public identifier
StoredActivity
Bases: Model
cattle_grid generates activities under some circumstances (see FIXME). These will be stored in this table
Source code in cattle_grid/activity_pub/models.py
actor: fields.ForeignKeyRelation[Actor] = fields.ForeignKeyField('ap_models.Actor')
class-attribute
instance-attribute
The actor this activity orginates from
data = fields.JSONField()
class-attribute
instance-attribute
The activity
published = fields.DatetimeField()
class-attribute
instance-attribute
When the activity was published