mirror of
https://github.com/koodiklinikka/koodiklinikka.fi-api.git
synced 2026-01-26 11:44:12 +00:00
73 lines
1.7 KiB
JavaScript
73 lines
1.7 KiB
JavaScript
'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.publicChannel)
|
|
.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.privateChannel)
|
|
.field('token', config.slack.token)
|
|
.end(function(error, response){
|
|
if(error) {
|
|
reject(error);
|
|
}
|
|
resolve(response.body);
|
|
});
|
|
});
|
|
},
|
|
getUsers: function() {
|
|
return new Promise(function(resolve, reject) {
|
|
request
|
|
.post('https://koodiklinikka.slack.com/api/users.list')
|
|
.field('token', config.slack.token)
|
|
.end(function(error, response){
|
|
if(error) {
|
|
reject(error);
|
|
}
|
|
if(!response.body.ok) {
|
|
return reject(response.body.error);
|
|
}
|
|
|
|
resolve(response.body.members);
|
|
});
|
|
});
|
|
}
|
|
};
|