angular.module('kalgudiApp').service('helpandlegalservice', ['s3Restangular','$q','mybusinessRestangular','$rootScope','reportabuseRestangular','profileRestangular','searchRestangular',"$http", "loadingS3UrlServices", function(s3Restangular,$q,mybusinessRestangular,$rootScope,reportabuseRestangular,profileRestangular,searchRestangular,$http, loadingS3UrlServices) { this.contactsService = function(request){ var deferred = $q.defer(); mybusinessRestangular.one("../contactus/"+request.types).customPOST(request.description).then(function(data){ deferred.resolve(data); }); return deferred.promise; }; this.getContactType = function(){ var deferred = $q.defer(); mybusinessRestangular.one("../contactus/types").get().then(function(data){ output=mybusinessRestangular.stripRestangular(data); deferred.resolve(output); }); return deferred.promise; } this.reportAbuseService = function(request){ var deferred = $q.defer(); reportabuseRestangular.all("reportabuse").customPOST(request).then(function(data){ deferred.resolve(data); }); return deferred.promise; } this.getHelpAndLegalType = function(userDetails,docType){ var deferred = $q.defer(); reportabuseRestangular.one("profiles/htmlDocs/"+docType).customPOST(userDetails).then(function(data){ deferred.resolve(data); }); return deferred.promise; } this.attachmentOptionsService = function(request){ var deferred = $q.defer(); profileRestangular.one("attachmentoptions").customPOST(request).then(function(data){ deferred.resolve(data); }); return deferred.promise; } this.updateAttachmentOptionsService = function(request){ var deferred = $q.defer(); profileRestangular.one("updateattachmentoptions").customPOST(request).then(function(data){ deferred.resolve(data); }); return deferred.promise; } this.shareVia = function(request){ var deferred = $q.defer(); reportabuseRestangular.one("share").customPOST(request).then(function(data){ output=reportabuseRestangular.stripRestangular(data); deferred.resolve(output); }); return deferred.promise; } this.referUs = function(request){ var deferred = $q.defer(); reportabuseRestangular.one("profiles/referral/referContacts").customPOST(request).then(function(data){ deferred.resolve(data); }); return deferred.promise; } this.referUsDesktop = function(request){ var deferred = $q.defer(); reportabuseRestangular.one("referus").customPOST(request).then(function(data){ deferred.resolve(data); }); return deferred.promise; } this.getGmailreferUsContacts = function(code){ var appname; if(SERVER_IP.indexOf("devkalgudi")>-1){ appname="dev"+window.location.pathname.split('/')[1]; } else { appname=window.location.pathname.split('/')[1]; } var deferred = $q.defer(); reportabuseRestangular.one("farmerapp/getContacts?accessToken="+code+"&from="+appname).get().then(function(data){ output=mybusinessRestangular.stripRestangular(data); deferred.resolve(output); }); return deferred.promise; } this.referUsSendMail = function(senderId,receiverId){ var deferred = $q.defer(); reportabuseRestangular.one("farmerapp/sendEmail?receiverEmailId="+receiverId+"&senderEmailId="+senderId).get().then(function(data){ deferred.resolve(data); }); return deferred.promise; } this.helpFAQ = function(request) { var deferred = $q.defer(); searchRestangular.all("helpandfaq").post(request).then(function(data) { outputData = searchRestangular.stripRestangular(data); deferred.resolve(outputData); }, function(err) { if(err.config.data == "nonetwork") { $rootScope.spinerisActive = false; } deferred.reject(err); }); return deferred.promise; } this.updateAttachmentOptionsService = function(request){ var deferred = $q.defer(); profileRestangular.one("updateattachmentoptions").customPOST(request).then(function(data){ deferred.resolve(data); }); return deferred.promise; } this.uploadImage = function(request){ var deferred = $q.defer(); var assistantOption=''; if(request.hasOwnProperty('assistantDetails')){ assistantOption="/assist"; } reportabuseRestangular.all("stream/share"+assistantOption).post(request).then(function(data){ output=reportabuseRestangular.stripRestangular(data); deferred.resolve(output); }); return deferred.promise; } this.uploadImagePolicy = function(contentType,category){ var deferred = $q.defer(); console.log('contentType',contentType); if((typeof contentType!="undefined")){ reportabuseRestangular.one("signpolicy?category="+category+"&contentType="+contentType.split("/")[0]+"/").get().then(function(data){ output=reportabuseRestangular.stripRestangular(data); deferred.resolve(output); }); } else{ reportabuseRestangular.one("signpolicy").get().then(function(data){ output=reportabuseRestangular.stripRestangular(data); deferred.resolve(output); }); } return deferred.promise; } this.uploadBrandsImagePolicy = function(contentType){ var deferred = $q.defer(); reportabuseRestangular.one("signpolicy?category=userUploads&contentType="+contentType).get().then(function(data){ output=reportabuseRestangular.stripRestangular(data); deferred.resolve(output); }); return deferred.promise; } this.getShareThoughtInfo = function(){ var deferred = $q.defer(); reportabuseRestangular.one("stream/share").get().then(function(data){ output=reportabuseRestangular.stripRestangular(data); deferred.resolve(output); }); return deferred.promise; } this.shareThoughtComment = function(request){ var deferred = $q.defer(); reportabuseRestangular.all("stream/share?type="+request.type).customPUT(request).then(function(data){ output=reportabuseRestangular.stripRestangular(data); deferred.resolve(output); }); return deferred.promise; } this.uploadImageQA = function(request){ var deferred = $q.defer(); var assistantOption=''; if(request.hasOwnProperty('assistantDetails')){ assistantOption="/assist"; } reportabuseRestangular.all("stream/qa"+assistantOption).post(request).then(function(data){ output=reportabuseRestangular.stripRestangular(data); deferred.resolve(output); }); return deferred.promise; } this.qainfoInbox = function(request){ var deferred = $q.defer(); reportabuseRestangular.one("stream/qa").get(request).then(function(data){ output=reportabuseRestangular.stripRestangular(data); // Web app service call response will have this property, and will contain S3 URLs. if(output.hasOwnProperty('qaURLs')) { output = output.qaURLs; var count = output.length; for(var i in output) { loadingS3UrlServices.callBUsinessS3RespectiveUrls(output[i], i).then(function(response) { output[response.index] = response.data; --count; if(!count) { var tempResult = []; for(i in output) { tempResult.push(output[i]); } deferred.resolve(tempResult); } }); } if(!count) { deferred.resolve(output); } } else { // Mobile app service call response will have the question list itself. if (output.code == 404) { deferred.reject(output); } else { deferred.resolve(output); } } //deferred.resolve(output); }); return deferred.promise; } this.getDistrictList = function(locationId) { var deferred = $q.defer(); s3Restangular.one('v1/stream/qa/district/' + locationId).get().then(function(response) { response = s3Restangular.stripRestangular(response); deferred.resolve(response); }, function(error) { deferred.reject(error); }) // https://kalgudi.com/rest/v1/stream/qa/district/{locationID} return deferred.promise; } this.qainfofullview = function(id){ var deferred = $q.defer(); reportabuseRestangular.one("stream/qa?questionId="+id).get().then(function(data){ output=reportabuseRestangular.stripRestangular(data); deferred.resolve(output); }); return deferred.promise; } this.qacomments = function(request){ var deferred = $q.defer(); reportabuseRestangular.all("stream/qa/"+request.type).customPUT(request).then(function(data){ output=reportabuseRestangular.stripRestangular(data); deferred.resolve(output); }); return deferred.promise; } this.qacommentsdata = function(id){ var deferred = $q.defer(); reportabuseRestangular.one("stream/qa/"+id.answerId+"/comment").get().then(function(data){ output=reportabuseRestangular.stripRestangular(data); deferred.resolve(output); }); return deferred.promise; } this.shareThoughtUrl = function(url){ var deferred = $q.defer(); reportabuseRestangular.one("stream/meta?url="+url).get().then(function(data){ output=reportabuseRestangular.stripRestangular(data); deferred.resolve(output); }); return deferred.promise; } this.reportAbuseService = function(request){ var deferred = $q.defer(); reportabuseRestangular.all("reportabuse").customPOST(request).then(function(data){ deferred.resolve(data); }); return deferred.promise; } this.getShareThoughtInfoInbox = function(request){ var deferred = $q.defer(); reportabuseRestangular.one("stream/share").get(request).then(function(data){ output=reportabuseRestangular.stripRestangular(data); deferred.resolve(output); }); return deferred.promise; } this.getShareThoughtInfoFullView = function(shareId){ var request={ "shareId":shareId } var deferred = $q.defer(); reportabuseRestangular.one("stream/share").get(request).then(function(data){ output=reportabuseRestangular.stripRestangular(data); deferred.resolve(output); }); return deferred.promise; } this.qaAnswersInbox = function(request){ var deferred = $q.defer(); $http.get(request) .success(function(dataForRespectiveUrls, status, headers, config) { deferred.resolve(dataForRespectiveUrls); }).error(function(error) { deferred.resolve(error); }); return deferred.promise; } this.uploadS3Policy = function(category,contentType){ console.log('content type',contentType); var deferred = $q.defer(); /*if(contentType.indexOf('audio')>-1){ console.log('dsreretrtyhtuj'); reportabuseRestangular.one("signpolicy?category="+category+"&contentType=audio/").get().then(function(data){ output=reportabuseRestangular.stripRestangular(data); deferred.resolve(output); }); } else{ reportabuseRestangular.one("signpolicy?category="+category+"&contentType=image/").get().then(function(data){ output=reportabuseRestangular.stripRestangular(data); deferred.resolve(output); }); }*/ var URL; if (typeof contentType != 'undefined') URL = "signpolicy?category=" + category + "&contentType=" + contentType.split("/")[0] + "/"; else URL = "signpolicy?category=" + category + "&contentType=" + "image" + "/"; reportabuseRestangular.one(URL) .get() .then( function (res) { data = reportabuseRestangular.stripRestangular(res); deferred.resolve(data); }, function (err) { deferred.reject(err); } ); return deferred.promise; } this.searchForUpdates = function(request) { var deferred = $q.defer(); s3Restangular.one("v1/search/shareathoughtsearch").get(request).then(function(data){ if(!data || !data.data) { deferred.reject(data.info); } var output = JSON.parse(data.data); if(output && output.length) { var count = output.length; var responseList = []; for(var i in output) { loadingS3UrlServices.callBUsinessS3RespectiveUrls(output[i], i).then(function(response) { responseList[response.index] = response.data; --count; if(!count) { deferred.resolve(responseList); } }); } if(!count) { deferred.resolve(output); } } else { deferred.resolve(output); } //deferred.resolve(outputData); },function(err) { if(err.config.data == "nonetwork") { // $rootScope.spinerisActive = false; } deferred.reject(err); }); return deferred.promise; } this.getStatusForProgramSMS = function(programId) { var deferred = $q.defer(); s3Restangular.one("download?filename=payments/SMSSettings/" + programId + "_SMSSettings").get().then(function(result) { $http.get(result).success(function(data, status,headers, config) { deferred.resolve(data); }).error(function(error) { var sms = { smsCreditEnabled : false, internationSMSEnabled : false, smsPosts : false, smsConnectRequest : false, smsMyPool : false, smsMyTransactions : false } deferred.reject(sms); }); }, function (error) { deferred.reject(error); }); return deferred.promise; } this.enableSMSFeatureForProgram = function(request) { var deferred = $q.defer(); searchRestangular.all("paymentgateway/updatesmssettings").post(request).then(function(ServiceResponse){ var outputData = searchRestangular.stripRestangular(ServiceResponse); deferred.resolve(outputData); }, function (err) { deferred.reject(err); }); return deferred.promise; } this.sendSMS = function (request) { var deferred = $q.defer(); var programId = request.entityId; // if no filters, need not to send filter field if(request.recipient == 'ALL_SUBSCRIBERS') { delete request.filter; } reportabuseRestangular.all("stream/publish/shares/bulkSMS?programId=" + programId).post(request).then(function(data){ deferred.resolve(data); }, function (error) { deferred.reject(error); }); return deferred.promise; } this.getHelpText = function(info) { var deferred = $q.defer(); s3Restangular.one("v1/help/helperText?profileType=" + info.profileType + "&lang="+ info.language +"&screenId="+ info.screenId).get().then(function(result) { deferred.resolve(result); }, function (error) { deferred.reject(error); }); return deferred.promise; } }]);