From 81b6260f2eea930576c8a15b6fcf82f63e29e50e Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Thu, 25 May 2023 14:29:06 -0400 Subject: [PATCH] feat: inbox and outbox routes, stub controllers --- src/controllers/activitypub.js | 25 +++++++++++++++++++++++++ src/routes/activitypub.js | 6 ++++++ 2 files changed, 31 insertions(+) diff --git a/src/controllers/activitypub.js b/src/controllers/activitypub.js index 734897380f..921e59cf2c 100644 --- a/src/controllers/activitypub.js +++ b/src/controllers/activitypub.js @@ -39,3 +39,28 @@ Controller.getActor = async (req, res) => { }, }); }; + +Controller.getOutbox = async (req, res) => { + // stub + res.status(200).json({ + '@context': 'https://www.w3.org/ns/activitystreams', + type: 'OrderedCollection', + totalItems: 0, + orderedItems: [], + }); +}; + +Controller.postOutbox = async (req, res) => { + // This is a client-to-server feature so it is deliberately not implemented at this time. + res.sendStatus(405); +}; + +Controller.getInbox = async (req, res) => { + // This is a client-to-server feature so it is deliberately not implemented at this time. + res.sendStatus(405); +}; + +Controller.postInbox = async (req, res) => { + // stub — other activity-pub services will push stuff here. + res.sendStatus(405); +}; diff --git a/src/routes/activitypub.js b/src/routes/activitypub.js index 14e840d5b1..f96484a7b2 100644 --- a/src/routes/activitypub.js +++ b/src/routes/activitypub.js @@ -4,4 +4,10 @@ module.exports = function (app, middleware, controllers) { const middlewares = [middleware.proceedOnActivityPub, middleware.exposeUid]; app.get('/user/:userslug', middlewares, controllers.activitypub.getActor); + + app.get('/user/:userslug/outbox', middlewares, controllers.activitypub.getOutbox); + app.post('/user/:userslug/outbox', middlewares, controllers.activitypub.postOutbox); + + app.get('/user/:userslug/inbox', middlewares, controllers.activitypub.getInbox); + app.post('/user/:userslug/inbox', middlewares, controllers.activitypub.postInbox); };