Built motion from commit 4629a684.|2.6.24
[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 _0x9efd=['username','password','securityToken','remoteUri','lastIndexOf','concat','isNil','ticketType','sobject','describe','OwnerId','ActivityDate','IsReminderSet','IsRecurrence','Subject','string','picklist','boolean','email','textarea','phone','remove','includes','label','custom','picklistValues','true','false','test','Wrong\x20credentials','statusCode','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','path','sox','to-csv','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','end','json','offset','limit','undefined','count','status','set','apply','reject','update','then','destroy','error','stack','name','send','index','map','SalesforceAccount','rawAttributes','fieldName','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filters','filter','merge','include','findAll','catch','show','options','find','create','body','params','getConfigurations','findOne','SalesforceConfiguration','addConfiguration','Subjects','channel','type','Descriptions','getDescriptions','SalesforceField','getFields','Task','clientId','clientSecret'];(function(_0x4a3b99,_0x1c33e7){var _0x42db20=function(_0x30e72b){while(--_0x30e72b){_0x4a3b99['push'](_0x4a3b99['shift']());}};_0x42db20(++_0x1c33e7);}(_0x9efd,0x93));var _0xd9ef=function(_0x24015d,_0x35e5be){_0x24015d=_0x24015d-0x0;var _0x203688=_0x9efd[_0x24015d];return _0x203688;};'use strict';var emlformat=require(_0xd9ef('0x0'));var rimraf=require(_0xd9ef('0x1'));var zipdir=require(_0xd9ef('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xd9ef('0x3'));var moment=require(_0xd9ef('0x4'));var BPromise=require(_0xd9ef('0x5'));var Mustache=require('mustache');var util=require('util');var path=require(_0xd9ef('0x6'));var sox=require(_0xd9ef('0x7'));var csv=require(_0xd9ef('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0xd9ef('0x9'));var crypto=require(_0xd9ef('0xa'));var jsforce=require(_0xd9ef('0xb'));var deskjs=require(_0xd9ef('0xc'));var toCsv=require(_0xd9ef('0x8'));var querystring=require(_0xd9ef('0xd'));var Papa=require('papaparse');var Redis=require(_0xd9ef('0xe'));var authService=require(_0xd9ef('0xf'));var qs=require(_0xd9ef('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0xd9ef('0x11'))(_0xd9ef('0x12'));var utils=require(_0xd9ef('0x13'));var config=require(_0xd9ef('0x14'));var licenseUtil=require(_0xd9ef('0x15'));var db=require('../../mysqldb')['db'];var integrations=require('../../components/integrations/configuration');function respondWithStatusCode(_0x9ad56c,_0x2288d8){_0x2288d8=_0x2288d8||0xcc;return function(_0x161ba2){if(_0x161ba2){return _0x9ad56c[_0xd9ef('0x16')](_0x2288d8);}return _0x9ad56c['status'](_0x2288d8)[_0xd9ef('0x17')]();};}function respondWithResult(_0xf83f90,_0x54c0f9){_0x54c0f9=_0x54c0f9||0xc8;return function(_0x9ef0a4){if(_0x9ef0a4){return _0xf83f90['status'](_0x54c0f9)[_0xd9ef('0x18')](_0x9ef0a4);}};}function respondWithFilteredResult(_0x2f3dea,_0x314e1b){return function(_0x28b2bb){if(_0x28b2bb){var _0x314452=typeof _0x314e1b[_0xd9ef('0x19')]==='undefined'&&typeof _0x314e1b[_0xd9ef('0x1a')]===_0xd9ef('0x1b');var _0x4450ae=_0x28b2bb[_0xd9ef('0x1c')];var _0x19837c=_0x314452?0x0:_0x314e1b[_0xd9ef('0x19')];var _0x3b2881=_0x314452?_0x28b2bb[_0xd9ef('0x1c')]:_0x314e1b[_0xd9ef('0x19')]+_0x314e1b[_0xd9ef('0x1a')];var _0x13dbb8;if(_0x3b2881>=_0x4450ae){_0x3b2881=_0x4450ae;_0x13dbb8=0xc8;}else{_0x13dbb8=0xce;}_0x2f3dea[_0xd9ef('0x1d')](_0x13dbb8);return _0x2f3dea[_0xd9ef('0x1e')]('Content-Range',_0x19837c+'-'+_0x3b2881+'/'+_0x4450ae)[_0xd9ef('0x18')](_0x28b2bb);}return null;};}function patchUpdates(_0x537b40){return function(_0x3f30f2){try{jsonpatch[_0xd9ef('0x1f')](_0x3f30f2,_0x537b40,!![]);}catch(_0x4ee1f1){return BPromise[_0xd9ef('0x20')](_0x4ee1f1);}return _0x3f30f2['save']();};}function saveUpdates(_0x3416ae,_0x1ed634){return function(_0x590655){if(_0x590655){return _0x590655[_0xd9ef('0x21')](_0x3416ae)[_0xd9ef('0x22')](function(_0x2c9b88){return _0x2c9b88;});}return null;};}function removeEntity(_0x44b96f,_0x18384e){return function(_0x4f5db5){if(_0x4f5db5){return _0x4f5db5[_0xd9ef('0x23')]()['then'](function(){_0x44b96f[_0xd9ef('0x1d')](0xcc)[_0xd9ef('0x17')]();});}};}function handleEntityNotFound(_0x60603d,_0x136f5e){return function(_0x3000a0){if(!_0x3000a0){_0x60603d[_0xd9ef('0x16')](0x194);}return _0x3000a0;};}function handleError(_0x55f7d5,_0x2a6ae0){_0x2a6ae0=_0x2a6ae0||0x1f4;return function(_0x148c5f){logger[_0xd9ef('0x24')](_0x148c5f[_0xd9ef('0x25')]);if(_0x148c5f[_0xd9ef('0x26')]){delete _0x148c5f[_0xd9ef('0x26')];}_0x55f7d5[_0xd9ef('0x1d')](_0x2a6ae0)[_0xd9ef('0x27')](_0x148c5f);};}exports[_0xd9ef('0x28')]=function(_0x4d5528,_0x13dc65){var _0x19ed1a={},_0x3a6f88={},_0x1fe6b8={'count':0x0,'rows':[]};var _0x23cd92=_[_0xd9ef('0x29')](db[_0xd9ef('0x2a')][_0xd9ef('0x2b')],function(_0x2709be){return{'name':_0x2709be[_0xd9ef('0x2c')],'type':_0x2709be['type'][_0xd9ef('0x2d')]};});_0x3a6f88[_0xd9ef('0x2e')]=_[_0xd9ef('0x29')](_0x23cd92,'name');_0x3a6f88[_0xd9ef('0x2f')]=_[_0xd9ef('0x30')](_0x4d5528[_0xd9ef('0x2f')]);_0x3a6f88['filters']=_[_0xd9ef('0x31')](_0x3a6f88[_0xd9ef('0x2e')],_0x3a6f88[_0xd9ef('0x2f')]);_0x19ed1a[_0xd9ef('0x32')]=_[_0xd9ef('0x31')](_0x3a6f88['model'],qs[_0xd9ef('0x33')](_0x4d5528[_0xd9ef('0x2f')][_0xd9ef('0x33')]));_0x19ed1a[_0xd9ef('0x32')]=_0x19ed1a[_0xd9ef('0x32')][_0xd9ef('0x34')]?_0x19ed1a[_0xd9ef('0x32')]:_0x3a6f88[_0xd9ef('0x2e')];if(!_0x4d5528[_0xd9ef('0x2f')][_0xd9ef('0x35')](_0xd9ef('0x36'))){_0x19ed1a[_0xd9ef('0x1a')]=qs['limit'](_0x4d5528[_0xd9ef('0x2f')][_0xd9ef('0x1a')]);_0x19ed1a[_0xd9ef('0x19')]=qs[_0xd9ef('0x19')](_0x4d5528['query'][_0xd9ef('0x19')]);}_0x19ed1a[_0xd9ef('0x37')]=qs[_0xd9ef('0x38')](_0x4d5528['query']['sort']);_0x19ed1a[_0xd9ef('0x39')]=qs['filters'](_[_0xd9ef('0x3a')](_0x4d5528[_0xd9ef('0x2f')],_0x3a6f88[_0xd9ef('0x3b')]),_0x23cd92);if(_0x4d5528['query'][_0xd9ef('0x3c')]){_0x19ed1a[_0xd9ef('0x39')]=_[_0xd9ef('0x3d')](_0x19ed1a[_0xd9ef('0x39')],{'$or':_[_0xd9ef('0x29')](_0x23cd92,function(_0x55eba5){if(_0x55eba5['type']!=='VIRTUAL'){var _0x2c131e={};_0x2c131e[_0x55eba5[_0xd9ef('0x26')]]={'$like':'%'+_0x4d5528[_0xd9ef('0x2f')][_0xd9ef('0x3c')]+'%'};return _0x2c131e;}})});}_0x19ed1a=_[_0xd9ef('0x3d')]({},_0x19ed1a,_0x4d5528['options']);var _0x349a35={'where':_0x19ed1a[_0xd9ef('0x39')]};return db[_0xd9ef('0x2a')][_0xd9ef('0x1c')](_0x349a35)[_0xd9ef('0x22')](function(_0x38f329){_0x1fe6b8[_0xd9ef('0x1c')]=_0x38f329;if(_0x4d5528['query']['includeAll']){_0x19ed1a[_0xd9ef('0x3e')]=[{'all':!![]}];}return db[_0xd9ef('0x2a')][_0xd9ef('0x3f')](_0x19ed1a);})[_0xd9ef('0x22')](function(_0x1dd3f2){_0x1fe6b8['rows']=_0x1dd3f2;return _0x1fe6b8;})[_0xd9ef('0x22')](respondWithFilteredResult(_0x13dc65,_0x19ed1a))[_0xd9ef('0x40')](handleError(_0x13dc65,null));};exports[_0xd9ef('0x41')]=function(_0x5781eb,_0x3480cf){var _0x282271={'raw':![],'where':{'id':_0x5781eb['params']['id']}},_0x2aa537={};_0x2aa537[_0xd9ef('0x2e')]=_[_0xd9ef('0x30')](db[_0xd9ef('0x2a')][_0xd9ef('0x2b')]);_0x2aa537[_0xd9ef('0x2f')]=_[_0xd9ef('0x30')](_0x5781eb['query']);_0x2aa537[_0xd9ef('0x3b')]=_['intersection'](_0x2aa537[_0xd9ef('0x2e')],_0x2aa537[_0xd9ef('0x2f')]);_0x282271['attributes']=_[_0xd9ef('0x31')](_0x2aa537['model'],qs['fields'](_0x5781eb['query'][_0xd9ef('0x33')]));_0x282271[_0xd9ef('0x32')]=_0x282271['attributes'][_0xd9ef('0x34')]?_0x282271[_0xd9ef('0x32')]:_0x2aa537['model'];if(_0x5781eb[_0xd9ef('0x2f')]['includeAll']){_0x282271[_0xd9ef('0x3e')]=[{'all':!![]}];}_0x282271=_[_0xd9ef('0x3d')]({},_0x282271,_0x5781eb[_0xd9ef('0x42')]);return db[_0xd9ef('0x2a')][_0xd9ef('0x43')](_0x282271)[_0xd9ef('0x22')](handleEntityNotFound(_0x3480cf,null))[_0xd9ef('0x22')](respondWithResult(_0x3480cf,null))[_0xd9ef('0x40')](handleError(_0x3480cf,null));};exports[_0xd9ef('0x44')]=function(_0x29653f,_0x2417f5){return db[_0xd9ef('0x2a')]['create'](_0x29653f['body'],{})['then'](respondWithResult(_0x2417f5,0xc9))[_0xd9ef('0x40')](handleError(_0x2417f5,null));};exports[_0xd9ef('0x21')]=function(_0x420b9d,_0x4fc329){if(_0x420b9d[_0xd9ef('0x45')]['id']){delete _0x420b9d[_0xd9ef('0x45')]['id'];}return db[_0xd9ef('0x2a')]['find']({'where':{'id':_0x420b9d[_0xd9ef('0x46')]['id']}})[_0xd9ef('0x22')](handleEntityNotFound(_0x4fc329,null))[_0xd9ef('0x22')](saveUpdates(_0x420b9d[_0xd9ef('0x45')],null))[_0xd9ef('0x22')](respondWithResult(_0x4fc329,null))[_0xd9ef('0x40')](handleError(_0x4fc329,null));};exports['destroy']=function(_0x41777d,_0x51cf48){return db[_0xd9ef('0x2a')][_0xd9ef('0x43')]({'where':{'id':_0x41777d[_0xd9ef('0x46')]['id']}})['then'](handleEntityNotFound(_0x51cf48,null))['then'](removeEntity(_0x51cf48,null))[_0xd9ef('0x40')](handleError(_0x51cf48,null));};exports[_0xd9ef('0x47')]=function(_0x6389b2,_0x1f0653,_0x448b4b){var _0x4486bc={};var _0x46b21f={};var _0x741069;var _0x5b229f;return db[_0xd9ef('0x2a')][_0xd9ef('0x48')]({'where':{'id':_0x6389b2[_0xd9ef('0x46')]['id']}})['then'](handleEntityNotFound(_0x1f0653,null))[_0xd9ef('0x22')](function(_0x47ae0f){if(_0x47ae0f){_0x741069=_0x47ae0f;_0x46b21f[_0xd9ef('0x2e')]=_[_0xd9ef('0x30')](db[_0xd9ef('0x49')][_0xd9ef('0x2b')]);_0x46b21f['query']=_[_0xd9ef('0x30')](_0x6389b2[_0xd9ef('0x2f')]);_0x46b21f['filters']=_[_0xd9ef('0x31')](_0x46b21f[_0xd9ef('0x2e')],_0x46b21f[_0xd9ef('0x2f')]);_0x4486bc[_0xd9ef('0x32')]=_[_0xd9ef('0x31')](_0x46b21f[_0xd9ef('0x2e')],qs[_0xd9ef('0x33')](_0x6389b2[_0xd9ef('0x2f')][_0xd9ef('0x33')]));_0x4486bc[_0xd9ef('0x32')]=_0x4486bc[_0xd9ef('0x32')][_0xd9ef('0x34')]?_0x4486bc[_0xd9ef('0x32')]:_0x46b21f[_0xd9ef('0x2e')];_0x4486bc['order']=qs['sort'](_0x6389b2[_0xd9ef('0x2f')][_0xd9ef('0x38')]);_0x4486bc[_0xd9ef('0x39')]=qs['filters'](_[_0xd9ef('0x3a')](_0x6389b2[_0xd9ef('0x2f')],_0x46b21f[_0xd9ef('0x3b')]));if(_0x6389b2['query']['filter']){_0x4486bc[_0xd9ef('0x39')]=_[_0xd9ef('0x3d')](_0x4486bc['where'],{'$or':_[_0xd9ef('0x29')](_0x4486bc[_0xd9ef('0x32')],function(_0x2bc340){var _0xcfbd68={};_0xcfbd68[_0x2bc340]={'$like':'%'+_0x6389b2['query']['filter']+'%'};return _0xcfbd68;})});}_0x4486bc=_[_0xd9ef('0x3d')]({},_0x4486bc,_0x6389b2['options']);return _0x741069[_0xd9ef('0x47')](_0x4486bc);}})[_0xd9ef('0x22')](function(_0x2a6d53){if(_0x2a6d53){_0x5b229f=_0x2a6d53['length'];if(!_0x6389b2['query'][_0xd9ef('0x35')](_0xd9ef('0x36'))){_0x4486bc[_0xd9ef('0x1a')]=qs[_0xd9ef('0x1a')](_0x6389b2[_0xd9ef('0x2f')][_0xd9ef('0x1a')]);_0x4486bc[_0xd9ef('0x19')]=qs[_0xd9ef('0x19')](_0x6389b2[_0xd9ef('0x2f')][_0xd9ef('0x19')]);}return _0x741069[_0xd9ef('0x47')](_0x4486bc);}})[_0xd9ef('0x22')](function(_0x560da7){if(_0x560da7){return _0x560da7?{'count':_0x5b229f,'rows':_0x560da7}:null;}})[_0xd9ef('0x22')](respondWithResult(_0x1f0653,null))[_0xd9ef('0x40')](handleError(_0x1f0653,null));};exports[_0xd9ef('0x4a')]=function(_0x199cf5,_0x578b79,_0x4a72b7){if(_0x199cf5[_0xd9ef('0x45')]['id']){delete _0x199cf5[_0xd9ef('0x45')]['id'];}return db[_0xd9ef('0x2a')][_0xd9ef('0x48')]({'where':{'id':_0x199cf5[_0xd9ef('0x46')]['id']}})[_0xd9ef('0x22')](handleEntityNotFound(_0x578b79,null))['then'](function(_0x5e7468){if(_0x5e7468){_0x199cf5[_0xd9ef('0x45')]['AccountId']=_0x5e7468['id'];_0x199cf5[_0xd9ef('0x45')][_0xd9ef('0x4b')]=integrations['getSubjects'](_0x199cf5[_0xd9ef('0x45')][_0xd9ef('0x4c')],_0x199cf5['body'][_0xd9ef('0x4d')]);_0x199cf5[_0xd9ef('0x45')][_0xd9ef('0x4e')]=integrations[_0xd9ef('0x4f')](_0x199cf5[_0xd9ef('0x45')][_0xd9ef('0x4c')],_0x199cf5['body'][_0xd9ef('0x4d')]);return db[_0xd9ef('0x49')][_0xd9ef('0x44')](_0x199cf5[_0xd9ef('0x45')],{'include':[{'model':db[_0xd9ef('0x50')],'as':'Subjects'},{'model':db['SalesforceField'],'as':_0xd9ef('0x4e')}]});}return null;})['then'](respondWithResult(_0x578b79,null))['catch'](handleError(_0x578b79,null));};exports[_0xd9ef('0x51')]=function(_0x441712,_0x1d6d84,_0x5c082a){var _0x54b27d;var _0x4e3533='';var _0x248aa7=_0xd9ef('0x52');return db[_0xd9ef('0x2a')][_0xd9ef('0x48')]({'where':{'id':_0x441712[_0xd9ef('0x46')]['id']},'attributes':['id','remoteUri',_0xd9ef('0x53'),_0xd9ef('0x54'),_0xd9ef('0x55'),_0xd9ef('0x56'),_0xd9ef('0x57')]})['then'](handleEntityNotFound(_0x1d6d84,null))[_0xd9ef('0x22')](function(_0x2c2e72){if(_0x2c2e72){_0x4e3533=_0x2c2e72[_0xd9ef('0x58')];var _0x3ca686=_0x4e3533['slice'](-0x1);if(_0x3ca686==='/'){_0x4e3533=_0x4e3533['substring'](0x0,_0x4e3533[_0xd9ef('0x59')](_0x3ca686));}_0x54b27d=new jsforce['Connection']({'oauth2':{'loginUrl':_0x4e3533,'clientId':_0x2c2e72[_0xd9ef('0x53')],'clientSecret':_0x2c2e72['clientSecret']}});return _0x54b27d['login'](_0x2c2e72[_0xd9ef('0x55')],_0x2c2e72[_0xd9ef('0x56')][_0xd9ef('0x5a')](_0x2c2e72['securityToken']));}})[_0xd9ef('0x22')](function(_0x2b85da){if(_0x2b85da){if(!_[_0xd9ef('0x5b')](_0x441712['query'][_0xd9ef('0x5c')])){_0x248aa7=_0x441712['query'][_0xd9ef('0x5c')];}return _0x54b27d[_0xd9ef('0x5d')](_0x248aa7)[_0xd9ef('0x5e')]();}})['then'](function(_0x19df32){var _0x547210=[_0xd9ef('0x5f'),_0xd9ef('0x60'),_0xd9ef('0x61'),_0xd9ef('0x62'),_0xd9ef('0x63'),'Description'];var _0x360dc7=[_0xd9ef('0x64'),'int',_0xd9ef('0x65'),_0xd9ef('0x66'),_0xd9ef('0x67'),_0xd9ef('0x68'),_0xd9ef('0x69')];if(_0x19df32){_[_0xd9ef('0x6a')](_0x19df32[_0xd9ef('0x33')],function(_0x4e1ee9){return _0x547210[_0xd9ef('0x6b')](_0x4e1ee9[_0xd9ef('0x26')])||!_0x360dc7['includes'](_0x4e1ee9[_0xd9ef('0x4d')]);});return{'count':_0x19df32[_0xd9ef('0x33')][_0xd9ef('0x34')],'rows':_[_0xd9ef('0x29')](_0x19df32['fields'],function(_0x44170a){return{'id':_0x44170a[_0xd9ef('0x26')],'name':_0x44170a[_0xd9ef('0x6c')],'custom':_0x44170a[_0xd9ef('0x6d')],'options':_0x44170a['picklistValues'][_0xd9ef('0x34')]>0x0?_['map'](_0x44170a[_0xd9ef('0x6e')],function(_0x82b633){return{'name':_0x82b633[_0xd9ef('0x6c')],'value':_0x82b633['value']};}):_0x44170a['type']==_0xd9ef('0x66')?[{'name':'True','value':_0xd9ef('0x6f')},{'name':'False','value':_0xd9ef('0x70')}]:[]};})};}})[_0xd9ef('0x22')](respondWithResult(_0x1d6d84,null))[_0xd9ef('0x40')](function(_0x255800){var _0x21fff2=_0x441712[_0xd9ef('0x2f')][_0xd9ef('0x71')]?0x1f4:_0x255800['statusCode']||0x1f4;logger[_0xd9ef('0x24')]('getFields,\x20%s,\x20%s,\x20%s','getFields',_0x21fff2,JSON['stringify'](_0x255800));delete _0x255800['name'];if(_0x21fff2===0x191){_0x21fff2=0x190;}_0x1d6d84[_0xd9ef('0x1d')](_0x21fff2)[_0xd9ef('0x27')](_0x441712[_0xd9ef('0x2f')][_0xd9ef('0x71')]?{'message':_0xd9ef('0x72'),'statusCode':_0x255800[_0xd9ef('0x73')]}:_0x255800);});};