Open jboileau99 opened 1 year ago
@CryingOutCloud On the backend, I've got most of the remote endpoints working now. It's just the support for remote id's that I mentioned in the update above, but I have a pretty good idea of how to do that so shouldn't be too hard.
The main thing left for this issue is implementing the connection to other groups on the frontend side. In that big discord server it looks like the groups are aiming to send their documentation + other info this weekend so you could coordinate with them there
Tasks
Frontend - Must connect our frontend to at least to 3 other groups
Backend
[x] Add ability for remote nodes to requst access
[x] Add a allowlist that is modifiable via the admin interface
[x] Create a permission class for this allowlist and add it to the views for the above endpoints
[x] Update each endpoint to work when hit remotely
UPDATE: every endpoint works remotely if you use it with a regular local id, e.g. GET
https://social-distribution-media.herokuapp.com/api/authors/83ee4e3d-7f1f-4d43-8698-8adb60f2e9bd
, but a request with a remote id like GEThttps://social-distribution-media.herokuapp.com/api/authors/https://some-other-host.com/api/authors/94ee4e3d-7f1f-4d43-8698-8adb60f2e3cd
won't workBest way to go about this is probably figure out how to simulate hitting the endpoint remotely in a test and then try each one and see what breaks
It's going to be mainly to do with foreign keys, i.e. sending a post from a remote system that our DB doesn't know about ... I think the way to handle this is to add it to our DB. This does create the issue of what should happen when the post is updated remotely, but maybe that's out of the scope of this project
[x] GET
://service/authors/
[x] GET
://service/authors/{AUTHOR_ID}/
[x] GET
://service/authors/{AUTHOR_ID}/followers
[x] GET
://service/authors/{AUTHOR_ID}/followers/{FOREIGN_AUTHOR_ID}
[x] GET
://service/authors/{AUTHOR_ID}/posts/{POST_ID}
[x] GET
://service/authors/{AUTHOR_ID}/posts/
[ ] GET
://service/authors/{AUTHOR_ID}/posts/{POST_ID}/image
[x] GET
://service/authors/{AUTHOR_ID}/posts/{POST_ID}/comments
[x] GET
://service/authors/{AUTHOR_ID}/posts/{POST_ID}/likes
[x] GET
://service/authors/{AUTHOR_ID}/posts/{POST_ID}/comments/{COMMENT_ID}/likes
[x] GET
://service/authors/{AUTHOR_ID}/liked
[x] POST
://service/authors/{AUTHOR_ID}/inbox
, contains multiple:[ ] Add a test that hits each endpoint remotely (can start with postman?)