mirror of
https://github.com/koodiklinikka/koodiklinikka.fi-api.git
synced 2026-03-11 07:02:53 +00:00
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:
55
services/slack.js
Normal file
55
services/slack.js
Normal 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);
|
||||
});
|
||||
});
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user