Built motion from commit e1760111.|2.6.18
[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 _0x9d93=['../../config/utils','../../mysqldb','../../components/integrations/configuration','sendStatus','status','json','offset','undefined','limit','count','set','Content-Range','reject','save','update','then','destroy','end','error','stack','name','index','SalesforceAccount','rawAttributes','fieldName','type','model','map','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','find','create','body','params','getConfigurations','findOne','SalesforceConfiguration','Subjects','getSubjects','channel','Descriptions','getDescriptions','SalesforceField','Task','clientId','clientSecret','username','securityToken','remoteUri','slice','substring','Connection','login','password','concat','ticketType','sobject','OwnerId','ActivityDate','IsReminderSet','IsRecurrence','Subject','string','boolean','email','textarea','phone','remove','includes','label','picklistValues','value','True','false','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','stringify','send','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api'];(function(_0x57080d,_0x18cd60){var _0x415fcf=function(_0x4c13ae){while(--_0x4c13ae){_0x57080d['push'](_0x57080d['shift']());}};_0x415fcf(++_0x18cd60);}(_0x9d93,0x15c));var _0x39d9=function(_0x3dd592,_0x4e7c51){_0x3dd592=_0x3dd592-0x0;var _0x3d3437=_0x9d93[_0x3dd592];return _0x3d3437;};'use strict';var emlformat=require(_0x39d9('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x39d9('0x1'));var jsonpatch=require(_0x39d9('0x2'));var rp=require(_0x39d9('0x3'));var moment=require(_0x39d9('0x4'));var BPromise=require(_0x39d9('0x5'));var Mustache=require(_0x39d9('0x6'));var util=require('util');var path=require(_0x39d9('0x7'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x39d9('0x8'));var fs=require('fs');var fs_extra=require(_0x39d9('0x9'));var _=require(_0x39d9('0xa'));var squel=require(_0x39d9('0xb'));var crypto=require(_0x39d9('0xc'));var jsforce=require(_0x39d9('0xd'));var deskjs=require(_0x39d9('0xe'));var toCsv=require(_0x39d9('0xf'));var querystring=require(_0x39d9('0x10'));var Papa=require(_0x39d9('0x11'));var Redis=require(_0x39d9('0x12'));var authService=require(_0x39d9('0x13'));var qs=require(_0x39d9('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x39d9('0x15'));var logger=require(_0x39d9('0x16'))(_0x39d9('0x17'));var utils=require(_0x39d9('0x18'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x39d9('0x19'))['db'];var integrations=require(_0x39d9('0x1a'));function respondWithStatusCode(_0x4fef1a,_0x2730bb){_0x2730bb=_0x2730bb||0xcc;return function(_0x10adc0){if(_0x10adc0){return _0x4fef1a[_0x39d9('0x1b')](_0x2730bb);}return _0x4fef1a[_0x39d9('0x1c')](_0x2730bb)['end']();};}function respondWithResult(_0x3fe9a1,_0x195fea){_0x195fea=_0x195fea||0xc8;return function(_0x134212){if(_0x134212){return _0x3fe9a1[_0x39d9('0x1c')](_0x195fea)[_0x39d9('0x1d')](_0x134212);}};}function respondWithFilteredResult(_0x74c586,_0x29c78e){return function(_0x24dbf8){if(_0x24dbf8){var _0x4381c1=typeof _0x29c78e[_0x39d9('0x1e')]===_0x39d9('0x1f')&&typeof _0x29c78e[_0x39d9('0x20')]==='undefined';var _0x23829d=_0x24dbf8[_0x39d9('0x21')];var _0x57fb18=_0x4381c1?0x0:_0x29c78e['offset'];var _0x233d5b=_0x4381c1?_0x24dbf8[_0x39d9('0x21')]:_0x29c78e[_0x39d9('0x1e')]+_0x29c78e[_0x39d9('0x20')];var _0x3d87e4;if(_0x233d5b>=_0x23829d){_0x233d5b=_0x23829d;_0x3d87e4=0xc8;}else{_0x3d87e4=0xce;}_0x74c586[_0x39d9('0x1c')](_0x3d87e4);return _0x74c586[_0x39d9('0x22')](_0x39d9('0x23'),_0x57fb18+'-'+_0x233d5b+'/'+_0x23829d)['json'](_0x24dbf8);}return null;};}function patchUpdates(_0x38cee7){return function(_0x4ec0f0){try{jsonpatch['apply'](_0x4ec0f0,_0x38cee7,!![]);}catch(_0x373e2c){return BPromise[_0x39d9('0x24')](_0x373e2c);}return _0x4ec0f0[_0x39d9('0x25')]();};}function saveUpdates(_0xfe9847,_0x157c5d){return function(_0x40c3fa){if(_0x40c3fa){return _0x40c3fa[_0x39d9('0x26')](_0xfe9847)[_0x39d9('0x27')](function(_0x1ce283){return _0x1ce283;});}return null;};}function removeEntity(_0x1d58cc,_0x51b4e5){return function(_0x15bd16){if(_0x15bd16){return _0x15bd16[_0x39d9('0x28')]()[_0x39d9('0x27')](function(){_0x1d58cc[_0x39d9('0x1c')](0xcc)[_0x39d9('0x29')]();});}};}function handleEntityNotFound(_0x4c33b0,_0x4357f3){return function(_0x3ccf07){if(!_0x3ccf07){_0x4c33b0[_0x39d9('0x1b')](0x194);}return _0x3ccf07;};}function handleError(_0x31a7a7,_0x355633){_0x355633=_0x355633||0x1f4;return function(_0x2f7614){logger[_0x39d9('0x2a')](_0x2f7614[_0x39d9('0x2b')]);if(_0x2f7614['name']){delete _0x2f7614[_0x39d9('0x2c')];}_0x31a7a7['status'](_0x355633)['send'](_0x2f7614);};}exports[_0x39d9('0x2d')]=function(_0x4fa9b4,_0x86a117){var _0x1e63d5={},_0x12f27f={},_0x42abeb={'count':0x0,'rows':[]};var _0x2d4629=_['map'](db[_0x39d9('0x2e')][_0x39d9('0x2f')],function(_0x5b561c){return{'name':_0x5b561c[_0x39d9('0x30')],'type':_0x5b561c[_0x39d9('0x31')]['key']};});_0x12f27f[_0x39d9('0x32')]=_[_0x39d9('0x33')](_0x2d4629,_0x39d9('0x2c'));_0x12f27f[_0x39d9('0x34')]=_[_0x39d9('0x35')](_0x4fa9b4[_0x39d9('0x34')]);_0x12f27f['filters']=_[_0x39d9('0x36')](_0x12f27f['model'],_0x12f27f[_0x39d9('0x34')]);_0x1e63d5[_0x39d9('0x37')]=_[_0x39d9('0x36')](_0x12f27f[_0x39d9('0x32')],qs['fields'](_0x4fa9b4['query'][_0x39d9('0x38')]));_0x1e63d5[_0x39d9('0x37')]=_0x1e63d5[_0x39d9('0x37')][_0x39d9('0x39')]?_0x1e63d5[_0x39d9('0x37')]:_0x12f27f[_0x39d9('0x32')];if(!_0x4fa9b4[_0x39d9('0x34')][_0x39d9('0x3a')](_0x39d9('0x3b'))){_0x1e63d5[_0x39d9('0x20')]=qs[_0x39d9('0x20')](_0x4fa9b4[_0x39d9('0x34')][_0x39d9('0x20')]);_0x1e63d5[_0x39d9('0x1e')]=qs[_0x39d9('0x1e')](_0x4fa9b4[_0x39d9('0x34')][_0x39d9('0x1e')]);}_0x1e63d5[_0x39d9('0x3c')]=qs[_0x39d9('0x3d')](_0x4fa9b4[_0x39d9('0x34')][_0x39d9('0x3d')]);_0x1e63d5[_0x39d9('0x3e')]=qs[_0x39d9('0x3f')](_[_0x39d9('0x40')](_0x4fa9b4[_0x39d9('0x34')],_0x12f27f[_0x39d9('0x3f')]),_0x2d4629);if(_0x4fa9b4['query'][_0x39d9('0x41')]){_0x1e63d5['where']=_[_0x39d9('0x42')](_0x1e63d5[_0x39d9('0x3e')],{'$or':_[_0x39d9('0x33')](_0x2d4629,function(_0x130da0){if(_0x130da0['type']!==_0x39d9('0x43')){var _0x8251b3={};_0x8251b3[_0x130da0[_0x39d9('0x2c')]]={'$like':'%'+_0x4fa9b4[_0x39d9('0x34')]['filter']+'%'};return _0x8251b3;}})});}_0x1e63d5=_[_0x39d9('0x42')]({},_0x1e63d5,_0x4fa9b4[_0x39d9('0x44')]);var _0x591024={'where':_0x1e63d5[_0x39d9('0x3e')]};return db[_0x39d9('0x2e')][_0x39d9('0x21')](_0x591024)['then'](function(_0x40038c){_0x42abeb[_0x39d9('0x21')]=_0x40038c;if(_0x4fa9b4['query'][_0x39d9('0x45')]){_0x1e63d5[_0x39d9('0x46')]=[{'all':!![]}];}return db[_0x39d9('0x2e')][_0x39d9('0x47')](_0x1e63d5);})['then'](function(_0x4a3ccc){_0x42abeb[_0x39d9('0x48')]=_0x4a3ccc;return _0x42abeb;})[_0x39d9('0x27')](respondWithFilteredResult(_0x86a117,_0x1e63d5))[_0x39d9('0x49')](handleError(_0x86a117,null));};exports[_0x39d9('0x4a')]=function(_0x58605d,_0x4ea5f1){var _0xe7fb74={'raw':![],'where':{'id':_0x58605d['params']['id']}},_0x2e5ffd={};_0x2e5ffd['model']=_[_0x39d9('0x35')](db[_0x39d9('0x2e')][_0x39d9('0x2f')]);_0x2e5ffd[_0x39d9('0x34')]=_['keys'](_0x58605d[_0x39d9('0x34')]);_0x2e5ffd['filters']=_[_0x39d9('0x36')](_0x2e5ffd['model'],_0x2e5ffd[_0x39d9('0x34')]);_0xe7fb74['attributes']=_[_0x39d9('0x36')](_0x2e5ffd[_0x39d9('0x32')],qs[_0x39d9('0x38')](_0x58605d[_0x39d9('0x34')][_0x39d9('0x38')]));_0xe7fb74[_0x39d9('0x37')]=_0xe7fb74[_0x39d9('0x37')][_0x39d9('0x39')]?_0xe7fb74[_0x39d9('0x37')]:_0x2e5ffd[_0x39d9('0x32')];if(_0x58605d['query'][_0x39d9('0x45')]){_0xe7fb74['include']=[{'all':!![]}];}_0xe7fb74=_[_0x39d9('0x42')]({},_0xe7fb74,_0x58605d[_0x39d9('0x44')]);return db['SalesforceAccount'][_0x39d9('0x4b')](_0xe7fb74)[_0x39d9('0x27')](handleEntityNotFound(_0x4ea5f1,null))[_0x39d9('0x27')](respondWithResult(_0x4ea5f1,null))[_0x39d9('0x49')](handleError(_0x4ea5f1,null));};exports[_0x39d9('0x4c')]=function(_0x4ea6b6,_0x2d85d0){return db[_0x39d9('0x2e')][_0x39d9('0x4c')](_0x4ea6b6[_0x39d9('0x4d')],{})[_0x39d9('0x27')](respondWithResult(_0x2d85d0,0xc9))['catch'](handleError(_0x2d85d0,null));};exports[_0x39d9('0x26')]=function(_0x2240ac,_0x1347bd){if(_0x2240ac['body']['id']){delete _0x2240ac[_0x39d9('0x4d')]['id'];}return db[_0x39d9('0x2e')][_0x39d9('0x4b')]({'where':{'id':_0x2240ac[_0x39d9('0x4e')]['id']}})[_0x39d9('0x27')](handleEntityNotFound(_0x1347bd,null))[_0x39d9('0x27')](saveUpdates(_0x2240ac['body'],null))[_0x39d9('0x27')](respondWithResult(_0x1347bd,null))[_0x39d9('0x49')](handleError(_0x1347bd,null));};exports['destroy']=function(_0x34f3ed,_0xa98e2e){return db[_0x39d9('0x2e')]['find']({'where':{'id':_0x34f3ed[_0x39d9('0x4e')]['id']}})['then'](handleEntityNotFound(_0xa98e2e,null))[_0x39d9('0x27')](removeEntity(_0xa98e2e,null))[_0x39d9('0x49')](handleError(_0xa98e2e,null));};exports[_0x39d9('0x4f')]=function(_0x20b79,_0x56ea4f,_0x656fe8){var _0x8b48b9={};var _0x610ad6={};var _0x5bfc54;var _0x1db9ab;return db[_0x39d9('0x2e')][_0x39d9('0x50')]({'where':{'id':_0x20b79[_0x39d9('0x4e')]['id']}})[_0x39d9('0x27')](handleEntityNotFound(_0x56ea4f,null))['then'](function(_0x413e50){if(_0x413e50){_0x5bfc54=_0x413e50;_0x610ad6[_0x39d9('0x32')]=_['keys'](db[_0x39d9('0x51')][_0x39d9('0x2f')]);_0x610ad6['query']=_['keys'](_0x20b79[_0x39d9('0x34')]);_0x610ad6[_0x39d9('0x3f')]=_[_0x39d9('0x36')](_0x610ad6[_0x39d9('0x32')],_0x610ad6[_0x39d9('0x34')]);_0x8b48b9[_0x39d9('0x37')]=_[_0x39d9('0x36')](_0x610ad6[_0x39d9('0x32')],qs['fields'](_0x20b79[_0x39d9('0x34')][_0x39d9('0x38')]));_0x8b48b9['attributes']=_0x8b48b9['attributes']['length']?_0x8b48b9[_0x39d9('0x37')]:_0x610ad6[_0x39d9('0x32')];_0x8b48b9[_0x39d9('0x3c')]=qs['sort'](_0x20b79[_0x39d9('0x34')]['sort']);_0x8b48b9[_0x39d9('0x3e')]=qs[_0x39d9('0x3f')](_['pick'](_0x20b79['query'],_0x610ad6[_0x39d9('0x3f')]));if(_0x20b79[_0x39d9('0x34')][_0x39d9('0x41')]){_0x8b48b9['where']=_[_0x39d9('0x42')](_0x8b48b9[_0x39d9('0x3e')],{'$or':_[_0x39d9('0x33')](_0x8b48b9['attributes'],function(_0x2001b5){var _0x40151c={};_0x40151c[_0x2001b5]={'$like':'%'+_0x20b79['query'][_0x39d9('0x41')]+'%'};return _0x40151c;})});}_0x8b48b9=_[_0x39d9('0x42')]({},_0x8b48b9,_0x20b79['options']);return _0x5bfc54['getConfigurations'](_0x8b48b9);}})[_0x39d9('0x27')](function(_0x4480fa){if(_0x4480fa){_0x1db9ab=_0x4480fa[_0x39d9('0x39')];if(!_0x20b79[_0x39d9('0x34')]['hasOwnProperty'](_0x39d9('0x3b'))){_0x8b48b9[_0x39d9('0x20')]=qs['limit'](_0x20b79['query'][_0x39d9('0x20')]);_0x8b48b9[_0x39d9('0x1e')]=qs[_0x39d9('0x1e')](_0x20b79[_0x39d9('0x34')][_0x39d9('0x1e')]);}return _0x5bfc54[_0x39d9('0x4f')](_0x8b48b9);}})[_0x39d9('0x27')](function(_0x264905){if(_0x264905){return _0x264905?{'count':_0x1db9ab,'rows':_0x264905}:null;}})[_0x39d9('0x27')](respondWithResult(_0x56ea4f,null))['catch'](handleError(_0x56ea4f,null));};exports['addConfiguration']=function(_0xf1a311,_0x503672,_0x194df0){if(_0xf1a311['body']['id']){delete _0xf1a311[_0x39d9('0x4d')]['id'];}return db[_0x39d9('0x2e')]['findOne']({'where':{'id':_0xf1a311[_0x39d9('0x4e')]['id']}})[_0x39d9('0x27')](handleEntityNotFound(_0x503672,null))[_0x39d9('0x27')](function(_0xb941de){if(_0xb941de){_0xf1a311[_0x39d9('0x4d')]['AccountId']=_0xb941de['id'];_0xf1a311[_0x39d9('0x4d')][_0x39d9('0x52')]=integrations[_0x39d9('0x53')](_0xf1a311[_0x39d9('0x4d')][_0x39d9('0x54')],_0xf1a311[_0x39d9('0x4d')][_0x39d9('0x31')]);_0xf1a311['body'][_0x39d9('0x55')]=integrations[_0x39d9('0x56')](_0xf1a311[_0x39d9('0x4d')][_0x39d9('0x54')],_0xf1a311[_0x39d9('0x4d')][_0x39d9('0x31')]);return db[_0x39d9('0x51')]['create'](_0xf1a311[_0x39d9('0x4d')],{'include':[{'model':db[_0x39d9('0x57')],'as':_0x39d9('0x52')},{'model':db[_0x39d9('0x57')],'as':_0x39d9('0x55')}]});}return null;})[_0x39d9('0x27')](respondWithResult(_0x503672,null))['catch'](handleError(_0x503672,null));};exports['getFields']=function(_0x588e76,_0x296a68,_0x256cb9){var _0xd13ce7;var _0x23e6d2='';var _0x881c8=_0x39d9('0x58');return db['SalesforceAccount'][_0x39d9('0x50')]({'where':{'id':_0x588e76[_0x39d9('0x4e')]['id']},'attributes':['id','remoteUri',_0x39d9('0x59'),_0x39d9('0x5a'),_0x39d9('0x5b'),'password',_0x39d9('0x5c')]})['then'](handleEntityNotFound(_0x296a68,null))[_0x39d9('0x27')](function(_0x666401){if(_0x666401){_0x23e6d2=_0x666401[_0x39d9('0x5d')];var _0x9b4b5d=_0x23e6d2[_0x39d9('0x5e')](-0x1);if(_0x9b4b5d==='/'){_0x23e6d2=_0x23e6d2[_0x39d9('0x5f')](0x0,_0x23e6d2['lastIndexOf'](_0x9b4b5d));}_0xd13ce7=new jsforce[(_0x39d9('0x60'))]({'oauth2':{'loginUrl':_0x23e6d2,'clientId':_0x666401[_0x39d9('0x59')],'clientSecret':_0x666401['clientSecret']}});return _0xd13ce7[_0x39d9('0x61')](_0x666401[_0x39d9('0x5b')],_0x666401[_0x39d9('0x62')][_0x39d9('0x63')](_0x666401[_0x39d9('0x5c')]));}})[_0x39d9('0x27')](function(_0x14f074){if(_0x14f074){if(!_['isNil'](_0x588e76['query'][_0x39d9('0x64')])){_0x881c8=_0x588e76['query'][_0x39d9('0x64')];}return _0xd13ce7[_0x39d9('0x65')](_0x881c8)['describe']();}})[_0x39d9('0x27')](function(_0x592341){var _0x25a0c6=[_0x39d9('0x66'),_0x39d9('0x67'),_0x39d9('0x68'),_0x39d9('0x69'),_0x39d9('0x6a'),'Description'];var _0x220f44=[_0x39d9('0x6b'),'int','picklist',_0x39d9('0x6c'),_0x39d9('0x6d'),_0x39d9('0x6e'),_0x39d9('0x6f')];if(_0x592341){_[_0x39d9('0x70')](_0x592341[_0x39d9('0x38')],function(_0x20ee05){return _0x25a0c6[_0x39d9('0x71')](_0x20ee05[_0x39d9('0x2c')])||!_0x220f44[_0x39d9('0x71')](_0x20ee05[_0x39d9('0x31')]);});return{'count':_0x592341[_0x39d9('0x38')][_0x39d9('0x39')],'rows':_['map'](_0x592341[_0x39d9('0x38')],function(_0x5467d6){return{'id':_0x5467d6['name'],'name':_0x5467d6[_0x39d9('0x72')],'custom':_0x5467d6['custom'],'options':_0x5467d6[_0x39d9('0x73')][_0x39d9('0x39')]>0x0?_['map'](_0x5467d6[_0x39d9('0x73')],function(_0x5357c2){return{'name':_0x5357c2[_0x39d9('0x72')],'value':_0x5357c2[_0x39d9('0x74')]};}):_0x5467d6[_0x39d9('0x31')]==_0x39d9('0x6c')?[{'name':_0x39d9('0x75'),'value':'true'},{'name':'False','value':_0x39d9('0x76')}]:[]};})};}})['then'](respondWithResult(_0x296a68,null))['catch'](function(_0x447c68){var _0x5cfbe5=_0x588e76[_0x39d9('0x34')][_0x39d9('0x77')]?0x1f4:_0x447c68[_0x39d9('0x78')]||0x1f4;logger['error'](_0x39d9('0x79'),'getFields',_0x5cfbe5,JSON[_0x39d9('0x7a')](_0x447c68));delete _0x447c68[_0x39d9('0x2c')];if(_0x5cfbe5===0x191){_0x5cfbe5=0x190;}_0x296a68[_0x39d9('0x1c')](_0x5cfbe5)[_0x39d9('0x7b')](_0x588e76[_0x39d9('0x34')][_0x39d9('0x77')]?{'message':'Wrong\x20credentials','statusCode':_0x447c68[_0x39d9('0x78')]}:_0x447c68);});};