Built motion from commit 25580385.|2.6.2
[motion2.git] / server / api / intDeskAccount / intDeskAccount.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 _0x1524=['show','params','includeAll','include','find','create','body','getConfigurations','findOne','DeskConfiguration','pick','filter','addConfiguration','getSubjects','channel','Descriptions','getDescriptions','DeskField','Subjects','getFields','priority','remoteUri','authType','username','password','consumerKey','token','tokenSecret','slice','lastIndexOf','GET','format','%s/custom_fields','application/json','headers','Authorization','%s:%s','toString','_embedded','entries','active','test','stringify','Wrong\x20credentials','statusCode','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','count','set','save','update','destroy','then','stack','name','send','index','map','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','merge','VIRTUAL','options','DeskAccount','findAll','rows','catch'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x1524,0x9f));var _0x4152=function(_0x411bd1,_0x416106){_0x411bd1=_0x411bd1-0x0;var _0x320464=_0x1524[_0x411bd1];return _0x320464;};'use strict';var emlformat=require(_0x4152('0x0'));var rimraf=require(_0x4152('0x1'));var zipdir=require(_0x4152('0x2'));var jsonpatch=require(_0x4152('0x3'));var rp=require(_0x4152('0x4'));var moment=require(_0x4152('0x5'));var BPromise=require(_0x4152('0x6'));var Mustache=require('mustache');var util=require(_0x4152('0x7'));var path=require(_0x4152('0x8'));var sox=require('sox');var csv=require(_0x4152('0x9'));var ejs=require(_0x4152('0xa'));var fs=require('fs');var fs_extra=require(_0x4152('0xb'));var _=require(_0x4152('0xc'));var squel=require(_0x4152('0xd'));var crypto=require(_0x4152('0xe'));var jsforce=require(_0x4152('0xf'));var deskjs=require(_0x4152('0x10'));var toCsv=require('to-csv');var querystring=require(_0x4152('0x11'));var Papa=require(_0x4152('0x12'));var Redis=require(_0x4152('0x13'));var authService=require(_0x4152('0x14'));var qs=require('../../components/parsers/qs');var as=require(_0x4152('0x15'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x4152('0x16'))(_0x4152('0x17'));var utils=require(_0x4152('0x18'));var config=require(_0x4152('0x19'));var licenseUtil=require(_0x4152('0x1a'));var db=require(_0x4152('0x1b'))['db'];var integrations=require('../../components/integrations/configuration');function respondWithStatusCode(_0x39c513,_0x25fcf2){_0x25fcf2=_0x25fcf2||0xcc;return function(_0x4b1f2c){if(_0x4b1f2c){return _0x39c513[_0x4152('0x1c')](_0x25fcf2);}return _0x39c513['status'](_0x25fcf2)[_0x4152('0x1d')]();};}function respondWithResult(_0x325889,_0x2419b5){_0x2419b5=_0x2419b5||0xc8;return function(_0x5bd6d4){if(_0x5bd6d4){return _0x325889[_0x4152('0x1e')](_0x2419b5)[_0x4152('0x1f')](_0x5bd6d4);}};}function respondWithFilteredResult(_0x15ac23,_0x4556e4){return function(_0x365ecf){if(_0x365ecf){var _0xf4e2c7=typeof _0x4556e4[_0x4152('0x20')]===_0x4152('0x21')&&typeof _0x4556e4[_0x4152('0x22')]===_0x4152('0x21');var _0x5be80e=_0x365ecf[_0x4152('0x23')];var _0x24293d=_0xf4e2c7?0x0:_0x4556e4[_0x4152('0x20')];var _0x130cd2=_0xf4e2c7?_0x365ecf['count']:_0x4556e4[_0x4152('0x20')]+_0x4556e4['limit'];var _0x4a1f2b;if(_0x130cd2>=_0x5be80e){_0x130cd2=_0x5be80e;_0x4a1f2b=0xc8;}else{_0x4a1f2b=0xce;}_0x15ac23[_0x4152('0x1e')](_0x4a1f2b);return _0x15ac23[_0x4152('0x24')]('Content-Range',_0x24293d+'-'+_0x130cd2+'/'+_0x5be80e)[_0x4152('0x1f')](_0x365ecf);}return null;};}function patchUpdates(_0x5d6972){return function(_0x30c457){try{jsonpatch['apply'](_0x30c457,_0x5d6972,!![]);}catch(_0x32c41b){return BPromise['reject'](_0x32c41b);}return _0x30c457[_0x4152('0x25')]();};}function saveUpdates(_0x3b9cb0,_0x254e08){return function(_0x19da60){if(_0x19da60){return _0x19da60[_0x4152('0x26')](_0x3b9cb0)['then'](function(_0x38d6bc){return _0x38d6bc;});}return null;};}function removeEntity(_0x21cfa6,_0x8d99e3){return function(_0x19c947){if(_0x19c947){return _0x19c947[_0x4152('0x27')]()[_0x4152('0x28')](function(){_0x21cfa6[_0x4152('0x1e')](0xcc)['end']();});}};}function handleEntityNotFound(_0x539e79,_0x3ec2bb){return function(_0x3b87b6){if(!_0x3b87b6){_0x539e79[_0x4152('0x1c')](0x194);}return _0x3b87b6;};}function handleError(_0x17e7a1,_0x5c3e29){_0x5c3e29=_0x5c3e29||0x1f4;return function(_0x3074f5){logger['error'](_0x3074f5[_0x4152('0x29')]);if(_0x3074f5[_0x4152('0x2a')]){delete _0x3074f5['name'];}_0x17e7a1['status'](_0x5c3e29)[_0x4152('0x2b')](_0x3074f5);};}exports[_0x4152('0x2c')]=function(_0x5c8e61,_0x1f7847){var _0x5bea6f={},_0x36f998={},_0x246dc6={'count':0x0,'rows':[]};var _0x2b3e1f=_[_0x4152('0x2d')](db['DeskAccount'][_0x4152('0x2e')],function(_0x31a1b5){return{'name':_0x31a1b5[_0x4152('0x2f')],'type':_0x31a1b5[_0x4152('0x30')][_0x4152('0x31')]};});_0x36f998[_0x4152('0x32')]=_['map'](_0x2b3e1f,_0x4152('0x2a'));_0x36f998[_0x4152('0x33')]=_[_0x4152('0x34')](_0x5c8e61[_0x4152('0x33')]);_0x36f998[_0x4152('0x35')]=_[_0x4152('0x36')](_0x36f998[_0x4152('0x32')],_0x36f998[_0x4152('0x33')]);_0x5bea6f[_0x4152('0x37')]=_['intersection'](_0x36f998[_0x4152('0x32')],qs[_0x4152('0x38')](_0x5c8e61[_0x4152('0x33')][_0x4152('0x38')]));_0x5bea6f[_0x4152('0x37')]=_0x5bea6f[_0x4152('0x37')][_0x4152('0x39')]?_0x5bea6f['attributes']:_0x36f998[_0x4152('0x32')];if(!_0x5c8e61[_0x4152('0x33')][_0x4152('0x3a')](_0x4152('0x3b'))){_0x5bea6f['limit']=qs['limit'](_0x5c8e61[_0x4152('0x33')][_0x4152('0x22')]);_0x5bea6f['offset']=qs[_0x4152('0x20')](_0x5c8e61[_0x4152('0x33')][_0x4152('0x20')]);}_0x5bea6f['order']=qs[_0x4152('0x3c')](_0x5c8e61[_0x4152('0x33')][_0x4152('0x3c')]);_0x5bea6f[_0x4152('0x3d')]=qs['filters'](_['pick'](_0x5c8e61[_0x4152('0x33')],_0x36f998['filters']),_0x2b3e1f);if(_0x5c8e61['query']['filter']){_0x5bea6f['where']=_[_0x4152('0x3e')](_0x5bea6f[_0x4152('0x3d')],{'$or':_[_0x4152('0x2d')](_0x2b3e1f,function(_0x1e9a71){if(_0x1e9a71[_0x4152('0x30')]!==_0x4152('0x3f')){var _0x2909cc={};_0x2909cc[_0x1e9a71[_0x4152('0x2a')]]={'$like':'%'+_0x5c8e61[_0x4152('0x33')]['filter']+'%'};return _0x2909cc;}})});}_0x5bea6f=_[_0x4152('0x3e')]({},_0x5bea6f,_0x5c8e61[_0x4152('0x40')]);var _0x5caf0e={'where':_0x5bea6f[_0x4152('0x3d')]};return db[_0x4152('0x41')]['count'](_0x5caf0e)[_0x4152('0x28')](function(_0x4f99e9){_0x246dc6[_0x4152('0x23')]=_0x4f99e9;if(_0x5c8e61[_0x4152('0x33')]['includeAll']){_0x5bea6f['include']=[{'all':!![]}];}return db['DeskAccount'][_0x4152('0x42')](_0x5bea6f);})[_0x4152('0x28')](function(_0x2be099){_0x246dc6[_0x4152('0x43')]=_0x2be099;return _0x246dc6;})['then'](respondWithFilteredResult(_0x1f7847,_0x5bea6f))[_0x4152('0x44')](handleError(_0x1f7847,null));};exports[_0x4152('0x45')]=function(_0x51bc65,_0x4fb27c){var _0x3944bf={'raw':![],'where':{'id':_0x51bc65[_0x4152('0x46')]['id']}},_0x1b873a={};_0x1b873a[_0x4152('0x32')]=_[_0x4152('0x34')](db['DeskAccount'][_0x4152('0x2e')]);_0x1b873a[_0x4152('0x33')]=_['keys'](_0x51bc65[_0x4152('0x33')]);_0x1b873a[_0x4152('0x35')]=_['intersection'](_0x1b873a['model'],_0x1b873a['query']);_0x3944bf[_0x4152('0x37')]=_[_0x4152('0x36')](_0x1b873a[_0x4152('0x32')],qs[_0x4152('0x38')](_0x51bc65[_0x4152('0x33')][_0x4152('0x38')]));_0x3944bf[_0x4152('0x37')]=_0x3944bf[_0x4152('0x37')][_0x4152('0x39')]?_0x3944bf[_0x4152('0x37')]:_0x1b873a[_0x4152('0x32')];if(_0x51bc65['query'][_0x4152('0x47')]){_0x3944bf[_0x4152('0x48')]=[{'all':!![]}];}_0x3944bf=_['merge']({},_0x3944bf,_0x51bc65[_0x4152('0x40')]);return db['DeskAccount'][_0x4152('0x49')](_0x3944bf)[_0x4152('0x28')](handleEntityNotFound(_0x4fb27c,null))[_0x4152('0x28')](respondWithResult(_0x4fb27c,null))['catch'](handleError(_0x4fb27c,null));};exports[_0x4152('0x4a')]=function(_0x56138d,_0x3a369a){return db[_0x4152('0x41')][_0x4152('0x4a')](_0x56138d[_0x4152('0x4b')],{})['then'](respondWithResult(_0x3a369a,0xc9))[_0x4152('0x44')](handleError(_0x3a369a,null));};exports[_0x4152('0x26')]=function(_0x34cfa4,_0x40459a){if(_0x34cfa4[_0x4152('0x4b')]['id']){delete _0x34cfa4['body']['id'];}return db[_0x4152('0x41')]['find']({'where':{'id':_0x34cfa4[_0x4152('0x46')]['id']}})['then'](handleEntityNotFound(_0x40459a,null))[_0x4152('0x28')](saveUpdates(_0x34cfa4['body'],null))[_0x4152('0x28')](respondWithResult(_0x40459a,null))[_0x4152('0x44')](handleError(_0x40459a,null));};exports[_0x4152('0x27')]=function(_0x207e99,_0x2072a4){return db[_0x4152('0x41')]['find']({'where':{'id':_0x207e99['params']['id']}})[_0x4152('0x28')](handleEntityNotFound(_0x2072a4,null))[_0x4152('0x28')](removeEntity(_0x2072a4,null))['catch'](handleError(_0x2072a4,null));};exports[_0x4152('0x4c')]=function(_0x46a185,_0x2b5667,_0x3aee86){var _0x4895c9={};var _0x47fce8={};var _0x35c221;var _0x2f78ec;return db[_0x4152('0x41')][_0x4152('0x4d')]({'where':{'id':_0x46a185['params']['id']}})[_0x4152('0x28')](handleEntityNotFound(_0x2b5667,null))[_0x4152('0x28')](function(_0x4c896d){if(_0x4c896d){_0x35c221=_0x4c896d;_0x47fce8['model']=_[_0x4152('0x34')](db[_0x4152('0x4e')]['rawAttributes']);_0x47fce8['query']=_[_0x4152('0x34')](_0x46a185[_0x4152('0x33')]);_0x47fce8['filters']=_[_0x4152('0x36')](_0x47fce8['model'],_0x47fce8[_0x4152('0x33')]);_0x4895c9[_0x4152('0x37')]=_[_0x4152('0x36')](_0x47fce8['model'],qs[_0x4152('0x38')](_0x46a185[_0x4152('0x33')][_0x4152('0x38')]));_0x4895c9[_0x4152('0x37')]=_0x4895c9[_0x4152('0x37')]['length']?_0x4895c9[_0x4152('0x37')]:_0x47fce8[_0x4152('0x32')];_0x4895c9['order']=qs['sort'](_0x46a185[_0x4152('0x33')][_0x4152('0x3c')]);_0x4895c9[_0x4152('0x3d')]=qs[_0x4152('0x35')](_[_0x4152('0x4f')](_0x46a185['query'],_0x47fce8[_0x4152('0x35')]));if(_0x46a185[_0x4152('0x33')][_0x4152('0x50')]){_0x4895c9[_0x4152('0x3d')]=_[_0x4152('0x3e')](_0x4895c9[_0x4152('0x3d')],{'$or':_['map'](_0x4895c9[_0x4152('0x37')],function(_0xae3658){var _0xad0a84={};_0xad0a84[_0xae3658]={'$like':'%'+_0x46a185[_0x4152('0x33')][_0x4152('0x50')]+'%'};return _0xad0a84;})});}_0x4895c9=_[_0x4152('0x3e')]({},_0x4895c9,_0x46a185[_0x4152('0x40')]);return _0x35c221[_0x4152('0x4c')](_0x4895c9);}})[_0x4152('0x28')](function(_0x15ef7c){if(_0x15ef7c){_0x2f78ec=_0x15ef7c[_0x4152('0x39')];if(!_0x46a185['query'][_0x4152('0x3a')](_0x4152('0x3b'))){_0x4895c9['limit']=qs[_0x4152('0x22')](_0x46a185[_0x4152('0x33')][_0x4152('0x22')]);_0x4895c9['offset']=qs[_0x4152('0x20')](_0x46a185['query'][_0x4152('0x20')]);}return _0x35c221[_0x4152('0x4c')](_0x4895c9);}})[_0x4152('0x28')](function(_0x43eae1){if(_0x43eae1){return _0x43eae1?{'count':_0x2f78ec,'rows':_0x43eae1}:null;}})[_0x4152('0x28')](respondWithResult(_0x2b5667,null))[_0x4152('0x44')](handleError(_0x2b5667,null));};exports[_0x4152('0x51')]=function(_0x2502ba,_0x58da04,_0x4d8d7d){if(_0x2502ba[_0x4152('0x4b')]['id']){delete _0x2502ba[_0x4152('0x4b')]['id'];}return db[_0x4152('0x41')][_0x4152('0x4d')]({'where':{'id':_0x2502ba['params']['id']}})['then'](handleEntityNotFound(_0x58da04,null))[_0x4152('0x28')](function(_0x54343b){if(_0x54343b){_0x2502ba['body']['AccountId']=_0x54343b['id'];_0x2502ba['body']['Subjects']=integrations[_0x4152('0x52')](_0x2502ba[_0x4152('0x4b')][_0x4152('0x53')],_0x2502ba['body']['type']);_0x2502ba[_0x4152('0x4b')][_0x4152('0x54')]=integrations[_0x4152('0x55')](_0x2502ba[_0x4152('0x4b')]['channel'],_0x2502ba['body'][_0x4152('0x30')]);return db['DeskConfiguration'][_0x4152('0x4a')](_0x2502ba['body'],{'include':[{'model':db[_0x4152('0x56')],'as':_0x4152('0x57')},{'model':db[_0x4152('0x56')],'as':_0x4152('0x54')}]});}return null;})[_0x4152('0x28')](respondWithResult(_0x58da04,null))[_0x4152('0x44')](handleError(_0x58da04,null));};exports[_0x4152('0x58')]=function(_0x307137,_0x46d92f,_0x18e9bb){var _0x1a3649=[{'name':_0x4152('0x59'),'label':'priority','custom':![],'options':[{'name':0x1,'value':0x1},{'name':0x2,'value':0x2},{'name':0x3,'value':0x3},{'name':0x4,'value':0x4},{'name':0x5,'value':0x5},{'name':0x6,'value':0x6},{'name':0x7,'value':0x7},{'name':0x8,'value':0x8},{'name':0x9,'value':0x9},{'name':0xa,'value':0xa}]}];var _0x126426='';return db[_0x4152('0x41')][_0x4152('0x4d')]({'where':{'id':_0x307137[_0x4152('0x46')]['id']},'attributes':['id',_0x4152('0x5a'),_0x4152('0x5b'),_0x4152('0x5c'),_0x4152('0x5d'),_0x4152('0x5e'),'consumerSecret',_0x4152('0x5f'),_0x4152('0x60')]})[_0x4152('0x28')](handleEntityNotFound(_0x46d92f,null))[_0x4152('0x28')](function(_0x23d8a3){if(_0x23d8a3){_0x126426=_0x23d8a3[_0x4152('0x5a')];var _0x4a5ae2=_0x126426[_0x4152('0x61')](-0x1);if(_0x4a5ae2==='/'){_0x126426=_0x126426['substring'](0x0,_0x126426[_0x4152('0x62')](_0x4a5ae2));}var _0x48813c={'method':_0x4152('0x63'),'uri':util[_0x4152('0x64')](_0x4152('0x65'),_0x126426),'headers':{'Content-Type':_0x4152('0x66'),'Accept':'application/json'},'json':!![]};if(_0x23d8a3[_0x4152('0x5b')]==='basic'){_0x48813c[_0x4152('0x67')][_0x4152('0x68')]=util[_0x4152('0x64')]('Basic\x20%s',new Buffer(util[_0x4152('0x64')](_0x4152('0x69'),_0x23d8a3['username'],_0x23d8a3[_0x4152('0x5d')]))[_0x4152('0x6a')]('base64'));}return rp(_0x48813c)[_0x4152('0x28')](function(_0x8691cb){return _0x1a3649['concat'](_[_0x4152('0x2d')](_0x8691cb[_0x4152('0x6b')][_0x4152('0x6c')],function(_0x332cfb){return{'id':_0x332cfb[_0x4152('0x2a')],'name':_0x332cfb[_0x4152('0x2a')],'type':_0x332cfb['type'],'active':_0x332cfb[_0x4152('0x6d')],'label':_0x332cfb['label'],'custom':!![]};}));});}})[_0x4152('0x28')](function(_0x34e793){return{'count':_0x34e793[_0x4152('0x39')],'rows':_0x34e793};})['then'](respondWithResult(_0x46d92f,null))[_0x4152('0x44')](function(_0x5901e5){var _0x507418=_0x307137[_0x4152('0x33')][_0x4152('0x6e')]?0x1f4:_0x5901e5['statusCode']||0x1f4;logger['error']('getFields,\x20%s,\x20%s,\x20%s',_0x4152('0x58'),_0x507418,JSON[_0x4152('0x6f')](_0x5901e5));delete _0x5901e5[_0x4152('0x2a')];if(_0x507418===0x191){_0x507418=0x190;}_0x46d92f[_0x4152('0x1e')](_0x507418)[_0x4152('0x2b')](_0x307137[_0x4152('0x33')][_0x4152('0x6e')]?{'message':_0x4152('0x70'),'statusCode':_0x5901e5[_0x4152('0x71')]}:_0x5901e5);});};