Built motion from commit 7b0d5213.|2.6.25
[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 _0x54b6=['index','map','type','model','query','keys','filters','intersection','attributes','hasOwnProperty','nolimit','sort','pick','where','merge','VIRTUAL','SalesforceAccount','include','findAll','rows','catch','show','params','rawAttributes','fields','includeAll','find','body','getConfigurations','findOne','SalesforceConfiguration','length','filter','options','AccountId','Subjects','getSubjects','channel','create','SalesforceField','Descriptions','getFields','Task','remoteUri','clientId','clientSecret','username','securityToken','substring','lastIndexOf','Connection','login','password','concat','isNil','ticketType','sobject','OwnerId','ActivityDate','Subject','Description','string','int','picklist','email','phone','includes','custom','picklistValues','label','value','boolean','True','False','false','test','statusCode','send','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','path','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','undefined','limit','count','offset','set','Content-Range','apply','reject','save','update','then','destroy','error','stack','name'];(function(_0x15f6d1,_0x47a3d0){var _0x4fe2f1=function(_0x3f1965){while(--_0x3f1965){_0x15f6d1['push'](_0x15f6d1['shift']());}};_0x4fe2f1(++_0x47a3d0);}(_0x54b6,0xca));var _0x654b=function(_0x4bb581,_0x6f7037){_0x4bb581=_0x4bb581-0x0;var _0x316bf5=_0x54b6[_0x4bb581];return _0x316bf5;};'use strict';var emlformat=require(_0x654b('0x0'));var rimraf=require(_0x654b('0x1'));var zipdir=require(_0x654b('0x2'));var jsonpatch=require(_0x654b('0x3'));var rp=require(_0x654b('0x4'));var moment=require(_0x654b('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x654b('0x6'));var util=require('util');var path=require(_0x654b('0x7'));var sox=require(_0x654b('0x8'));var csv=require(_0x654b('0x9'));var ejs=require(_0x654b('0xa'));var fs=require('fs');var fs_extra=require(_0x654b('0xb'));var _=require(_0x654b('0xc'));var squel=require(_0x654b('0xd'));var crypto=require('crypto');var jsforce=require(_0x654b('0xe'));var deskjs=require(_0x654b('0xf'));var toCsv=require('to-csv');var querystring=require(_0x654b('0x10'));var Papa=require('papaparse');var Redis=require(_0x654b('0x11'));var authService=require(_0x654b('0x12'));var qs=require(_0x654b('0x13'));var as=require(_0x654b('0x14'));var hardwareService=require(_0x654b('0x15'));var logger=require(_0x654b('0x16'))('api');var utils=require(_0x654b('0x17'));var config=require(_0x654b('0x18'));var licenseUtil=require(_0x654b('0x19'));var db=require(_0x654b('0x1a'))['db'];var integrations=require('../../components/integrations/configuration');function respondWithStatusCode(_0xfa7d5c,_0x1fb0c3){_0x1fb0c3=_0x1fb0c3||0xcc;return function(_0x1a3686){if(_0x1a3686){return _0xfa7d5c[_0x654b('0x1b')](_0x1fb0c3);}return _0xfa7d5c[_0x654b('0x1c')](_0x1fb0c3)[_0x654b('0x1d')]();};}function respondWithResult(_0x514c9f,_0x22ff39){_0x22ff39=_0x22ff39||0xc8;return function(_0x4b616d){if(_0x4b616d){return _0x514c9f['status'](_0x22ff39)[_0x654b('0x1e')](_0x4b616d);}};}function respondWithFilteredResult(_0x1431cd,_0x5ba405){return function(_0x2b38bd){if(_0x2b38bd){var _0x465460=typeof _0x5ba405['offset']===_0x654b('0x1f')&&typeof _0x5ba405[_0x654b('0x20')]==='undefined';var _0x41ce21=_0x2b38bd[_0x654b('0x21')];var _0x38b2f4=_0x465460?0x0:_0x5ba405[_0x654b('0x22')];var _0x599495=_0x465460?_0x2b38bd[_0x654b('0x21')]:_0x5ba405[_0x654b('0x22')]+_0x5ba405[_0x654b('0x20')];var _0x39f67;if(_0x599495>=_0x41ce21){_0x599495=_0x41ce21;_0x39f67=0xc8;}else{_0x39f67=0xce;}_0x1431cd[_0x654b('0x1c')](_0x39f67);return _0x1431cd[_0x654b('0x23')](_0x654b('0x24'),_0x38b2f4+'-'+_0x599495+'/'+_0x41ce21)[_0x654b('0x1e')](_0x2b38bd);}return null;};}function patchUpdates(_0x47069d){return function(_0x414a23){try{jsonpatch[_0x654b('0x25')](_0x414a23,_0x47069d,!![]);}catch(_0x4f401a){return BPromise[_0x654b('0x26')](_0x4f401a);}return _0x414a23[_0x654b('0x27')]();};}function saveUpdates(_0x63bab0,_0x135a91){return function(_0x667ec6){if(_0x667ec6){return _0x667ec6[_0x654b('0x28')](_0x63bab0)[_0x654b('0x29')](function(_0x41d22d){return _0x41d22d;});}return null;};}function removeEntity(_0x10a56c,_0x2ccfb){return function(_0xc83be3){if(_0xc83be3){return _0xc83be3[_0x654b('0x2a')]()[_0x654b('0x29')](function(){_0x10a56c[_0x654b('0x1c')](0xcc)[_0x654b('0x1d')]();});}};}function handleEntityNotFound(_0x4770db,_0x3b9ba8){return function(_0x275b02){if(!_0x275b02){_0x4770db[_0x654b('0x1b')](0x194);}return _0x275b02;};}function handleError(_0x31f029,_0x513b94){_0x513b94=_0x513b94||0x1f4;return function(_0x316f46){logger[_0x654b('0x2b')](_0x316f46[_0x654b('0x2c')]);if(_0x316f46[_0x654b('0x2d')]){delete _0x316f46[_0x654b('0x2d')];}_0x31f029[_0x654b('0x1c')](_0x513b94)['send'](_0x316f46);};}exports[_0x654b('0x2e')]=function(_0x226ea2,_0x50a866){var _0x212d39={},_0x347f46={},_0x114dfc={'count':0x0,'rows':[]};var _0x10c53b=_[_0x654b('0x2f')](db['SalesforceAccount']['rawAttributes'],function(_0x4964c7){return{'name':_0x4964c7['fieldName'],'type':_0x4964c7[_0x654b('0x30')]['key']};});_0x347f46[_0x654b('0x31')]=_[_0x654b('0x2f')](_0x10c53b,_0x654b('0x2d'));_0x347f46[_0x654b('0x32')]=_[_0x654b('0x33')](_0x226ea2[_0x654b('0x32')]);_0x347f46[_0x654b('0x34')]=_[_0x654b('0x35')](_0x347f46['model'],_0x347f46['query']);_0x212d39['attributes']=_[_0x654b('0x35')](_0x347f46[_0x654b('0x31')],qs['fields'](_0x226ea2['query']['fields']));_0x212d39[_0x654b('0x36')]=_0x212d39[_0x654b('0x36')]['length']?_0x212d39[_0x654b('0x36')]:_0x347f46['model'];if(!_0x226ea2[_0x654b('0x32')][_0x654b('0x37')](_0x654b('0x38'))){_0x212d39[_0x654b('0x20')]=qs[_0x654b('0x20')](_0x226ea2[_0x654b('0x32')][_0x654b('0x20')]);_0x212d39[_0x654b('0x22')]=qs[_0x654b('0x22')](_0x226ea2['query'][_0x654b('0x22')]);}_0x212d39['order']=qs[_0x654b('0x39')](_0x226ea2['query']['sort']);_0x212d39['where']=qs[_0x654b('0x34')](_[_0x654b('0x3a')](_0x226ea2[_0x654b('0x32')],_0x347f46[_0x654b('0x34')]),_0x10c53b);if(_0x226ea2[_0x654b('0x32')]['filter']){_0x212d39[_0x654b('0x3b')]=_[_0x654b('0x3c')](_0x212d39['where'],{'$or':_[_0x654b('0x2f')](_0x10c53b,function(_0x2904bd){if(_0x2904bd[_0x654b('0x30')]!==_0x654b('0x3d')){var _0x4d28b5={};_0x4d28b5[_0x2904bd[_0x654b('0x2d')]]={'$like':'%'+_0x226ea2[_0x654b('0x32')]['filter']+'%'};return _0x4d28b5;}})});}_0x212d39=_[_0x654b('0x3c')]({},_0x212d39,_0x226ea2['options']);var _0x24d44d={'where':_0x212d39['where']};return db[_0x654b('0x3e')][_0x654b('0x21')](_0x24d44d)[_0x654b('0x29')](function(_0x1747fa){_0x114dfc['count']=_0x1747fa;if(_0x226ea2[_0x654b('0x32')]['includeAll']){_0x212d39[_0x654b('0x3f')]=[{'all':!![]}];}return db[_0x654b('0x3e')][_0x654b('0x40')](_0x212d39);})[_0x654b('0x29')](function(_0x56317d){_0x114dfc[_0x654b('0x41')]=_0x56317d;return _0x114dfc;})[_0x654b('0x29')](respondWithFilteredResult(_0x50a866,_0x212d39))[_0x654b('0x42')](handleError(_0x50a866,null));};exports[_0x654b('0x43')]=function(_0x4893a6,_0x2a1356){var _0x4f3265={'raw':![],'where':{'id':_0x4893a6[_0x654b('0x44')]['id']}},_0x95aad5={};_0x95aad5[_0x654b('0x31')]=_[_0x654b('0x33')](db['SalesforceAccount'][_0x654b('0x45')]);_0x95aad5[_0x654b('0x32')]=_[_0x654b('0x33')](_0x4893a6[_0x654b('0x32')]);_0x95aad5[_0x654b('0x34')]=_[_0x654b('0x35')](_0x95aad5[_0x654b('0x31')],_0x95aad5[_0x654b('0x32')]);_0x4f3265['attributes']=_[_0x654b('0x35')](_0x95aad5[_0x654b('0x31')],qs[_0x654b('0x46')](_0x4893a6[_0x654b('0x32')][_0x654b('0x46')]));_0x4f3265[_0x654b('0x36')]=_0x4f3265[_0x654b('0x36')]['length']?_0x4f3265[_0x654b('0x36')]:_0x95aad5[_0x654b('0x31')];if(_0x4893a6[_0x654b('0x32')][_0x654b('0x47')]){_0x4f3265[_0x654b('0x3f')]=[{'all':!![]}];}_0x4f3265=_[_0x654b('0x3c')]({},_0x4f3265,_0x4893a6['options']);return db[_0x654b('0x3e')][_0x654b('0x48')](_0x4f3265)[_0x654b('0x29')](handleEntityNotFound(_0x2a1356,null))['then'](respondWithResult(_0x2a1356,null))[_0x654b('0x42')](handleError(_0x2a1356,null));};exports['create']=function(_0x3b8412,_0x3ab9ae){return db['SalesforceAccount']['create'](_0x3b8412['body'],{})[_0x654b('0x29')](respondWithResult(_0x3ab9ae,0xc9))[_0x654b('0x42')](handleError(_0x3ab9ae,null));};exports[_0x654b('0x28')]=function(_0x5cc814,_0x52e0ff){if(_0x5cc814[_0x654b('0x49')]['id']){delete _0x5cc814[_0x654b('0x49')]['id'];}return db[_0x654b('0x3e')][_0x654b('0x48')]({'where':{'id':_0x5cc814['params']['id']}})[_0x654b('0x29')](handleEntityNotFound(_0x52e0ff,null))[_0x654b('0x29')](saveUpdates(_0x5cc814[_0x654b('0x49')],null))[_0x654b('0x29')](respondWithResult(_0x52e0ff,null))[_0x654b('0x42')](handleError(_0x52e0ff,null));};exports[_0x654b('0x2a')]=function(_0x2e038d,_0x786488){return db[_0x654b('0x3e')][_0x654b('0x48')]({'where':{'id':_0x2e038d['params']['id']}})['then'](handleEntityNotFound(_0x786488,null))[_0x654b('0x29')](removeEntity(_0x786488,null))[_0x654b('0x42')](handleError(_0x786488,null));};exports[_0x654b('0x4a')]=function(_0xb6bf26,_0x4bb0e2,_0x1ed007){var _0x1a104a={};var _0x12e10a={};var _0x46b5e9;var _0x2d32bd;return db[_0x654b('0x3e')][_0x654b('0x4b')]({'where':{'id':_0xb6bf26[_0x654b('0x44')]['id']}})['then'](handleEntityNotFound(_0x4bb0e2,null))[_0x654b('0x29')](function(_0x337715){if(_0x337715){_0x46b5e9=_0x337715;_0x12e10a['model']=_[_0x654b('0x33')](db[_0x654b('0x4c')]['rawAttributes']);_0x12e10a[_0x654b('0x32')]=_[_0x654b('0x33')](_0xb6bf26[_0x654b('0x32')]);_0x12e10a[_0x654b('0x34')]=_['intersection'](_0x12e10a[_0x654b('0x31')],_0x12e10a['query']);_0x1a104a[_0x654b('0x36')]=_[_0x654b('0x35')](_0x12e10a[_0x654b('0x31')],qs[_0x654b('0x46')](_0xb6bf26[_0x654b('0x32')][_0x654b('0x46')]));_0x1a104a[_0x654b('0x36')]=_0x1a104a[_0x654b('0x36')][_0x654b('0x4d')]?_0x1a104a['attributes']:_0x12e10a['model'];_0x1a104a['order']=qs['sort'](_0xb6bf26[_0x654b('0x32')][_0x654b('0x39')]);_0x1a104a['where']=qs['filters'](_[_0x654b('0x3a')](_0xb6bf26[_0x654b('0x32')],_0x12e10a[_0x654b('0x34')]));if(_0xb6bf26['query'][_0x654b('0x4e')]){_0x1a104a[_0x654b('0x3b')]=_[_0x654b('0x3c')](_0x1a104a['where'],{'$or':_[_0x654b('0x2f')](_0x1a104a[_0x654b('0x36')],function(_0x298c96){var _0x2a9afc={};_0x2a9afc[_0x298c96]={'$like':'%'+_0xb6bf26[_0x654b('0x32')][_0x654b('0x4e')]+'%'};return _0x2a9afc;})});}_0x1a104a=_[_0x654b('0x3c')]({},_0x1a104a,_0xb6bf26[_0x654b('0x4f')]);return _0x46b5e9[_0x654b('0x4a')](_0x1a104a);}})[_0x654b('0x29')](function(_0x5a9ad7){if(_0x5a9ad7){_0x2d32bd=_0x5a9ad7[_0x654b('0x4d')];if(!_0xb6bf26[_0x654b('0x32')]['hasOwnProperty'](_0x654b('0x38'))){_0x1a104a[_0x654b('0x20')]=qs[_0x654b('0x20')](_0xb6bf26[_0x654b('0x32')]['limit']);_0x1a104a['offset']=qs[_0x654b('0x22')](_0xb6bf26[_0x654b('0x32')][_0x654b('0x22')]);}return _0x46b5e9[_0x654b('0x4a')](_0x1a104a);}})[_0x654b('0x29')](function(_0x37548c){if(_0x37548c){return _0x37548c?{'count':_0x2d32bd,'rows':_0x37548c}:null;}})[_0x654b('0x29')](respondWithResult(_0x4bb0e2,null))[_0x654b('0x42')](handleError(_0x4bb0e2,null));};exports['addConfiguration']=function(_0x4f3246,_0x29058e,_0x1ce48c){if(_0x4f3246[_0x654b('0x49')]['id']){delete _0x4f3246[_0x654b('0x49')]['id'];}return db['SalesforceAccount'][_0x654b('0x4b')]({'where':{'id':_0x4f3246[_0x654b('0x44')]['id']}})[_0x654b('0x29')](handleEntityNotFound(_0x29058e,null))[_0x654b('0x29')](function(_0x2892b3){if(_0x2892b3){_0x4f3246['body'][_0x654b('0x50')]=_0x2892b3['id'];_0x4f3246[_0x654b('0x49')][_0x654b('0x51')]=integrations[_0x654b('0x52')](_0x4f3246[_0x654b('0x49')][_0x654b('0x53')],_0x4f3246['body'][_0x654b('0x30')]);_0x4f3246['body']['Descriptions']=integrations['getDescriptions'](_0x4f3246[_0x654b('0x49')][_0x654b('0x53')],_0x4f3246[_0x654b('0x49')][_0x654b('0x30')]);return db[_0x654b('0x4c')][_0x654b('0x54')](_0x4f3246['body'],{'include':[{'model':db[_0x654b('0x55')],'as':_0x654b('0x51')},{'model':db[_0x654b('0x55')],'as':_0x654b('0x56')}]});}return null;})[_0x654b('0x29')](respondWithResult(_0x29058e,null))[_0x654b('0x42')](handleError(_0x29058e,null));};exports[_0x654b('0x57')]=function(_0x3bbeda,_0xa27363,_0x346a2d){var _0x3652bb;var _0x19c9e0='';var _0x5f302a=_0x654b('0x58');return db[_0x654b('0x3e')][_0x654b('0x4b')]({'where':{'id':_0x3bbeda[_0x654b('0x44')]['id']},'attributes':['id',_0x654b('0x59'),_0x654b('0x5a'),_0x654b('0x5b'),_0x654b('0x5c'),'password',_0x654b('0x5d')]})[_0x654b('0x29')](handleEntityNotFound(_0xa27363,null))[_0x654b('0x29')](function(_0x22d7f5){if(_0x22d7f5){_0x19c9e0=_0x22d7f5['remoteUri'];var _0x1c66ea=_0x19c9e0['slice'](-0x1);if(_0x1c66ea==='/'){_0x19c9e0=_0x19c9e0[_0x654b('0x5e')](0x0,_0x19c9e0[_0x654b('0x5f')](_0x1c66ea));}_0x3652bb=new jsforce[(_0x654b('0x60'))]({'oauth2':{'loginUrl':_0x19c9e0,'clientId':_0x22d7f5[_0x654b('0x5a')],'clientSecret':_0x22d7f5[_0x654b('0x5b')]}});return _0x3652bb[_0x654b('0x61')](_0x22d7f5[_0x654b('0x5c')],_0x22d7f5[_0x654b('0x62')][_0x654b('0x63')](_0x22d7f5['securityToken']));}})[_0x654b('0x29')](function(_0x332e9d){if(_0x332e9d){if(!_[_0x654b('0x64')](_0x3bbeda[_0x654b('0x32')][_0x654b('0x65')])){_0x5f302a=_0x3bbeda[_0x654b('0x32')][_0x654b('0x65')];}return _0x3652bb[_0x654b('0x66')](_0x5f302a)['describe']();}})[_0x654b('0x29')](function(_0x480f8d){var _0x4a5b58=[_0x654b('0x67'),_0x654b('0x68'),'IsReminderSet','IsRecurrence',_0x654b('0x69'),_0x654b('0x6a')];var _0x12b868=[_0x654b('0x6b'),_0x654b('0x6c'),_0x654b('0x6d'),'boolean',_0x654b('0x6e'),'textarea',_0x654b('0x6f')];if(_0x480f8d){_['remove'](_0x480f8d['fields'],function(_0x10b46b){return _0x4a5b58[_0x654b('0x70')](_0x10b46b[_0x654b('0x2d')])||!_0x12b868[_0x654b('0x70')](_0x10b46b[_0x654b('0x30')]);});return{'count':_0x480f8d['fields'][_0x654b('0x4d')],'rows':_[_0x654b('0x2f')](_0x480f8d[_0x654b('0x46')],function(_0x8b5987){return{'id':_0x8b5987['name'],'name':_0x8b5987['label'],'custom':_0x8b5987[_0x654b('0x71')],'options':_0x8b5987[_0x654b('0x72')]['length']>0x0?_[_0x654b('0x2f')](_0x8b5987['picklistValues'],function(_0x1e93b1){return{'name':_0x1e93b1[_0x654b('0x73')],'value':_0x1e93b1[_0x654b('0x74')]};}):_0x8b5987[_0x654b('0x30')]==_0x654b('0x75')?[{'name':_0x654b('0x76'),'value':'true'},{'name':_0x654b('0x77'),'value':_0x654b('0x78')}]:[]};})};}})[_0x654b('0x29')](respondWithResult(_0xa27363,null))['catch'](function(_0x32b583){var _0x2adb50=_0x3bbeda[_0x654b('0x32')][_0x654b('0x79')]?0x1f4:_0x32b583[_0x654b('0x7a')]||0x1f4;logger[_0x654b('0x2b')]('getFields,\x20%s,\x20%s,\x20%s',_0x654b('0x57'),_0x2adb50,JSON['stringify'](_0x32b583));delete _0x32b583['name'];if(_0x2adb50===0x191){_0x2adb50=0x190;}_0xa27363['status'](_0x2adb50)[_0x654b('0x7b')](_0x3bbeda[_0x654b('0x32')]['test']?{'message':'Wrong\x20credentials','statusCode':_0x32b583[_0x654b('0x7a')]}:_0x32b583);});};