/**
* @ngdoc service
* @name AvisoOperacional
* @module s4c.services.AvisoOperacional
*
* @description Componente para acesso a api do backend e/ou comunicação entre controllers
*
*
*/
(function () {
'use strict';
/**
* @method TelegramService
* @param {*} $http
* @param {*} $q
* @param {*} API_ENDPOINT
*/
function TelegramService($http, $q, API_ENDPOINT) {
var service = {};
/**
* @method getGroups
*/
service.getGroups = function getGroups() {
var deferred = $q.defer();
$http.get(API_ENDPOINT + 'mensageria_externa/telegram/grupos')
.then(function (response) {
deferred.resolve(response.data);
}, function (err) {
deferred.reject(err);
});
return deferred.promise;
};
/**
* @method getGroupMessages
* @param {*} id
* @param {*} page
* @param {*} page_to
*/
service.getGroupMessages = function getGroupMessages(id, page, page_to) {
var deferred = $q.defer();
var url = API_ENDPOINT + 'mensageria_externa/telegram/grupos/' + id + '/messages?page=' + page;
if (page_to) {
url += '&page_to=' + page_to;
}
$http.get(url)
.then(function (response) {
deferred.resolve(response.data);
}, function (err) {
deferred.reject(err);
});
return deferred.promise;
}
/**
* @method getAllGroupMessages
* @param {*} page
* @param {*} page_to
*/
service.getAllGroupMessages = function getAllGroupMessages(page, page_to) {
var deferred = $q.defer();
var url = API_ENDPOINT + 'mensageria_externa/telegram/all/messages?page=' + page;
if (page_to) {
url += '&page_to=' + page_to;
}
$http.get(url)
.then(function (response) {
deferred.resolve(response.data);
}, function (err) {
deferred.reject(err);
});
return deferred.promise;
}
/**
* @method getUsers
*/
service.getUsers = function getUsers() {
var deferred = $q.defer();
$http.get(API_ENDPOINT + 'mensageria_externa/telegram/usuarios')
.then(function (response) {
deferred.resolve(response.data);
}, function (err) {
deferred.resolve(err);
});
return deferred.promise;
}
/**
* @method getMessages
*/
service.getMessages = function getUsers() {
var deferred = $q.defer();
$http.get(API_ENDPOINT + 'mensageria_externa/telegram/messages')
.then(function (response) {
deferred.resolve(response.data);
}, function (err) {
deferred.resolve(err);
});
return deferred.promise;
}
/**
* @method saveGroup
* @param {*} grupo
*/
service.saveGroup = function saveGroup(grupo) {
var deferred = $q.defer();
$http.post(API_ENDPOINT + 'mensageria_externa/telegram/grupos', grupo)
.then(function (response) {
deferred.resolve(response.data);
}, function (err) {
deferred.reject(err);
});
return deferred.promise;
}
/**
* @method changeStatusUsuarioMensageriaExterna
* @param {*} id
* @param {*} status
*/
service.changeStatusUsuarioMensageriaExterna = function (id, status) {
var deferred = $q.defer();
$http.put(`${API_ENDPOINT}mensageria_externa/telegram/usuarios/${id}`,
{ ativo: status })
.then((response) => {
deferred.resolve(response.data);
}, (error) => {
deferred.reject(error);
});
return deferred.promise;
};
/**
* @method removeUsuarioMensageriaExterna
* @param {*} id
*/
service.removeUsuarioMensageriaExterna = function (id) {
var deferred = $q.defer();
$http.delete(`${API_ENDPOINT}mensageria_externa/telegram/usuarios/${id}`,
{ ativo: status })
.then((response) => {
deferred.resolve(response.data);
}, (error) => {
deferred.reject(error);
});
return deferred.promise;
};
/**
* @method deleteGroup
* @param {*} id
*/
service.deleteGroup = function deleteGroup(id) {
var deferred = $q.defer();
$http.delete(API_ENDPOINT + 'mensageria_externa/telegram/grupos/' + id)
.then(function (response) {
deferred.resolve(response.data);
}, function (err) {
deferred.reject(err);
});
return deferred.promise;
};
/**
* @method getUsersFromGroup
* @param {*} id
*/
service.getUsersFromGroup = function getUsersFromGroup(id) {
var deferred = $q.defer();
$http.get(API_ENDPOINT + 'mensageria_externa/telegram/grupos/' + id + '/usuarios')
.then(function (response) {
deferred.resolve(response.data);
}, function (err) {
deferred.reject(err);
});
return deferred.promise;
};
/**
* @method deleteUsersFromGroup
* @param {*} id
* @param {*} usersArray
*/
service.deleteUsersFromGroup = function deleteUsersFromGroup(id, usersArray) {
var deferred = $q.defer();
$http.post(API_ENDPOINT + 'mensageria_externa/telegram/grupos/' + id + '/usuarios/delete', usersArray)
.then(function (response) {
deferred.resolve(response.data);
}, function (err) {
deferred.reject(err);
});
return deferred.promise;
};
/**
* @method addUsersToGroup
* @param {*} id
* @param {*} usersArray
*/
service.addUsersToGroup = function addUsersToGroup(id, usersArray) {
var deferred = $q.defer();
$http.post(API_ENDPOINT + 'mensageria_externa/telegram/grupos/' + id + '/usuarios', usersArray)
.then(function (response) {
deferred.resolve(response.data);
}, function (err) {
deferred.reject(err);
});
return deferred.promise;
};
/**
* @method sendMessageBulk
* @param {*} message
*/
service.sendMessageBulk = function sendMessageBulk(message) {
var deferred = $q.defer();
$http.post(API_ENDPOINT + 'mensageria_externa/telegram/messages/bulk', message)
.then(function (response) {
deferred.resolve(response.data);
}, function (err) {
deferred.reject(err);
});
return deferred.promise;
};
/**
* @method sendGroupMessageBulk
* @param {*} message
*/
service.sendGroupMessageBulk = function sendGroupMessageBulk(message) {
var deferred = $q.defer();
$http.post(API_ENDPOINT + 'mensageria_externa/telegram/groups/messages/bulk', message)
.then(function (response) {
deferred.resolve(response.data);
}, function (err) {
deferred.reject(err);
});
return deferred.promise;
};
/**
* @method enviarMensagem
* @param {*} groupId
* @param {*} mensagem
*/
service.enviarMensagem = function (grupoId, mensagem) {
var deferred = $q.defer();
$http.post(API_ENDPOINT + 'mensageria_externa/telegram/grupos/' + grupoId + '/messages', mensagem)
.then(function (response) {
deferred.resolve(response.data);
}, function (err) {
deferred.reject(err);
});
return deferred.promise;
}
/**
* @method findGroupMessagePages
* @param {*} groupId
* @param {*} text
*/
service.findGroupMessagePages = function (groupId, text) {
var deferred = $q.defer();
$http.get(API_ENDPOINT + 'mensageria_externa/telegram/grupos/' + groupId + '/messages/' + text)
.then(function (response) {
deferred.resolve(response.data);
}, function (err) {
deferred.reject(err);
});
return deferred.promise;
}
/**
* @method updateAvisoOperarional
* @param {*} aviso
*/
service.updateAvisoOperarional = function (aviso) {
var deferred = $q.defer();
$http.put(API_ENDPOINT + 'mensageria_externa/aviso', aviso)
.then(function (response) {
deferred.resolve(response.data);
}, function (err) {
deferred.reject(err);
});
return deferred.promise;
};
return service;
}
angular.module('s4c.services')
.service('TelegramService', TelegramService);
TelegramService.$inject = ['$http', '$q', 'API_ENDPOINT'];
}());