--- /dev/null
+(function() {
+ "use strict";
+
+ angular
+ .module("nero.app")
+ .factory("userService", userService);
+
+ userService.$inject = ["$http", "$q", "promiseCache", "errorHandlerService"];
+
+ function userService($http, $q, promiseCache, errorHandlerService) {
+
+ var service = {
+ getCurrentUserId: getCurrentUserId,
+ getMyChildren: getMyChildren
+ };
+
+ return service;
+
+ /////////////////
+
+ /*
+ Return current online user id
+ */
+ function getCurrentUserId() {
+ return Liferay.ThemeDisplay.getUserId();
+ }
+
+ // I get all of the childrens.
+ function getMyChildren() {
+ var config = {};
+ config.params = {
+ cmd: "getMyChildren"
+ };
+
+ return promiseCache({
+ promise: function() {
+ return $http.get(actionURLAjax, config);
+ },
+ ttl: 10000, //10 sec
+ key: JSON.stringify(config.params)
+ })
+ .then(getMyChildrenComplete)
+ ["catch"](getMyChildrenFailed);
+
+ function getMyChildrenComplete(response) {
+ if (response.data.success) {
+ return response.data.children;
+ }
+
+ // If success variable is false or undefined then throw an error
+ var message = "An unknown error occurred in getMyChildren.";
+ var error = errorHandlerService.buildErrorObject(response, message);
+ return ($q.reject(message));
+ }
+
+ function getMyChildrenFailed(error) {
+ // If message is undefined then throw unknown error. Otherwise, use expected error message.
+ if (!angular.isObject(error.data) || !error.data.message) {
+ var message = "An unknown error occurred in getMyChildrenFailed.";
+ return ($q.reject(message));
+ }
+
+ return ($q.reject(error.data.message));
+ }
+ }
+
+ }
+})();