Built motion from commit (unavailable).|2.5.23
[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 _0x761f=['lastIndexOf','password','concat','ticketType','sobject','OwnerId','ActivityDate','IsReminderSet','IsRecurrence','int','email','textarea','phone','remove','includes','custom','picklistValues','label','value','boolean','true','False','false','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','send','Wrong\x20credentials','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','bluebird','sox','ejs','lodash','squel','crypto','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','../../components/integrations/configuration','jayson/promise','http','request','info','SalesforceAccount,\x20%s,\x20%s','request\x20sent','SalesforceAccount,\x20%s,\x20%s,\x20%s','stringify','error','message','result','sendStatus','status','end','json','count','offset','limit','set','Content-Range','save','update','then','destroy','stack','name','index','SalesforceAccount','rawAttributes','fieldName','key','query','keys','filters','attributes','intersection','model','fields','hasOwnProperty','sort','where','pick','merge','map','type','VIRTUAL','options','includeAll','findAll','rows','show','params','length','create','body','find','catch','getConfigurations','findOne','SalesforceConfiguration','filter','nolimit','addConfiguration','getSubjects','channel','Descriptions','getDescriptions','SalesforceField','Subjects','Task','clientSecret','username','securityToken','remoteUri','substring'];(function(_0x2e7b71,_0x30eb38){var _0x3831b4=function(_0x1015b4){while(--_0x1015b4){_0x2e7b71['push'](_0x2e7b71['shift']());}};_0x3831b4(++_0x30eb38);}(_0x761f,0x11e));var _0xf761=function(_0xd2f4ac,_0x5aa8e5){_0xd2f4ac=_0xd2f4ac-0x0;var _0x9757b2=_0x761f[_0xd2f4ac];return _0x9757b2;};'use strict';var pdf=require(_0xf761('0x0'));var emlformat=require(_0xf761('0x1'));var rimraf=require(_0xf761('0x2'));var zipdir=require(_0xf761('0x3'));var jsonpatch=require(_0xf761('0x4'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xf761('0x5'));var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require(_0xf761('0x6'));var csv=require('to-csv');var ejs=require(_0xf761('0x7'));var fs=require('fs');var _=require(_0xf761('0x8'));var squel=require(_0xf761('0x9'));var crypto=require(_0xf761('0xa'));var jsforce=require('jsforce');var deskjs=require(_0xf761('0xb'));var toCsv=require(_0xf761('0xc'));var querystring=require(_0xf761('0xd'));var Papa=require(_0xf761('0xe'));var Redis=require(_0xf761('0xf'));var authService=require(_0xf761('0x10'));var qs=require(_0xf761('0x11'));var as=require(_0xf761('0x12'));var hardwareService=require(_0xf761('0x13'));var logger=require(_0xf761('0x14'))(_0xf761('0x15'));var utils=require(_0xf761('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0xf761('0x17'));var db=require(_0xf761('0x18'))['db'];var integrations=require(_0xf761('0x19'));var jayson=require(_0xf761('0x1a'));var client=jayson['client'][_0xf761('0x1b')]({'port':0x232a});function respondWithRpcPromise(_0x15bdbb,_0x36ddca,_0x413e17,_0x28039e){return new BPromise(function(_0x2f6719,_0x55eaa4){var _0x3b49ba=_0x28039e||client;return _0x3b49ba[_0xf761('0x1c')](_0x15bdbb,_0x413e17)['then'](function(_0x3df081){logger[_0xf761('0x1d')](_0xf761('0x1e'),_0x36ddca,_0xf761('0x1f'));logger['debug'](_0xf761('0x20'),_0x36ddca,_0xf761('0x1f'),JSON[_0xf761('0x21')](_0x3df081));if(_0x3df081['error']){if(_0x3df081['error']['code']===0x1f4){logger[_0xf761('0x22')](_0xf761('0x1e'),_0x36ddca,_0x3df081[_0xf761('0x22')][_0xf761('0x23')]);return _0x55eaa4(_0x3df081[_0xf761('0x22')][_0xf761('0x23')]);}logger['error']('SalesforceAccount,\x20%s,\x20%s',_0x36ddca,_0x3df081[_0xf761('0x22')][_0xf761('0x23')]);return _0x2f6719(_0x3df081[_0xf761('0x22')]['message']);}else{logger[_0xf761('0x1d')](_0xf761('0x1e'),_0x36ddca,_0xf761('0x1f'));_0x2f6719(_0x3df081[_0xf761('0x24')]['message']);}})['catch'](function(_0x6fa14a){logger[_0xf761('0x22')](_0xf761('0x1e'),_0x36ddca,_0x6fa14a);_0x55eaa4(_0x6fa14a);});});}function respondWithStatusCode(_0xdf1dad,_0x4253d1){_0x4253d1=_0x4253d1||0xcc;return function(_0x5b627a){if(_0x5b627a){return _0xdf1dad[_0xf761('0x25')](_0x4253d1);}return _0xdf1dad[_0xf761('0x26')](_0x4253d1)[_0xf761('0x27')]();};}function respondWithResult(_0x29fc97,_0x48d7f6){_0x48d7f6=_0x48d7f6||0xc8;return function(_0x4b8bec){if(_0x4b8bec){return _0x29fc97[_0xf761('0x26')](_0x48d7f6)[_0xf761('0x28')](_0x4b8bec);}};}function respondWithFilteredResult(_0x279fb0,_0x5ca468){return function(_0x3eb3e2){if(_0x3eb3e2){var _0x30464c=_0x3eb3e2[_0xf761('0x29')],_0x3d5b2c=_0x5ca468[_0xf761('0x2a')],_0x7ba306=_0x5ca468[_0xf761('0x2a')]+_0x5ca468[_0xf761('0x2b')],_0x3fa2eb;if(_0x7ba306>=_0x30464c){_0x7ba306=_0x30464c;_0x3fa2eb=0xc8;}else{_0x3fa2eb=0xce;}_0x279fb0[_0xf761('0x26')](_0x3fa2eb);return _0x279fb0[_0xf761('0x2c')](_0xf761('0x2d'),_0x3d5b2c+'-'+_0x7ba306+'/'+_0x30464c)[_0xf761('0x28')](_0x3eb3e2);}return null;};}function patchUpdates(_0x4db7df){return function(_0x428f1e){try{jsonpatch['apply'](_0x428f1e,_0x4db7df,!![]);}catch(_0x47f798){return BPromise['reject'](_0x47f798);}return _0x428f1e[_0xf761('0x2e')]();};}function saveUpdates(_0x2891c7,_0x49229b){return function(_0x2758dd){if(_0x2758dd){return _0x2758dd[_0xf761('0x2f')](_0x2891c7)[_0xf761('0x30')](function(_0x34be6b){return _0x34be6b;});}return null;};}function removeEntity(_0x22f418,_0x5021fd){return function(_0x5d0807){if(_0x5d0807){return _0x5d0807[_0xf761('0x31')]()[_0xf761('0x30')](function(){_0x22f418[_0xf761('0x26')](0xcc)[_0xf761('0x27')]();});}};}function handleEntityNotFound(_0x2151ad,_0x3247b4){return function(_0x26f962){if(!_0x26f962){_0x2151ad['sendStatus'](0x194);}return _0x26f962;};}function handleError(_0x376284,_0x3008b2){_0x3008b2=_0x3008b2||0x1f4;return function(_0x306f01){logger[_0xf761('0x22')](_0x306f01[_0xf761('0x32')]);if(_0x306f01[_0xf761('0x33')]){delete _0x306f01[_0xf761('0x33')];}_0x376284[_0xf761('0x26')](_0x3008b2)['send'](_0x306f01);};}exports[_0xf761('0x34')]=function(_0x1fd44e,_0x567b1f){var _0x2596ed={},_0x352095={},_0x3ee17f={'count':0x0,'rows':[]};var _0x2fb701=_['map'](db[_0xf761('0x35')][_0xf761('0x36')],function(_0x56b006){return{'name':_0x56b006[_0xf761('0x37')],'type':_0x56b006['type'][_0xf761('0x38')]};});_0x352095['model']=_['map'](_0x2fb701,_0xf761('0x33'));_0x352095[_0xf761('0x39')]=_[_0xf761('0x3a')](_0x1fd44e['query']);_0x352095[_0xf761('0x3b')]=_['intersection'](_0x352095['model'],_0x352095['query']);_0x2596ed[_0xf761('0x3c')]=_[_0xf761('0x3d')](_0x352095[_0xf761('0x3e')],qs[_0xf761('0x3f')](_0x1fd44e[_0xf761('0x39')][_0xf761('0x3f')]));_0x2596ed[_0xf761('0x3c')]=_0x2596ed['attributes']['length']?_0x2596ed[_0xf761('0x3c')]:_0x352095['model'];if(!_0x1fd44e[_0xf761('0x39')][_0xf761('0x40')]('nolimit')){_0x2596ed[_0xf761('0x2b')]=qs[_0xf761('0x2b')](_0x1fd44e[_0xf761('0x39')][_0xf761('0x2b')]);_0x2596ed[_0xf761('0x2a')]=qs[_0xf761('0x2a')](_0x1fd44e[_0xf761('0x39')]['offset']);}_0x2596ed['order']=qs[_0xf761('0x41')](_0x1fd44e[_0xf761('0x39')][_0xf761('0x41')]);_0x2596ed[_0xf761('0x42')]=qs[_0xf761('0x3b')](_[_0xf761('0x43')](_0x1fd44e[_0xf761('0x39')],_0x352095[_0xf761('0x3b')]),_0x2fb701);if(_0x1fd44e['query']['filter']){_0x2596ed[_0xf761('0x42')]=_[_0xf761('0x44')](_0x2596ed[_0xf761('0x42')],{'$or':_[_0xf761('0x45')](_0x2fb701,function(_0xbeeb1a){if(_0xbeeb1a[_0xf761('0x46')]!==_0xf761('0x47')){var _0x5b6386={};_0x5b6386[_0xbeeb1a['name']]={'$like':'%'+_0x1fd44e[_0xf761('0x39')]['filter']+'%'};return _0x5b6386;}})});}_0x2596ed=_[_0xf761('0x44')]({},_0x2596ed,_0x1fd44e[_0xf761('0x48')]);var _0x3a86a3={'where':_0x2596ed[_0xf761('0x42')]};return db[_0xf761('0x35')][_0xf761('0x29')](_0x3a86a3)['then'](function(_0x3a0b2d){_0x3ee17f[_0xf761('0x29')]=_0x3a0b2d;if(_0x1fd44e[_0xf761('0x39')][_0xf761('0x49')]){_0x2596ed['include']=[{'all':!![]}];}return db[_0xf761('0x35')][_0xf761('0x4a')](_0x2596ed);})[_0xf761('0x30')](function(_0x3bf9e7){_0x3ee17f[_0xf761('0x4b')]=_0x3bf9e7;return _0x3ee17f;})[_0xf761('0x30')](respondWithFilteredResult(_0x567b1f,_0x2596ed))['catch'](handleError(_0x567b1f,null));};exports[_0xf761('0x4c')]=function(_0x530753,_0x40443d){var _0x238f70={'raw':![],'where':{'id':_0x530753[_0xf761('0x4d')]['id']}},_0x27b42c={};_0x27b42c[_0xf761('0x3e')]=_[_0xf761('0x3a')](db['SalesforceAccount'][_0xf761('0x36')]);_0x27b42c['query']=_['keys'](_0x530753[_0xf761('0x39')]);_0x27b42c[_0xf761('0x3b')]=_[_0xf761('0x3d')](_0x27b42c[_0xf761('0x3e')],_0x27b42c['query']);_0x238f70[_0xf761('0x3c')]=_[_0xf761('0x3d')](_0x27b42c[_0xf761('0x3e')],qs[_0xf761('0x3f')](_0x530753[_0xf761('0x39')][_0xf761('0x3f')]));_0x238f70['attributes']=_0x238f70[_0xf761('0x3c')][_0xf761('0x4e')]?_0x238f70[_0xf761('0x3c')]:_0x27b42c[_0xf761('0x3e')];if(_0x530753[_0xf761('0x39')][_0xf761('0x49')]){_0x238f70['include']=[{'all':!![]}];}_0x238f70=_[_0xf761('0x44')]({},_0x238f70,_0x530753[_0xf761('0x48')]);return db['SalesforceAccount']['find'](_0x238f70)[_0xf761('0x30')](handleEntityNotFound(_0x40443d,null))[_0xf761('0x30')](respondWithResult(_0x40443d,null))['catch'](handleError(_0x40443d,null));};exports[_0xf761('0x4f')]=function(_0x3a1267,_0x5a481c){return db[_0xf761('0x35')][_0xf761('0x4f')](_0x3a1267['body'],{})[_0xf761('0x30')](respondWithResult(_0x5a481c,0xc9))['catch'](handleError(_0x5a481c,null));};exports[_0xf761('0x2f')]=function(_0x14db2a,_0x558515){if(_0x14db2a[_0xf761('0x50')]['id']){delete _0x14db2a['body']['id'];}return db['SalesforceAccount'][_0xf761('0x51')]({'where':{'id':_0x14db2a[_0xf761('0x4d')]['id']}})[_0xf761('0x30')](handleEntityNotFound(_0x558515,null))['then'](saveUpdates(_0x14db2a[_0xf761('0x50')],null))[_0xf761('0x30')](respondWithResult(_0x558515,null))['catch'](handleError(_0x558515,null));};exports[_0xf761('0x31')]=function(_0x1eaf16,_0x3d6c07){return db[_0xf761('0x35')][_0xf761('0x51')]({'where':{'id':_0x1eaf16['params']['id']}})['then'](handleEntityNotFound(_0x3d6c07,null))['then'](removeEntity(_0x3d6c07,null))[_0xf761('0x52')](handleError(_0x3d6c07,null));};exports[_0xf761('0x53')]=function(_0x3d1037,_0xc0e378,_0x39663d){var _0x1c4eb3={};var _0x4f74db={};var _0x144735;var _0x5b0b99;return db[_0xf761('0x35')][_0xf761('0x54')]({'where':{'id':_0x3d1037['params']['id']}})[_0xf761('0x30')](handleEntityNotFound(_0xc0e378,null))[_0xf761('0x30')](function(_0x5ae163){if(_0x5ae163){_0x144735=_0x5ae163;_0x4f74db['model']=_['keys'](db[_0xf761('0x55')][_0xf761('0x36')]);_0x4f74db[_0xf761('0x39')]=_['keys'](_0x3d1037[_0xf761('0x39')]);_0x4f74db[_0xf761('0x3b')]=_['intersection'](_0x4f74db[_0xf761('0x3e')],_0x4f74db[_0xf761('0x39')]);_0x1c4eb3[_0xf761('0x3c')]=_[_0xf761('0x3d')](_0x4f74db[_0xf761('0x3e')],qs[_0xf761('0x3f')](_0x3d1037['query'][_0xf761('0x3f')]));_0x1c4eb3['attributes']=_0x1c4eb3[_0xf761('0x3c')][_0xf761('0x4e')]?_0x1c4eb3[_0xf761('0x3c')]:_0x4f74db[_0xf761('0x3e')];_0x1c4eb3['order']=qs[_0xf761('0x41')](_0x3d1037[_0xf761('0x39')][_0xf761('0x41')]);_0x1c4eb3['where']=qs[_0xf761('0x3b')](_['pick'](_0x3d1037[_0xf761('0x39')],_0x4f74db[_0xf761('0x3b')]));if(_0x3d1037[_0xf761('0x39')][_0xf761('0x56')]){_0x1c4eb3[_0xf761('0x42')]=_['merge'](_0x1c4eb3[_0xf761('0x42')],{'$or':_[_0xf761('0x45')](_0x1c4eb3['attributes'],function(_0x317cf9){var _0x5dfc91={};_0x5dfc91[_0x317cf9]={'$like':'%'+_0x3d1037[_0xf761('0x39')][_0xf761('0x56')]+'%'};return _0x5dfc91;})});}_0x1c4eb3=_[_0xf761('0x44')]({},_0x1c4eb3,_0x3d1037[_0xf761('0x48')]);return _0x144735[_0xf761('0x53')](_0x1c4eb3);}})[_0xf761('0x30')](function(_0x2e5578){if(_0x2e5578){_0x5b0b99=_0x2e5578['length'];if(!_0x3d1037['query'][_0xf761('0x40')](_0xf761('0x57'))){_0x1c4eb3[_0xf761('0x2b')]=qs[_0xf761('0x2b')](_0x3d1037[_0xf761('0x39')][_0xf761('0x2b')]);_0x1c4eb3[_0xf761('0x2a')]=qs[_0xf761('0x2a')](_0x3d1037[_0xf761('0x39')][_0xf761('0x2a')]);}return _0x144735['getConfigurations'](_0x1c4eb3);}})[_0xf761('0x30')](function(_0x4f171e){if(_0x4f171e){return _0x4f171e?{'count':_0x5b0b99,'rows':_0x4f171e}:null;}})['then'](respondWithResult(_0xc0e378,null))[_0xf761('0x52')](handleError(_0xc0e378,null));};exports[_0xf761('0x58')]=function(_0x3af3ff,_0x12d74c,_0x4251ff){if(_0x3af3ff['body']['id']){delete _0x3af3ff[_0xf761('0x50')]['id'];}return db[_0xf761('0x35')]['findOne']({'where':{'id':_0x3af3ff['params']['id']}})[_0xf761('0x30')](handleEntityNotFound(_0x12d74c,null))[_0xf761('0x30')](function(_0x4c0186){if(_0x4c0186){_0x3af3ff[_0xf761('0x50')]['AccountId']=_0x4c0186['id'];_0x3af3ff[_0xf761('0x50')]['Subjects']=integrations[_0xf761('0x59')](_0x3af3ff['body'][_0xf761('0x5a')],_0x3af3ff[_0xf761('0x50')][_0xf761('0x46')]);_0x3af3ff[_0xf761('0x50')][_0xf761('0x5b')]=integrations[_0xf761('0x5c')](_0x3af3ff[_0xf761('0x50')][_0xf761('0x5a')],_0x3af3ff['body']['type']);return db['SalesforceConfiguration'][_0xf761('0x4f')](_0x3af3ff['body'],{'include':[{'model':db[_0xf761('0x5d')],'as':_0xf761('0x5e')},{'model':db['SalesforceField'],'as':_0xf761('0x5b')}]});}return null;})['then'](respondWithResult(_0x12d74c,null))[_0xf761('0x52')](handleError(_0x12d74c,null));};exports['getFields']=function(_0x226dcc,_0x3b4209,_0x517310){var _0x44f952;var _0x278308='';var _0x41034c=_0xf761('0x5f');return db[_0xf761('0x35')][_0xf761('0x54')]({'where':{'id':_0x226dcc[_0xf761('0x4d')]['id']},'attributes':['id','remoteUri','clientId',_0xf761('0x60'),_0xf761('0x61'),'password',_0xf761('0x62')]})[_0xf761('0x30')](handleEntityNotFound(_0x3b4209,null))[_0xf761('0x30')](function(_0x2838a4){if(_0x2838a4){_0x278308=_0x2838a4[_0xf761('0x63')];var _0x12eedb=_0x278308['slice'](-0x1);if(_0x12eedb==='/'){_0x278308=_0x278308[_0xf761('0x64')](0x0,_0x278308[_0xf761('0x65')](_0x12eedb));}_0x44f952=new jsforce['Connection']({'oauth2':{'loginUrl':_0x278308,'clientId':_0x2838a4['clientId'],'clientSecret':_0x2838a4[_0xf761('0x60')]}});return _0x44f952['login'](_0x2838a4[_0xf761('0x61')],_0x2838a4[_0xf761('0x66')][_0xf761('0x67')](_0x2838a4['securityToken']));}})[_0xf761('0x30')](function(_0x56acb5){if(_0x56acb5){if(!_['isNil'](_0x226dcc[_0xf761('0x39')]['ticketType'])){_0x41034c=_0x226dcc[_0xf761('0x39')][_0xf761('0x68')];}return _0x44f952[_0xf761('0x69')](_0x41034c)['describe']();}})[_0xf761('0x30')](function(_0x45dca6){var _0x197517=[_0xf761('0x6a'),_0xf761('0x6b'),_0xf761('0x6c'),_0xf761('0x6d'),'Subject','Description'];var _0xa3e1d2=['string',_0xf761('0x6e'),'picklist','boolean',_0xf761('0x6f'),_0xf761('0x70'),_0xf761('0x71')];if(_0x45dca6){_[_0xf761('0x72')](_0x45dca6[_0xf761('0x3f')],function(_0x393328){return _0x197517[_0xf761('0x73')](_0x393328[_0xf761('0x33')])||!_0xa3e1d2['includes'](_0x393328[_0xf761('0x46')]);});return{'count':_0x45dca6[_0xf761('0x3f')][_0xf761('0x4e')],'rows':_['map'](_0x45dca6['fields'],function(_0xfef59f){return{'id':_0xfef59f[_0xf761('0x33')],'name':_0xfef59f['label'],'custom':_0xfef59f[_0xf761('0x74')],'options':_0xfef59f[_0xf761('0x75')]['length']>0x0?_[_0xf761('0x45')](_0xfef59f['picklistValues'],function(_0x75f2d5){return{'name':_0x75f2d5[_0xf761('0x76')],'value':_0x75f2d5[_0xf761('0x77')]};}):_0xfef59f[_0xf761('0x46')]==_0xf761('0x78')?[{'name':'True','value':_0xf761('0x79')},{'name':_0xf761('0x7a'),'value':_0xf761('0x7b')}]:[]};})};}})[_0xf761('0x30')](respondWithResult(_0x3b4209,null))['catch'](function(_0x7ed7c0){var _0x478f8a=_0x226dcc[_0xf761('0x39')][_0xf761('0x7c')]?0x1f4:_0x7ed7c0[_0xf761('0x7d')]||0x1f4;logger[_0xf761('0x22')](_0xf761('0x7e'),'getFields',_0x478f8a,JSON[_0xf761('0x21')](_0x7ed7c0));delete _0x7ed7c0[_0xf761('0x33')];if(_0x478f8a===0x191){_0x478f8a=0x190;}_0x3b4209[_0xf761('0x26')](_0x478f8a)[_0xf761('0x7f')](_0x226dcc[_0xf761('0x39')][_0xf761('0x7c')]?{'message':_0xf761('0x80'),'statusCode':_0x7ed7c0['statusCode']}:_0x7ed7c0);});};