create slack service, try to create invites with slack api and if it fails then send the emails to configured channel

This commit is contained in:
Riku Rouvila
2015-02-13 01:09:48 +02:00
parent 5d4cc64f5b
commit 2868d8b271
2 changed files with 70 additions and 20 deletions

55
services/slack.js Normal file
View File

@@ -0,0 +1,55 @@
'use strict';
var request = require('superagent');
var config = require('../lib/config');
var Promise = require('bluebird');
module.exports = {
/**
* Create a new Slack - invite
*/
createInvite: function(email) {
return new Promise(function(resolve, reject) {
request
.post('https://koodiklinikka.slack.com/api/users.admin.invite')
.field('email', email)
.field('channels', config.slack.channels)
.field('token', config.slack.token)
.field('set_active', 'true')
.end(function(error, response){
if(!response.body.ok) {
return reject(response.body.error);
}
if(error) {
return reject(error);
}
resolve(response.body);
});
});
},
/**
* Send a message to configured channel
*/
createMessage: function(message) {
return new Promise(function(resolve, reject) {
request
.post('https://koodiklinikka.slack.com/api/chat.postMessage')
.field('text', message)
.field('channel', config.slack.channels)
.field('token', config.slack.token)
.end(function(error, response){
if(error) {
reject(error);
}
resolve(response.body);
});
});
}
};