Built motion from commit 44b1f254.|2.6.26
[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 _0xa001=['filters','intersection','attributes','fields','length','nolimit','sort','where','VIRTUAL','filter','merge','options','includeAll','SalesforceAccount','findAll','rows','catch','params','rawAttributes','include','create','body','find','getConfigurations','findOne','SalesforceConfiguration','order','pick','addConfiguration','AccountId','Subjects','channel','getDescriptions','SalesforceField','Descriptions','getFields','Task','remoteUri','clientId','clientSecret','username','password','securityToken','slice','lastIndexOf','Connection','login','concat','isNil','ticketType','sobject','describe','OwnerId','ActivityDate','IsReminderSet','IsRecurrence','Subject','string','int','picklist','boolean','email','phone','remove','includes','label','custom','picklistValues','value','True','true','False','false','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','stringify','Wrong\x20credentials','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','fs-extra','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','../../components/integrations/configuration','sendStatus','status','json','offset','undefined','limit','count','set','apply','save','update','then','destroy','error','name','send','index','fieldName','type','key','model','map','query','keys'];(function(_0x466247,_0x5d69e3){var _0x4b352e=function(_0x58c71b){while(--_0x58c71b){_0x466247['push'](_0x466247['shift']());}};_0x4b352e(++_0x5d69e3);}(_0xa001,0x1d1));var _0x1a00=function(_0x2b11b3,_0x251ce3){_0x2b11b3=_0x2b11b3-0x0;var _0x298bf1=_0xa001[_0x2b11b3];return _0x298bf1;};'use strict';var emlformat=require(_0x1a00('0x0'));var rimraf=require(_0x1a00('0x1'));var zipdir=require(_0x1a00('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x1a00('0x3'));var moment=require(_0x1a00('0x4'));var BPromise=require(_0x1a00('0x5'));var Mustache=require(_0x1a00('0x6'));var util=require(_0x1a00('0x7'));var path=require(_0x1a00('0x8'));var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x1a00('0x9'));var _=require(_0x1a00('0xa'));var squel=require(_0x1a00('0xb'));var crypto=require(_0x1a00('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x1a00('0xd'));var toCsv=require('to-csv');var querystring=require(_0x1a00('0xe'));var Papa=require(_0x1a00('0xf'));var Redis=require(_0x1a00('0x10'));var authService=require(_0x1a00('0x11'));var qs=require(_0x1a00('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x1a00('0x13'));var logger=require(_0x1a00('0x14'))(_0x1a00('0x15'));var utils=require(_0x1a00('0x16'));var config=require(_0x1a00('0x17'));var licenseUtil=require(_0x1a00('0x18'));var db=require(_0x1a00('0x19'))['db'];var integrations=require(_0x1a00('0x1a'));function respondWithStatusCode(_0x4b2c59,_0xef213c){_0xef213c=_0xef213c||0xcc;return function(_0x518574){if(_0x518574){return _0x4b2c59[_0x1a00('0x1b')](_0xef213c);}return _0x4b2c59['status'](_0xef213c)['end']();};}function respondWithResult(_0x440c2f,_0x59da9c){_0x59da9c=_0x59da9c||0xc8;return function(_0x2c4c88){if(_0x2c4c88){return _0x440c2f[_0x1a00('0x1c')](_0x59da9c)[_0x1a00('0x1d')](_0x2c4c88);}};}function respondWithFilteredResult(_0x5977dc,_0x20ea3b){return function(_0x3aaacb){if(_0x3aaacb){var _0x3f3dd4=typeof _0x20ea3b[_0x1a00('0x1e')]===_0x1a00('0x1f')&&typeof _0x20ea3b[_0x1a00('0x20')]==='undefined';var _0xc0d56b=_0x3aaacb[_0x1a00('0x21')];var _0xd4b8a0=_0x3f3dd4?0x0:_0x20ea3b[_0x1a00('0x1e')];var _0xbc4947=_0x3f3dd4?_0x3aaacb[_0x1a00('0x21')]:_0x20ea3b[_0x1a00('0x1e')]+_0x20ea3b['limit'];var _0x3749d6;if(_0xbc4947>=_0xc0d56b){_0xbc4947=_0xc0d56b;_0x3749d6=0xc8;}else{_0x3749d6=0xce;}_0x5977dc[_0x1a00('0x1c')](_0x3749d6);return _0x5977dc[_0x1a00('0x22')]('Content-Range',_0xd4b8a0+'-'+_0xbc4947+'/'+_0xc0d56b)['json'](_0x3aaacb);}return null;};}function patchUpdates(_0x5cf35b){return function(_0x109e9c){try{jsonpatch[_0x1a00('0x23')](_0x109e9c,_0x5cf35b,!![]);}catch(_0x3cf3a6){return BPromise['reject'](_0x3cf3a6);}return _0x109e9c[_0x1a00('0x24')]();};}function saveUpdates(_0x1b18d5,_0x431cf8){return function(_0x5afbcc){if(_0x5afbcc){return _0x5afbcc[_0x1a00('0x25')](_0x1b18d5)[_0x1a00('0x26')](function(_0x3ca1b5){return _0x3ca1b5;});}return null;};}function removeEntity(_0x4e9cbd,_0x41dcc7){return function(_0x3fc0bf){if(_0x3fc0bf){return _0x3fc0bf[_0x1a00('0x27')]()['then'](function(){_0x4e9cbd['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x24ae38,_0x17dea9){return function(_0x1b19eb){if(!_0x1b19eb){_0x24ae38['sendStatus'](0x194);}return _0x1b19eb;};}function handleError(_0x2878e3,_0x855435){_0x855435=_0x855435||0x1f4;return function(_0x1532b5){logger[_0x1a00('0x28')](_0x1532b5['stack']);if(_0x1532b5['name']){delete _0x1532b5[_0x1a00('0x29')];}_0x2878e3[_0x1a00('0x1c')](_0x855435)[_0x1a00('0x2a')](_0x1532b5);};}exports[_0x1a00('0x2b')]=function(_0x4f9473,_0x31238d){var _0x188f2d={},_0x18ef5b={},_0x423a9d={'count':0x0,'rows':[]};var _0x451286=_['map'](db['SalesforceAccount']['rawAttributes'],function(_0x37eab7){return{'name':_0x37eab7[_0x1a00('0x2c')],'type':_0x37eab7[_0x1a00('0x2d')][_0x1a00('0x2e')]};});_0x18ef5b[_0x1a00('0x2f')]=_[_0x1a00('0x30')](_0x451286,_0x1a00('0x29'));_0x18ef5b[_0x1a00('0x31')]=_[_0x1a00('0x32')](_0x4f9473['query']);_0x18ef5b[_0x1a00('0x33')]=_[_0x1a00('0x34')](_0x18ef5b[_0x1a00('0x2f')],_0x18ef5b[_0x1a00('0x31')]);_0x188f2d[_0x1a00('0x35')]=_[_0x1a00('0x34')](_0x18ef5b[_0x1a00('0x2f')],qs[_0x1a00('0x36')](_0x4f9473[_0x1a00('0x31')][_0x1a00('0x36')]));_0x188f2d[_0x1a00('0x35')]=_0x188f2d['attributes'][_0x1a00('0x37')]?_0x188f2d[_0x1a00('0x35')]:_0x18ef5b['model'];if(!_0x4f9473[_0x1a00('0x31')]['hasOwnProperty'](_0x1a00('0x38'))){_0x188f2d[_0x1a00('0x20')]=qs[_0x1a00('0x20')](_0x4f9473[_0x1a00('0x31')][_0x1a00('0x20')]);_0x188f2d[_0x1a00('0x1e')]=qs[_0x1a00('0x1e')](_0x4f9473[_0x1a00('0x31')][_0x1a00('0x1e')]);}_0x188f2d['order']=qs[_0x1a00('0x39')](_0x4f9473[_0x1a00('0x31')][_0x1a00('0x39')]);_0x188f2d['where']=qs[_0x1a00('0x33')](_['pick'](_0x4f9473[_0x1a00('0x31')],_0x18ef5b[_0x1a00('0x33')]),_0x451286);if(_0x4f9473[_0x1a00('0x31')]['filter']){_0x188f2d[_0x1a00('0x3a')]=_['merge'](_0x188f2d[_0x1a00('0x3a')],{'$or':_[_0x1a00('0x30')](_0x451286,function(_0x34466f){if(_0x34466f[_0x1a00('0x2d')]!==_0x1a00('0x3b')){var _0x20c62b={};_0x20c62b[_0x34466f[_0x1a00('0x29')]]={'$like':'%'+_0x4f9473['query'][_0x1a00('0x3c')]+'%'};return _0x20c62b;}})});}_0x188f2d=_[_0x1a00('0x3d')]({},_0x188f2d,_0x4f9473[_0x1a00('0x3e')]);var _0x435499={'where':_0x188f2d['where']};return db['SalesforceAccount'][_0x1a00('0x21')](_0x435499)['then'](function(_0x2b96c1){_0x423a9d['count']=_0x2b96c1;if(_0x4f9473['query'][_0x1a00('0x3f')]){_0x188f2d['include']=[{'all':!![]}];}return db[_0x1a00('0x40')][_0x1a00('0x41')](_0x188f2d);})[_0x1a00('0x26')](function(_0x5513d5){_0x423a9d[_0x1a00('0x42')]=_0x5513d5;return _0x423a9d;})[_0x1a00('0x26')](respondWithFilteredResult(_0x31238d,_0x188f2d))[_0x1a00('0x43')](handleError(_0x31238d,null));};exports['show']=function(_0xae1c2f,_0x14b154){var _0x150349={'raw':![],'where':{'id':_0xae1c2f[_0x1a00('0x44')]['id']}},_0x32f60e={};_0x32f60e[_0x1a00('0x2f')]=_[_0x1a00('0x32')](db['SalesforceAccount'][_0x1a00('0x45')]);_0x32f60e[_0x1a00('0x31')]=_[_0x1a00('0x32')](_0xae1c2f[_0x1a00('0x31')]);_0x32f60e['filters']=_[_0x1a00('0x34')](_0x32f60e[_0x1a00('0x2f')],_0x32f60e[_0x1a00('0x31')]);_0x150349['attributes']=_[_0x1a00('0x34')](_0x32f60e['model'],qs[_0x1a00('0x36')](_0xae1c2f['query']['fields']));_0x150349[_0x1a00('0x35')]=_0x150349[_0x1a00('0x35')][_0x1a00('0x37')]?_0x150349['attributes']:_0x32f60e[_0x1a00('0x2f')];if(_0xae1c2f[_0x1a00('0x31')][_0x1a00('0x3f')]){_0x150349[_0x1a00('0x46')]=[{'all':!![]}];}_0x150349=_[_0x1a00('0x3d')]({},_0x150349,_0xae1c2f['options']);return db[_0x1a00('0x40')]['find'](_0x150349)[_0x1a00('0x26')](handleEntityNotFound(_0x14b154,null))[_0x1a00('0x26')](respondWithResult(_0x14b154,null))[_0x1a00('0x43')](handleError(_0x14b154,null));};exports[_0x1a00('0x47')]=function(_0x325853,_0x5ddc61){return db['SalesforceAccount'][_0x1a00('0x47')](_0x325853[_0x1a00('0x48')],{})[_0x1a00('0x26')](respondWithResult(_0x5ddc61,0xc9))[_0x1a00('0x43')](handleError(_0x5ddc61,null));};exports[_0x1a00('0x25')]=function(_0x308a4f,_0x29549e){if(_0x308a4f['body']['id']){delete _0x308a4f[_0x1a00('0x48')]['id'];}return db[_0x1a00('0x40')]['find']({'where':{'id':_0x308a4f[_0x1a00('0x44')]['id']}})[_0x1a00('0x26')](handleEntityNotFound(_0x29549e,null))[_0x1a00('0x26')](saveUpdates(_0x308a4f['body'],null))[_0x1a00('0x26')](respondWithResult(_0x29549e,null))[_0x1a00('0x43')](handleError(_0x29549e,null));};exports[_0x1a00('0x27')]=function(_0x7a1620,_0x2e9158){return db['SalesforceAccount'][_0x1a00('0x49')]({'where':{'id':_0x7a1620[_0x1a00('0x44')]['id']}})[_0x1a00('0x26')](handleEntityNotFound(_0x2e9158,null))[_0x1a00('0x26')](removeEntity(_0x2e9158,null))[_0x1a00('0x43')](handleError(_0x2e9158,null));};exports[_0x1a00('0x4a')]=function(_0x4ec64b,_0xb42332,_0x429508){var _0x3b8312={};var _0x284285={};var _0x57680e;var _0x4afa23;return db[_0x1a00('0x40')][_0x1a00('0x4b')]({'where':{'id':_0x4ec64b[_0x1a00('0x44')]['id']}})[_0x1a00('0x26')](handleEntityNotFound(_0xb42332,null))['then'](function(_0x16a085){if(_0x16a085){_0x57680e=_0x16a085;_0x284285[_0x1a00('0x2f')]=_['keys'](db[_0x1a00('0x4c')]['rawAttributes']);_0x284285[_0x1a00('0x31')]=_[_0x1a00('0x32')](_0x4ec64b[_0x1a00('0x31')]);_0x284285[_0x1a00('0x33')]=_[_0x1a00('0x34')](_0x284285['model'],_0x284285[_0x1a00('0x31')]);_0x3b8312[_0x1a00('0x35')]=_[_0x1a00('0x34')](_0x284285['model'],qs[_0x1a00('0x36')](_0x4ec64b['query'][_0x1a00('0x36')]));_0x3b8312[_0x1a00('0x35')]=_0x3b8312['attributes']['length']?_0x3b8312['attributes']:_0x284285[_0x1a00('0x2f')];_0x3b8312[_0x1a00('0x4d')]=qs['sort'](_0x4ec64b[_0x1a00('0x31')][_0x1a00('0x39')]);_0x3b8312[_0x1a00('0x3a')]=qs[_0x1a00('0x33')](_[_0x1a00('0x4e')](_0x4ec64b[_0x1a00('0x31')],_0x284285[_0x1a00('0x33')]));if(_0x4ec64b[_0x1a00('0x31')][_0x1a00('0x3c')]){_0x3b8312[_0x1a00('0x3a')]=_[_0x1a00('0x3d')](_0x3b8312[_0x1a00('0x3a')],{'$or':_[_0x1a00('0x30')](_0x3b8312['attributes'],function(_0x2be21c){var _0x5213e8={};_0x5213e8[_0x2be21c]={'$like':'%'+_0x4ec64b[_0x1a00('0x31')][_0x1a00('0x3c')]+'%'};return _0x5213e8;})});}_0x3b8312=_[_0x1a00('0x3d')]({},_0x3b8312,_0x4ec64b[_0x1a00('0x3e')]);return _0x57680e[_0x1a00('0x4a')](_0x3b8312);}})[_0x1a00('0x26')](function(_0x37d7f1){if(_0x37d7f1){_0x4afa23=_0x37d7f1[_0x1a00('0x37')];if(!_0x4ec64b[_0x1a00('0x31')]['hasOwnProperty'](_0x1a00('0x38'))){_0x3b8312[_0x1a00('0x20')]=qs[_0x1a00('0x20')](_0x4ec64b[_0x1a00('0x31')][_0x1a00('0x20')]);_0x3b8312[_0x1a00('0x1e')]=qs[_0x1a00('0x1e')](_0x4ec64b[_0x1a00('0x31')][_0x1a00('0x1e')]);}return _0x57680e['getConfigurations'](_0x3b8312);}})['then'](function(_0x3bddb3){if(_0x3bddb3){return _0x3bddb3?{'count':_0x4afa23,'rows':_0x3bddb3}:null;}})['then'](respondWithResult(_0xb42332,null))[_0x1a00('0x43')](handleError(_0xb42332,null));};exports[_0x1a00('0x4f')]=function(_0x28f32f,_0x356f5a,_0x477531){if(_0x28f32f[_0x1a00('0x48')]['id']){delete _0x28f32f[_0x1a00('0x48')]['id'];}return db['SalesforceAccount']['findOne']({'where':{'id':_0x28f32f['params']['id']}})[_0x1a00('0x26')](handleEntityNotFound(_0x356f5a,null))[_0x1a00('0x26')](function(_0x495b0d){if(_0x495b0d){_0x28f32f['body'][_0x1a00('0x50')]=_0x495b0d['id'];_0x28f32f[_0x1a00('0x48')][_0x1a00('0x51')]=integrations['getSubjects'](_0x28f32f[_0x1a00('0x48')][_0x1a00('0x52')],_0x28f32f[_0x1a00('0x48')][_0x1a00('0x2d')]);_0x28f32f['body']['Descriptions']=integrations[_0x1a00('0x53')](_0x28f32f['body'][_0x1a00('0x52')],_0x28f32f[_0x1a00('0x48')]['type']);return db[_0x1a00('0x4c')][_0x1a00('0x47')](_0x28f32f[_0x1a00('0x48')],{'include':[{'model':db[_0x1a00('0x54')],'as':'Subjects'},{'model':db[_0x1a00('0x54')],'as':_0x1a00('0x55')}]});}return null;})[_0x1a00('0x26')](respondWithResult(_0x356f5a,null))[_0x1a00('0x43')](handleError(_0x356f5a,null));};exports[_0x1a00('0x56')]=function(_0x5db366,_0x209e27,_0x2e1b20){var _0x4c209c;var _0x1d863d='';var _0x366813=_0x1a00('0x57');return db[_0x1a00('0x40')][_0x1a00('0x4b')]({'where':{'id':_0x5db366[_0x1a00('0x44')]['id']},'attributes':['id',_0x1a00('0x58'),_0x1a00('0x59'),_0x1a00('0x5a'),_0x1a00('0x5b'),_0x1a00('0x5c'),_0x1a00('0x5d')]})[_0x1a00('0x26')](handleEntityNotFound(_0x209e27,null))[_0x1a00('0x26')](function(_0x1586d8){if(_0x1586d8){_0x1d863d=_0x1586d8[_0x1a00('0x58')];var _0x38e04c=_0x1d863d[_0x1a00('0x5e')](-0x1);if(_0x38e04c==='/'){_0x1d863d=_0x1d863d['substring'](0x0,_0x1d863d[_0x1a00('0x5f')](_0x38e04c));}_0x4c209c=new jsforce[(_0x1a00('0x60'))]({'oauth2':{'loginUrl':_0x1d863d,'clientId':_0x1586d8[_0x1a00('0x59')],'clientSecret':_0x1586d8[_0x1a00('0x5a')]}});return _0x4c209c[_0x1a00('0x61')](_0x1586d8[_0x1a00('0x5b')],_0x1586d8['password'][_0x1a00('0x62')](_0x1586d8['securityToken']));}})[_0x1a00('0x26')](function(_0x35053f){if(_0x35053f){if(!_[_0x1a00('0x63')](_0x5db366[_0x1a00('0x31')][_0x1a00('0x64')])){_0x366813=_0x5db366[_0x1a00('0x31')][_0x1a00('0x64')];}return _0x4c209c[_0x1a00('0x65')](_0x366813)[_0x1a00('0x66')]();}})[_0x1a00('0x26')](function(_0x53c821){var _0x20a507=[_0x1a00('0x67'),_0x1a00('0x68'),_0x1a00('0x69'),_0x1a00('0x6a'),_0x1a00('0x6b'),'Description'];var _0x2bda42=[_0x1a00('0x6c'),_0x1a00('0x6d'),_0x1a00('0x6e'),_0x1a00('0x6f'),_0x1a00('0x70'),'textarea',_0x1a00('0x71')];if(_0x53c821){_[_0x1a00('0x72')](_0x53c821[_0x1a00('0x36')],function(_0x456c84){return _0x20a507['includes'](_0x456c84[_0x1a00('0x29')])||!_0x2bda42[_0x1a00('0x73')](_0x456c84['type']);});return{'count':_0x53c821['fields'][_0x1a00('0x37')],'rows':_['map'](_0x53c821[_0x1a00('0x36')],function(_0x44241e){return{'id':_0x44241e[_0x1a00('0x29')],'name':_0x44241e[_0x1a00('0x74')],'custom':_0x44241e[_0x1a00('0x75')],'options':_0x44241e[_0x1a00('0x76')][_0x1a00('0x37')]>0x0?_[_0x1a00('0x30')](_0x44241e[_0x1a00('0x76')],function(_0x411527){return{'name':_0x411527[_0x1a00('0x74')],'value':_0x411527[_0x1a00('0x77')]};}):_0x44241e['type']==_0x1a00('0x6f')?[{'name':_0x1a00('0x78'),'value':_0x1a00('0x79')},{'name':_0x1a00('0x7a'),'value':_0x1a00('0x7b')}]:[]};})};}})[_0x1a00('0x26')](respondWithResult(_0x209e27,null))[_0x1a00('0x43')](function(_0x40099a){var _0x1998fa=_0x5db366[_0x1a00('0x31')][_0x1a00('0x7c')]?0x1f4:_0x40099a[_0x1a00('0x7d')]||0x1f4;logger[_0x1a00('0x28')](_0x1a00('0x7e'),_0x1a00('0x56'),_0x1998fa,JSON[_0x1a00('0x7f')](_0x40099a));delete _0x40099a['name'];if(_0x1998fa===0x191){_0x1998fa=0x190;}_0x209e27['status'](_0x1998fa)[_0x1a00('0x2a')](_0x5db366[_0x1a00('0x31')][_0x1a00('0x7c')]?{'message':_0x1a00('0x80'),'statusCode':_0x40099a[_0x1a00('0x7d')]}:_0x40099a);});};