mirror of
https://github.com/koodiklinikka/koodiklinikka.fi-api.git
synced 2026-02-09 19:51:00 +00:00
41 lines
878 B
JavaScript
41 lines
878 B
JavaScript
'use strict';
|
||
|
||
var validator = require('validator');
|
||
var config = require('../lib/config');
|
||
var request = require('superagent');
|
||
|
||
|
||
module.exports = function (app) {
|
||
/*
|
||
* POST /invites
|
||
* Endpoint for sending invitations automatically
|
||
*/
|
||
|
||
app.post('/invites', function(req, res, next) {
|
||
|
||
if(!validator.isEmail(req.body.email)) {
|
||
res.status(400).send('Invalid email');
|
||
}
|
||
|
||
request
|
||
.post('https://koodiklinikka.slack.com/api/users.admin.invite')
|
||
.field('email', req.body.email)
|
||
.field('channels', config.slack.channels)
|
||
.field('token', config.slack.token)
|
||
.field('set_active', 'true')
|
||
.end(function(error, response){
|
||
if(error) {
|
||
return next(error);
|
||
}
|
||
|
||
if(!response.body.ok) {
|
||
return next(new Error('Creating slack invitation failed'));
|
||
}
|
||
|
||
res.status(200).end();
|
||
});
|
||
|
||
});
|
||
|
||
};
|