summaryrefslogtreecommitdiff
path: root/src/processor/http
diff options
context:
space:
mode:
Diffstat (limited to 'src/processor/http')
-rw-r--r--src/processor/http/index.ts9
-rw-r--r--src/processor/http/perform-activitypub.ts6
-rw-r--r--src/processor/http/report-github-failure.ts29
3 files changed, 44 insertions, 0 deletions
diff --git a/src/processor/http/index.ts b/src/processor/http/index.ts
new file mode 100644
index 0000000000..da942ad2a1
--- /dev/null
+++ b/src/processor/http/index.ts
@@ -0,0 +1,9 @@
+import performActivityPub from './perform-activitypub';
+import reportGitHubFailure from './report-github-failure';
+
+const handlers = {
+ performActivityPub,
+ reportGitHubFailure,
+};
+
+export default (job, done) => handlers[job.data.type](job).then(() => done(), done);
diff --git a/src/processor/http/perform-activitypub.ts b/src/processor/http/perform-activitypub.ts
new file mode 100644
index 0000000000..5b1a02173d
--- /dev/null
+++ b/src/processor/http/perform-activitypub.ts
@@ -0,0 +1,6 @@
+import User from '../../models/user';
+import act from '../../common/remote/activitypub/act';
+
+export default ({ data }, done) => User.findOne({ _id: data.actor })
+ .then(actor => act(actor, data.outbox))
+ .then(() => done(), done);
diff --git a/src/processor/http/report-github-failure.ts b/src/processor/http/report-github-failure.ts
new file mode 100644
index 0000000000..53924a0fbd
--- /dev/null
+++ b/src/processor/http/report-github-failure.ts
@@ -0,0 +1,29 @@
+import * as request from 'request';
+import User from '../../models/user';
+const createPost = require('../../server/api/endpoints/posts/create');
+
+export default ({ data }, done) => {
+ const asyncBot = User.findOne({ _id: data.userId });
+
+ // Fetch parent status
+ request({
+ url: `${data.parentUrl}/statuses`,
+ headers: {
+ 'User-Agent': 'misskey'
+ }
+ }, async (err, res, body) => {
+ if (err) {
+ console.error(err);
+ return;
+ }
+ const parentStatuses = JSON.parse(body);
+ const parentState = parentStatuses[0].state;
+ const stillFailed = parentState == 'failure' || parentState == 'error';
+ const text = stillFailed ?
+ `**⚠️BUILD STILL FAILED⚠️**: ?[${data.message}](${data.htmlUrl})` :
+ `**🚨BUILD FAILED🚨**: →→→?[${data.message}](${data.htmlUrl})←←←`;
+
+ createPost({ text }, await asyncBot);
+ done();
+ });
+};