Built motion from commit 00bf23f6.|2.6.16
[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 _0x39ae=['papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','status','end','offset','undefined','count','limit','apply','save','update','destroy','then','sendStatus','error','stack','name','send','index','map','SalesforceAccount','rawAttributes','fieldName','type','key','query','keys','filters','intersection','model','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','merge','VIRTUAL','filter','options','include','findAll','rows','catch','show','params','length','includeAll','find','body','findOne','SalesforceConfiguration','getConfigurations','addConfiguration','AccountId','Subjects','getSubjects','channel','Descriptions','getDescriptions','create','SalesforceField','getFields','Task','remoteUri','clientId','clientSecret','username','password','securityToken','slice','substring','lastIndexOf','Connection','login','concat','isNil','ticketType','OwnerId','ActivityDate','IsReminderSet','IsRecurrence','Subject','Description','string','picklist','boolean','email','remove','includes','label','picklistValues','value','True','true','False','false','test','statusCode','stringify','eml-format','rimraf','zip-dir','fast-json-patch','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','querystring'];(function(_0x3d42d8,_0x4cffaa){var _0x27fc41=function(_0x3a363b){while(--_0x3a363b){_0x3d42d8['push'](_0x3d42d8['shift']());}};_0x27fc41(++_0x4cffaa);}(_0x39ae,0x1e4));var _0xe39a=function(_0x36c5b0,_0x5001da){_0x36c5b0=_0x36c5b0-0x0;var _0xf19333=_0x39ae[_0x36c5b0];return _0xf19333;};'use strict';var emlformat=require(_0xe39a('0x0'));var rimraf=require(_0xe39a('0x1'));var zipdir=require(_0xe39a('0x2'));var jsonpatch=require(_0xe39a('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xe39a('0x4'));var Mustache=require(_0xe39a('0x5'));var util=require(_0xe39a('0x6'));var path=require(_0xe39a('0x7'));var sox=require(_0xe39a('0x8'));var csv=require(_0xe39a('0x9'));var ejs=require(_0xe39a('0xa'));var fs=require('fs');var fs_extra=require(_0xe39a('0xb'));var _=require(_0xe39a('0xc'));var squel=require('squel');var crypto=require(_0xe39a('0xd'));var jsforce=require(_0xe39a('0xe'));var deskjs=require('desk.js');var toCsv=require(_0xe39a('0x9'));var querystring=require(_0xe39a('0xf'));var Papa=require(_0xe39a('0x10'));var Redis=require(_0xe39a('0x11'));var authService=require('../../components/auth/service');var qs=require(_0xe39a('0x12'));var as=require(_0xe39a('0x13'));var hardwareService=require(_0xe39a('0x14'));var logger=require(_0xe39a('0x15'))(_0xe39a('0x16'));var utils=require('../../config/utils');var config=require(_0xe39a('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0xe39a('0x18'))['db'];var integrations=require('../../components/integrations/configuration');function respondWithStatusCode(_0x709de0,_0x98b508){_0x98b508=_0x98b508||0xcc;return function(_0x37bc99){if(_0x37bc99){return _0x709de0['sendStatus'](_0x98b508);}return _0x709de0[_0xe39a('0x19')](_0x98b508)[_0xe39a('0x1a')]();};}function respondWithResult(_0x586cf5,_0x464916){_0x464916=_0x464916||0xc8;return function(_0x4c7e7e){if(_0x4c7e7e){return _0x586cf5[_0xe39a('0x19')](_0x464916)['json'](_0x4c7e7e);}};}function respondWithFilteredResult(_0x457bb4,_0x10b766){return function(_0x58156b){if(_0x58156b){var _0x596bb3=typeof _0x10b766[_0xe39a('0x1b')]===_0xe39a('0x1c')&&typeof _0x10b766['limit']==='undefined';var _0x4b6724=_0x58156b[_0xe39a('0x1d')];var _0x45989b=_0x596bb3?0x0:_0x10b766[_0xe39a('0x1b')];var _0x1164ec=_0x596bb3?_0x58156b[_0xe39a('0x1d')]:_0x10b766[_0xe39a('0x1b')]+_0x10b766[_0xe39a('0x1e')];var _0x895b1b;if(_0x1164ec>=_0x4b6724){_0x1164ec=_0x4b6724;_0x895b1b=0xc8;}else{_0x895b1b=0xce;}_0x457bb4[_0xe39a('0x19')](_0x895b1b);return _0x457bb4['set']('Content-Range',_0x45989b+'-'+_0x1164ec+'/'+_0x4b6724)['json'](_0x58156b);}return null;};}function patchUpdates(_0x41033f){return function(_0x43be16){try{jsonpatch[_0xe39a('0x1f')](_0x43be16,_0x41033f,!![]);}catch(_0x499343){return BPromise['reject'](_0x499343);}return _0x43be16[_0xe39a('0x20')]();};}function saveUpdates(_0x252c0c,_0x409f02){return function(_0x326916){if(_0x326916){return _0x326916[_0xe39a('0x21')](_0x252c0c)['then'](function(_0xda32ea){return _0xda32ea;});}return null;};}function removeEntity(_0x1ca1fe,_0x222004){return function(_0x46c145){if(_0x46c145){return _0x46c145[_0xe39a('0x22')]()[_0xe39a('0x23')](function(){_0x1ca1fe[_0xe39a('0x19')](0xcc)[_0xe39a('0x1a')]();});}};}function handleEntityNotFound(_0x5d75cf,_0x23e5d0){return function(_0x3bb8b3){if(!_0x3bb8b3){_0x5d75cf[_0xe39a('0x24')](0x194);}return _0x3bb8b3;};}function handleError(_0x3ff1c9,_0xd22065){_0xd22065=_0xd22065||0x1f4;return function(_0x28a164){logger[_0xe39a('0x25')](_0x28a164[_0xe39a('0x26')]);if(_0x28a164[_0xe39a('0x27')]){delete _0x28a164[_0xe39a('0x27')];}_0x3ff1c9[_0xe39a('0x19')](_0xd22065)[_0xe39a('0x28')](_0x28a164);};}exports[_0xe39a('0x29')]=function(_0x55d8a1,_0x5b6caa){var _0x36db29={},_0x1286ca={},_0x382695={'count':0x0,'rows':[]};var _0x3f785b=_[_0xe39a('0x2a')](db[_0xe39a('0x2b')][_0xe39a('0x2c')],function(_0x50354d){return{'name':_0x50354d[_0xe39a('0x2d')],'type':_0x50354d[_0xe39a('0x2e')][_0xe39a('0x2f')]};});_0x1286ca['model']=_[_0xe39a('0x2a')](_0x3f785b,_0xe39a('0x27'));_0x1286ca[_0xe39a('0x30')]=_[_0xe39a('0x31')](_0x55d8a1[_0xe39a('0x30')]);_0x1286ca[_0xe39a('0x32')]=_[_0xe39a('0x33')](_0x1286ca[_0xe39a('0x34')],_0x1286ca['query']);_0x36db29[_0xe39a('0x35')]=_['intersection'](_0x1286ca[_0xe39a('0x34')],qs['fields'](_0x55d8a1[_0xe39a('0x30')][_0xe39a('0x36')]));_0x36db29['attributes']=_0x36db29[_0xe39a('0x35')]['length']?_0x36db29[_0xe39a('0x35')]:_0x1286ca[_0xe39a('0x34')];if(!_0x55d8a1[_0xe39a('0x30')][_0xe39a('0x37')](_0xe39a('0x38'))){_0x36db29[_0xe39a('0x1e')]=qs[_0xe39a('0x1e')](_0x55d8a1[_0xe39a('0x30')][_0xe39a('0x1e')]);_0x36db29[_0xe39a('0x1b')]=qs[_0xe39a('0x1b')](_0x55d8a1[_0xe39a('0x30')]['offset']);}_0x36db29[_0xe39a('0x39')]=qs[_0xe39a('0x3a')](_0x55d8a1[_0xe39a('0x30')][_0xe39a('0x3a')]);_0x36db29[_0xe39a('0x3b')]=qs[_0xe39a('0x32')](_[_0xe39a('0x3c')](_0x55d8a1['query'],_0x1286ca[_0xe39a('0x32')]),_0x3f785b);if(_0x55d8a1[_0xe39a('0x30')]['filter']){_0x36db29['where']=_[_0xe39a('0x3d')](_0x36db29[_0xe39a('0x3b')],{'$or':_[_0xe39a('0x2a')](_0x3f785b,function(_0x30d231){if(_0x30d231['type']!==_0xe39a('0x3e')){var _0x5e6eb8={};_0x5e6eb8[_0x30d231[_0xe39a('0x27')]]={'$like':'%'+_0x55d8a1['query'][_0xe39a('0x3f')]+'%'};return _0x5e6eb8;}})});}_0x36db29=_[_0xe39a('0x3d')]({},_0x36db29,_0x55d8a1[_0xe39a('0x40')]);var _0x229291={'where':_0x36db29['where']};return db[_0xe39a('0x2b')]['count'](_0x229291)[_0xe39a('0x23')](function(_0x308480){_0x382695[_0xe39a('0x1d')]=_0x308480;if(_0x55d8a1[_0xe39a('0x30')]['includeAll']){_0x36db29[_0xe39a('0x41')]=[{'all':!![]}];}return db[_0xe39a('0x2b')][_0xe39a('0x42')](_0x36db29);})['then'](function(_0x353902){_0x382695[_0xe39a('0x43')]=_0x353902;return _0x382695;})[_0xe39a('0x23')](respondWithFilteredResult(_0x5b6caa,_0x36db29))[_0xe39a('0x44')](handleError(_0x5b6caa,null));};exports[_0xe39a('0x45')]=function(_0xf5b2ac,_0x5cbea0){var _0x5e004={'raw':![],'where':{'id':_0xf5b2ac[_0xe39a('0x46')]['id']}},_0x4c8e2d={};_0x4c8e2d[_0xe39a('0x34')]=_[_0xe39a('0x31')](db[_0xe39a('0x2b')][_0xe39a('0x2c')]);_0x4c8e2d['query']=_[_0xe39a('0x31')](_0xf5b2ac['query']);_0x4c8e2d[_0xe39a('0x32')]=_[_0xe39a('0x33')](_0x4c8e2d['model'],_0x4c8e2d['query']);_0x5e004['attributes']=_[_0xe39a('0x33')](_0x4c8e2d[_0xe39a('0x34')],qs[_0xe39a('0x36')](_0xf5b2ac[_0xe39a('0x30')][_0xe39a('0x36')]));_0x5e004['attributes']=_0x5e004[_0xe39a('0x35')][_0xe39a('0x47')]?_0x5e004[_0xe39a('0x35')]:_0x4c8e2d[_0xe39a('0x34')];if(_0xf5b2ac['query'][_0xe39a('0x48')]){_0x5e004[_0xe39a('0x41')]=[{'all':!![]}];}_0x5e004=_[_0xe39a('0x3d')]({},_0x5e004,_0xf5b2ac[_0xe39a('0x40')]);return db[_0xe39a('0x2b')][_0xe39a('0x49')](_0x5e004)[_0xe39a('0x23')](handleEntityNotFound(_0x5cbea0,null))[_0xe39a('0x23')](respondWithResult(_0x5cbea0,null))['catch'](handleError(_0x5cbea0,null));};exports['create']=function(_0x288132,_0x374d34){return db['SalesforceAccount']['create'](_0x288132[_0xe39a('0x4a')],{})[_0xe39a('0x23')](respondWithResult(_0x374d34,0xc9))[_0xe39a('0x44')](handleError(_0x374d34,null));};exports['update']=function(_0x14e2af,_0x43613d){if(_0x14e2af[_0xe39a('0x4a')]['id']){delete _0x14e2af['body']['id'];}return db[_0xe39a('0x2b')][_0xe39a('0x49')]({'where':{'id':_0x14e2af['params']['id']}})[_0xe39a('0x23')](handleEntityNotFound(_0x43613d,null))[_0xe39a('0x23')](saveUpdates(_0x14e2af['body'],null))[_0xe39a('0x23')](respondWithResult(_0x43613d,null))[_0xe39a('0x44')](handleError(_0x43613d,null));};exports[_0xe39a('0x22')]=function(_0x4227d2,_0x24ef64){return db[_0xe39a('0x2b')][_0xe39a('0x49')]({'where':{'id':_0x4227d2[_0xe39a('0x46')]['id']}})[_0xe39a('0x23')](handleEntityNotFound(_0x24ef64,null))['then'](removeEntity(_0x24ef64,null))[_0xe39a('0x44')](handleError(_0x24ef64,null));};exports['getConfigurations']=function(_0x3ab2fe,_0x402aa6,_0x3b6f98){var _0x53e0e3={};var _0x4113c7={};var _0x561ab2;var _0xf0efb1;return db[_0xe39a('0x2b')][_0xe39a('0x4b')]({'where':{'id':_0x3ab2fe[_0xe39a('0x46')]['id']}})[_0xe39a('0x23')](handleEntityNotFound(_0x402aa6,null))[_0xe39a('0x23')](function(_0x257862){if(_0x257862){_0x561ab2=_0x257862;_0x4113c7['model']=_[_0xe39a('0x31')](db[_0xe39a('0x4c')][_0xe39a('0x2c')]);_0x4113c7[_0xe39a('0x30')]=_[_0xe39a('0x31')](_0x3ab2fe[_0xe39a('0x30')]);_0x4113c7[_0xe39a('0x32')]=_[_0xe39a('0x33')](_0x4113c7['model'],_0x4113c7[_0xe39a('0x30')]);_0x53e0e3['attributes']=_[_0xe39a('0x33')](_0x4113c7[_0xe39a('0x34')],qs['fields'](_0x3ab2fe[_0xe39a('0x30')][_0xe39a('0x36')]));_0x53e0e3[_0xe39a('0x35')]=_0x53e0e3[_0xe39a('0x35')][_0xe39a('0x47')]?_0x53e0e3[_0xe39a('0x35')]:_0x4113c7[_0xe39a('0x34')];_0x53e0e3['order']=qs[_0xe39a('0x3a')](_0x3ab2fe[_0xe39a('0x30')][_0xe39a('0x3a')]);_0x53e0e3[_0xe39a('0x3b')]=qs[_0xe39a('0x32')](_[_0xe39a('0x3c')](_0x3ab2fe[_0xe39a('0x30')],_0x4113c7[_0xe39a('0x32')]));if(_0x3ab2fe['query'][_0xe39a('0x3f')]){_0x53e0e3['where']=_['merge'](_0x53e0e3['where'],{'$or':_[_0xe39a('0x2a')](_0x53e0e3[_0xe39a('0x35')],function(_0xbb3bed){var _0x20b58d={};_0x20b58d[_0xbb3bed]={'$like':'%'+_0x3ab2fe['query'][_0xe39a('0x3f')]+'%'};return _0x20b58d;})});}_0x53e0e3=_[_0xe39a('0x3d')]({},_0x53e0e3,_0x3ab2fe[_0xe39a('0x40')]);return _0x561ab2[_0xe39a('0x4d')](_0x53e0e3);}})['then'](function(_0x4545ad){if(_0x4545ad){_0xf0efb1=_0x4545ad[_0xe39a('0x47')];if(!_0x3ab2fe[_0xe39a('0x30')]['hasOwnProperty'](_0xe39a('0x38'))){_0x53e0e3[_0xe39a('0x1e')]=qs[_0xe39a('0x1e')](_0x3ab2fe[_0xe39a('0x30')][_0xe39a('0x1e')]);_0x53e0e3[_0xe39a('0x1b')]=qs['offset'](_0x3ab2fe[_0xe39a('0x30')][_0xe39a('0x1b')]);}return _0x561ab2['getConfigurations'](_0x53e0e3);}})['then'](function(_0x120b2e){if(_0x120b2e){return _0x120b2e?{'count':_0xf0efb1,'rows':_0x120b2e}:null;}})[_0xe39a('0x23')](respondWithResult(_0x402aa6,null))['catch'](handleError(_0x402aa6,null));};exports[_0xe39a('0x4e')]=function(_0x4e0372,_0x3d102a,_0x437077){if(_0x4e0372[_0xe39a('0x4a')]['id']){delete _0x4e0372[_0xe39a('0x4a')]['id'];}return db['SalesforceAccount'][_0xe39a('0x4b')]({'where':{'id':_0x4e0372[_0xe39a('0x46')]['id']}})[_0xe39a('0x23')](handleEntityNotFound(_0x3d102a,null))[_0xe39a('0x23')](function(_0x1f54b1){if(_0x1f54b1){_0x4e0372[_0xe39a('0x4a')][_0xe39a('0x4f')]=_0x1f54b1['id'];_0x4e0372['body'][_0xe39a('0x50')]=integrations[_0xe39a('0x51')](_0x4e0372[_0xe39a('0x4a')][_0xe39a('0x52')],_0x4e0372[_0xe39a('0x4a')][_0xe39a('0x2e')]);_0x4e0372['body'][_0xe39a('0x53')]=integrations[_0xe39a('0x54')](_0x4e0372[_0xe39a('0x4a')]['channel'],_0x4e0372[_0xe39a('0x4a')][_0xe39a('0x2e')]);return db[_0xe39a('0x4c')][_0xe39a('0x55')](_0x4e0372[_0xe39a('0x4a')],{'include':[{'model':db[_0xe39a('0x56')],'as':_0xe39a('0x50')},{'model':db[_0xe39a('0x56')],'as':_0xe39a('0x53')}]});}return null;})[_0xe39a('0x23')](respondWithResult(_0x3d102a,null))[_0xe39a('0x44')](handleError(_0x3d102a,null));};exports[_0xe39a('0x57')]=function(_0x261c02,_0x209e31,_0x3caebd){var _0x178254;var _0x4ce052='';var _0xb9e761=_0xe39a('0x58');return db[_0xe39a('0x2b')]['findOne']({'where':{'id':_0x261c02[_0xe39a('0x46')]['id']},'attributes':['id',_0xe39a('0x59'),_0xe39a('0x5a'),_0xe39a('0x5b'),_0xe39a('0x5c'),_0xe39a('0x5d'),_0xe39a('0x5e')]})[_0xe39a('0x23')](handleEntityNotFound(_0x209e31,null))[_0xe39a('0x23')](function(_0x41b867){if(_0x41b867){_0x4ce052=_0x41b867[_0xe39a('0x59')];var _0x26ce3b=_0x4ce052[_0xe39a('0x5f')](-0x1);if(_0x26ce3b==='/'){_0x4ce052=_0x4ce052[_0xe39a('0x60')](0x0,_0x4ce052[_0xe39a('0x61')](_0x26ce3b));}_0x178254=new jsforce[(_0xe39a('0x62'))]({'oauth2':{'loginUrl':_0x4ce052,'clientId':_0x41b867[_0xe39a('0x5a')],'clientSecret':_0x41b867[_0xe39a('0x5b')]}});return _0x178254[_0xe39a('0x63')](_0x41b867[_0xe39a('0x5c')],_0x41b867['password'][_0xe39a('0x64')](_0x41b867['securityToken']));}})[_0xe39a('0x23')](function(_0x478713){if(_0x478713){if(!_[_0xe39a('0x65')](_0x261c02[_0xe39a('0x30')][_0xe39a('0x66')])){_0xb9e761=_0x261c02[_0xe39a('0x30')]['ticketType'];}return _0x178254['sobject'](_0xb9e761)['describe']();}})['then'](function(_0x388a87){var _0xa68253=[_0xe39a('0x67'),_0xe39a('0x68'),_0xe39a('0x69'),_0xe39a('0x6a'),_0xe39a('0x6b'),_0xe39a('0x6c')];var _0x1922e5=[_0xe39a('0x6d'),'int',_0xe39a('0x6e'),_0xe39a('0x6f'),_0xe39a('0x70'),'textarea','phone'];if(_0x388a87){_[_0xe39a('0x71')](_0x388a87[_0xe39a('0x36')],function(_0x31ff17){return _0xa68253['includes'](_0x31ff17[_0xe39a('0x27')])||!_0x1922e5[_0xe39a('0x72')](_0x31ff17['type']);});return{'count':_0x388a87[_0xe39a('0x36')]['length'],'rows':_[_0xe39a('0x2a')](_0x388a87[_0xe39a('0x36')],function(_0x538812){return{'id':_0x538812[_0xe39a('0x27')],'name':_0x538812[_0xe39a('0x73')],'custom':_0x538812['custom'],'options':_0x538812[_0xe39a('0x74')]['length']>0x0?_[_0xe39a('0x2a')](_0x538812['picklistValues'],function(_0x4edc6a){return{'name':_0x4edc6a[_0xe39a('0x73')],'value':_0x4edc6a[_0xe39a('0x75')]};}):_0x538812[_0xe39a('0x2e')]==_0xe39a('0x6f')?[{'name':_0xe39a('0x76'),'value':_0xe39a('0x77')},{'name':_0xe39a('0x78'),'value':_0xe39a('0x79')}]:[]};})};}})[_0xe39a('0x23')](respondWithResult(_0x209e31,null))[_0xe39a('0x44')](function(_0xb4ef69){var _0x2db076=_0x261c02[_0xe39a('0x30')][_0xe39a('0x7a')]?0x1f4:_0xb4ef69[_0xe39a('0x7b')]||0x1f4;logger[_0xe39a('0x25')]('getFields,\x20%s,\x20%s,\x20%s',_0xe39a('0x57'),_0x2db076,JSON[_0xe39a('0x7c')](_0xb4ef69));delete _0xb4ef69['name'];if(_0x2db076===0x191){_0x2db076=0x190;}_0x209e31[_0xe39a('0x19')](_0x2db076)[_0xe39a('0x28')](_0x261c02[_0xe39a('0x30')][_0xe39a('0x7a')]?{'message':'Wrong\x20credentials','statusCode':_0xb4ef69[_0xe39a('0x7b')]}:_0xb4ef69);});};