821480c3a9ded90b4261ca98e3db225e05fcbe16
[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 _0x6fbd=['../../components/integrations/configuration','sendStatus','status','end','json','undefined','limit','count','offset','set','Content-Range','apply','reject','save','update','then','destroy','stack','name','send','SalesforceAccount','fieldName','key','model','map','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','sort','where','merge','type','options','includeAll','include','findAll','rows','catch','show','keys','rawAttributes','find','create','params','body','getConfigurations','findOne','SalesforceConfiguration','pick','addConfiguration','AccountId','Subjects','getSubjects','channel','SalesforceField','Descriptions','getFields','Task','remoteUri','clientId','clientSecret','username','slice','substring','lastIndexOf','Connection','login','password','concat','securityToken','isNil','ticketType','sobject','describe','OwnerId','ActivityDate','IsReminderSet','IsRecurrence','Subject','int','picklist','email','phone','remove','includes','custom','picklistValues','label','value','boolean','true','false','test','statusCode','error','stringify','Wrong\x20credentials','eml-format','rimraf','zip-dir','request-promise','moment','mustache','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','to-csv','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/license/util'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x6fbd,0x15a));var _0xd6fb=function(_0x4709c8,_0x3384ca){_0x4709c8=_0x4709c8-0x0;var _0x478cdd=_0x6fbd[_0x4709c8];return _0x478cdd;};'use strict';var emlformat=require(_0xd6fb('0x0'));var rimraf=require(_0xd6fb('0x1'));var zipdir=require(_0xd6fb('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xd6fb('0x3'));var moment=require(_0xd6fb('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xd6fb('0x5'));var util=require('util');var path=require('path');var sox=require(_0xd6fb('0x6'));var csv=require('to-csv');var ejs=require(_0xd6fb('0x7'));var fs=require('fs');var fs_extra=require(_0xd6fb('0x8'));var _=require(_0xd6fb('0x9'));var squel=require(_0xd6fb('0xa'));var crypto=require(_0xd6fb('0xb'));var jsforce=require(_0xd6fb('0xc'));var deskjs=require('desk.js');var toCsv=require(_0xd6fb('0xd'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xd6fb('0xe'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xd6fb('0xf'));var hardwareService=require(_0xd6fb('0x10'));var logger=require(_0xd6fb('0x11'))('api');var utils=require(_0xd6fb('0x12'));var config=require('../../config/environment');var licenseUtil=require(_0xd6fb('0x13'));var db=require('../../mysqldb')['db'];var integrations=require(_0xd6fb('0x14'));function respondWithStatusCode(_0x5c4674,_0x3184f6){_0x3184f6=_0x3184f6||0xcc;return function(_0x14ee04){if(_0x14ee04){return _0x5c4674[_0xd6fb('0x15')](_0x3184f6);}return _0x5c4674[_0xd6fb('0x16')](_0x3184f6)[_0xd6fb('0x17')]();};}function respondWithResult(_0x51df50,_0x3b86c6){_0x3b86c6=_0x3b86c6||0xc8;return function(_0xc174b4){if(_0xc174b4){return _0x51df50[_0xd6fb('0x16')](_0x3b86c6)[_0xd6fb('0x18')](_0xc174b4);}};}function respondWithFilteredResult(_0x1cb69b,_0x4890f1){return function(_0x136333){if(_0x136333){var _0x156546=typeof _0x4890f1['offset']===_0xd6fb('0x19')&&typeof _0x4890f1[_0xd6fb('0x1a')]===_0xd6fb('0x19');var _0x2880c7=_0x136333[_0xd6fb('0x1b')];var _0x1eb304=_0x156546?0x0:_0x4890f1[_0xd6fb('0x1c')];var _0xbe8061=_0x156546?_0x136333['count']:_0x4890f1[_0xd6fb('0x1c')]+_0x4890f1[_0xd6fb('0x1a')];var _0x19921d;if(_0xbe8061>=_0x2880c7){_0xbe8061=_0x2880c7;_0x19921d=0xc8;}else{_0x19921d=0xce;}_0x1cb69b[_0xd6fb('0x16')](_0x19921d);return _0x1cb69b[_0xd6fb('0x1d')](_0xd6fb('0x1e'),_0x1eb304+'-'+_0xbe8061+'/'+_0x2880c7)[_0xd6fb('0x18')](_0x136333);}return null;};}function patchUpdates(_0x133a3e){return function(_0x36c45b){try{jsonpatch[_0xd6fb('0x1f')](_0x36c45b,_0x133a3e,!![]);}catch(_0x3df623){return BPromise[_0xd6fb('0x20')](_0x3df623);}return _0x36c45b[_0xd6fb('0x21')]();};}function saveUpdates(_0x3c1164,_0x31eacd){return function(_0x52c60c){if(_0x52c60c){return _0x52c60c[_0xd6fb('0x22')](_0x3c1164)[_0xd6fb('0x23')](function(_0x32dd97){return _0x32dd97;});}return null;};}function removeEntity(_0x4e8604,_0x11f2bc){return function(_0x16e6d6){if(_0x16e6d6){return _0x16e6d6[_0xd6fb('0x24')]()[_0xd6fb('0x23')](function(){_0x4e8604[_0xd6fb('0x16')](0xcc)[_0xd6fb('0x17')]();});}};}function handleEntityNotFound(_0x5ca62b,_0x4a38b5){return function(_0x4c84dc){if(!_0x4c84dc){_0x5ca62b['sendStatus'](0x194);}return _0x4c84dc;};}function handleError(_0x56f757,_0x281160){_0x281160=_0x281160||0x1f4;return function(_0x5df16c){logger['error'](_0x5df16c[_0xd6fb('0x25')]);if(_0x5df16c[_0xd6fb('0x26')]){delete _0x5df16c[_0xd6fb('0x26')];}_0x56f757[_0xd6fb('0x16')](_0x281160)[_0xd6fb('0x27')](_0x5df16c);};}exports['index']=function(_0x470a54,_0x5bd56b){var _0x4c89c9={},_0x572b71={},_0x5f3b5f={'count':0x0,'rows':[]};var _0x5ce6c4=_['map'](db[_0xd6fb('0x28')]['rawAttributes'],function(_0x533fde){return{'name':_0x533fde[_0xd6fb('0x29')],'type':_0x533fde['type'][_0xd6fb('0x2a')]};});_0x572b71[_0xd6fb('0x2b')]=_[_0xd6fb('0x2c')](_0x5ce6c4,'name');_0x572b71['query']=_['keys'](_0x470a54[_0xd6fb('0x2d')]);_0x572b71[_0xd6fb('0x2e')]=_['intersection'](_0x572b71[_0xd6fb('0x2b')],_0x572b71[_0xd6fb('0x2d')]);_0x4c89c9['attributes']=_[_0xd6fb('0x2f')](_0x572b71['model'],qs[_0xd6fb('0x30')](_0x470a54[_0xd6fb('0x2d')][_0xd6fb('0x30')]));_0x4c89c9[_0xd6fb('0x31')]=_0x4c89c9[_0xd6fb('0x31')][_0xd6fb('0x32')]?_0x4c89c9[_0xd6fb('0x31')]:_0x572b71['model'];if(!_0x470a54[_0xd6fb('0x2d')][_0xd6fb('0x33')](_0xd6fb('0x34'))){_0x4c89c9[_0xd6fb('0x1a')]=qs[_0xd6fb('0x1a')](_0x470a54['query'][_0xd6fb('0x1a')]);_0x4c89c9[_0xd6fb('0x1c')]=qs[_0xd6fb('0x1c')](_0x470a54[_0xd6fb('0x2d')][_0xd6fb('0x1c')]);}_0x4c89c9['order']=qs[_0xd6fb('0x35')](_0x470a54['query']['sort']);_0x4c89c9[_0xd6fb('0x36')]=qs[_0xd6fb('0x2e')](_['pick'](_0x470a54[_0xd6fb('0x2d')],_0x572b71[_0xd6fb('0x2e')]),_0x5ce6c4);if(_0x470a54[_0xd6fb('0x2d')]['filter']){_0x4c89c9[_0xd6fb('0x36')]=_[_0xd6fb('0x37')](_0x4c89c9[_0xd6fb('0x36')],{'$or':_[_0xd6fb('0x2c')](_0x5ce6c4,function(_0x2428c0){if(_0x2428c0[_0xd6fb('0x38')]!=='VIRTUAL'){var _0x45c80c={};_0x45c80c[_0x2428c0[_0xd6fb('0x26')]]={'$like':'%'+_0x470a54['query']['filter']+'%'};return _0x45c80c;}})});}_0x4c89c9=_[_0xd6fb('0x37')]({},_0x4c89c9,_0x470a54[_0xd6fb('0x39')]);var _0x1761fa={'where':_0x4c89c9[_0xd6fb('0x36')]};return db[_0xd6fb('0x28')][_0xd6fb('0x1b')](_0x1761fa)[_0xd6fb('0x23')](function(_0x66ccd8){_0x5f3b5f[_0xd6fb('0x1b')]=_0x66ccd8;if(_0x470a54[_0xd6fb('0x2d')][_0xd6fb('0x3a')]){_0x4c89c9[_0xd6fb('0x3b')]=[{'all':!![]}];}return db[_0xd6fb('0x28')][_0xd6fb('0x3c')](_0x4c89c9);})[_0xd6fb('0x23')](function(_0x4fc4fe){_0x5f3b5f[_0xd6fb('0x3d')]=_0x4fc4fe;return _0x5f3b5f;})[_0xd6fb('0x23')](respondWithFilteredResult(_0x5bd56b,_0x4c89c9))[_0xd6fb('0x3e')](handleError(_0x5bd56b,null));};exports[_0xd6fb('0x3f')]=function(_0x5861a1,_0x25ca21){var _0x262bc1={'raw':![],'where':{'id':_0x5861a1['params']['id']}},_0x3632c5={};_0x3632c5[_0xd6fb('0x2b')]=_[_0xd6fb('0x40')](db[_0xd6fb('0x28')][_0xd6fb('0x41')]);_0x3632c5[_0xd6fb('0x2d')]=_[_0xd6fb('0x40')](_0x5861a1[_0xd6fb('0x2d')]);_0x3632c5[_0xd6fb('0x2e')]=_[_0xd6fb('0x2f')](_0x3632c5['model'],_0x3632c5['query']);_0x262bc1[_0xd6fb('0x31')]=_[_0xd6fb('0x2f')](_0x3632c5['model'],qs[_0xd6fb('0x30')](_0x5861a1[_0xd6fb('0x2d')][_0xd6fb('0x30')]));_0x262bc1[_0xd6fb('0x31')]=_0x262bc1[_0xd6fb('0x31')]['length']?_0x262bc1['attributes']:_0x3632c5['model'];if(_0x5861a1['query']['includeAll']){_0x262bc1[_0xd6fb('0x3b')]=[{'all':!![]}];}_0x262bc1=_[_0xd6fb('0x37')]({},_0x262bc1,_0x5861a1[_0xd6fb('0x39')]);return db[_0xd6fb('0x28')][_0xd6fb('0x42')](_0x262bc1)[_0xd6fb('0x23')](handleEntityNotFound(_0x25ca21,null))[_0xd6fb('0x23')](respondWithResult(_0x25ca21,null))[_0xd6fb('0x3e')](handleError(_0x25ca21,null));};exports[_0xd6fb('0x43')]=function(_0x46196d,_0x35170b){return db['SalesforceAccount']['create'](_0x46196d['body'],{})[_0xd6fb('0x23')](respondWithResult(_0x35170b,0xc9))['catch'](handleError(_0x35170b,null));};exports[_0xd6fb('0x22')]=function(_0x43b641,_0x2459bf){if(_0x43b641['body']['id']){delete _0x43b641['body']['id'];}return db['SalesforceAccount']['find']({'where':{'id':_0x43b641[_0xd6fb('0x44')]['id']}})[_0xd6fb('0x23')](handleEntityNotFound(_0x2459bf,null))[_0xd6fb('0x23')](saveUpdates(_0x43b641[_0xd6fb('0x45')],null))[_0xd6fb('0x23')](respondWithResult(_0x2459bf,null))['catch'](handleError(_0x2459bf,null));};exports[_0xd6fb('0x24')]=function(_0x1cf7d6,_0x14b2a3){return db[_0xd6fb('0x28')][_0xd6fb('0x42')]({'where':{'id':_0x1cf7d6[_0xd6fb('0x44')]['id']}})[_0xd6fb('0x23')](handleEntityNotFound(_0x14b2a3,null))['then'](removeEntity(_0x14b2a3,null))[_0xd6fb('0x3e')](handleError(_0x14b2a3,null));};exports[_0xd6fb('0x46')]=function(_0x260c7a,_0x44e219,_0x4e6630){var _0x330d25={};var _0x190874={};var _0x25de58;var _0x220c94;return db[_0xd6fb('0x28')][_0xd6fb('0x47')]({'where':{'id':_0x260c7a[_0xd6fb('0x44')]['id']}})[_0xd6fb('0x23')](handleEntityNotFound(_0x44e219,null))[_0xd6fb('0x23')](function(_0x149553){if(_0x149553){_0x25de58=_0x149553;_0x190874['model']=_[_0xd6fb('0x40')](db[_0xd6fb('0x48')][_0xd6fb('0x41')]);_0x190874[_0xd6fb('0x2d')]=_['keys'](_0x260c7a[_0xd6fb('0x2d')]);_0x190874[_0xd6fb('0x2e')]=_['intersection'](_0x190874[_0xd6fb('0x2b')],_0x190874['query']);_0x330d25['attributes']=_['intersection'](_0x190874['model'],qs[_0xd6fb('0x30')](_0x260c7a[_0xd6fb('0x2d')][_0xd6fb('0x30')]));_0x330d25['attributes']=_0x330d25['attributes'][_0xd6fb('0x32')]?_0x330d25[_0xd6fb('0x31')]:_0x190874[_0xd6fb('0x2b')];_0x330d25['order']=qs[_0xd6fb('0x35')](_0x260c7a[_0xd6fb('0x2d')]['sort']);_0x330d25[_0xd6fb('0x36')]=qs['filters'](_[_0xd6fb('0x49')](_0x260c7a[_0xd6fb('0x2d')],_0x190874[_0xd6fb('0x2e')]));if(_0x260c7a[_0xd6fb('0x2d')]['filter']){_0x330d25['where']=_[_0xd6fb('0x37')](_0x330d25['where'],{'$or':_[_0xd6fb('0x2c')](_0x330d25[_0xd6fb('0x31')],function(_0x271602){var _0x4eb4d7={};_0x4eb4d7[_0x271602]={'$like':'%'+_0x260c7a[_0xd6fb('0x2d')]['filter']+'%'};return _0x4eb4d7;})});}_0x330d25=_[_0xd6fb('0x37')]({},_0x330d25,_0x260c7a[_0xd6fb('0x39')]);return _0x25de58[_0xd6fb('0x46')](_0x330d25);}})[_0xd6fb('0x23')](function(_0x534ffe){if(_0x534ffe){_0x220c94=_0x534ffe[_0xd6fb('0x32')];if(!_0x260c7a[_0xd6fb('0x2d')][_0xd6fb('0x33')](_0xd6fb('0x34'))){_0x330d25[_0xd6fb('0x1a')]=qs['limit'](_0x260c7a[_0xd6fb('0x2d')][_0xd6fb('0x1a')]);_0x330d25[_0xd6fb('0x1c')]=qs[_0xd6fb('0x1c')](_0x260c7a[_0xd6fb('0x2d')][_0xd6fb('0x1c')]);}return _0x25de58[_0xd6fb('0x46')](_0x330d25);}})['then'](function(_0x4554d2){if(_0x4554d2){return _0x4554d2?{'count':_0x220c94,'rows':_0x4554d2}:null;}})[_0xd6fb('0x23')](respondWithResult(_0x44e219,null))[_0xd6fb('0x3e')](handleError(_0x44e219,null));};exports[_0xd6fb('0x4a')]=function(_0x5457d8,_0xaa64b5,_0x21aea5){if(_0x5457d8['body']['id']){delete _0x5457d8[_0xd6fb('0x45')]['id'];}return db[_0xd6fb('0x28')][_0xd6fb('0x47')]({'where':{'id':_0x5457d8['params']['id']}})[_0xd6fb('0x23')](handleEntityNotFound(_0xaa64b5,null))[_0xd6fb('0x23')](function(_0x230c17){if(_0x230c17){_0x5457d8['body'][_0xd6fb('0x4b')]=_0x230c17['id'];_0x5457d8[_0xd6fb('0x45')][_0xd6fb('0x4c')]=integrations[_0xd6fb('0x4d')](_0x5457d8['body'][_0xd6fb('0x4e')],_0x5457d8[_0xd6fb('0x45')][_0xd6fb('0x38')]);_0x5457d8[_0xd6fb('0x45')]['Descriptions']=integrations['getDescriptions'](_0x5457d8['body']['channel'],_0x5457d8[_0xd6fb('0x45')][_0xd6fb('0x38')]);return db['SalesforceConfiguration']['create'](_0x5457d8[_0xd6fb('0x45')],{'include':[{'model':db[_0xd6fb('0x4f')],'as':_0xd6fb('0x4c')},{'model':db[_0xd6fb('0x4f')],'as':_0xd6fb('0x50')}]});}return null;})[_0xd6fb('0x23')](respondWithResult(_0xaa64b5,null))[_0xd6fb('0x3e')](handleError(_0xaa64b5,null));};exports[_0xd6fb('0x51')]=function(_0x336a29,_0x54af97,_0x5ec992){var _0x3686ab;var _0x5cb5a4='';var _0x28433f=_0xd6fb('0x52');return db[_0xd6fb('0x28')][_0xd6fb('0x47')]({'where':{'id':_0x336a29[_0xd6fb('0x44')]['id']},'attributes':['id',_0xd6fb('0x53'),_0xd6fb('0x54'),_0xd6fb('0x55'),_0xd6fb('0x56'),'password','securityToken']})[_0xd6fb('0x23')](handleEntityNotFound(_0x54af97,null))['then'](function(_0x5a7982){if(_0x5a7982){_0x5cb5a4=_0x5a7982[_0xd6fb('0x53')];var _0x363ff0=_0x5cb5a4[_0xd6fb('0x57')](-0x1);if(_0x363ff0==='/'){_0x5cb5a4=_0x5cb5a4[_0xd6fb('0x58')](0x0,_0x5cb5a4[_0xd6fb('0x59')](_0x363ff0));}_0x3686ab=new jsforce[(_0xd6fb('0x5a'))]({'oauth2':{'loginUrl':_0x5cb5a4,'clientId':_0x5a7982[_0xd6fb('0x54')],'clientSecret':_0x5a7982[_0xd6fb('0x55')]}});return _0x3686ab[_0xd6fb('0x5b')](_0x5a7982['username'],_0x5a7982[_0xd6fb('0x5c')][_0xd6fb('0x5d')](_0x5a7982[_0xd6fb('0x5e')]));}})[_0xd6fb('0x23')](function(_0x40f020){if(_0x40f020){if(!_[_0xd6fb('0x5f')](_0x336a29[_0xd6fb('0x2d')][_0xd6fb('0x60')])){_0x28433f=_0x336a29[_0xd6fb('0x2d')][_0xd6fb('0x60')];}return _0x3686ab[_0xd6fb('0x61')](_0x28433f)[_0xd6fb('0x62')]();}})[_0xd6fb('0x23')](function(_0x374a59){var _0x16d95a=[_0xd6fb('0x63'),_0xd6fb('0x64'),_0xd6fb('0x65'),_0xd6fb('0x66'),_0xd6fb('0x67'),'Description'];var _0x6ee3dc=['string',_0xd6fb('0x68'),_0xd6fb('0x69'),'boolean',_0xd6fb('0x6a'),'textarea',_0xd6fb('0x6b')];if(_0x374a59){_[_0xd6fb('0x6c')](_0x374a59['fields'],function(_0x53a8c0){return _0x16d95a[_0xd6fb('0x6d')](_0x53a8c0[_0xd6fb('0x26')])||!_0x6ee3dc['includes'](_0x53a8c0[_0xd6fb('0x38')]);});return{'count':_0x374a59[_0xd6fb('0x30')][_0xd6fb('0x32')],'rows':_['map'](_0x374a59[_0xd6fb('0x30')],function(_0x5b1cd7){return{'id':_0x5b1cd7[_0xd6fb('0x26')],'name':_0x5b1cd7['label'],'custom':_0x5b1cd7[_0xd6fb('0x6e')],'options':_0x5b1cd7[_0xd6fb('0x6f')][_0xd6fb('0x32')]>0x0?_[_0xd6fb('0x2c')](_0x5b1cd7[_0xd6fb('0x6f')],function(_0x26069c){return{'name':_0x26069c[_0xd6fb('0x70')],'value':_0x26069c[_0xd6fb('0x71')]};}):_0x5b1cd7['type']==_0xd6fb('0x72')?[{'name':'True','value':_0xd6fb('0x73')},{'name':'False','value':_0xd6fb('0x74')}]:[]};})};}})['then'](respondWithResult(_0x54af97,null))['catch'](function(_0x2ada57){var _0x180496=_0x336a29['query'][_0xd6fb('0x75')]?0x1f4:_0x2ada57[_0xd6fb('0x76')]||0x1f4;logger[_0xd6fb('0x77')]('getFields,\x20%s,\x20%s,\x20%s','getFields',_0x180496,JSON[_0xd6fb('0x78')](_0x2ada57));delete _0x2ada57[_0xd6fb('0x26')];if(_0x180496===0x191){_0x180496=0x190;}_0x54af97[_0xd6fb('0x16')](_0x180496)[_0xd6fb('0x27')](_0x336a29[_0xd6fb('0x2d')][_0xd6fb('0x75')]?{'message':_0xd6fb('0x79'),'statusCode':_0x2ada57[_0xd6fb('0x76')]}:_0x2ada57);});};