Built motion from commit 775e2a94.|2.6.3
[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 _0x7562=['include','SalesforceAccount','findAll','catch','show','params','keys','create','body','find','getConfigurations','findOne','SalesforceConfiguration','pick','addConfiguration','Subjects','getSubjects','channel','getDescriptions','SalesforceField','Descriptions','getFields','Task','clientId','clientSecret','username','password','securityToken','remoteUri','slice','substring','Connection','login','concat','ticketType','sobject','describe','OwnerId','ActivityDate','IsReminderSet','IsRecurrence','Description','string','boolean','email','textarea','phone','includes','label','custom','picklistValues','True','true','false','statusCode','error','getFields,\x20%s,\x20%s,\x20%s','stringify','test','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../mysqldb','../../components/integrations/configuration','sendStatus','status','end','json','offset','undefined','count','limit','reject','update','then','destroy','stack','name','send','map','rawAttributes','fieldName','type','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','filter','merge','options','includeAll'];(function(_0x4aec19,_0x144670){var _0x27a282=function(_0x1d2518){while(--_0x1d2518){_0x4aec19['push'](_0x4aec19['shift']());}};_0x27a282(++_0x144670);}(_0x7562,0x1a3));var _0x2756=function(_0x5a7613,_0x2a6b1d){_0x5a7613=_0x5a7613-0x0;var _0x18e6e7=_0x7562[_0x5a7613];return _0x18e6e7;};'use strict';var emlformat=require(_0x2756('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x2756('0x1'));var jsonpatch=require(_0x2756('0x2'));var rp=require(_0x2756('0x3'));var moment=require(_0x2756('0x4'));var BPromise=require(_0x2756('0x5'));var Mustache=require(_0x2756('0x6'));var util=require(_0x2756('0x7'));var path=require(_0x2756('0x8'));var sox=require(_0x2756('0x9'));var csv=require(_0x2756('0xa'));var ejs=require(_0x2756('0xb'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x2756('0xc'));var squel=require(_0x2756('0xd'));var crypto=require(_0x2756('0xe'));var jsforce=require(_0x2756('0xf'));var deskjs=require(_0x2756('0x10'));var toCsv=require(_0x2756('0xa'));var querystring=require(_0x2756('0x11'));var Papa=require(_0x2756('0x12'));var Redis=require(_0x2756('0x13'));var authService=require(_0x2756('0x14'));var qs=require(_0x2756('0x15'));var as=require(_0x2756('0x16'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x2756('0x17'));var utils=require(_0x2756('0x18'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x2756('0x19'))['db'];var integrations=require(_0x2756('0x1a'));function respondWithStatusCode(_0x3b2282,_0x43d8c6){_0x43d8c6=_0x43d8c6||0xcc;return function(_0x3158ad){if(_0x3158ad){return _0x3b2282[_0x2756('0x1b')](_0x43d8c6);}return _0x3b2282[_0x2756('0x1c')](_0x43d8c6)[_0x2756('0x1d')]();};}function respondWithResult(_0x5d69db,_0x424ca0){_0x424ca0=_0x424ca0||0xc8;return function(_0x188c65){if(_0x188c65){return _0x5d69db[_0x2756('0x1c')](_0x424ca0)[_0x2756('0x1e')](_0x188c65);}};}function respondWithFilteredResult(_0x28d6c2,_0x2b7b93){return function(_0x4d6f8d){if(_0x4d6f8d){var _0x3cf448=typeof _0x2b7b93[_0x2756('0x1f')]===_0x2756('0x20')&&typeof _0x2b7b93['limit']===_0x2756('0x20');var _0x298ac4=_0x4d6f8d[_0x2756('0x21')];var _0x28f108=_0x3cf448?0x0:_0x2b7b93[_0x2756('0x1f')];var _0x4776a4=_0x3cf448?_0x4d6f8d['count']:_0x2b7b93['offset']+_0x2b7b93[_0x2756('0x22')];var _0x157076;if(_0x4776a4>=_0x298ac4){_0x4776a4=_0x298ac4;_0x157076=0xc8;}else{_0x157076=0xce;}_0x28d6c2[_0x2756('0x1c')](_0x157076);return _0x28d6c2['set']('Content-Range',_0x28f108+'-'+_0x4776a4+'/'+_0x298ac4)['json'](_0x4d6f8d);}return null;};}function patchUpdates(_0x5c6923){return function(_0x49aa10){try{jsonpatch['apply'](_0x49aa10,_0x5c6923,!![]);}catch(_0x5fdf5e){return BPromise[_0x2756('0x23')](_0x5fdf5e);}return _0x49aa10['save']();};}function saveUpdates(_0xfb297c,_0x48a75a){return function(_0x5f08fe){if(_0x5f08fe){return _0x5f08fe[_0x2756('0x24')](_0xfb297c)[_0x2756('0x25')](function(_0x2412e5){return _0x2412e5;});}return null;};}function removeEntity(_0x2aa2df,_0x473c96){return function(_0x40585d){if(_0x40585d){return _0x40585d[_0x2756('0x26')]()[_0x2756('0x25')](function(){_0x2aa2df[_0x2756('0x1c')](0xcc)[_0x2756('0x1d')]();});}};}function handleEntityNotFound(_0x248708,_0x7b8eaa){return function(_0x223f5e){if(!_0x223f5e){_0x248708[_0x2756('0x1b')](0x194);}return _0x223f5e;};}function handleError(_0x41944f,_0x57c913){_0x57c913=_0x57c913||0x1f4;return function(_0x24d4f5){logger['error'](_0x24d4f5[_0x2756('0x27')]);if(_0x24d4f5[_0x2756('0x28')]){delete _0x24d4f5[_0x2756('0x28')];}_0x41944f[_0x2756('0x1c')](_0x57c913)[_0x2756('0x29')](_0x24d4f5);};}exports['index']=function(_0x58e169,_0x2fa70d){var _0x5b3068={},_0x5d7231={},_0x4fff78={'count':0x0,'rows':[]};var _0x24b010=_[_0x2756('0x2a')](db['SalesforceAccount'][_0x2756('0x2b')],function(_0x309a76){return{'name':_0x309a76[_0x2756('0x2c')],'type':_0x309a76[_0x2756('0x2d')]['key']};});_0x5d7231[_0x2756('0x2e')]=_[_0x2756('0x2a')](_0x24b010,'name');_0x5d7231[_0x2756('0x2f')]=_['keys'](_0x58e169[_0x2756('0x2f')]);_0x5d7231[_0x2756('0x30')]=_[_0x2756('0x31')](_0x5d7231[_0x2756('0x2e')],_0x5d7231[_0x2756('0x2f')]);_0x5b3068[_0x2756('0x32')]=_[_0x2756('0x31')](_0x5d7231[_0x2756('0x2e')],qs[_0x2756('0x33')](_0x58e169[_0x2756('0x2f')][_0x2756('0x33')]));_0x5b3068[_0x2756('0x32')]=_0x5b3068[_0x2756('0x32')][_0x2756('0x34')]?_0x5b3068[_0x2756('0x32')]:_0x5d7231[_0x2756('0x2e')];if(!_0x58e169[_0x2756('0x2f')][_0x2756('0x35')](_0x2756('0x36'))){_0x5b3068['limit']=qs[_0x2756('0x22')](_0x58e169[_0x2756('0x2f')][_0x2756('0x22')]);_0x5b3068[_0x2756('0x1f')]=qs[_0x2756('0x1f')](_0x58e169[_0x2756('0x2f')][_0x2756('0x1f')]);}_0x5b3068['order']=qs[_0x2756('0x37')](_0x58e169['query'][_0x2756('0x37')]);_0x5b3068[_0x2756('0x38')]=qs[_0x2756('0x30')](_['pick'](_0x58e169[_0x2756('0x2f')],_0x5d7231[_0x2756('0x30')]),_0x24b010);if(_0x58e169[_0x2756('0x2f')][_0x2756('0x39')]){_0x5b3068[_0x2756('0x38')]=_[_0x2756('0x3a')](_0x5b3068['where'],{'$or':_[_0x2756('0x2a')](_0x24b010,function(_0x19a4f9){if(_0x19a4f9[_0x2756('0x2d')]!=='VIRTUAL'){var _0x2ba2a8={};_0x2ba2a8[_0x19a4f9['name']]={'$like':'%'+_0x58e169[_0x2756('0x2f')][_0x2756('0x39')]+'%'};return _0x2ba2a8;}})});}_0x5b3068=_[_0x2756('0x3a')]({},_0x5b3068,_0x58e169[_0x2756('0x3b')]);var _0xfeeb0a={'where':_0x5b3068[_0x2756('0x38')]};return db['SalesforceAccount'][_0x2756('0x21')](_0xfeeb0a)['then'](function(_0xb48c48){_0x4fff78[_0x2756('0x21')]=_0xb48c48;if(_0x58e169[_0x2756('0x2f')][_0x2756('0x3c')]){_0x5b3068[_0x2756('0x3d')]=[{'all':!![]}];}return db[_0x2756('0x3e')][_0x2756('0x3f')](_0x5b3068);})[_0x2756('0x25')](function(_0xf7e6d9){_0x4fff78['rows']=_0xf7e6d9;return _0x4fff78;})[_0x2756('0x25')](respondWithFilteredResult(_0x2fa70d,_0x5b3068))[_0x2756('0x40')](handleError(_0x2fa70d,null));};exports[_0x2756('0x41')]=function(_0x4e952b,_0xfdc4a1){var _0x18af50={'raw':![],'where':{'id':_0x4e952b[_0x2756('0x42')]['id']}},_0x1ed107={};_0x1ed107[_0x2756('0x2e')]=_[_0x2756('0x43')](db[_0x2756('0x3e')][_0x2756('0x2b')]);_0x1ed107['query']=_['keys'](_0x4e952b[_0x2756('0x2f')]);_0x1ed107[_0x2756('0x30')]=_['intersection'](_0x1ed107['model'],_0x1ed107[_0x2756('0x2f')]);_0x18af50['attributes']=_[_0x2756('0x31')](_0x1ed107[_0x2756('0x2e')],qs[_0x2756('0x33')](_0x4e952b[_0x2756('0x2f')][_0x2756('0x33')]));_0x18af50[_0x2756('0x32')]=_0x18af50[_0x2756('0x32')][_0x2756('0x34')]?_0x18af50[_0x2756('0x32')]:_0x1ed107[_0x2756('0x2e')];if(_0x4e952b[_0x2756('0x2f')][_0x2756('0x3c')]){_0x18af50[_0x2756('0x3d')]=[{'all':!![]}];}_0x18af50=_[_0x2756('0x3a')]({},_0x18af50,_0x4e952b[_0x2756('0x3b')]);return db[_0x2756('0x3e')]['find'](_0x18af50)[_0x2756('0x25')](handleEntityNotFound(_0xfdc4a1,null))[_0x2756('0x25')](respondWithResult(_0xfdc4a1,null))[_0x2756('0x40')](handleError(_0xfdc4a1,null));};exports[_0x2756('0x44')]=function(_0x83be0b,_0xc92c3e){return db[_0x2756('0x3e')][_0x2756('0x44')](_0x83be0b[_0x2756('0x45')],{})['then'](respondWithResult(_0xc92c3e,0xc9))[_0x2756('0x40')](handleError(_0xc92c3e,null));};exports['update']=function(_0x4867db,_0x5a96a4){if(_0x4867db['body']['id']){delete _0x4867db[_0x2756('0x45')]['id'];}return db[_0x2756('0x3e')][_0x2756('0x46')]({'where':{'id':_0x4867db[_0x2756('0x42')]['id']}})[_0x2756('0x25')](handleEntityNotFound(_0x5a96a4,null))['then'](saveUpdates(_0x4867db['body'],null))[_0x2756('0x25')](respondWithResult(_0x5a96a4,null))[_0x2756('0x40')](handleError(_0x5a96a4,null));};exports[_0x2756('0x26')]=function(_0x19b3ce,_0x598423){return db[_0x2756('0x3e')][_0x2756('0x46')]({'where':{'id':_0x19b3ce['params']['id']}})[_0x2756('0x25')](handleEntityNotFound(_0x598423,null))[_0x2756('0x25')](removeEntity(_0x598423,null))['catch'](handleError(_0x598423,null));};exports[_0x2756('0x47')]=function(_0x55334e,_0x5c26bb,_0x1a2811){var _0x2be6df={};var _0x42799={};var _0xe65988;var _0x2d4a74;return db[_0x2756('0x3e')][_0x2756('0x48')]({'where':{'id':_0x55334e[_0x2756('0x42')]['id']}})[_0x2756('0x25')](handleEntityNotFound(_0x5c26bb,null))[_0x2756('0x25')](function(_0x291394){if(_0x291394){_0xe65988=_0x291394;_0x42799[_0x2756('0x2e')]=_['keys'](db[_0x2756('0x49')]['rawAttributes']);_0x42799[_0x2756('0x2f')]=_[_0x2756('0x43')](_0x55334e['query']);_0x42799[_0x2756('0x30')]=_[_0x2756('0x31')](_0x42799[_0x2756('0x2e')],_0x42799[_0x2756('0x2f')]);_0x2be6df[_0x2756('0x32')]=_[_0x2756('0x31')](_0x42799[_0x2756('0x2e')],qs[_0x2756('0x33')](_0x55334e[_0x2756('0x2f')][_0x2756('0x33')]));_0x2be6df[_0x2756('0x32')]=_0x2be6df[_0x2756('0x32')][_0x2756('0x34')]?_0x2be6df[_0x2756('0x32')]:_0x42799['model'];_0x2be6df['order']=qs[_0x2756('0x37')](_0x55334e[_0x2756('0x2f')][_0x2756('0x37')]);_0x2be6df['where']=qs[_0x2756('0x30')](_[_0x2756('0x4a')](_0x55334e[_0x2756('0x2f')],_0x42799[_0x2756('0x30')]));if(_0x55334e[_0x2756('0x2f')][_0x2756('0x39')]){_0x2be6df['where']=_[_0x2756('0x3a')](_0x2be6df[_0x2756('0x38')],{'$or':_['map'](_0x2be6df[_0x2756('0x32')],function(_0x2921a0){var _0x41f333={};_0x41f333[_0x2921a0]={'$like':'%'+_0x55334e[_0x2756('0x2f')][_0x2756('0x39')]+'%'};return _0x41f333;})});}_0x2be6df=_[_0x2756('0x3a')]({},_0x2be6df,_0x55334e[_0x2756('0x3b')]);return _0xe65988[_0x2756('0x47')](_0x2be6df);}})[_0x2756('0x25')](function(_0x3f4cae){if(_0x3f4cae){_0x2d4a74=_0x3f4cae['length'];if(!_0x55334e[_0x2756('0x2f')][_0x2756('0x35')](_0x2756('0x36'))){_0x2be6df[_0x2756('0x22')]=qs['limit'](_0x55334e[_0x2756('0x2f')][_0x2756('0x22')]);_0x2be6df[_0x2756('0x1f')]=qs[_0x2756('0x1f')](_0x55334e[_0x2756('0x2f')]['offset']);}return _0xe65988['getConfigurations'](_0x2be6df);}})[_0x2756('0x25')](function(_0x570894){if(_0x570894){return _0x570894?{'count':_0x2d4a74,'rows':_0x570894}:null;}})[_0x2756('0x25')](respondWithResult(_0x5c26bb,null))[_0x2756('0x40')](handleError(_0x5c26bb,null));};exports[_0x2756('0x4b')]=function(_0x2e9423,_0xb207f6,_0x200302){if(_0x2e9423['body']['id']){delete _0x2e9423['body']['id'];}return db[_0x2756('0x3e')][_0x2756('0x48')]({'where':{'id':_0x2e9423['params']['id']}})[_0x2756('0x25')](handleEntityNotFound(_0xb207f6,null))[_0x2756('0x25')](function(_0x5be374){if(_0x5be374){_0x2e9423[_0x2756('0x45')]['AccountId']=_0x5be374['id'];_0x2e9423[_0x2756('0x45')][_0x2756('0x4c')]=integrations[_0x2756('0x4d')](_0x2e9423['body'][_0x2756('0x4e')],_0x2e9423[_0x2756('0x45')][_0x2756('0x2d')]);_0x2e9423[_0x2756('0x45')]['Descriptions']=integrations[_0x2756('0x4f')](_0x2e9423[_0x2756('0x45')]['channel'],_0x2e9423['body'][_0x2756('0x2d')]);return db[_0x2756('0x49')][_0x2756('0x44')](_0x2e9423[_0x2756('0x45')],{'include':[{'model':db[_0x2756('0x50')],'as':'Subjects'},{'model':db['SalesforceField'],'as':_0x2756('0x51')}]});}return null;})['then'](respondWithResult(_0xb207f6,null))[_0x2756('0x40')](handleError(_0xb207f6,null));};exports[_0x2756('0x52')]=function(_0x42cf17,_0x623548,_0x193ddf){var _0x11dc8b;var _0x4bb003='';var _0xa8470d=_0x2756('0x53');return db[_0x2756('0x3e')][_0x2756('0x48')]({'where':{'id':_0x42cf17[_0x2756('0x42')]['id']},'attributes':['id','remoteUri',_0x2756('0x54'),_0x2756('0x55'),_0x2756('0x56'),_0x2756('0x57'),_0x2756('0x58')]})[_0x2756('0x25')](handleEntityNotFound(_0x623548,null))[_0x2756('0x25')](function(_0x21c578){if(_0x21c578){_0x4bb003=_0x21c578[_0x2756('0x59')];var _0x34c4c3=_0x4bb003[_0x2756('0x5a')](-0x1);if(_0x34c4c3==='/'){_0x4bb003=_0x4bb003[_0x2756('0x5b')](0x0,_0x4bb003['lastIndexOf'](_0x34c4c3));}_0x11dc8b=new jsforce[(_0x2756('0x5c'))]({'oauth2':{'loginUrl':_0x4bb003,'clientId':_0x21c578[_0x2756('0x54')],'clientSecret':_0x21c578['clientSecret']}});return _0x11dc8b[_0x2756('0x5d')](_0x21c578['username'],_0x21c578[_0x2756('0x57')][_0x2756('0x5e')](_0x21c578['securityToken']));}})[_0x2756('0x25')](function(_0x5d3ce3){if(_0x5d3ce3){if(!_['isNil'](_0x42cf17[_0x2756('0x2f')][_0x2756('0x5f')])){_0xa8470d=_0x42cf17[_0x2756('0x2f')]['ticketType'];}return _0x11dc8b[_0x2756('0x60')](_0xa8470d)[_0x2756('0x61')]();}})[_0x2756('0x25')](function(_0x44829e){var _0x137164=[_0x2756('0x62'),_0x2756('0x63'),_0x2756('0x64'),_0x2756('0x65'),'Subject',_0x2756('0x66')];var _0x13bac6=[_0x2756('0x67'),'int','picklist',_0x2756('0x68'),_0x2756('0x69'),_0x2756('0x6a'),_0x2756('0x6b')];if(_0x44829e){_['remove'](_0x44829e[_0x2756('0x33')],function(_0x270765){return _0x137164[_0x2756('0x6c')](_0x270765[_0x2756('0x28')])||!_0x13bac6['includes'](_0x270765[_0x2756('0x2d')]);});return{'count':_0x44829e['fields'][_0x2756('0x34')],'rows':_[_0x2756('0x2a')](_0x44829e['fields'],function(_0x294316){return{'id':_0x294316[_0x2756('0x28')],'name':_0x294316[_0x2756('0x6d')],'custom':_0x294316[_0x2756('0x6e')],'options':_0x294316[_0x2756('0x6f')][_0x2756('0x34')]>0x0?_['map'](_0x294316['picklistValues'],function(_0x2f1eda){return{'name':_0x2f1eda[_0x2756('0x6d')],'value':_0x2f1eda['value']};}):_0x294316[_0x2756('0x2d')]==_0x2756('0x68')?[{'name':_0x2756('0x70'),'value':_0x2756('0x71')},{'name':'False','value':_0x2756('0x72')}]:[]};})};}})[_0x2756('0x25')](respondWithResult(_0x623548,null))[_0x2756('0x40')](function(_0x2c2908){var _0x4d857b=_0x42cf17[_0x2756('0x2f')]['test']?0x1f4:_0x2c2908[_0x2756('0x73')]||0x1f4;logger[_0x2756('0x74')](_0x2756('0x75'),'getFields',_0x4d857b,JSON[_0x2756('0x76')](_0x2c2908));delete _0x2c2908[_0x2756('0x28')];if(_0x4d857b===0x191){_0x4d857b=0x190;}_0x623548[_0x2756('0x1c')](_0x4d857b)[_0x2756('0x29')](_0x42cf17[_0x2756('0x2f')][_0x2756('0x77')]?{'message':'Wrong\x20credentials','statusCode':_0x2c2908[_0x2756('0x73')]}:_0x2c2908);});};