Built motion from commit b5996064.|2.6.21
[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 _0x32c8=['hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','includeAll','findAll','rows','catch','params','keys','rawAttributes','options','create','body','getConfigurations','findOne','map','AccountId','Subjects','getSubjects','Descriptions','getDescriptions','SalesforceConfiguration','SalesforceField','getFields','Task','clientId','clientSecret','securityToken','remoteUri','slice','substring','lastIndexOf','Connection','login','password','concat','isNil','ticketType','sobject','describe','OwnerId','IsReminderSet','Description','string','int','picklist','boolean','email','textarea','phone','remove','includes','picklistValues','label','True','true','false','test','statusCode','stringify','Wrong\x20credentials','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','util','path','sox','to-csv','fs-extra','lodash','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','../../components/integrations/configuration','sendStatus','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','destroy','then','end','error','name','send','index','SalesforceAccount','fieldName','type','query','filters','model','attributes','intersection','fields','length'];(function(_0x5464ae,_0x41722b){var _0x437fa1=function(_0x235049){while(--_0x235049){_0x5464ae['push'](_0x5464ae['shift']());}};_0x437fa1(++_0x41722b);}(_0x32c8,0x1b4));var _0x832c=function(_0x5b9d3b,_0x4067ef){_0x5b9d3b=_0x5b9d3b-0x0;var _0x29b1ff=_0x32c8[_0x5b9d3b];return _0x29b1ff;};'use strict';var emlformat=require(_0x832c('0x0'));var rimraf=require(_0x832c('0x1'));var zipdir=require(_0x832c('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x832c('0x3'));var moment=require(_0x832c('0x4'));var BPromise=require(_0x832c('0x5'));var Mustache=require('mustache');var util=require(_0x832c('0x6'));var path=require(_0x832c('0x7'));var sox=require(_0x832c('0x8'));var csv=require(_0x832c('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x832c('0xa'));var _=require(_0x832c('0xb'));var squel=require('squel');var crypto=require(_0x832c('0xc'));var jsforce=require(_0x832c('0xd'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x832c('0xe'));var Papa=require(_0x832c('0xf'));var Redis=require(_0x832c('0x10'));var authService=require(_0x832c('0x11'));var qs=require(_0x832c('0x12'));var as=require(_0x832c('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x832c('0x14'));var utils=require(_0x832c('0x15'));var config=require(_0x832c('0x16'));var licenseUtil=require(_0x832c('0x17'));var db=require(_0x832c('0x18'))['db'];var integrations=require(_0x832c('0x19'));function respondWithStatusCode(_0x30e0f9,_0x3de999){_0x3de999=_0x3de999||0xcc;return function(_0x1c30d8){if(_0x1c30d8){return _0x30e0f9[_0x832c('0x1a')](_0x3de999);}return _0x30e0f9[_0x832c('0x1b')](_0x3de999)['end']();};}function respondWithResult(_0x303603,_0x432b5f){_0x432b5f=_0x432b5f||0xc8;return function(_0x13f002){if(_0x13f002){return _0x303603[_0x832c('0x1b')](_0x432b5f)[_0x832c('0x1c')](_0x13f002);}};}function respondWithFilteredResult(_0xce9816,_0x487b6c){return function(_0x4d1e2a){if(_0x4d1e2a){var _0x45b33a=typeof _0x487b6c[_0x832c('0x1d')]===_0x832c('0x1e')&&typeof _0x487b6c[_0x832c('0x1f')]===_0x832c('0x1e');var _0x2b1f1b=_0x4d1e2a['count'];var _0x347943=_0x45b33a?0x0:_0x487b6c[_0x832c('0x1d')];var _0x48522c=_0x45b33a?_0x4d1e2a[_0x832c('0x20')]:_0x487b6c['offset']+_0x487b6c[_0x832c('0x1f')];var _0x398c22;if(_0x48522c>=_0x2b1f1b){_0x48522c=_0x2b1f1b;_0x398c22=0xc8;}else{_0x398c22=0xce;}_0xce9816[_0x832c('0x1b')](_0x398c22);return _0xce9816[_0x832c('0x21')](_0x832c('0x22'),_0x347943+'-'+_0x48522c+'/'+_0x2b1f1b)[_0x832c('0x1c')](_0x4d1e2a);}return null;};}function patchUpdates(_0x444065){return function(_0x246204){try{jsonpatch[_0x832c('0x23')](_0x246204,_0x444065,!![]);}catch(_0x1efa43){return BPromise[_0x832c('0x24')](_0x1efa43);}return _0x246204[_0x832c('0x25')]();};}function saveUpdates(_0x372c14,_0x4a334d){return function(_0x45d2ee){if(_0x45d2ee){return _0x45d2ee[_0x832c('0x26')](_0x372c14)['then'](function(_0x140def){return _0x140def;});}return null;};}function removeEntity(_0x110646,_0x18d8ed){return function(_0x2ce31d){if(_0x2ce31d){return _0x2ce31d[_0x832c('0x27')]()[_0x832c('0x28')](function(){_0x110646[_0x832c('0x1b')](0xcc)[_0x832c('0x29')]();});}};}function handleEntityNotFound(_0x535942,_0x28cbb6){return function(_0x5acee8){if(!_0x5acee8){_0x535942[_0x832c('0x1a')](0x194);}return _0x5acee8;};}function handleError(_0x2be1d5,_0x206b0e){_0x206b0e=_0x206b0e||0x1f4;return function(_0x45b47b){logger[_0x832c('0x2a')](_0x45b47b['stack']);if(_0x45b47b['name']){delete _0x45b47b[_0x832c('0x2b')];}_0x2be1d5[_0x832c('0x1b')](_0x206b0e)[_0x832c('0x2c')](_0x45b47b);};}exports[_0x832c('0x2d')]=function(_0x11924c,_0x1cd364){var _0x297158={},_0x421e7e={},_0x236236={'count':0x0,'rows':[]};var _0x4d4e6f=_['map'](db[_0x832c('0x2e')]['rawAttributes'],function(_0x12283c){return{'name':_0x12283c[_0x832c('0x2f')],'type':_0x12283c[_0x832c('0x30')]['key']};});_0x421e7e['model']=_['map'](_0x4d4e6f,_0x832c('0x2b'));_0x421e7e[_0x832c('0x31')]=_['keys'](_0x11924c[_0x832c('0x31')]);_0x421e7e[_0x832c('0x32')]=_['intersection'](_0x421e7e[_0x832c('0x33')],_0x421e7e[_0x832c('0x31')]);_0x297158[_0x832c('0x34')]=_[_0x832c('0x35')](_0x421e7e['model'],qs['fields'](_0x11924c[_0x832c('0x31')][_0x832c('0x36')]));_0x297158[_0x832c('0x34')]=_0x297158['attributes'][_0x832c('0x37')]?_0x297158[_0x832c('0x34')]:_0x421e7e[_0x832c('0x33')];if(!_0x11924c[_0x832c('0x31')][_0x832c('0x38')](_0x832c('0x39'))){_0x297158[_0x832c('0x1f')]=qs['limit'](_0x11924c[_0x832c('0x31')][_0x832c('0x1f')]);_0x297158[_0x832c('0x1d')]=qs[_0x832c('0x1d')](_0x11924c[_0x832c('0x31')]['offset']);}_0x297158[_0x832c('0x3a')]=qs[_0x832c('0x3b')](_0x11924c[_0x832c('0x31')][_0x832c('0x3b')]);_0x297158[_0x832c('0x3c')]=qs[_0x832c('0x32')](_[_0x832c('0x3d')](_0x11924c['query'],_0x421e7e[_0x832c('0x32')]),_0x4d4e6f);if(_0x11924c[_0x832c('0x31')][_0x832c('0x3e')]){_0x297158[_0x832c('0x3c')]=_[_0x832c('0x3f')](_0x297158[_0x832c('0x3c')],{'$or':_['map'](_0x4d4e6f,function(_0x213d64){if(_0x213d64[_0x832c('0x30')]!==_0x832c('0x40')){var _0x43c235={};_0x43c235[_0x213d64[_0x832c('0x2b')]]={'$like':'%'+_0x11924c['query'][_0x832c('0x3e')]+'%'};return _0x43c235;}})});}_0x297158=_['merge']({},_0x297158,_0x11924c['options']);var _0x23bb6c={'where':_0x297158['where']};return db[_0x832c('0x2e')][_0x832c('0x20')](_0x23bb6c)[_0x832c('0x28')](function(_0x28677b){_0x236236['count']=_0x28677b;if(_0x11924c[_0x832c('0x31')][_0x832c('0x41')]){_0x297158['include']=[{'all':!![]}];}return db[_0x832c('0x2e')][_0x832c('0x42')](_0x297158);})[_0x832c('0x28')](function(_0x93b709){_0x236236[_0x832c('0x43')]=_0x93b709;return _0x236236;})['then'](respondWithFilteredResult(_0x1cd364,_0x297158))[_0x832c('0x44')](handleError(_0x1cd364,null));};exports['show']=function(_0x53c0a6,_0x38611c){var _0x452783={'raw':![],'where':{'id':_0x53c0a6[_0x832c('0x45')]['id']}},_0x55bf5e={};_0x55bf5e[_0x832c('0x33')]=_[_0x832c('0x46')](db['SalesforceAccount'][_0x832c('0x47')]);_0x55bf5e[_0x832c('0x31')]=_[_0x832c('0x46')](_0x53c0a6[_0x832c('0x31')]);_0x55bf5e['filters']=_['intersection'](_0x55bf5e[_0x832c('0x33')],_0x55bf5e[_0x832c('0x31')]);_0x452783[_0x832c('0x34')]=_['intersection'](_0x55bf5e[_0x832c('0x33')],qs[_0x832c('0x36')](_0x53c0a6[_0x832c('0x31')][_0x832c('0x36')]));_0x452783[_0x832c('0x34')]=_0x452783['attributes'][_0x832c('0x37')]?_0x452783[_0x832c('0x34')]:_0x55bf5e[_0x832c('0x33')];if(_0x53c0a6[_0x832c('0x31')][_0x832c('0x41')]){_0x452783['include']=[{'all':!![]}];}_0x452783=_[_0x832c('0x3f')]({},_0x452783,_0x53c0a6[_0x832c('0x48')]);return db[_0x832c('0x2e')]['find'](_0x452783)[_0x832c('0x28')](handleEntityNotFound(_0x38611c,null))['then'](respondWithResult(_0x38611c,null))[_0x832c('0x44')](handleError(_0x38611c,null));};exports[_0x832c('0x49')]=function(_0x292209,_0x1bc097){return db['SalesforceAccount'][_0x832c('0x49')](_0x292209[_0x832c('0x4a')],{})[_0x832c('0x28')](respondWithResult(_0x1bc097,0xc9))[_0x832c('0x44')](handleError(_0x1bc097,null));};exports['update']=function(_0x20c8c1,_0x4d2fe8){if(_0x20c8c1[_0x832c('0x4a')]['id']){delete _0x20c8c1[_0x832c('0x4a')]['id'];}return db['SalesforceAccount']['find']({'where':{'id':_0x20c8c1[_0x832c('0x45')]['id']}})[_0x832c('0x28')](handleEntityNotFound(_0x4d2fe8,null))['then'](saveUpdates(_0x20c8c1[_0x832c('0x4a')],null))['then'](respondWithResult(_0x4d2fe8,null))['catch'](handleError(_0x4d2fe8,null));};exports[_0x832c('0x27')]=function(_0x1638ad,_0x40315e){return db[_0x832c('0x2e')]['find']({'where':{'id':_0x1638ad[_0x832c('0x45')]['id']}})[_0x832c('0x28')](handleEntityNotFound(_0x40315e,null))['then'](removeEntity(_0x40315e,null))[_0x832c('0x44')](handleError(_0x40315e,null));};exports[_0x832c('0x4b')]=function(_0xfb5efd,_0x510ee0,_0x4a6688){var _0x4cd2f8={};var _0x19666f={};var _0x358f16;var _0x820975;return db[_0x832c('0x2e')][_0x832c('0x4c')]({'where':{'id':_0xfb5efd['params']['id']}})[_0x832c('0x28')](handleEntityNotFound(_0x510ee0,null))[_0x832c('0x28')](function(_0x5c7e7d){if(_0x5c7e7d){_0x358f16=_0x5c7e7d;_0x19666f[_0x832c('0x33')]=_[_0x832c('0x46')](db['SalesforceConfiguration'][_0x832c('0x47')]);_0x19666f['query']=_[_0x832c('0x46')](_0xfb5efd['query']);_0x19666f[_0x832c('0x32')]=_['intersection'](_0x19666f[_0x832c('0x33')],_0x19666f['query']);_0x4cd2f8[_0x832c('0x34')]=_['intersection'](_0x19666f[_0x832c('0x33')],qs[_0x832c('0x36')](_0xfb5efd[_0x832c('0x31')][_0x832c('0x36')]));_0x4cd2f8[_0x832c('0x34')]=_0x4cd2f8[_0x832c('0x34')]['length']?_0x4cd2f8[_0x832c('0x34')]:_0x19666f[_0x832c('0x33')];_0x4cd2f8[_0x832c('0x3a')]=qs[_0x832c('0x3b')](_0xfb5efd[_0x832c('0x31')][_0x832c('0x3b')]);_0x4cd2f8[_0x832c('0x3c')]=qs['filters'](_[_0x832c('0x3d')](_0xfb5efd[_0x832c('0x31')],_0x19666f['filters']));if(_0xfb5efd[_0x832c('0x31')][_0x832c('0x3e')]){_0x4cd2f8['where']=_[_0x832c('0x3f')](_0x4cd2f8['where'],{'$or':_[_0x832c('0x4d')](_0x4cd2f8[_0x832c('0x34')],function(_0x1e790b){var _0x3e5151={};_0x3e5151[_0x1e790b]={'$like':'%'+_0xfb5efd['query']['filter']+'%'};return _0x3e5151;})});}_0x4cd2f8=_[_0x832c('0x3f')]({},_0x4cd2f8,_0xfb5efd[_0x832c('0x48')]);return _0x358f16[_0x832c('0x4b')](_0x4cd2f8);}})[_0x832c('0x28')](function(_0x500b76){if(_0x500b76){_0x820975=_0x500b76[_0x832c('0x37')];if(!_0xfb5efd[_0x832c('0x31')][_0x832c('0x38')](_0x832c('0x39'))){_0x4cd2f8[_0x832c('0x1f')]=qs[_0x832c('0x1f')](_0xfb5efd[_0x832c('0x31')]['limit']);_0x4cd2f8['offset']=qs[_0x832c('0x1d')](_0xfb5efd[_0x832c('0x31')][_0x832c('0x1d')]);}return _0x358f16[_0x832c('0x4b')](_0x4cd2f8);}})['then'](function(_0x5cb09c){if(_0x5cb09c){return _0x5cb09c?{'count':_0x820975,'rows':_0x5cb09c}:null;}})['then'](respondWithResult(_0x510ee0,null))[_0x832c('0x44')](handleError(_0x510ee0,null));};exports['addConfiguration']=function(_0x3f3060,_0x2a0927,_0x74a2c2){if(_0x3f3060[_0x832c('0x4a')]['id']){delete _0x3f3060[_0x832c('0x4a')]['id'];}return db[_0x832c('0x2e')][_0x832c('0x4c')]({'where':{'id':_0x3f3060['params']['id']}})[_0x832c('0x28')](handleEntityNotFound(_0x2a0927,null))[_0x832c('0x28')](function(_0x167e46){if(_0x167e46){_0x3f3060[_0x832c('0x4a')][_0x832c('0x4e')]=_0x167e46['id'];_0x3f3060[_0x832c('0x4a')][_0x832c('0x4f')]=integrations[_0x832c('0x50')](_0x3f3060['body']['channel'],_0x3f3060[_0x832c('0x4a')]['type']);_0x3f3060[_0x832c('0x4a')][_0x832c('0x51')]=integrations[_0x832c('0x52')](_0x3f3060[_0x832c('0x4a')]['channel'],_0x3f3060[_0x832c('0x4a')][_0x832c('0x30')]);return db[_0x832c('0x53')]['create'](_0x3f3060[_0x832c('0x4a')],{'include':[{'model':db[_0x832c('0x54')],'as':_0x832c('0x4f')},{'model':db[_0x832c('0x54')],'as':_0x832c('0x51')}]});}return null;})[_0x832c('0x28')](respondWithResult(_0x2a0927,null))[_0x832c('0x44')](handleError(_0x2a0927,null));};exports[_0x832c('0x55')]=function(_0x396195,_0x1de670,_0x2c4efc){var _0x9f9e9;var _0x366461='';var _0x36aa31=_0x832c('0x56');return db[_0x832c('0x2e')][_0x832c('0x4c')]({'where':{'id':_0x396195[_0x832c('0x45')]['id']},'attributes':['id','remoteUri',_0x832c('0x57'),_0x832c('0x58'),'username','password',_0x832c('0x59')]})['then'](handleEntityNotFound(_0x1de670,null))[_0x832c('0x28')](function(_0x2f9e31){if(_0x2f9e31){_0x366461=_0x2f9e31[_0x832c('0x5a')];var _0x1fad4c=_0x366461[_0x832c('0x5b')](-0x1);if(_0x1fad4c==='/'){_0x366461=_0x366461[_0x832c('0x5c')](0x0,_0x366461[_0x832c('0x5d')](_0x1fad4c));}_0x9f9e9=new jsforce[(_0x832c('0x5e'))]({'oauth2':{'loginUrl':_0x366461,'clientId':_0x2f9e31[_0x832c('0x57')],'clientSecret':_0x2f9e31[_0x832c('0x58')]}});return _0x9f9e9[_0x832c('0x5f')](_0x2f9e31['username'],_0x2f9e31[_0x832c('0x60')][_0x832c('0x61')](_0x2f9e31['securityToken']));}})[_0x832c('0x28')](function(_0x29fd80){if(_0x29fd80){if(!_[_0x832c('0x62')](_0x396195[_0x832c('0x31')][_0x832c('0x63')])){_0x36aa31=_0x396195[_0x832c('0x31')][_0x832c('0x63')];}return _0x9f9e9[_0x832c('0x64')](_0x36aa31)[_0x832c('0x65')]();}})[_0x832c('0x28')](function(_0x5f27aa){var _0x3cbdd8=[_0x832c('0x66'),'ActivityDate',_0x832c('0x67'),'IsRecurrence','Subject',_0x832c('0x68')];var _0x26f9d6=[_0x832c('0x69'),_0x832c('0x6a'),_0x832c('0x6b'),_0x832c('0x6c'),_0x832c('0x6d'),_0x832c('0x6e'),_0x832c('0x6f')];if(_0x5f27aa){_[_0x832c('0x70')](_0x5f27aa['fields'],function(_0x27925b){return _0x3cbdd8[_0x832c('0x71')](_0x27925b['name'])||!_0x26f9d6[_0x832c('0x71')](_0x27925b[_0x832c('0x30')]);});return{'count':_0x5f27aa[_0x832c('0x36')][_0x832c('0x37')],'rows':_[_0x832c('0x4d')](_0x5f27aa[_0x832c('0x36')],function(_0x35ad32){return{'id':_0x35ad32[_0x832c('0x2b')],'name':_0x35ad32['label'],'custom':_0x35ad32['custom'],'options':_0x35ad32[_0x832c('0x72')][_0x832c('0x37')]>0x0?_[_0x832c('0x4d')](_0x35ad32['picklistValues'],function(_0x1647e8){return{'name':_0x1647e8[_0x832c('0x73')],'value':_0x1647e8['value']};}):_0x35ad32[_0x832c('0x30')]==_0x832c('0x6c')?[{'name':_0x832c('0x74'),'value':_0x832c('0x75')},{'name':'False','value':_0x832c('0x76')}]:[]};})};}})['then'](respondWithResult(_0x1de670,null))[_0x832c('0x44')](function(_0x4c6618){var _0x5af1be=_0x396195[_0x832c('0x31')][_0x832c('0x77')]?0x1f4:_0x4c6618[_0x832c('0x78')]||0x1f4;logger[_0x832c('0x2a')]('getFields,\x20%s,\x20%s,\x20%s',_0x832c('0x55'),_0x5af1be,JSON[_0x832c('0x79')](_0x4c6618));delete _0x4c6618[_0x832c('0x2b')];if(_0x5af1be===0x191){_0x5af1be=0x190;}_0x1de670['status'](_0x5af1be)['send'](_0x396195['query'][_0x832c('0x77')]?{'message':_0x832c('0x7a'),'statusCode':_0x4c6618['statusCode']}:_0x4c6618);});};