9f488bc13407dd61714ed802f2f08a9382cd459e
[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 _0x1f1c=['update','then','destroy','error','stack','name','send','index','map','SalesforceAccount','rawAttributes','fieldName','type','key','model','keys','query','filters','intersection','fields','attributes','length','nolimit','order','sort','where','filter','VIRTUAL','merge','includeAll','include','findAll','rows','params','options','find','catch','body','getConfigurations','SalesforceConfiguration','hasOwnProperty','findOne','AccountId','Subjects','getSubjects','channel','Descriptions','getDescriptions','create','SalesforceField','getFields','Task','remoteUri','clientId','clientSecret','username','password','securityToken','slice','substring','lastIndexOf','login','concat','ticketType','sobject','OwnerId','ActivityDate','IsRecurrence','Subject','Description','string','int','phone','includes','custom','picklistValues','label','boolean','True','true','False','false','statusCode','stringify','test','Wrong\x20credentials','eml-format','zip-dir','request-promise','moment','util','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','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','sendStatus','end','status','json','offset','undefined','limit','count','reject','save'];(function(_0x6387a5,_0x3a4c85){var _0x45fb8d=function(_0x53f1f2){while(--_0x53f1f2){_0x6387a5['push'](_0x6387a5['shift']());}};_0x45fb8d(++_0x3a4c85);}(_0x1f1c,0x1c1));var _0xc1f1=function(_0xf3abf5,_0x719f1){_0xf3abf5=_0xf3abf5-0x0;var _0x11d53a=_0x1f1c[_0xf3abf5];return _0x11d53a;};'use strict';var emlformat=require(_0xc1f1('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xc1f1('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xc1f1('0x2'));var moment=require(_0xc1f1('0x3'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xc1f1('0x4'));var path=require('path');var sox=require(_0xc1f1('0x5'));var csv=require(_0xc1f1('0x6'));var ejs=require(_0xc1f1('0x7'));var fs=require('fs');var fs_extra=require(_0xc1f1('0x8'));var _=require(_0xc1f1('0x9'));var squel=require('squel');var crypto=require(_0xc1f1('0xa'));var jsforce=require(_0xc1f1('0xb'));var deskjs=require('desk.js');var toCsv=require(_0xc1f1('0x6'));var querystring=require(_0xc1f1('0xc'));var Papa=require(_0xc1f1('0xd'));var Redis=require(_0xc1f1('0xe'));var authService=require(_0xc1f1('0xf'));var qs=require(_0xc1f1('0x10'));var as=require(_0xc1f1('0x11'));var hardwareService=require(_0xc1f1('0x12'));var logger=require(_0xc1f1('0x13'))(_0xc1f1('0x14'));var utils=require(_0xc1f1('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0xc1f1('0x16'));var db=require(_0xc1f1('0x17'))['db'];var integrations=require(_0xc1f1('0x18'));function respondWithStatusCode(_0x4334a3,_0x179620){_0x179620=_0x179620||0xcc;return function(_0x3c7a76){if(_0x3c7a76){return _0x4334a3[_0xc1f1('0x19')](_0x179620);}return _0x4334a3['status'](_0x179620)[_0xc1f1('0x1a')]();};}function respondWithResult(_0x12e914,_0x47962c){_0x47962c=_0x47962c||0xc8;return function(_0x3055e8){if(_0x3055e8){return _0x12e914[_0xc1f1('0x1b')](_0x47962c)[_0xc1f1('0x1c')](_0x3055e8);}};}function respondWithFilteredResult(_0x541e13,_0x3dc4c3){return function(_0x190f61){if(_0x190f61){var _0x9ab920=typeof _0x3dc4c3[_0xc1f1('0x1d')]===_0xc1f1('0x1e')&&typeof _0x3dc4c3[_0xc1f1('0x1f')]===_0xc1f1('0x1e');var _0x2b6c8b=_0x190f61[_0xc1f1('0x20')];var _0x4266cc=_0x9ab920?0x0:_0x3dc4c3[_0xc1f1('0x1d')];var _0xf9da22=_0x9ab920?_0x190f61[_0xc1f1('0x20')]:_0x3dc4c3[_0xc1f1('0x1d')]+_0x3dc4c3['limit'];var _0x53117c;if(_0xf9da22>=_0x2b6c8b){_0xf9da22=_0x2b6c8b;_0x53117c=0xc8;}else{_0x53117c=0xce;}_0x541e13[_0xc1f1('0x1b')](_0x53117c);return _0x541e13['set']('Content-Range',_0x4266cc+'-'+_0xf9da22+'/'+_0x2b6c8b)[_0xc1f1('0x1c')](_0x190f61);}return null;};}function patchUpdates(_0x2ab23d){return function(_0x75b3af){try{jsonpatch['apply'](_0x75b3af,_0x2ab23d,!![]);}catch(_0x323df0){return BPromise[_0xc1f1('0x21')](_0x323df0);}return _0x75b3af[_0xc1f1('0x22')]();};}function saveUpdates(_0x5cf9e3,_0x11a19d){return function(_0x55a075){if(_0x55a075){return _0x55a075[_0xc1f1('0x23')](_0x5cf9e3)[_0xc1f1('0x24')](function(_0x12a6ae){return _0x12a6ae;});}return null;};}function removeEntity(_0x45dcb9,_0x188aed){return function(_0x463acb){if(_0x463acb){return _0x463acb[_0xc1f1('0x25')]()[_0xc1f1('0x24')](function(){_0x45dcb9[_0xc1f1('0x1b')](0xcc)[_0xc1f1('0x1a')]();});}};}function handleEntityNotFound(_0x55080e,_0x2dca76){return function(_0x16b399){if(!_0x16b399){_0x55080e[_0xc1f1('0x19')](0x194);}return _0x16b399;};}function handleError(_0x228eb0,_0x43e692){_0x43e692=_0x43e692||0x1f4;return function(_0x50d118){logger[_0xc1f1('0x26')](_0x50d118[_0xc1f1('0x27')]);if(_0x50d118['name']){delete _0x50d118[_0xc1f1('0x28')];}_0x228eb0[_0xc1f1('0x1b')](_0x43e692)[_0xc1f1('0x29')](_0x50d118);};}exports[_0xc1f1('0x2a')]=function(_0x26d702,_0x41011a){var _0x25184f={},_0x383f67={},_0x2c1544={'count':0x0,'rows':[]};var _0x3859dd=_[_0xc1f1('0x2b')](db[_0xc1f1('0x2c')][_0xc1f1('0x2d')],function(_0x421f28){return{'name':_0x421f28[_0xc1f1('0x2e')],'type':_0x421f28[_0xc1f1('0x2f')][_0xc1f1('0x30')]};});_0x383f67[_0xc1f1('0x31')]=_[_0xc1f1('0x2b')](_0x3859dd,_0xc1f1('0x28'));_0x383f67['query']=_[_0xc1f1('0x32')](_0x26d702[_0xc1f1('0x33')]);_0x383f67[_0xc1f1('0x34')]=_[_0xc1f1('0x35')](_0x383f67[_0xc1f1('0x31')],_0x383f67[_0xc1f1('0x33')]);_0x25184f['attributes']=_['intersection'](_0x383f67['model'],qs[_0xc1f1('0x36')](_0x26d702[_0xc1f1('0x33')][_0xc1f1('0x36')]));_0x25184f[_0xc1f1('0x37')]=_0x25184f[_0xc1f1('0x37')][_0xc1f1('0x38')]?_0x25184f[_0xc1f1('0x37')]:_0x383f67[_0xc1f1('0x31')];if(!_0x26d702['query']['hasOwnProperty'](_0xc1f1('0x39'))){_0x25184f[_0xc1f1('0x1f')]=qs[_0xc1f1('0x1f')](_0x26d702[_0xc1f1('0x33')][_0xc1f1('0x1f')]);_0x25184f[_0xc1f1('0x1d')]=qs[_0xc1f1('0x1d')](_0x26d702[_0xc1f1('0x33')][_0xc1f1('0x1d')]);}_0x25184f[_0xc1f1('0x3a')]=qs[_0xc1f1('0x3b')](_0x26d702[_0xc1f1('0x33')][_0xc1f1('0x3b')]);_0x25184f[_0xc1f1('0x3c')]=qs[_0xc1f1('0x34')](_['pick'](_0x26d702[_0xc1f1('0x33')],_0x383f67[_0xc1f1('0x34')]),_0x3859dd);if(_0x26d702[_0xc1f1('0x33')][_0xc1f1('0x3d')]){_0x25184f[_0xc1f1('0x3c')]=_['merge'](_0x25184f[_0xc1f1('0x3c')],{'$or':_[_0xc1f1('0x2b')](_0x3859dd,function(_0x5a12f3){if(_0x5a12f3[_0xc1f1('0x2f')]!==_0xc1f1('0x3e')){var _0x5aa4d1={};_0x5aa4d1[_0x5a12f3['name']]={'$like':'%'+_0x26d702[_0xc1f1('0x33')][_0xc1f1('0x3d')]+'%'};return _0x5aa4d1;}})});}_0x25184f=_[_0xc1f1('0x3f')]({},_0x25184f,_0x26d702['options']);var _0x3c3cdd={'where':_0x25184f[_0xc1f1('0x3c')]};return db[_0xc1f1('0x2c')]['count'](_0x3c3cdd)['then'](function(_0x457b38){_0x2c1544['count']=_0x457b38;if(_0x26d702[_0xc1f1('0x33')][_0xc1f1('0x40')]){_0x25184f[_0xc1f1('0x41')]=[{'all':!![]}];}return db[_0xc1f1('0x2c')][_0xc1f1('0x42')](_0x25184f);})[_0xc1f1('0x24')](function(_0x439a99){_0x2c1544[_0xc1f1('0x43')]=_0x439a99;return _0x2c1544;})['then'](respondWithFilteredResult(_0x41011a,_0x25184f))['catch'](handleError(_0x41011a,null));};exports['show']=function(_0x310e74,_0x188208){var _0x48efc8={'raw':![],'where':{'id':_0x310e74[_0xc1f1('0x44')]['id']}},_0x23b3c0={};_0x23b3c0['model']=_['keys'](db[_0xc1f1('0x2c')]['rawAttributes']);_0x23b3c0[_0xc1f1('0x33')]=_[_0xc1f1('0x32')](_0x310e74['query']);_0x23b3c0[_0xc1f1('0x34')]=_['intersection'](_0x23b3c0[_0xc1f1('0x31')],_0x23b3c0['query']);_0x48efc8['attributes']=_[_0xc1f1('0x35')](_0x23b3c0[_0xc1f1('0x31')],qs[_0xc1f1('0x36')](_0x310e74['query']['fields']));_0x48efc8['attributes']=_0x48efc8['attributes']['length']?_0x48efc8[_0xc1f1('0x37')]:_0x23b3c0[_0xc1f1('0x31')];if(_0x310e74[_0xc1f1('0x33')][_0xc1f1('0x40')]){_0x48efc8[_0xc1f1('0x41')]=[{'all':!![]}];}_0x48efc8=_[_0xc1f1('0x3f')]({},_0x48efc8,_0x310e74[_0xc1f1('0x45')]);return db['SalesforceAccount'][_0xc1f1('0x46')](_0x48efc8)['then'](handleEntityNotFound(_0x188208,null))[_0xc1f1('0x24')](respondWithResult(_0x188208,null))[_0xc1f1('0x47')](handleError(_0x188208,null));};exports['create']=function(_0x3ed1ae,_0x4ab8aa){return db['SalesforceAccount']['create'](_0x3ed1ae[_0xc1f1('0x48')],{})['then'](respondWithResult(_0x4ab8aa,0xc9))[_0xc1f1('0x47')](handleError(_0x4ab8aa,null));};exports[_0xc1f1('0x23')]=function(_0x5cf60b,_0x198217){if(_0x5cf60b['body']['id']){delete _0x5cf60b[_0xc1f1('0x48')]['id'];}return db[_0xc1f1('0x2c')][_0xc1f1('0x46')]({'where':{'id':_0x5cf60b['params']['id']}})[_0xc1f1('0x24')](handleEntityNotFound(_0x198217,null))[_0xc1f1('0x24')](saveUpdates(_0x5cf60b[_0xc1f1('0x48')],null))['then'](respondWithResult(_0x198217,null))['catch'](handleError(_0x198217,null));};exports['destroy']=function(_0x1f7ad5,_0x11c7b7){return db['SalesforceAccount']['find']({'where':{'id':_0x1f7ad5['params']['id']}})[_0xc1f1('0x24')](handleEntityNotFound(_0x11c7b7,null))[_0xc1f1('0x24')](removeEntity(_0x11c7b7,null))[_0xc1f1('0x47')](handleError(_0x11c7b7,null));};exports[_0xc1f1('0x49')]=function(_0x4a24f8,_0x5070f4,_0xa70962){var _0x2a77b1={};var _0x24dece={};var _0x4f6539;var _0x131353;return db[_0xc1f1('0x2c')]['findOne']({'where':{'id':_0x4a24f8[_0xc1f1('0x44')]['id']}})[_0xc1f1('0x24')](handleEntityNotFound(_0x5070f4,null))[_0xc1f1('0x24')](function(_0x50f18f){if(_0x50f18f){_0x4f6539=_0x50f18f;_0x24dece[_0xc1f1('0x31')]=_[_0xc1f1('0x32')](db[_0xc1f1('0x4a')]['rawAttributes']);_0x24dece['query']=_['keys'](_0x4a24f8['query']);_0x24dece[_0xc1f1('0x34')]=_[_0xc1f1('0x35')](_0x24dece[_0xc1f1('0x31')],_0x24dece[_0xc1f1('0x33')]);_0x2a77b1['attributes']=_[_0xc1f1('0x35')](_0x24dece[_0xc1f1('0x31')],qs[_0xc1f1('0x36')](_0x4a24f8[_0xc1f1('0x33')]['fields']));_0x2a77b1[_0xc1f1('0x37')]=_0x2a77b1[_0xc1f1('0x37')][_0xc1f1('0x38')]?_0x2a77b1[_0xc1f1('0x37')]:_0x24dece[_0xc1f1('0x31')];_0x2a77b1[_0xc1f1('0x3a')]=qs['sort'](_0x4a24f8[_0xc1f1('0x33')]['sort']);_0x2a77b1[_0xc1f1('0x3c')]=qs[_0xc1f1('0x34')](_['pick'](_0x4a24f8[_0xc1f1('0x33')],_0x24dece[_0xc1f1('0x34')]));if(_0x4a24f8[_0xc1f1('0x33')][_0xc1f1('0x3d')]){_0x2a77b1[_0xc1f1('0x3c')]=_[_0xc1f1('0x3f')](_0x2a77b1[_0xc1f1('0x3c')],{'$or':_['map'](_0x2a77b1[_0xc1f1('0x37')],function(_0x409536){var _0x4967e2={};_0x4967e2[_0x409536]={'$like':'%'+_0x4a24f8[_0xc1f1('0x33')]['filter']+'%'};return _0x4967e2;})});}_0x2a77b1=_[_0xc1f1('0x3f')]({},_0x2a77b1,_0x4a24f8[_0xc1f1('0x45')]);return _0x4f6539['getConfigurations'](_0x2a77b1);}})[_0xc1f1('0x24')](function(_0x6a8d5){if(_0x6a8d5){_0x131353=_0x6a8d5['length'];if(!_0x4a24f8[_0xc1f1('0x33')][_0xc1f1('0x4b')]('nolimit')){_0x2a77b1[_0xc1f1('0x1f')]=qs['limit'](_0x4a24f8['query'][_0xc1f1('0x1f')]);_0x2a77b1[_0xc1f1('0x1d')]=qs[_0xc1f1('0x1d')](_0x4a24f8[_0xc1f1('0x33')][_0xc1f1('0x1d')]);}return _0x4f6539[_0xc1f1('0x49')](_0x2a77b1);}})[_0xc1f1('0x24')](function(_0x599908){if(_0x599908){return _0x599908?{'count':_0x131353,'rows':_0x599908}:null;}})[_0xc1f1('0x24')](respondWithResult(_0x5070f4,null))[_0xc1f1('0x47')](handleError(_0x5070f4,null));};exports['addConfiguration']=function(_0x262243,_0x346dd8,_0xdf808a){if(_0x262243[_0xc1f1('0x48')]['id']){delete _0x262243[_0xc1f1('0x48')]['id'];}return db[_0xc1f1('0x2c')][_0xc1f1('0x4c')]({'where':{'id':_0x262243['params']['id']}})[_0xc1f1('0x24')](handleEntityNotFound(_0x346dd8,null))[_0xc1f1('0x24')](function(_0x2ac9ce){if(_0x2ac9ce){_0x262243[_0xc1f1('0x48')][_0xc1f1('0x4d')]=_0x2ac9ce['id'];_0x262243[_0xc1f1('0x48')][_0xc1f1('0x4e')]=integrations[_0xc1f1('0x4f')](_0x262243[_0xc1f1('0x48')][_0xc1f1('0x50')],_0x262243[_0xc1f1('0x48')][_0xc1f1('0x2f')]);_0x262243[_0xc1f1('0x48')][_0xc1f1('0x51')]=integrations[_0xc1f1('0x52')](_0x262243[_0xc1f1('0x48')]['channel'],_0x262243[_0xc1f1('0x48')][_0xc1f1('0x2f')]);return db[_0xc1f1('0x4a')][_0xc1f1('0x53')](_0x262243[_0xc1f1('0x48')],{'include':[{'model':db['SalesforceField'],'as':_0xc1f1('0x4e')},{'model':db[_0xc1f1('0x54')],'as':_0xc1f1('0x51')}]});}return null;})['then'](respondWithResult(_0x346dd8,null))[_0xc1f1('0x47')](handleError(_0x346dd8,null));};exports[_0xc1f1('0x55')]=function(_0x344514,_0x12b1df,_0x37c978){var _0xe3c015;var _0x4a8972='';var _0xd448f1=_0xc1f1('0x56');return db[_0xc1f1('0x2c')]['findOne']({'where':{'id':_0x344514[_0xc1f1('0x44')]['id']},'attributes':['id',_0xc1f1('0x57'),_0xc1f1('0x58'),_0xc1f1('0x59'),_0xc1f1('0x5a'),_0xc1f1('0x5b'),_0xc1f1('0x5c')]})['then'](handleEntityNotFound(_0x12b1df,null))[_0xc1f1('0x24')](function(_0x475aaf){if(_0x475aaf){_0x4a8972=_0x475aaf[_0xc1f1('0x57')];var _0xebacd6=_0x4a8972[_0xc1f1('0x5d')](-0x1);if(_0xebacd6==='/'){_0x4a8972=_0x4a8972[_0xc1f1('0x5e')](0x0,_0x4a8972[_0xc1f1('0x5f')](_0xebacd6));}_0xe3c015=new jsforce['Connection']({'oauth2':{'loginUrl':_0x4a8972,'clientId':_0x475aaf['clientId'],'clientSecret':_0x475aaf[_0xc1f1('0x59')]}});return _0xe3c015[_0xc1f1('0x60')](_0x475aaf['username'],_0x475aaf['password'][_0xc1f1('0x61')](_0x475aaf[_0xc1f1('0x5c')]));}})['then'](function(_0x2ca88a){if(_0x2ca88a){if(!_['isNil'](_0x344514['query'][_0xc1f1('0x62')])){_0xd448f1=_0x344514[_0xc1f1('0x33')]['ticketType'];}return _0xe3c015[_0xc1f1('0x63')](_0xd448f1)['describe']();}})[_0xc1f1('0x24')](function(_0x474d67){var _0x245492=[_0xc1f1('0x64'),_0xc1f1('0x65'),'IsReminderSet',_0xc1f1('0x66'),_0xc1f1('0x67'),_0xc1f1('0x68')];var _0x2ef964=[_0xc1f1('0x69'),_0xc1f1('0x6a'),'picklist','boolean','email','textarea',_0xc1f1('0x6b')];if(_0x474d67){_['remove'](_0x474d67[_0xc1f1('0x36')],function(_0x556210){return _0x245492[_0xc1f1('0x6c')](_0x556210[_0xc1f1('0x28')])||!_0x2ef964['includes'](_0x556210['type']);});return{'count':_0x474d67[_0xc1f1('0x36')]['length'],'rows':_[_0xc1f1('0x2b')](_0x474d67[_0xc1f1('0x36')],function(_0x112b17){return{'id':_0x112b17[_0xc1f1('0x28')],'name':_0x112b17['label'],'custom':_0x112b17[_0xc1f1('0x6d')],'options':_0x112b17[_0xc1f1('0x6e')][_0xc1f1('0x38')]>0x0?_[_0xc1f1('0x2b')](_0x112b17['picklistValues'],function(_0x42a8a0){return{'name':_0x42a8a0[_0xc1f1('0x6f')],'value':_0x42a8a0['value']};}):_0x112b17[_0xc1f1('0x2f')]==_0xc1f1('0x70')?[{'name':_0xc1f1('0x71'),'value':_0xc1f1('0x72')},{'name':_0xc1f1('0x73'),'value':_0xc1f1('0x74')}]:[]};})};}})[_0xc1f1('0x24')](respondWithResult(_0x12b1df,null))[_0xc1f1('0x47')](function(_0x8009b6){var _0x116e5b=_0x344514['query']['test']?0x1f4:_0x8009b6[_0xc1f1('0x75')]||0x1f4;logger['error']('getFields,\x20%s,\x20%s,\x20%s',_0xc1f1('0x55'),_0x116e5b,JSON[_0xc1f1('0x76')](_0x8009b6));delete _0x8009b6[_0xc1f1('0x28')];if(_0x116e5b===0x191){_0x116e5b=0x190;}_0x12b1df[_0xc1f1('0x1b')](_0x116e5b)['send'](_0x344514[_0xc1f1('0x33')][_0xc1f1('0x77')]?{'message':_0xc1f1('0x78'),'statusCode':_0x8009b6[_0xc1f1('0x75')]}:_0x8009b6);});};