(function () {
    'use strict';

    angular
        .module('setoresApp')
        .factory('configuracoesService', configuracoesService);

    configuracoesService.$inject = ['serverFactory'];

    function configuracoesService(serverFactory) {

        /* Comandos */
        function logoff() {
            let action = 'Autenticador/Account/LogOff';
            return serverFactory.post(action, null);
        }

        /* Consultas */
        function carregarPermissoesUsuario() {
            let action = 'Setores/Setores/CarregarPermissoesUsuario';
            return serverFactory.get(action);
        }

        function carregarFerramentasHabilitadas() {
            let action = 'Setores/Setores/CarregarFerramentasHabilitadas';
            return serverFactory.get(action);
        }

        function carregarConfiguracoesGerais() {
            let action = 'Comum/Comum/CarregarConfiguracoesGerais';
            return serverFactory.get(action, null);
        }

        function consultaUsuarioLogado() {
            let action = 'Autenticador/Autenticador/ConsultaUsuarioLogado';
            return serverFactory.get(action, null);
        }

        function consultaVersao() {
            let action = 'Setores/Setores/ConsultaVersao';
            return serverFactory.get(action, null);
        }

        return {
            logoff: logoff,
            carregarPermissoesUsuario: carregarPermissoesUsuario,
            carregarFerramentasHabilitadas: carregarFerramentasHabilitadas,
            carregarConfiguracoesGerais: carregarConfiguracoesGerais,
            consultaUsuarioLogado: consultaUsuarioLogado,
            consultaVersao: consultaVersao
        };
    }
})();
