Built motion from commit 8356fca3.|2.6.19
[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 _0x198a=['pick','filter','merge','VIRTUAL','options','includeAll','include','catch','show','params','find','create','body','update','getConfigurations','DeskConfiguration','hasOwnProperty','nolimit','addConfiguration','findOne','AccountId','Subjects','getSubjects','getDescriptions','DeskField','Descriptions','getFields','priority','remoteUri','authType','consumerKey','consumerSecret','tokenSecret','slice','substring','lastIndexOf','GET','format','%s/custom_fields','application/json','headers','username','password','toString','_embedded','entries','active','label','test','stringify','Wrong\x20credentials','statusCode','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','ejs','lodash','squel','crypto','jsforce','desk.js','to-csv','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','../../components/integrations/configuration','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','reject','save','then','destroy','error','stack','name','send','index','map','DeskAccount','rawAttributes','type','key','query','keys','intersection','model','fields','attributes','length','order','sort','where','filters'];(function(_0x502137,_0x372ad2){var _0x443ecf=function(_0x4baaad){while(--_0x4baaad){_0x502137['push'](_0x502137['shift']());}};_0x443ecf(++_0x372ad2);}(_0x198a,0x11c));var _0xa198=function(_0x48bea0,_0x4c7a11){_0x48bea0=_0x48bea0-0x0;var _0x58058d=_0x198a[_0x48bea0];return _0x58058d;};'use strict';var emlformat=require(_0xa198('0x0'));var rimraf=require(_0xa198('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xa198('0x2'));var rp=require(_0xa198('0x3'));var moment=require(_0xa198('0x4'));var BPromise=require(_0xa198('0x5'));var Mustache=require(_0xa198('0x6'));var util=require(_0xa198('0x7'));var path=require(_0xa198('0x8'));var sox=require(_0xa198('0x9'));var csv=require('to-csv');var ejs=require(_0xa198('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xa198('0xb'));var squel=require(_0xa198('0xc'));var crypto=require(_0xa198('0xd'));var jsforce=require(_0xa198('0xe'));var deskjs=require(_0xa198('0xf'));var toCsv=require(_0xa198('0x10'));var querystring=require('querystring');var Papa=require(_0xa198('0x11'));var Redis=require('ioredis');var authService=require(_0xa198('0x12'));var qs=require(_0xa198('0x13'));var as=require(_0xa198('0x14'));var hardwareService=require(_0xa198('0x15'));var logger=require(_0xa198('0x16'))(_0xa198('0x17'));var utils=require(_0xa198('0x18'));var config=require(_0xa198('0x19'));var licenseUtil=require(_0xa198('0x1a'));var db=require(_0xa198('0x1b'))['db'];var integrations=require(_0xa198('0x1c'));function respondWithStatusCode(_0x1e0cc8,_0x5d578f){_0x5d578f=_0x5d578f||0xcc;return function(_0x17de0e){if(_0x17de0e){return _0x1e0cc8[_0xa198('0x1d')](_0x5d578f);}return _0x1e0cc8[_0xa198('0x1e')](_0x5d578f)[_0xa198('0x1f')]();};}function respondWithResult(_0x33516c,_0x1cfe84){_0x1cfe84=_0x1cfe84||0xc8;return function(_0xc3e61c){if(_0xc3e61c){return _0x33516c['status'](_0x1cfe84)[_0xa198('0x20')](_0xc3e61c);}};}function respondWithFilteredResult(_0x222142,_0x13e127){return function(_0x1fb172){if(_0x1fb172){var _0x5e06b9=typeof _0x13e127[_0xa198('0x21')]===_0xa198('0x22')&&typeof _0x13e127[_0xa198('0x23')]===_0xa198('0x22');var _0x18f87b=_0x1fb172['count'];var _0x444148=_0x5e06b9?0x0:_0x13e127[_0xa198('0x21')];var _0x4cea9d=_0x5e06b9?_0x1fb172[_0xa198('0x24')]:_0x13e127['offset']+_0x13e127[_0xa198('0x23')];var _0x1be7be;if(_0x4cea9d>=_0x18f87b){_0x4cea9d=_0x18f87b;_0x1be7be=0xc8;}else{_0x1be7be=0xce;}_0x222142[_0xa198('0x1e')](_0x1be7be);return _0x222142[_0xa198('0x25')](_0xa198('0x26'),_0x444148+'-'+_0x4cea9d+'/'+_0x18f87b)[_0xa198('0x20')](_0x1fb172);}return null;};}function patchUpdates(_0x34be2c){return function(_0x2a4f44){try{jsonpatch['apply'](_0x2a4f44,_0x34be2c,!![]);}catch(_0x45fdb2){return BPromise[_0xa198('0x27')](_0x45fdb2);}return _0x2a4f44[_0xa198('0x28')]();};}function saveUpdates(_0x1b7058,_0xa2189){return function(_0x539919){if(_0x539919){return _0x539919['update'](_0x1b7058)[_0xa198('0x29')](function(_0x917d1c){return _0x917d1c;});}return null;};}function removeEntity(_0x17d8af,_0x1e7094){return function(_0x3e6638){if(_0x3e6638){return _0x3e6638[_0xa198('0x2a')]()[_0xa198('0x29')](function(){_0x17d8af[_0xa198('0x1e')](0xcc)[_0xa198('0x1f')]();});}};}function handleEntityNotFound(_0x1fc084,_0x9d727c){return function(_0x46b420){if(!_0x46b420){_0x1fc084['sendStatus'](0x194);}return _0x46b420;};}function handleError(_0x44142a,_0x2c3537){_0x2c3537=_0x2c3537||0x1f4;return function(_0x937de){logger[_0xa198('0x2b')](_0x937de[_0xa198('0x2c')]);if(_0x937de[_0xa198('0x2d')]){delete _0x937de['name'];}_0x44142a[_0xa198('0x1e')](_0x2c3537)[_0xa198('0x2e')](_0x937de);};}exports[_0xa198('0x2f')]=function(_0x3b2a2e,_0x1e90aa){var _0x5a4237={},_0x4dc22b={},_0x12c650={'count':0x0,'rows':[]};var _0x22b44a=_[_0xa198('0x30')](db[_0xa198('0x31')][_0xa198('0x32')],function(_0x3b1f13){return{'name':_0x3b1f13['fieldName'],'type':_0x3b1f13[_0xa198('0x33')][_0xa198('0x34')]};});_0x4dc22b['model']=_[_0xa198('0x30')](_0x22b44a,_0xa198('0x2d'));_0x4dc22b[_0xa198('0x35')]=_[_0xa198('0x36')](_0x3b2a2e[_0xa198('0x35')]);_0x4dc22b['filters']=_[_0xa198('0x37')](_0x4dc22b['model'],_0x4dc22b[_0xa198('0x35')]);_0x5a4237['attributes']=_[_0xa198('0x37')](_0x4dc22b[_0xa198('0x38')],qs['fields'](_0x3b2a2e['query'][_0xa198('0x39')]));_0x5a4237[_0xa198('0x3a')]=_0x5a4237[_0xa198('0x3a')][_0xa198('0x3b')]?_0x5a4237[_0xa198('0x3a')]:_0x4dc22b[_0xa198('0x38')];if(!_0x3b2a2e[_0xa198('0x35')]['hasOwnProperty']('nolimit')){_0x5a4237[_0xa198('0x23')]=qs[_0xa198('0x23')](_0x3b2a2e['query'][_0xa198('0x23')]);_0x5a4237[_0xa198('0x21')]=qs['offset'](_0x3b2a2e[_0xa198('0x35')]['offset']);}_0x5a4237[_0xa198('0x3c')]=qs[_0xa198('0x3d')](_0x3b2a2e[_0xa198('0x35')][_0xa198('0x3d')]);_0x5a4237[_0xa198('0x3e')]=qs[_0xa198('0x3f')](_[_0xa198('0x40')](_0x3b2a2e[_0xa198('0x35')],_0x4dc22b['filters']),_0x22b44a);if(_0x3b2a2e['query'][_0xa198('0x41')]){_0x5a4237[_0xa198('0x3e')]=_[_0xa198('0x42')](_0x5a4237[_0xa198('0x3e')],{'$or':_[_0xa198('0x30')](_0x22b44a,function(_0xe55b5e){if(_0xe55b5e['type']!==_0xa198('0x43')){var _0x3a804e={};_0x3a804e[_0xe55b5e['name']]={'$like':'%'+_0x3b2a2e[_0xa198('0x35')][_0xa198('0x41')]+'%'};return _0x3a804e;}})});}_0x5a4237=_['merge']({},_0x5a4237,_0x3b2a2e[_0xa198('0x44')]);var _0x252857={'where':_0x5a4237[_0xa198('0x3e')]};return db['DeskAccount'][_0xa198('0x24')](_0x252857)[_0xa198('0x29')](function(_0xf06978){_0x12c650[_0xa198('0x24')]=_0xf06978;if(_0x3b2a2e[_0xa198('0x35')][_0xa198('0x45')]){_0x5a4237[_0xa198('0x46')]=[{'all':!![]}];}return db[_0xa198('0x31')]['findAll'](_0x5a4237);})[_0xa198('0x29')](function(_0x1fd890){_0x12c650['rows']=_0x1fd890;return _0x12c650;})[_0xa198('0x29')](respondWithFilteredResult(_0x1e90aa,_0x5a4237))[_0xa198('0x47')](handleError(_0x1e90aa,null));};exports[_0xa198('0x48')]=function(_0x2dda99,_0x4df61f){var _0x472216={'raw':![],'where':{'id':_0x2dda99[_0xa198('0x49')]['id']}},_0xacce44={};_0xacce44['model']=_[_0xa198('0x36')](db[_0xa198('0x31')][_0xa198('0x32')]);_0xacce44[_0xa198('0x35')]=_[_0xa198('0x36')](_0x2dda99[_0xa198('0x35')]);_0xacce44[_0xa198('0x3f')]=_[_0xa198('0x37')](_0xacce44[_0xa198('0x38')],_0xacce44[_0xa198('0x35')]);_0x472216['attributes']=_[_0xa198('0x37')](_0xacce44[_0xa198('0x38')],qs[_0xa198('0x39')](_0x2dda99['query'][_0xa198('0x39')]));_0x472216[_0xa198('0x3a')]=_0x472216[_0xa198('0x3a')][_0xa198('0x3b')]?_0x472216[_0xa198('0x3a')]:_0xacce44[_0xa198('0x38')];if(_0x2dda99['query'][_0xa198('0x45')]){_0x472216[_0xa198('0x46')]=[{'all':!![]}];}_0x472216=_[_0xa198('0x42')]({},_0x472216,_0x2dda99[_0xa198('0x44')]);return db[_0xa198('0x31')][_0xa198('0x4a')](_0x472216)[_0xa198('0x29')](handleEntityNotFound(_0x4df61f,null))[_0xa198('0x29')](respondWithResult(_0x4df61f,null))[_0xa198('0x47')](handleError(_0x4df61f,null));};exports[_0xa198('0x4b')]=function(_0x212e2c,_0x5a2e1b){return db[_0xa198('0x31')][_0xa198('0x4b')](_0x212e2c[_0xa198('0x4c')],{})[_0xa198('0x29')](respondWithResult(_0x5a2e1b,0xc9))[_0xa198('0x47')](handleError(_0x5a2e1b,null));};exports[_0xa198('0x4d')]=function(_0x294ccf,_0x3c5b4b){if(_0x294ccf[_0xa198('0x4c')]['id']){delete _0x294ccf[_0xa198('0x4c')]['id'];}return db['DeskAccount'][_0xa198('0x4a')]({'where':{'id':_0x294ccf[_0xa198('0x49')]['id']}})['then'](handleEntityNotFound(_0x3c5b4b,null))[_0xa198('0x29')](saveUpdates(_0x294ccf['body'],null))[_0xa198('0x29')](respondWithResult(_0x3c5b4b,null))['catch'](handleError(_0x3c5b4b,null));};exports[_0xa198('0x2a')]=function(_0x3aa661,_0x33830a){return db[_0xa198('0x31')][_0xa198('0x4a')]({'where':{'id':_0x3aa661[_0xa198('0x49')]['id']}})[_0xa198('0x29')](handleEntityNotFound(_0x33830a,null))[_0xa198('0x29')](removeEntity(_0x33830a,null))['catch'](handleError(_0x33830a,null));};exports[_0xa198('0x4e')]=function(_0x5aa6b4,_0x375488,_0x2fcb85){var _0x3257d4={};var _0x39e08d={};var _0xdbe2b2;var _0x1c1c9d;return db[_0xa198('0x31')]['findOne']({'where':{'id':_0x5aa6b4['params']['id']}})[_0xa198('0x29')](handleEntityNotFound(_0x375488,null))[_0xa198('0x29')](function(_0x1dd645){if(_0x1dd645){_0xdbe2b2=_0x1dd645;_0x39e08d['model']=_[_0xa198('0x36')](db[_0xa198('0x4f')][_0xa198('0x32')]);_0x39e08d[_0xa198('0x35')]=_[_0xa198('0x36')](_0x5aa6b4[_0xa198('0x35')]);_0x39e08d[_0xa198('0x3f')]=_[_0xa198('0x37')](_0x39e08d[_0xa198('0x38')],_0x39e08d['query']);_0x3257d4[_0xa198('0x3a')]=_['intersection'](_0x39e08d[_0xa198('0x38')],qs[_0xa198('0x39')](_0x5aa6b4[_0xa198('0x35')][_0xa198('0x39')]));_0x3257d4[_0xa198('0x3a')]=_0x3257d4[_0xa198('0x3a')][_0xa198('0x3b')]?_0x3257d4[_0xa198('0x3a')]:_0x39e08d[_0xa198('0x38')];_0x3257d4[_0xa198('0x3c')]=qs[_0xa198('0x3d')](_0x5aa6b4[_0xa198('0x35')][_0xa198('0x3d')]);_0x3257d4[_0xa198('0x3e')]=qs[_0xa198('0x3f')](_['pick'](_0x5aa6b4['query'],_0x39e08d[_0xa198('0x3f')]));if(_0x5aa6b4[_0xa198('0x35')][_0xa198('0x41')]){_0x3257d4[_0xa198('0x3e')]=_[_0xa198('0x42')](_0x3257d4[_0xa198('0x3e')],{'$or':_[_0xa198('0x30')](_0x3257d4[_0xa198('0x3a')],function(_0x168e53){var _0x543aa1={};_0x543aa1[_0x168e53]={'$like':'%'+_0x5aa6b4['query'][_0xa198('0x41')]+'%'};return _0x543aa1;})});}_0x3257d4=_['merge']({},_0x3257d4,_0x5aa6b4[_0xa198('0x44')]);return _0xdbe2b2[_0xa198('0x4e')](_0x3257d4);}})[_0xa198('0x29')](function(_0x4d0e91){if(_0x4d0e91){_0x1c1c9d=_0x4d0e91['length'];if(!_0x5aa6b4[_0xa198('0x35')][_0xa198('0x50')](_0xa198('0x51'))){_0x3257d4[_0xa198('0x23')]=qs[_0xa198('0x23')](_0x5aa6b4[_0xa198('0x35')][_0xa198('0x23')]);_0x3257d4[_0xa198('0x21')]=qs[_0xa198('0x21')](_0x5aa6b4[_0xa198('0x35')]['offset']);}return _0xdbe2b2[_0xa198('0x4e')](_0x3257d4);}})['then'](function(_0x1388a3){if(_0x1388a3){return _0x1388a3?{'count':_0x1c1c9d,'rows':_0x1388a3}:null;}})[_0xa198('0x29')](respondWithResult(_0x375488,null))[_0xa198('0x47')](handleError(_0x375488,null));};exports[_0xa198('0x52')]=function(_0x1f2915,_0xfea1d3,_0x2432c8){if(_0x1f2915[_0xa198('0x4c')]['id']){delete _0x1f2915['body']['id'];}return db[_0xa198('0x31')][_0xa198('0x53')]({'where':{'id':_0x1f2915[_0xa198('0x49')]['id']}})[_0xa198('0x29')](handleEntityNotFound(_0xfea1d3,null))[_0xa198('0x29')](function(_0x1274f9){if(_0x1274f9){_0x1f2915[_0xa198('0x4c')][_0xa198('0x54')]=_0x1274f9['id'];_0x1f2915[_0xa198('0x4c')][_0xa198('0x55')]=integrations[_0xa198('0x56')](_0x1f2915[_0xa198('0x4c')]['channel'],_0x1f2915['body'][_0xa198('0x33')]);_0x1f2915[_0xa198('0x4c')]['Descriptions']=integrations[_0xa198('0x57')](_0x1f2915[_0xa198('0x4c')]['channel'],_0x1f2915['body'][_0xa198('0x33')]);return db[_0xa198('0x4f')][_0xa198('0x4b')](_0x1f2915[_0xa198('0x4c')],{'include':[{'model':db[_0xa198('0x58')],'as':_0xa198('0x55')},{'model':db[_0xa198('0x58')],'as':_0xa198('0x59')}]});}return null;})[_0xa198('0x29')](respondWithResult(_0xfea1d3,null))['catch'](handleError(_0xfea1d3,null));};exports[_0xa198('0x5a')]=function(_0x52e763,_0x9390ca,_0x3b281f){var _0x38b2c1=[{'name':_0xa198('0x5b'),'label':_0xa198('0x5b'),'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 _0x19a622='';return db[_0xa198('0x31')][_0xa198('0x53')]({'where':{'id':_0x52e763[_0xa198('0x49')]['id']},'attributes':['id',_0xa198('0x5c'),_0xa198('0x5d'),'username','password',_0xa198('0x5e'),_0xa198('0x5f'),'token',_0xa198('0x60')]})[_0xa198('0x29')](handleEntityNotFound(_0x9390ca,null))[_0xa198('0x29')](function(_0x5f54c1){if(_0x5f54c1){_0x19a622=_0x5f54c1[_0xa198('0x5c')];var _0x3b98f4=_0x19a622[_0xa198('0x61')](-0x1);if(_0x3b98f4==='/'){_0x19a622=_0x19a622[_0xa198('0x62')](0x0,_0x19a622[_0xa198('0x63')](_0x3b98f4));}var _0x3eb533={'method':_0xa198('0x64'),'uri':util[_0xa198('0x65')](_0xa198('0x66'),_0x19a622),'headers':{'Content-Type':_0xa198('0x67'),'Accept':_0xa198('0x67')},'json':!![]};if(_0x5f54c1[_0xa198('0x5d')]==='basic'){_0x3eb533[_0xa198('0x68')]['Authorization']=util['format']('Basic\x20%s',new Buffer(util[_0xa198('0x65')]('%s:%s',_0x5f54c1[_0xa198('0x69')],_0x5f54c1[_0xa198('0x6a')]))[_0xa198('0x6b')]('base64'));}return rp(_0x3eb533)[_0xa198('0x29')](function(_0x108d25){return _0x38b2c1['concat'](_[_0xa198('0x30')](_0x108d25[_0xa198('0x6c')][_0xa198('0x6d')],function(_0xcf0058){return{'id':_0xcf0058['name'],'name':_0xcf0058[_0xa198('0x2d')],'type':_0xcf0058[_0xa198('0x33')],'active':_0xcf0058[_0xa198('0x6e')],'label':_0xcf0058[_0xa198('0x6f')],'custom':!![]};}));});}})[_0xa198('0x29')](function(_0x5a371a){return{'count':_0x5a371a[_0xa198('0x3b')],'rows':_0x5a371a};})['then'](respondWithResult(_0x9390ca,null))['catch'](function(_0xd60fbc){var _0x2be450=_0x52e763['query'][_0xa198('0x70')]?0x1f4:_0xd60fbc['statusCode']||0x1f4;logger[_0xa198('0x2b')]('getFields,\x20%s,\x20%s,\x20%s',_0xa198('0x5a'),_0x2be450,JSON[_0xa198('0x71')](_0xd60fbc));delete _0xd60fbc[_0xa198('0x2d')];if(_0x2be450===0x191){_0x2be450=0x190;}_0x9390ca['status'](_0x2be450)[_0xa198('0x2e')](_0x52e763[_0xa198('0x35')][_0xa198('0x70')]?{'message':_0xa198('0x72'),'statusCode':_0xd60fbc[_0xa198('0x73')]}:_0xd60fbc);});};