6 .factory("groupService", groupService);
8 groupService.$inject = ["$http", "$q", "promiseCache", "errorHandlerService"];
10 function groupService($http, $q, promiseCache, errorHandlerService) {
20 // I get all of the groups in the remote collection.
21 function getGroups(profile, userId) {
28 if (userId != undefined) {
29 config.params.userId = userId;
34 return $http.get(actionURLAjax, config);
37 key: JSON.stringify(config.params)
39 .then(getGroupsComplete)
40 ["catch"](getGroupsFailed);
42 function getGroupsComplete(response) {
43 if (response.data.success) {
44 return response.data.schools;
47 // If success variable is false or undefined then throw an error
48 var message = "An unknown error occurred in getGroups.";
49 var error = errorHandlerService.buildErrorObject(response, message);
50 return ($q.reject(message));
53 function getGroupsFailed(error) {
54 // If message is undefined then throw unknown error. Otherwise, use expected error message.
55 if (!angular.isObject(error.data) || !error.data.message) {
56 var message = "An unknown error occurred in getGroupsFailed.";
57 return ($q.reject(message));
60 return ($q.reject(error.data.message));