all files / app/players/ playersSelectOptions.service.js

100% Statements 14/14
100% Branches 0/0
100% Functions 6/6
100% Lines 14/14
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52                            13×                                                
/**
 * @ngdoc service
 * @name app.players.playersSelectOptions
 * @description
 * Provide a list of players for populating a select list
 *
 */
(function() {
  'use strict';
 
  angular
    .module('app.players')
    .factory('playersSelectOptions', playersFunc);
 
  /** @ngInject */
  function playersFunc($log, $q, crudResource, playersPath) {
 
    return getSelectOptions;
 
    /**
     * @ngdoc function
     * @name getSelectOptions
     * @methodOf app.players.playersSelectOptions
     * @description
     * Makes a REST API request to retrieve a list of players.
     * Creates an array of player names from the response.
     *
     * @returns {Object} promise
     * * Resolved with an array when the REST API request succeeds
     * * Rejected when the REST API request fails
     */
    function getSelectOptions() {
      var deferredObject = $q.defer();
      crudResource.getResource(playersPath).query(
        function (response) {
          var options = [];
          angular.forEach(response, function (value) {
            options.push({name: value.name, id: value.id});
          });
          deferredObject.resolve(options);
        },
        function (response) {
          $log.error('data error ' + response.status + " " + response.statusText);
          deferredObject.reject();
        }
      );
      return deferredObject.promise;
    }
 
  }
})();