add webhook sd notifications

merge-requests/4/head
Matthew 2020-07-22 22:04:25 -04:00
parent 85dd17eebb
commit 6702cf2523
No known key found for this signature in database
GPG Key ID: 210AF32ADE3B5C4B
1 changed files with 31 additions and 0 deletions

31
src/api/routes/Webhook.ts Normal file
View File

@ -0,0 +1,31 @@
import { TextChannel } from 'eris';
import { Server } from '..';
import { Route, RichEmbed } from '../../class';
export default class Webhook extends Route {
constructor(server: Server) {
super(server, { path: '/wh', deprecated: false, maintenance: false });
}
public bind() {
this.router.get('/s1', async (req, res) => {
try {
if (req.headers.authorization !== this.server.security.keys.iv.toString()) return res.status(401).json({ code: this.constants.codes.UNAUTHORIZED, message: this.constants.codes.UNAUTHORIZED });
const embed = new RichEmbed();
embed.setTitle('Service Request');
embed.setDescription(req.body.url);
embed.setColor('#FF00FF');
embed.addField('Ticket Number', req.body.key, true);
embed.addField('Reporter', req.body.reporter, true);
embed.addField('Status', req.body.status, true);
embed.addField('Summary', req.body.summary);
embed.setFooter(this.server.client.user.username, this.server.client.user.avatarURL);
embed.setTimestamp();
const chan = <TextChannel> this.server.client.getChannel('580950455581147146');
return chan.createMessage({ embed });
} catch (err) {
return this.handleError(err, res);
}
});
}
}