Commit graph

40 commits

Author SHA1 Message Date
Bat
68c7aad179 Big repository reorganization
The code is divided in three crates:
- plume-common, for the ActivityPub module, and some common utils
- plume-models, for the models and database-related code
- plume, the app itself

This new organization will allow to test it more easily, but also to create other tools that only reuse a little part of
the code (for instance a Wordpress import tool, that would just use the plume-models crate)
2018-06-23 17:36:11 +01:00
Bat
0a1edba4b0 Fix the custom properties deserialization bug for Blogs as well 2018-06-23 15:00:35 +01:00
Bat
6140865660 Make Post::from_activity a bit more complete 2018-06-23 12:14:03 +01:00
Bat
dccab062e3 Implement Blog::into_activity 2018-06-21 22:07:04 +01:00
Bat
a0f680a9b6 Rewrite Blog::from_activity to use the activitypub crate instead of raw JSON 2018-06-21 21:39:44 +01:00
Bat
f5f2aa7c59 Get rid of the activity_pub::actor::Actor trait 2018-06-21 18:53:57 +01:00
Bat
9a8472bdcc Move compute_box from Actor to Instance 2018-06-21 18:42:17 +01:00
Bat
606a3d12c7 Remove useless functions from activity_pub::actor::Actor 2018-06-21 18:23:01 +01:00
Bat
b2e8d54161 Drop activity_pub::activitypub and activity_pub::ActivityPub and only use the ActivityStream responder 2018-06-21 18:09:18 +01:00
Bat
7ddad12420 Simplify the signature of activity_pub::sign::Signer::get_key_id 2018-06-21 16:25:32 +01:00
Bat
5457a80eec Avoid calling compute_id when we shouldn't
It should only be used at initialization, after we should prefer ap_url,
as not everybody is using the same URLs as Plume.
2018-06-21 15:53:58 +01:00
Bat
5415b70854 Use the webfinger crate 2018-06-18 22:50:40 +01:00
Bat
0dfc303c83 Fix Blog::find_by_name 2018-06-18 18:44:18 +01:00
Bat
fa2435e725 Improve the find_by! macro to allow multiple columns 2018-06-18 16:13:09 +01:00
Bat
cd1d0d9627 Introduce an insert! macro to avoid some code duplication 2018-06-18 14:57:38 +01:00
Bat
94af0b9a7d Introduce a get! macro to avoid some code duplication 2018-06-18 14:44:23 +01:00
Bat
edbeeef640 Add a dashboard 2018-06-10 18:55:08 +01:00
Bat
78362feffb Use the activitypub crate 2018-06-10 12:13:07 +01:00
Bat
b55622f2b1 Reorganize use statements 2018-05-19 08:39:59 +01:00
Bat
4a86af6fc1 Resolve activitystream TODOs 2018-05-18 23:04:30 +01:00
Bat
0e24ccbf29 Use activitystreams in the Inbox trait 2018-05-18 09:04:40 +01:00
Bat
c779b1c58a WIP: use the activitystreams crate 2018-05-16 19:20:44 +01:00
Bat
5e7d513a7e Make it possible to display remote blogs 2018-05-13 18:00:47 +01:00
Bat
fdc481e384 Use shared inbox when available
But it is not yet stored in the database, so it means never
2018-05-13 15:39:55 +01:00
Bat
292f4d6b27 Add actual templates for everything 2018-05-09 20:09:52 +01:00
Bat
d3c3180038 Post activities to the correct inbox
Don't assume everyone is following Plume's routing
2018-05-05 14:46:06 +01:00
Bat
22cb286f86 Signing activities
I hope it works correctly…

Fixes #6
2018-05-03 20:11:04 +01:00
Bat
b844257e34 Federate display name and summary
Fixes #9
2018-05-03 16:34:16 +01:00
Bat
cf41ae5fda Refactor activity_pub::activity::Activity
I only had to wrap it in Arc… -_-
2018-05-02 22:36:13 +01:00
Bat
afe98ab1c3 Start refactoring activities 2018-05-02 21:44:03 +01:00
Bat
9a4f60cfe3 Accept follow requests 2018-05-01 19:02:29 +01:00
Bat
e93bb3a21f Add creation timestamps 2018-04-30 18:46:27 +01:00
Bat
dd9e845e66 Fix a few warnings 2018-04-29 19:06:10 +01:00
Bat
4666cd3ee3 Blog outbox 2018-04-29 18:49:56 +01:00
Bat
0c9a1bfc3a Reorganize uses 2018-04-24 10:21:39 +01:00
Bat
f0b08b2d6d Webfinger 2018-04-24 09:35:45 +01:00
Bat
e9bcaf4dd9 Add Actor ActivityPub representation 2018-04-23 17:26:01 +01:00
Bat
9240ca3a84 Compute outbox/inbox URLs from activity_pub::Actor 2018-04-23 14:12:59 +01:00
Bat
ab66886093 Implement activity_pub::Actor for models::blogs::Blog 2018-04-23 13:00:11 +01:00
Bat
cadb33cc1a Add blog model 2018-04-23 11:29:27 +01:00