diff options
author | Ilja <pleroma@spectraltheorem.be> | 2021-01-10 08:25:36 +0000 |
---|---|---|
committer | rinpatch <rinpatch@sdf.org> | 2021-01-10 08:25:36 +0000 |
commit | 6284e8f4b2e9b737d1ed256e89f2ac3ba673d6f8 (patch) | |
tree | c56758cdaa95ce053e04952497386542e1b28531 /docs/development/ap_extensions.md | |
parent | 5822338f3a42852c18a323c35041b14b29661de6 (diff) | |
download | pleroma-6284e8f4b2e9b737d1ed256e89f2ac3ba673d6f8.tar.gz pleroma-6284e8f4b2e9b737d1ed256e89f2ac3ba673d6f8.zip |
Add development section
* I cretaed a folder 'development'
* I split up the file dev.md into three parts and moved it to this folder
* index.md
* authentication_authorization.md
* mrf.md
* I also moved ap_extensions.md
* I created a new file setting_up_pleroma_dev.md
Diffstat (limited to 'docs/development/ap_extensions.md')
-rw-r--r-- | docs/development/ap_extensions.md | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/docs/development/ap_extensions.md b/docs/development/ap_extensions.md new file mode 100644 index 000000000..3d1caeb3e --- /dev/null +++ b/docs/development/ap_extensions.md @@ -0,0 +1,65 @@ +# AP Extensions +## Actor endpoints + +The following endpoints are additionally present into our actors. + +- `oauthRegistrationEndpoint` (`http://litepub.social/ns#oauthRegistrationEndpoint`) +- `uploadMedia` (`https://www.w3.org/ns/activitystreams#uploadMedia`) + +### oauthRegistrationEndpoint + +Points to MastodonAPI `/api/v1/apps` for now. + +See <https://docs.joinmastodon.org/methods/apps/> + +### uploadMedia + +Inspired by <https://www.w3.org/wiki/SocialCG/ActivityPub/MediaUpload>, it is part of the ActivityStreams namespace because it used to be part of the ActivityPub specification and got removed from it. + +Content-Type: multipart/form-data + +Parameters: +- (required) `file`: The file being uploaded +- (optionnal) `description`: A plain-text description of the media, for accessibility purposes. + +Response: HTTP 201 Created with the object into the body, no `Location` header provided as it doesn't have an `id` + +The object given in the reponse should then be inserted into an Object's `attachment` field. + +## ChatMessages + +`ChatMessage`s are the messages sent in 1-on-1 chats. They are similar to +`Note`s, but the addresing is done by having a single AP actor in the `to` +field. Addressing multiple actors is not allowed. These messages are always +private, there is no public version of them. They are created with a `Create` +activity. + +They are part of the `litepub` namespace as `http://litepub.social/ns#ChatMessage`. + +Example: + +```json +{ + "actor": "http://2hu.gensokyo/users/raymoo", + "id": "http://2hu.gensokyo/objects/1", + "object": { + "attributedTo": "http://2hu.gensokyo/users/raymoo", + "content": "You expected a cute girl? Too bad.", + "id": "http://2hu.gensokyo/objects/2", + "published": "2020-02-12T14:08:20Z", + "to": [ + "http://2hu.gensokyo/users/marisa" + ], + "type": "ChatMessage" + }, + "published": "2018-02-12T14:08:20Z", + "to": [ + "http://2hu.gensokyo/users/marisa" + ], + "type": "Create" +} +``` + +This setup does not prevent multi-user chats, but these will have to go through +a `Group`, which will be the recipient of the messages and then `Announce` them +to the users in the `Group`. |