Built motion from commit (unavailable).|2.5.27
[motion2.git] / server / api / intSalesforceAccount / intSalesforceAccount.controller.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x511a=['IsReminderSet','Subject','Description','int','picklist','email','textarea','phone','includes','label','custom','picklistValues','value','boolean','True','true','statusCode','getFields,\x20%s,\x20%s,\x20%s','stringify','test','Wrong\x20credentials','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../components/integrations/configuration','http','request','then','info','SalesforceAccount,\x20%s,\x20%s','request\x20sent','debug','SalesforceAccount,\x20%s,\x20%s,\x20%s','error','code','message','result','catch','sendStatus','status','json','count','offset','limit','set','Content-Range','apply','reject','save','update','destroy','end','stack','name','send','index','map','SalesforceAccount','rawAttributes','fieldName','key','keys','query','filters','intersection','attributes','model','fields','length','hasOwnProperty','order','sort','where','pick','filter','type','VIRTUAL','rows','includeAll','include','options','find','create','body','params','getConfigurations','findOne','SalesforceConfiguration','merge','nolimit','addConfiguration','Subjects','getSubjects','getDescriptions','channel','SalesforceField','getFields','Task','remoteUri','password','securityToken','slice','substring','lastIndexOf','clientId','clientSecret','login','username','concat','isNil','ticketType','sobject','describe','OwnerId','ActivityDate'];(function(_0x15d504,_0x505b14){var _0x13c2fd=function(_0x1241d4){while(--_0x1241d4){_0x15d504['push'](_0x15d504['shift']());}};_0x13c2fd(++_0x505b14);}(_0x511a,0x129));var _0xa511=function(_0x5a4628,_0x426ff5){_0x5a4628=_0x5a4628-0x0;var _0x23fd07=_0x511a[_0x5a4628];return _0x23fd07;};'use strict';var emlformat=require(_0xa511('0x0'));var rimraf=require(_0xa511('0x1'));var zipdir=require(_0xa511('0x2'));var jsonpatch=require(_0xa511('0x3'));var rp=require(_0xa511('0x4'));var moment=require(_0xa511('0x5'));var BPromise=require(_0xa511('0x6'));var Mustache=require(_0xa511('0x7'));var util=require(_0xa511('0x8'));var path=require(_0xa511('0x9'));var sox=require('sox');var csv=require(_0xa511('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xa511('0xb'));var _=require(_0xa511('0xc'));var squel=require(_0xa511('0xd'));var crypto=require(_0xa511('0xe'));var jsforce=require(_0xa511('0xf'));var deskjs=require(_0xa511('0x10'));var toCsv=require(_0xa511('0xa'));var querystring=require(_0xa511('0x11'));var Papa=require(_0xa511('0x12'));var Redis=require(_0xa511('0x13'));var authService=require(_0xa511('0x14'));var qs=require('../../components/parsers/qs');var as=require(_0xa511('0x15'));var hardwareService=require(_0xa511('0x16'));var logger=require('../../config/logger')(_0xa511('0x17'));var utils=require('../../config/utils');var config=require(_0xa511('0x18'));var licenseUtil=require(_0xa511('0x19'));var db=require('../../mysqldb')['db'];var integrations=require(_0xa511('0x1a'));var jayson=require('jayson/promise');var client=jayson['client'][_0xa511('0x1b')]({'port':0x232a});function respondWithRpcPromise(_0x1d6d1f,_0x383b10,_0x523a96,_0x59687f){return new BPromise(function(_0x50fa32,_0x13a733){var _0x30657c=_0x59687f||client;return _0x30657c[_0xa511('0x1c')](_0x1d6d1f,_0x523a96)[_0xa511('0x1d')](function(_0x428db8){logger[_0xa511('0x1e')](_0xa511('0x1f'),_0x383b10,_0xa511('0x20'));logger[_0xa511('0x21')](_0xa511('0x22'),_0x383b10,_0xa511('0x20'),JSON['stringify'](_0x428db8));if(_0x428db8['error']){if(_0x428db8[_0xa511('0x23')][_0xa511('0x24')]===0x1f4){logger[_0xa511('0x23')](_0xa511('0x1f'),_0x383b10,_0x428db8[_0xa511('0x23')][_0xa511('0x25')]);return _0x13a733(_0x428db8[_0xa511('0x23')][_0xa511('0x25')]);}logger[_0xa511('0x23')](_0xa511('0x1f'),_0x383b10,_0x428db8['error'][_0xa511('0x25')]);return _0x50fa32(_0x428db8[_0xa511('0x23')][_0xa511('0x25')]);}else{logger[_0xa511('0x1e')](_0xa511('0x1f'),_0x383b10,'request\x20sent');_0x50fa32(_0x428db8[_0xa511('0x26')]['message']);}})[_0xa511('0x27')](function(_0x3a2da5){logger['error'](_0xa511('0x1f'),_0x383b10,_0x3a2da5);_0x13a733(_0x3a2da5);});});}function respondWithStatusCode(_0x29e80d,_0x4b79da){_0x4b79da=_0x4b79da||0xcc;return function(_0x560c82){if(_0x560c82){return _0x29e80d[_0xa511('0x28')](_0x4b79da);}return _0x29e80d[_0xa511('0x29')](_0x4b79da)['end']();};}function respondWithResult(_0x47f692,_0x113228){_0x113228=_0x113228||0xc8;return function(_0x360a50){if(_0x360a50){return _0x47f692['status'](_0x113228)[_0xa511('0x2a')](_0x360a50);}};}function respondWithFilteredResult(_0x528ccf,_0x557fcf){return function(_0x51c227){if(_0x51c227){var _0xea9866=_0x51c227[_0xa511('0x2b')],_0x2e3769=_0x557fcf[_0xa511('0x2c')],_0x12d4a6=_0x557fcf[_0xa511('0x2c')]+_0x557fcf[_0xa511('0x2d')],_0x2c51d5;if(_0x12d4a6>=_0xea9866){_0x12d4a6=_0xea9866;_0x2c51d5=0xc8;}else{_0x2c51d5=0xce;}_0x528ccf[_0xa511('0x29')](_0x2c51d5);return _0x528ccf[_0xa511('0x2e')](_0xa511('0x2f'),_0x2e3769+'-'+_0x12d4a6+'/'+_0xea9866)['json'](_0x51c227);}return null;};}function patchUpdates(_0x4ba77c){return function(_0x1ff376){try{jsonpatch[_0xa511('0x30')](_0x1ff376,_0x4ba77c,!![]);}catch(_0x2938d5){return BPromise[_0xa511('0x31')](_0x2938d5);}return _0x1ff376[_0xa511('0x32')]();};}function saveUpdates(_0x39902e,_0x346115){return function(_0x79ae66){if(_0x79ae66){return _0x79ae66[_0xa511('0x33')](_0x39902e)['then'](function(_0x325bc2){return _0x325bc2;});}return null;};}function removeEntity(_0x5de840,_0x13c3d0){return function(_0x3d84a0){if(_0x3d84a0){return _0x3d84a0[_0xa511('0x34')]()[_0xa511('0x1d')](function(){_0x5de840[_0xa511('0x29')](0xcc)[_0xa511('0x35')]();});}};}function handleEntityNotFound(_0x49d2f9,_0xc6009a){return function(_0x5b2da3){if(!_0x5b2da3){_0x49d2f9[_0xa511('0x28')](0x194);}return _0x5b2da3;};}function handleError(_0x172d95,_0x1b27f1){_0x1b27f1=_0x1b27f1||0x1f4;return function(_0x8fe18b){logger[_0xa511('0x23')](_0x8fe18b[_0xa511('0x36')]);if(_0x8fe18b[_0xa511('0x37')]){delete _0x8fe18b['name'];}_0x172d95[_0xa511('0x29')](_0x1b27f1)[_0xa511('0x38')](_0x8fe18b);};}exports[_0xa511('0x39')]=function(_0x7f655,_0x10ca73){var _0x357a12={},_0x244c45={},_0x1d44b9={'count':0x0,'rows':[]};var _0x257a4a=_[_0xa511('0x3a')](db[_0xa511('0x3b')][_0xa511('0x3c')],function(_0x1790a0){return{'name':_0x1790a0[_0xa511('0x3d')],'type':_0x1790a0['type'][_0xa511('0x3e')]};});_0x244c45['model']=_['map'](_0x257a4a,'name');_0x244c45['query']=_[_0xa511('0x3f')](_0x7f655[_0xa511('0x40')]);_0x244c45[_0xa511('0x41')]=_[_0xa511('0x42')](_0x244c45['model'],_0x244c45[_0xa511('0x40')]);_0x357a12[_0xa511('0x43')]=_[_0xa511('0x42')](_0x244c45[_0xa511('0x44')],qs['fields'](_0x7f655[_0xa511('0x40')][_0xa511('0x45')]));_0x357a12[_0xa511('0x43')]=_0x357a12[_0xa511('0x43')][_0xa511('0x46')]?_0x357a12[_0xa511('0x43')]:_0x244c45['model'];if(!_0x7f655[_0xa511('0x40')][_0xa511('0x47')]('nolimit')){_0x357a12[_0xa511('0x2d')]=qs[_0xa511('0x2d')](_0x7f655[_0xa511('0x40')][_0xa511('0x2d')]);_0x357a12[_0xa511('0x2c')]=qs[_0xa511('0x2c')](_0x7f655[_0xa511('0x40')][_0xa511('0x2c')]);}_0x357a12[_0xa511('0x48')]=qs['sort'](_0x7f655[_0xa511('0x40')][_0xa511('0x49')]);_0x357a12[_0xa511('0x4a')]=qs[_0xa511('0x41')](_[_0xa511('0x4b')](_0x7f655[_0xa511('0x40')],_0x244c45['filters']),_0x257a4a);if(_0x7f655[_0xa511('0x40')][_0xa511('0x4c')]){_0x357a12[_0xa511('0x4a')]=_['merge'](_0x357a12[_0xa511('0x4a')],{'$or':_['map'](_0x257a4a,function(_0x4fae8c){if(_0x4fae8c[_0xa511('0x4d')]!==_0xa511('0x4e')){var _0x53d3a0={};_0x53d3a0[_0x4fae8c[_0xa511('0x37')]]={'$like':'%'+_0x7f655[_0xa511('0x40')]['filter']+'%'};return _0x53d3a0;}})});}_0x357a12=_['merge']({},_0x357a12,_0x7f655['options']);var _0xdd4802={'where':_0x357a12[_0xa511('0x4a')]};return db[_0xa511('0x3b')][_0xa511('0x2b')](_0xdd4802)['then'](function(_0x209956){_0x1d44b9[_0xa511('0x2b')]=_0x209956;if(_0x7f655[_0xa511('0x40')]['includeAll']){_0x357a12['include']=[{'all':!![]}];}return db[_0xa511('0x3b')]['findAll'](_0x357a12);})[_0xa511('0x1d')](function(_0xd4c328){_0x1d44b9[_0xa511('0x4f')]=_0xd4c328;return _0x1d44b9;})[_0xa511('0x1d')](respondWithFilteredResult(_0x10ca73,_0x357a12))[_0xa511('0x27')](handleError(_0x10ca73,null));};exports['show']=function(_0x2b45e2,_0x39216d){var _0x2d6413={'raw':![],'where':{'id':_0x2b45e2['params']['id']}},_0x3e2ac9={};_0x3e2ac9[_0xa511('0x44')]=_[_0xa511('0x3f')](db['SalesforceAccount'][_0xa511('0x3c')]);_0x3e2ac9[_0xa511('0x40')]=_[_0xa511('0x3f')](_0x2b45e2[_0xa511('0x40')]);_0x3e2ac9[_0xa511('0x41')]=_[_0xa511('0x42')](_0x3e2ac9['model'],_0x3e2ac9[_0xa511('0x40')]);_0x2d6413['attributes']=_['intersection'](_0x3e2ac9['model'],qs[_0xa511('0x45')](_0x2b45e2[_0xa511('0x40')][_0xa511('0x45')]));_0x2d6413['attributes']=_0x2d6413[_0xa511('0x43')][_0xa511('0x46')]?_0x2d6413[_0xa511('0x43')]:_0x3e2ac9[_0xa511('0x44')];if(_0x2b45e2[_0xa511('0x40')][_0xa511('0x50')]){_0x2d6413[_0xa511('0x51')]=[{'all':!![]}];}_0x2d6413=_['merge']({},_0x2d6413,_0x2b45e2[_0xa511('0x52')]);return db[_0xa511('0x3b')][_0xa511('0x53')](_0x2d6413)[_0xa511('0x1d')](handleEntityNotFound(_0x39216d,null))['then'](respondWithResult(_0x39216d,null))[_0xa511('0x27')](handleError(_0x39216d,null));};exports[_0xa511('0x54')]=function(_0x331ef7,_0x16ad15){return db[_0xa511('0x3b')][_0xa511('0x54')](_0x331ef7[_0xa511('0x55')],{})[_0xa511('0x1d')](respondWithResult(_0x16ad15,0xc9))['catch'](handleError(_0x16ad15,null));};exports['update']=function(_0x4a66ba,_0x303410){if(_0x4a66ba[_0xa511('0x55')]['id']){delete _0x4a66ba[_0xa511('0x55')]['id'];}return db[_0xa511('0x3b')]['find']({'where':{'id':_0x4a66ba[_0xa511('0x56')]['id']}})['then'](handleEntityNotFound(_0x303410,null))[_0xa511('0x1d')](saveUpdates(_0x4a66ba[_0xa511('0x55')],null))['then'](respondWithResult(_0x303410,null))[_0xa511('0x27')](handleError(_0x303410,null));};exports[_0xa511('0x34')]=function(_0x523fe9,_0x59d9bd){return db[_0xa511('0x3b')][_0xa511('0x53')]({'where':{'id':_0x523fe9[_0xa511('0x56')]['id']}})['then'](handleEntityNotFound(_0x59d9bd,null))[_0xa511('0x1d')](removeEntity(_0x59d9bd,null))[_0xa511('0x27')](handleError(_0x59d9bd,null));};exports[_0xa511('0x57')]=function(_0x21266e,_0x150825,_0x41420f){var _0x3051bd={};var _0x40da85={};var _0x55ad3a;var _0x13a082;return db['SalesforceAccount'][_0xa511('0x58')]({'where':{'id':_0x21266e['params']['id']}})[_0xa511('0x1d')](handleEntityNotFound(_0x150825,null))[_0xa511('0x1d')](function(_0x1604c3){if(_0x1604c3){_0x55ad3a=_0x1604c3;_0x40da85['model']=_['keys'](db[_0xa511('0x59')][_0xa511('0x3c')]);_0x40da85[_0xa511('0x40')]=_['keys'](_0x21266e[_0xa511('0x40')]);_0x40da85['filters']=_[_0xa511('0x42')](_0x40da85[_0xa511('0x44')],_0x40da85[_0xa511('0x40')]);_0x3051bd['attributes']=_[_0xa511('0x42')](_0x40da85[_0xa511('0x44')],qs[_0xa511('0x45')](_0x21266e[_0xa511('0x40')]['fields']));_0x3051bd[_0xa511('0x43')]=_0x3051bd['attributes'][_0xa511('0x46')]?_0x3051bd['attributes']:_0x40da85[_0xa511('0x44')];_0x3051bd['order']=qs[_0xa511('0x49')](_0x21266e[_0xa511('0x40')][_0xa511('0x49')]);_0x3051bd[_0xa511('0x4a')]=qs[_0xa511('0x41')](_['pick'](_0x21266e[_0xa511('0x40')],_0x40da85[_0xa511('0x41')]));if(_0x21266e[_0xa511('0x40')][_0xa511('0x4c')]){_0x3051bd['where']=_[_0xa511('0x5a')](_0x3051bd[_0xa511('0x4a')],{'$or':_[_0xa511('0x3a')](_0x3051bd[_0xa511('0x43')],function(_0x25e9ba){var _0x2b6ba1={};_0x2b6ba1[_0x25e9ba]={'$like':'%'+_0x21266e[_0xa511('0x40')][_0xa511('0x4c')]+'%'};return _0x2b6ba1;})});}_0x3051bd=_[_0xa511('0x5a')]({},_0x3051bd,_0x21266e[_0xa511('0x52')]);return _0x55ad3a[_0xa511('0x57')](_0x3051bd);}})[_0xa511('0x1d')](function(_0x1573d3){if(_0x1573d3){_0x13a082=_0x1573d3[_0xa511('0x46')];if(!_0x21266e[_0xa511('0x40')][_0xa511('0x47')](_0xa511('0x5b'))){_0x3051bd[_0xa511('0x2d')]=qs[_0xa511('0x2d')](_0x21266e[_0xa511('0x40')][_0xa511('0x2d')]);_0x3051bd['offset']=qs[_0xa511('0x2c')](_0x21266e['query']['offset']);}return _0x55ad3a[_0xa511('0x57')](_0x3051bd);}})['then'](function(_0x391488){if(_0x391488){return _0x391488?{'count':_0x13a082,'rows':_0x391488}:null;}})['then'](respondWithResult(_0x150825,null))[_0xa511('0x27')](handleError(_0x150825,null));};exports[_0xa511('0x5c')]=function(_0x3f25e2,_0x370615,_0x5062df){if(_0x3f25e2['body']['id']){delete _0x3f25e2['body']['id'];}return db[_0xa511('0x3b')]['findOne']({'where':{'id':_0x3f25e2[_0xa511('0x56')]['id']}})[_0xa511('0x1d')](handleEntityNotFound(_0x370615,null))[_0xa511('0x1d')](function(_0x342f05){if(_0x342f05){_0x3f25e2['body']['AccountId']=_0x342f05['id'];_0x3f25e2[_0xa511('0x55')][_0xa511('0x5d')]=integrations[_0xa511('0x5e')](_0x3f25e2[_0xa511('0x55')]['channel'],_0x3f25e2[_0xa511('0x55')][_0xa511('0x4d')]);_0x3f25e2[_0xa511('0x55')]['Descriptions']=integrations[_0xa511('0x5f')](_0x3f25e2[_0xa511('0x55')][_0xa511('0x60')],_0x3f25e2[_0xa511('0x55')][_0xa511('0x4d')]);return db['SalesforceConfiguration']['create'](_0x3f25e2['body'],{'include':[{'model':db[_0xa511('0x61')],'as':_0xa511('0x5d')},{'model':db[_0xa511('0x61')],'as':'Descriptions'}]});}return null;})[_0xa511('0x1d')](respondWithResult(_0x370615,null))[_0xa511('0x27')](handleError(_0x370615,null));};exports[_0xa511('0x62')]=function(_0xe2a9ea,_0x5d3203,_0x11e965){var _0x2de987;var _0x540770='';var _0x2eebe1=_0xa511('0x63');return db['SalesforceAccount'][_0xa511('0x58')]({'where':{'id':_0xe2a9ea[_0xa511('0x56')]['id']},'attributes':['id',_0xa511('0x64'),'clientId','clientSecret','username',_0xa511('0x65'),_0xa511('0x66')]})[_0xa511('0x1d')](handleEntityNotFound(_0x5d3203,null))[_0xa511('0x1d')](function(_0x4eae89){if(_0x4eae89){_0x540770=_0x4eae89['remoteUri'];var _0x481717=_0x540770[_0xa511('0x67')](-0x1);if(_0x481717==='/'){_0x540770=_0x540770[_0xa511('0x68')](0x0,_0x540770[_0xa511('0x69')](_0x481717));}_0x2de987=new jsforce['Connection']({'oauth2':{'loginUrl':_0x540770,'clientId':_0x4eae89[_0xa511('0x6a')],'clientSecret':_0x4eae89[_0xa511('0x6b')]}});return _0x2de987[_0xa511('0x6c')](_0x4eae89[_0xa511('0x6d')],_0x4eae89[_0xa511('0x65')][_0xa511('0x6e')](_0x4eae89[_0xa511('0x66')]));}})[_0xa511('0x1d')](function(_0x106c36){if(_0x106c36){if(!_[_0xa511('0x6f')](_0xe2a9ea[_0xa511('0x40')]['ticketType'])){_0x2eebe1=_0xe2a9ea[_0xa511('0x40')][_0xa511('0x70')];}return _0x2de987[_0xa511('0x71')](_0x2eebe1)[_0xa511('0x72')]();}})[_0xa511('0x1d')](function(_0x4010cb){var _0x28ecba=[_0xa511('0x73'),_0xa511('0x74'),_0xa511('0x75'),'IsRecurrence',_0xa511('0x76'),_0xa511('0x77')];var _0x357caf=['string',_0xa511('0x78'),_0xa511('0x79'),'boolean',_0xa511('0x7a'),_0xa511('0x7b'),_0xa511('0x7c')];if(_0x4010cb){_['remove'](_0x4010cb[_0xa511('0x45')],function(_0x154813){return _0x28ecba['includes'](_0x154813[_0xa511('0x37')])||!_0x357caf[_0xa511('0x7d')](_0x154813[_0xa511('0x4d')]);});return{'count':_0x4010cb[_0xa511('0x45')][_0xa511('0x46')],'rows':_[_0xa511('0x3a')](_0x4010cb[_0xa511('0x45')],function(_0x15bdfa){return{'id':_0x15bdfa[_0xa511('0x37')],'name':_0x15bdfa[_0xa511('0x7e')],'custom':_0x15bdfa[_0xa511('0x7f')],'options':_0x15bdfa[_0xa511('0x80')][_0xa511('0x46')]>0x0?_[_0xa511('0x3a')](_0x15bdfa['picklistValues'],function(_0x9a5b84){return{'name':_0x9a5b84[_0xa511('0x7e')],'value':_0x9a5b84[_0xa511('0x81')]};}):_0x15bdfa[_0xa511('0x4d')]==_0xa511('0x82')?[{'name':_0xa511('0x83'),'value':_0xa511('0x84')},{'name':'False','value':'false'}]:[]};})};}})[_0xa511('0x1d')](respondWithResult(_0x5d3203,null))[_0xa511('0x27')](function(_0x637055){var _0x18649c=_0xe2a9ea['query']['test']?0x1f4:_0x637055[_0xa511('0x85')]||0x1f4;logger[_0xa511('0x23')](_0xa511('0x86'),_0xa511('0x62'),_0x18649c,JSON[_0xa511('0x87')](_0x637055));delete _0x637055[_0xa511('0x37')];if(_0x18649c===0x191){_0x18649c=0x190;}_0x5d3203[_0xa511('0x29')](_0x18649c)[_0xa511('0x38')](_0xe2a9ea[_0xa511('0x40')][_0xa511('0x88')]?{'message':_0xa511('0x89'),'statusCode':_0x637055[_0xa511('0x85')]}:_0x637055);});};