Source: directives/detalhamento/video-chamada.service.js

/**
 * @ngdoc directives
 * @name VideoChamadaService
 * @module s4c.directives.detalhamento.VideoChamadaService
 *
 * @description
 * `VideoChamadaService` Gerencia a chamada de video através da API do backend.
 *
 */
(function () {
    'use strict';

    angular.module('s4c.components.detalhamento').service(
        'VideoChamadaService', VideoChamadaService);

    VideoChamadaService.$inject = ['$http', '$q', 'API_ENDPOINT'];

    function VideoChamadaService($http, $q, API_ENDPOINT) {

        var service = {
            iniciarVideo: iniciarVideo
        };

        /**
         * Inicia a chamada de vídeo
         *
         * @method iniciarVideo
         * 
         * 
         * @param {String} chaveEstrangeira identificador unico do Ponto de Interesse clicado
         * 
         *
         */
        function iniciarVideo(chaveEstrangeira) {
            var deferred = $q.defer();

            var payload = new FormData();

            payload.append("terminal", chaveEstrangeira);

            $http({
                url: '/s4cmobile/terminal/iniciarVideo',
                method: 'POST',
                data: payload,
                headers: {
                    'Content-Type': undefined
                },
                transformRequest: angular.identity
            }).then(function (res) {
                if (res.data != 'ERROR') {
                    console.log("Teste de comunicação: ");
                    deferred.resolve(res.data);
                } else {
                    deferred.reject(res);
                }
            }, function (err) {
                deferred.reject(err);
            });

            return deferred.promise;
        }

        return service;

    }
}());