angular.module('kalgudiApp').service('pageServices', ["searchRestangular","$q","commonDataFactory","$rootScope","$state","s3Restangular","reportabuseRestangular","Restangular","loadingS3UrlServices", function(searchRestangular,$q,commonDataFactory,$rootScope,$state,s3Restangular,reportabuseRestangular,Restangular,loadingS3UrlServices) { var that = this; this.createUniversitesPage = function(request){ var deferred = $q.defer(); delete request["coursesOffer"]; delete request["coursesOfferDescription"]; commonDataFactory.one('../entities/university/createuniversity').customPOST(request).then(function(data) { outputData=commonDataFactory.stripRestangular(data); deferred.resolve(outputData); }, function (err) { deferred.reject(err); }); return deferred.promise; }; this.createCompanyPage = function(request){ request.industryName =request.industryType.title; request.industryId =request.industryType.id; delete request["industryType"]; var deferred = $q.defer(); commonDataFactory.one('../entities/company/create').customPOST(request).then(function(data) { outputData=commonDataFactory.stripRestangular(data); deferred.resolve(outputData); }, function (err) { deferred.reject(err); }); return deferred.promise; }; this.createOrganizationPage = function(request){ var deferred = $q.defer(); commonDataFactory.one('../entities/organization').customPOST(request).then(function(data) { outputData=commonDataFactory.stripRestangular(data); deferred.resolve(outputData); }, function (err) { deferred.reject(err); }); return deferred.promise; }; this.createProgramPage = function(request){ var deferred = $q.defer(); commonDataFactory.one('../entities/program/createprogram').customPOST(request).then(function(data) { outputData=commonDataFactory.stripRestangular(data); deferred.resolve(outputData); }, function (err) { deferred.reject(err); }); return deferred.promise; }; this.getServeys = function(request){ var deferred = $q.defer(); commonDataFactory.one('../entities/program/surveys?id='+request).get().then(function(data) { outputData=commonDataFactory.stripRestangular(data); deferred.resolve(outputData); }, function (err) { deferred.reject(err); }); return deferred.promise; }; this.downloadSurveys = function(surveyId,userId){ var deferred = $q.defer(); s3Restangular.one('v1/entities/program/surveys/response?id='+surveyId+"&userId="+userId).get().then(function(data) { outputData=commonDataFactory.stripRestangular(data); deferred.resolve(outputData); }, function (err) { deferred.reject(err); }); return deferred.promise; }; this.getSurveyTemplate=function(url){ console.log("entered into getSurveyTemplate"); var deferred = $q.defer(); s3Restangular.oneUrl("s3urls",url).get().then(function(data){ var outputData = s3Restangular.stripRestangular(data); console.log("data received : " , outputData); deferred.resolve(outputData); },function(err) { if(err.config.data == "nonetwork") { } deferred.reject(err); }); return deferred.promise; } this.getServey = function(surveyId,userId){ var deferred = $q.defer(); commonDataFactory.one('../entities/program/survey?surveyId='+surveyId+'&userId='+userId).get().then(function(data) { outputData=commonDataFactory.stripRestangular(data); deferred.resolve(outputData); }, function (err) { deferred.reject(err); }); return deferred.promise; }; this.postServeys = function(request){ var deferred = $q.defer(); console.log(request) commonDataFactory.one('../entities/program/surveys').customPOST(request).then(function(data) { outputData=commonDataFactory.stripRestangular(data); deferred.resolve(outputData); }, function (err) { deferred.reject(err); }); return deferred.promise; }; this.postServeysResponse = function(request){ var deferred = $q.defer(); commonDataFactory.one('../entities/program/surveys/response').customPOST(request).then(function(data) { outputData=commonDataFactory.stripRestangular(data); deferred.resolve(outputData); }, function (err) { deferred.reject(err); }); return deferred.promise; }; this.getallUniversityCompany =function(request){ var deferred = $q.defer(); commonDataFactory.one("../stream/entity/feed").get(request).then(function(data){ var outputData = commonDataFactory.stripRestangular(data); deferred.resolve(outputData); },function(err) { if(err.config.data == "nonetwork") { } deferred.reject(err); }); return deferred.promise; } this.getallUniversityCompanyList = function(request,type) { /*var profileKey = $rootScope.loggedInUserBusinessProfile.profileKey;*/ /*Getting list of programs, which user is following*/ var programList = $rootScope.loggedInUserBusinessProfile.listOfPageDetails; var programs = ""; var offset = 0; var limit = 20; for(var program in programList) { programs += programList[program].pageId ; if(program != programList.length -1) { programs += ","; } } if(request){ offset = request.offset || offset; limit = request.limit || limit; } var requestPrograms = { /* profileKey : profileKey,*/ entityIds : programs } var deferred = $q.defer(); commonDataFactory.one("../entities/search/myEntities?limit="+limit+"&offset="+offset+"&entityType="+type).get(requestPrograms).then(function(data){ var outputData = commonDataFactory.stripRestangular(data); deferred.resolve(outputData); },function(err) { if(err.config.data == "nonetwork") { } deferred.reject(err); }); /*if( type == 'program'){ commonDataFactory.one("../entities/search/myEntities?entityType="+type).get().then(function(data){ var outputData = commonDataFactory.stripRestangular(data); deferred.resolve(outputData); },function(err) { if(err.config.data == "nonetwork") { } deferred.reject(err); }); }else{ }*/ return deferred.promise; } this.getProgramFeedData = function (request) { var deferred = $q.defer(); //http://www.devkalgudi.vasudhaika.net/rest/v1/stream/programStream?entityId=O0002ui1PROCRE2017120726063973VSSPL&offset=0&limit=10 s3Restangular.one ('v1/stream/programStream').get (request).then (function (response) { var result = s3Restangular.stripRestangular(response); result = JSON.parse(result.data); var count = result.entitiesStream.length - 1 ; var data = []; for(var index in result.entitiesStream) { loadingS3UrlServices.callBUsinessS3RespectiveUrls(result.entitiesStream[index].url,index).then(function(s3Response) { count -- ; result.entitiesStream[s3Response.index].data = s3Response.data; if (count == -1) { deferred.resolve(result.entitiesStream); } }, function (error) { count -- ; var parsederror=JSON.parse(error.message); result.entitiesStream[parsederror.index].data = parsederror.data; if (count == -1) { deferred.resolve(result.entitiesStream); } }); } if(count == -1) { deferred.resolve(result.entitiesStream); } }, function (error) { deferred.reject (error); }); return deferred.promise; } this.getFullviewUniversityCompany =function(request){ var deferred = $q.defer(); commonDataFactory.one("../stream/entity/feed").get(request).then(function(data){ var outputData = commonDataFactory.stripRestangular(data); deferred.resolve(outputData); },function(err) { if(err.config.data == "nonetwork") { } deferred.reject(err); }); return deferred.promise; } /** * Gets, the list of all activities done by a contributor. */ this.getContributorsActivities = function(programId, contributorProfileKey, request) { var deferred = $q.defer(); var URL = '../entities/assist/' + programId + '/contributor/' + contributorProfileKey; commonDataFactory.one(URL) .get(request) .then( function(response) { var strippedResponse = commonDataFactory.stripRestangular(response); deferred.resolve(strippedResponse); }, function(error){ deferred.reject(error); } ); return deferred.promise; } /** * Call, service endpoint to set the list of frequently assisted members of a * program. * * @programId Unique program/page/entity ID. * @contributorId Profile key of contributor. * @requestPayload List of members to be added as frequent members. * * @returns Promise object that made the serice call. */ this.setFrequentMembers = function(programId, contributorId, requestPayload) { var deferred = $q.defer(); var URL = '../entities/assist/' + programId + '/contacts/' + contributorId; commonDataFactory.one(URL) .customPOST(requestPayload) .then( function(response) { deferred.resolve(response); }, function(error){ deferred.reject(error); } ); return deferred.promise; } /** * Call, service endpoint to get the list of frequently assisted members of a * program. * * @programId Unique program/page/entity ID. * @contributorId Profile key of contributor. * * @returns Promise object that made the serice call. */ this.getFrequentMembers = function(programId, contributorId) { var deferred = $q.defer(); var URL = '../entities/assist/' + programId + '/contacts/' + contributorId; commonDataFactory.one(URL) .get() .then( function(response) { var strippedResponse = commonDataFactory.stripRestangular(response); deferred.resolve(strippedResponse); }, function(error){ deferred.reject(error); } ); return deferred.promise; } /** * Call, service endpoint to get report activity details. * * @param activityId Unique report activity Id * * @returns Promise object that made the service call. */ this.getReportActivityDetails = function(activityId) { var deferred = $q.defer(); var URL = '../entities/assist?activityId=' + activityId; commonDataFactory.one(URL) .get() .then( function(response) { var strippedResponse = commonDataFactory.stripRestangular(response); deferred.resolve(strippedResponse); }, function(error){ deferred.reject(error); } ); return deferred.promise; } /** * Call, service endpoint to get report activity stream. * * @param programId Program Id * @param relation 'ADMIN' or 'CONTRIBUTOR' or 'SUBSCRIBER' * @param offset * @param limit * * @returns Promise object that made the service call. */ this.getReportActivityStream = function(programId, relation, offset, limit) { var deferred = $q.defer(); var URL = '../entities/assist/' + programId + '/reportactivities?relationType=' + relation + '&offset=' + offset + '&limit=' + limit; commonDataFactory.one(URL) .get() .then( function(response) { var strippedResponse = commonDataFactory.stripRestangular(response); deferred.resolve(strippedResponse); }, function(error){ deferred.reject(error); } ); return deferred.promise; } // To get cropDetails of farmer this.getCropDetails = function (programId, farmerId, assistantId, offset, limit) { var deferred = $q.defer (); var URL = '../entities/assist/' + programId + '/crop/' + farmerId + '?assistantId=' + assistantId + '&offset=' + offset + '&limit=' + limit; commonDataFactory.one (URL) .get () .then ( function (response) { var strippedResponse = commonDataFactory.stripRestangular(response); deferred.resolve(strippedResponse); }, function (error) { deferred.reject (error); } ); return deferred.promise; } // To update cropDetails on farmer's profile this.updateCropDetails = function (programId, farmerId, requestObj) { var deferred = $q.defer(); var URL = '../entities/assist/' + programId + '/crop/' + farmerId; commonDataFactory.one (URL).customPUT (requestObj).then ( function (response) { var strippedResponse = commonDataFactory.stripRestangular (response); deferred.resolve (strippedResponse); }, function(error){ deferred.reject(error); } ); return deferred.promise; } /************************/ // To save the report activity this.reportActivity = function(programId, request) { var deferred = $q.defer(); commonDataFactory.one('../entities/assist/' + programId + '/reportActivity').customPOST(request).then(function(response) { var strippedResponse = commonDataFactory.stripRestangular(response); deferred.resolve(strippedResponse); }, function(error){ deferred.reject(error); }); return deferred.promise; } this.getPendingShareRecommendation =function(){ var deferred = $q.defer(); var request={ entityId:$state.params.entityId } commonDataFactory.one("../stream/share/suggestions").get(request).then(function(data){ var outputData = commonDataFactory.stripRestangular(data); deferred.resolve(outputData); },function(err) { if(err.config.data == "nonetwork") { } deferred.reject(err); }); return deferred.promise; } this.postShareSuggestions =function(request){ var deferred = $q.defer(); commonDataFactory.one("../stream/share/suggestions").customPOST(request).then(function(data){ var outputData = commonDataFactory.stripRestangular(data); deferred.resolve(outputData); },function(err) { if(err.config.data == "nonetwork") { } deferred.reject(err); }); return deferred.promise; } this.getPendingQnARecommendation =function(){ var deferred = $q.defer(); var request={ entityId:$state.params.entityId } commonDataFactory.one("../stream/qa/suggestions").get(request).then(function(data){ var outputData = commonDataFactory.stripRestangular(data); deferred.resolve(outputData); },function(err) { if(err.config.data == "nonetwork") { } deferred.reject(err); }); return deferred.promise; } this.postQnASuggestions =function(request){ var deferred = $q.defer(); commonDataFactory.one("../stream/qa/suggestions").customPOST(request).then(function(data){ var outputData = commonDataFactory.stripRestangular(data); deferred.resolve(outputData); },function(err) { if(err.config.data == "nonetwork") { } deferred.reject(err); }); return deferred.promise; } this.getPendingOpportinitiesRecommendation =function(viewMore){ var deferred = $q.defer(); var request={ entityId:$state.params.entityId } commonDataFactory.one("../business/requirements/opportunities?viewMore="+viewMore).get().then(function(data){ var outputData = commonDataFactory.stripRestangular(data); deferred.resolve(outputData); },function(err) { if(err.config.data == "nonetwork") { } deferred.reject(err); }); return deferred.promise; } this.postPendingOpportinitiesRecommendation =function(request){ var deferred = $q.defer(); commonDataFactory.one("../business/requirements/opportunities").customPOST(request).then(function(data){ var outputData = commonDataFactory.stripRestangular(data); deferred.resolve(outputData); },function(err) { if(err.config.data == "nonetwork") { } deferred.reject(err); }); return deferred.promise; } this.deletePendingOpportinitiesRecommendation =function(request){ var deferred = $q.defer(); commonDataFactory.one("../business/requirements/opportunities").remove(request).then(function(data){ var outputData = commonDataFactory.stripRestangular(data); deferred.resolve(outputData); },function(err) { if(err.config.data == "nonetwork") { } deferred.reject(err); }); return deferred.promise; } /************************/ this.getFullviewData = function(entityId) { var request = { entityId : $state.params.entityId || $state.params.programId || entityId } var deferred = $q.defer(); commonDataFactory.one("../entities/common/getentity").get(request).then(function(data){ var outputData = commonDataFactory.stripRestangular(data); deferred.resolve(outputData); },function(err) { if(err.config.data == "nonetwork") { } deferred.reject(err); }); return deferred.promise; } this.getShareToList =function(request){ var profileKey = $rootScope.loggedInUserBusinessProfile.profileKey; var deferred = $q.defer(); commonDataFactory.one("../entities/common/getAdminPages?profileKey="+profileKey).get().then(function(data){ //commonDataFactory.one("../entities/search/myEntities?profileKey="+profileKey).get().then(function(data){ var outputData = commonDataFactory.stripRestangular(data); for(var index in outputData){ outputData[index].groupId=outputData[index].entityId; outputData[index].groupName=outputData[index].entityName; } deferred.resolve(outputData); },function(err) { if(err.config.data == "nonetwork") { } deferred.reject(err); }); return deferred.promise; } this.unFollow =function(entityId){ var deferred = $q.defer(); commonDataFactory.one("../entities/common/unfollow").one(entityId).one($rootScope.loggedInUserBusinessProfile.profileKey).remove().then(function(data){ var outputData = commonDataFactory.stripRestangular(data); deferred.resolve(outputData); },function(err) { if(err.config.data == "nonetwork") { } deferred.reject(err); }); return deferred.promise; } this.removeSubscriber =function(entityId, profileKey){ var deferred = $q.defer(); commonDataFactory.one("../entities/common/unfollow").one(entityId).one(profileKey).remove().then(function(data){ var outputData = commonDataFactory.stripRestangular(data); deferred.resolve(outputData); },function(err) { if(err.config.data == "nonetwork") { } deferred.reject(err); }); return deferred.promise; } this.getQa =function(entityId,request){ var requestEntityId=[]; requestEntityId.push(entityId); var deferred = $q.defer(); commonDataFactory.one("../stream/qa/groups?limit="+request.limit+"&offset="+request.offset).customPOST(requestEntityId).then(function(data){ var outputData = commonDataFactory.stripRestangular(data); deferred.resolve(outputData); },function(err) { if(err.config.data == "nonetwork") { } deferred.reject(err); }); return deferred.promise; } this.getShare=function(entityId,request){ var requestEntityId=[]; requestEntityId.push(entityId); var deferred = $q.defer(); commonDataFactory.one("../stream/share/groups?limit="+request.limit+"&offset="+request.offset).customPOST(requestEntityId).then(function(data){ var outputData = commonDataFactory.stripRestangular(data); deferred.resolve(outputData); },function(err) { if(err.config.data == "nonetwork") { } deferred.reject(err); }); return deferred.promise; } this.getAllEmployee=function(request){ var deferred = $q.defer(); commonDataFactory.one("../entities/common/employees?entityId="+request.entityId+"&limit="+request.limit+"&offset="+request.offset).customGET().then(function(data){ var outputData = commonDataFactory.stripRestangular(data); deferred.resolve(outputData); },function(err) { if(err.config.data == "nonetwork") { } deferred.reject(err); }); return deferred.promise; } this.getEmployee=function(request){ var deferred = $q.defer(); commonDataFactory.one("../entities/common/getMemberProfiles").get(request).then(function(data){ var outputData = commonDataFactory.stripRestangular(data); deferred.resolve(outputData); },function(err) { if(err.config.data == "nonetwork") { } deferred.reject(err); }); return deferred.promise; } this.searchSubscribers = function(request) { var deferred = $q.defer(); commonDataFactory.one("../entities/common/search/members").get(request).then(function(data){ var outputData = commonDataFactory.stripRestangular(data); deferred.resolve(outputData); },function(err) { if(err.config.data == "nonetwork") { } deferred.reject(err); }); return deferred.promise; } this.getDisocoveryTypeList=function(entityType, request){ var deferred = $q.defer(); commonDataFactory.one("../entities/search/"+entityType).get(request).then(function(data){ var outputData = commonDataFactory.stripRestangular(data); deferred.resolve(outputData); },function(err) { if(err.config.data == "nonetwork") { } deferred.reject(err); }); return deferred.promise; } this.entityEdit=function(request){ var deferred = $q.defer(); commonDataFactory.one("../entities/common/updateentity").customPUT(request).then(function(data){ var outputData = commonDataFactory.stripRestangular(data); deferred.resolve(outputData); },function(err) { if(err.config.data == "nonetwork") { } deferred.reject(err); }); return deferred.promise; } this.getIndustryTypeForCompany=function(){ var deferred = $q.defer(); s3Restangular.oneUrl("s3urls","https://s3.amazonaws.com/kalgudicontent/classifications/ProfileTypes/BIZ_Business.json").get().then(function(data){ var outputData = s3Restangular.stripRestangular(data); deferred.resolve(outputData); },function(err) { if(err.config.data == "nonetwork") { } deferred.reject(err); }); return deferred.promise; } this.getLocationLists = function(pageId){ var deferred = $q.defer(); /* * http://devkalgudi.vasudhaika.net/rest/v1/stream/page/share/locations?pageId=12345 * Method: GET */ s3Restangular.one("v1/stream/page/share/locations?pageId=" + pageId).get().then(function(userLocations){ deferred.resolve(userLocations); },function(err) { if(err.config.data == "nonetwork") { $rootScope.spinerisActive = false; } deferred.reject(err); }); return deferred.promise; } this.getRangeToFilterSubscribers = function(pageId){ var deferred = $q.defer(); /* * http://devkalgudi.vasudhaika.net/rest/v1/stream/page/share/locations?pageId=12345 * Method: GET */ s3Restangular.one("v1/stream/page/share/range?pageId=" + pageId).get().then(function(range){ deferred.resolve(range); },function(err) { if(err.config.data == "nonetwork") { $rootScope.spinerisActive = false; } deferred.reject(err); }); return deferred.promise; } this.getOrgnizationFilter = function(profilekey){ var deferred = $q.defer(); /* * http://devkalgudi.vasudhaika.net/rest/v1/stream/page/share/organisations/{profilekey} * Method: GET */ s3Restangular.one("v1/stream/page/share/organisations/" + profilekey).get().then(function(response){ var orgnizationFilterRange = s3Restangular.stripRestangular(response); deferred.resolve(orgnizationFilterRange); },function(err) { if(err.config.data == "nonetwork") { $rootScope.spinerisActive = false; } deferred.reject(err); }); return deferred.promise; } this.shareWithSubscribers = function(request){ var deferred = $q.defer(); reportabuseRestangular.all("stream/page/share").post(request).then(function(data){ output=reportabuseRestangular.stripRestangular(data); deferred.resolve(output); }); return deferred.promise; } this.getPreview = function(selectedData){ var deferred = $q.defer(); /* * http://devkalgudi.vasudhaika.net/rest/v1/stream/targets * Method: POST * Data: Selected products, locations, business types, users, groups */ s3Restangular.all("v1/stream/publish/shares/targets").post(selectedData).then(function(dataS3Urls){ deferred.resolve(dataS3Urls); },function(err) { if(err.config.data == "nonetwork") { $rootScope.spinerisActive = false; } deferred.reject(err); }); return deferred.promise; }; this.entityAssignAdmin=function(request){ var deferred = $q.defer(); commonDataFactory.one("../entities/program/assignadmin").customPOST(request).then(function(data){ var outputData = commonDataFactory.stripRestangular(data); deferred.resolve(outputData); },function(err) { if(err.config.data == "nonetwork") { } deferred.reject(err); }); return deferred.promise; } this.entityAssignMember=function(request){ var deferred = $q.defer(); commonDataFactory.one("../entities/program/assignmember").customPOST(request).then(function(data){ var outputData = commonDataFactory.stripRestangular(data); deferred.resolve(outputData); },function(err) { if(err.config.data == "nonetwork") { } deferred.reject(err); }); return deferred.promise; } this.entityAssignOrg=function(request){ var deferred = $q.defer(); commonDataFactory.one("../entities/common/assignOrg").customPUT(request).then(function(data){ var outputData = commonDataFactory.stripRestangular(data); deferred.resolve(outputData); },function(err) { if(err.config.data == "nonetwork") { } deferred.reject(err); }); return deferred.promise; } this.getPastDataCounts = function(pageId,requestType,fromDate, toDate, shareId){ var deferred = $q.defer(); /* * http://devkalgudi.vasudhaika.net/rest/v1/stream/publish/shares/analytics?pageId=&type=&fromdate=&todate=&sharedid= * Method: GET */ s3Restangular.one("v1/stream/publish/shares/analytics?pageId=" + pageId+"&type="+requestType +"&fromdate="+fromDate + "&todate=" + toDate+"&sharedid="+shareId).get().then(function(userLocations){ deferred.resolve(userLocations); },function(err) { if(err.config.data == "nonetwork") { $rootScope.spinerisActive = false; } deferred.reject(err); }); return deferred.promise; } this.getAllProgramsByPage =function(entityId){ var deferred = $q.defer(); commonDataFactory.one("../entities/program/lstOfPgrms?entityId="+entityId).get().then(function(data){ var outputData = commonDataFactory.stripRestangular(data); deferred.resolve(outputData); },function(err) { if(err.config.data == "nonetwork") { } deferred.reject(err); }); return deferred.promise; } this.deleteAdminOrMember=function(profileKey,entityId,relationType){ var deferred = $q.defer(); commonDataFactory.one("../entities/program/deleteAdminOrMember?entityId="+entityId+"&profileKey="+profileKey+"&relationType="+relationType).remove().then(function(data){ var outputData = commonDataFactory.stripRestangular(data); deferred.resolve(outputData); },function(err) { if(err.config.data == "nonetwork") { } deferred.reject(err); }); return deferred.promise; } this.appResponseReply = function(request) { var deferred = $q.defer(); s3Restangular.all('v1/wlapp/qa').customPUT(request).then(function(data) { var outputData = commonDataFactory.stripRestangular(data); deferred.resolve(outputData); }, function (err) { if(err.config.data == "nonetwork") { $rootScope.spinerisActive = false; } deferred.reject(err); }); return deferred.promise; }; this.getappResponsequeryData = function(appId){ var deferred = $q.defer(); s3Restangular.one("v1/wlapp/qa?appId="+appId).get().then(function(data){ output=reportabuseRestangular.stripRestangular(data); deferred.resolve(output); }); return deferred.promise; }; this.deleteappResponse = function(appId,queryId){ var deferred = $q.defer(); s3Restangular.one("v1/wlapp/qa?appId="+appId+"&queryId="+queryId).remove().then(function(data){ output=reportabuseRestangular.stripRestangular(data); deferred.resolve(output); }); return deferred.promise; }; this.getavailableCreditsFromAmazon = function(url){ var deferred = $q.defer(); Restangular.oneUrl('credits',url).get().then(function(data){ output=s3Restangular.stripRestangular(data); deferred.resolve(output); },function (err) { deferred.reject(err); alert('enable sms settings'); }); return deferred.promise; } this.availableCredits = function(pageId){ var deferred = $q.defer(); s3Restangular.one("download?filename=payments/SMSSettings/"+pageId+"_SMSSettings").get().then(function(data){ output=s3Restangular.stripRestangular(data); that.getavailableCreditsFromAmazon(data).then(function(amazon){ console.log(amazon); deferred.resolve(amazon); }); }); return deferred.promise; } }]);