Built motion from commit f7863d46.|2.5.41
[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 _0x031c=['Content-Range','reject','save','destroy','then','end','error','stack','name','send','index','map','DeskAccount','rawAttributes','fieldName','key','model','keys','filters','intersection','query','attributes','fields','length','hasOwnProperty','limit','order','sort','pick','filter','where','merge','type','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','find','create','body','update','getConfigurations','findOne','params','DeskConfiguration','AccountId','Subjects','getSubjects','channel','Descriptions','getDescriptions','DeskField','getFields','priority','remoteUri','username','password','token','substring','lastIndexOf','format','%s/custom_fields','application/json','authType','headers','Authorization','toString','base64','_embedded','active','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','stringify','Wrong\x20credentials','eml-format','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','fs-extra','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','undefined','count','set'];(function(_0x4ce06c,_0x3b38fa){var _0x2cf02d=function(_0x49ac60){while(--_0x49ac60){_0x4ce06c['push'](_0x4ce06c['shift']());}};_0x2cf02d(++_0x3b38fa);}(_0x031c,0x199));var _0xc031=function(_0x1facfa,_0x1acf7d){_0x1facfa=_0x1facfa-0x0;var _0x9ec701=_0x031c[_0x1facfa];return _0x9ec701;};'use strict';var emlformat=require(_0xc031('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xc031('0x1'));var jsonpatch=require(_0xc031('0x2'));var rp=require(_0xc031('0x3'));var moment=require(_0xc031('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xc031('0x5'));var util=require(_0xc031('0x6'));var path=require(_0xc031('0x7'));var sox=require(_0xc031('0x8'));var csv=require(_0xc031('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xc031('0xa'));var _=require(_0xc031('0xb'));var squel=require(_0xc031('0xc'));var crypto=require('crypto');var jsforce=require(_0xc031('0xd'));var deskjs=require(_0xc031('0xe'));var toCsv=require(_0xc031('0x9'));var querystring=require(_0xc031('0xf'));var Papa=require(_0xc031('0x10'));var Redis=require(_0xc031('0x11'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xc031('0x12'));var hardwareService=require(_0xc031('0x13'));var logger=require(_0xc031('0x14'))(_0xc031('0x15'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0xc031('0x16'));var db=require(_0xc031('0x17'))['db'];var integrations=require('../../components/integrations/configuration');function respondWithStatusCode(_0x21c518,_0x106e3a){_0x106e3a=_0x106e3a||0xcc;return function(_0x36ffdd){if(_0x36ffdd){return _0x21c518[_0xc031('0x18')](_0x106e3a);}return _0x21c518[_0xc031('0x19')](_0x106e3a)['end']();};}function respondWithResult(_0x2f03c7,_0x277c59){_0x277c59=_0x277c59||0xc8;return function(_0x9c3d){if(_0x9c3d){return _0x2f03c7[_0xc031('0x19')](_0x277c59)[_0xc031('0x1a')](_0x9c3d);}};}function respondWithFilteredResult(_0x1660cf,_0x2f139e){return function(_0x55f837){if(_0x55f837){var _0xa9f942=typeof _0x2f139e[_0xc031('0x1b')]===_0xc031('0x1c')&&typeof _0x2f139e['limit']==='undefined';var _0x48abeb=_0x55f837[_0xc031('0x1d')];var _0x14557b=_0xa9f942?0x0:_0x2f139e[_0xc031('0x1b')];var _0x23d166=_0xa9f942?_0x55f837['count']:_0x2f139e[_0xc031('0x1b')]+_0x2f139e['limit'];var _0x2cccd5;if(_0x23d166>=_0x48abeb){_0x23d166=_0x48abeb;_0x2cccd5=0xc8;}else{_0x2cccd5=0xce;}_0x1660cf['status'](_0x2cccd5);return _0x1660cf[_0xc031('0x1e')](_0xc031('0x1f'),_0x14557b+'-'+_0x23d166+'/'+_0x48abeb)[_0xc031('0x1a')](_0x55f837);}return null;};}function patchUpdates(_0x575e32){return function(_0x41e062){try{jsonpatch['apply'](_0x41e062,_0x575e32,!![]);}catch(_0x5c0ca9){return BPromise[_0xc031('0x20')](_0x5c0ca9);}return _0x41e062[_0xc031('0x21')]();};}function saveUpdates(_0x404815,_0x2160cc){return function(_0x248ea4){if(_0x248ea4){return _0x248ea4['update'](_0x404815)['then'](function(_0x4d742c){return _0x4d742c;});}return null;};}function removeEntity(_0x3c8050,_0x495d1d){return function(_0x45edb7){if(_0x45edb7){return _0x45edb7[_0xc031('0x22')]()[_0xc031('0x23')](function(){_0x3c8050[_0xc031('0x19')](0xcc)[_0xc031('0x24')]();});}};}function handleEntityNotFound(_0x50ed6f,_0x57ae1a){return function(_0x2e8a04){if(!_0x2e8a04){_0x50ed6f[_0xc031('0x18')](0x194);}return _0x2e8a04;};}function handleError(_0x2e74be,_0xe61c97){_0xe61c97=_0xe61c97||0x1f4;return function(_0x19567c){logger[_0xc031('0x25')](_0x19567c[_0xc031('0x26')]);if(_0x19567c[_0xc031('0x27')]){delete _0x19567c[_0xc031('0x27')];}_0x2e74be[_0xc031('0x19')](_0xe61c97)[_0xc031('0x28')](_0x19567c);};}exports[_0xc031('0x29')]=function(_0x13bbef,_0x18565f){var _0x2f9218={},_0xec2de7={},_0x4d4278={'count':0x0,'rows':[]};var _0x40ffbb=_[_0xc031('0x2a')](db[_0xc031('0x2b')][_0xc031('0x2c')],function(_0x59740a){return{'name':_0x59740a[_0xc031('0x2d')],'type':_0x59740a['type'][_0xc031('0x2e')]};});_0xec2de7[_0xc031('0x2f')]=_[_0xc031('0x2a')](_0x40ffbb,_0xc031('0x27'));_0xec2de7['query']=_[_0xc031('0x30')](_0x13bbef['query']);_0xec2de7[_0xc031('0x31')]=_[_0xc031('0x32')](_0xec2de7[_0xc031('0x2f')],_0xec2de7[_0xc031('0x33')]);_0x2f9218[_0xc031('0x34')]=_['intersection'](_0xec2de7['model'],qs[_0xc031('0x35')](_0x13bbef['query']['fields']));_0x2f9218[_0xc031('0x34')]=_0x2f9218[_0xc031('0x34')][_0xc031('0x36')]?_0x2f9218[_0xc031('0x34')]:_0xec2de7[_0xc031('0x2f')];if(!_0x13bbef[_0xc031('0x33')][_0xc031('0x37')]('nolimit')){_0x2f9218[_0xc031('0x38')]=qs[_0xc031('0x38')](_0x13bbef['query'][_0xc031('0x38')]);_0x2f9218[_0xc031('0x1b')]=qs['offset'](_0x13bbef[_0xc031('0x33')][_0xc031('0x1b')]);}_0x2f9218[_0xc031('0x39')]=qs[_0xc031('0x3a')](_0x13bbef[_0xc031('0x33')][_0xc031('0x3a')]);_0x2f9218['where']=qs['filters'](_[_0xc031('0x3b')](_0x13bbef[_0xc031('0x33')],_0xec2de7[_0xc031('0x31')]),_0x40ffbb);if(_0x13bbef[_0xc031('0x33')][_0xc031('0x3c')]){_0x2f9218[_0xc031('0x3d')]=_[_0xc031('0x3e')](_0x2f9218[_0xc031('0x3d')],{'$or':_[_0xc031('0x2a')](_0x40ffbb,function(_0x240704){if(_0x240704[_0xc031('0x3f')]!==_0xc031('0x40')){var _0x25f5d6={};_0x25f5d6[_0x240704[_0xc031('0x27')]]={'$like':'%'+_0x13bbef['query'][_0xc031('0x3c')]+'%'};return _0x25f5d6;}})});}_0x2f9218=_[_0xc031('0x3e')]({},_0x2f9218,_0x13bbef[_0xc031('0x41')]);var _0x264890={'where':_0x2f9218[_0xc031('0x3d')]};return db['DeskAccount'][_0xc031('0x1d')](_0x264890)[_0xc031('0x23')](function(_0x547e85){_0x4d4278[_0xc031('0x1d')]=_0x547e85;if(_0x13bbef[_0xc031('0x33')][_0xc031('0x42')]){_0x2f9218[_0xc031('0x43')]=[{'all':!![]}];}return db[_0xc031('0x2b')][_0xc031('0x44')](_0x2f9218);})[_0xc031('0x23')](function(_0x43d4b8){_0x4d4278[_0xc031('0x45')]=_0x43d4b8;return _0x4d4278;})[_0xc031('0x23')](respondWithFilteredResult(_0x18565f,_0x2f9218))[_0xc031('0x46')](handleError(_0x18565f,null));};exports[_0xc031('0x47')]=function(_0x359159,_0x4fab15){var _0x3d6b61={'raw':![],'where':{'id':_0x359159['params']['id']}},_0x1d2468={};_0x1d2468['model']=_[_0xc031('0x30')](db['DeskAccount']['rawAttributes']);_0x1d2468[_0xc031('0x33')]=_[_0xc031('0x30')](_0x359159['query']);_0x1d2468['filters']=_[_0xc031('0x32')](_0x1d2468[_0xc031('0x2f')],_0x1d2468[_0xc031('0x33')]);_0x3d6b61[_0xc031('0x34')]=_[_0xc031('0x32')](_0x1d2468['model'],qs[_0xc031('0x35')](_0x359159[_0xc031('0x33')][_0xc031('0x35')]));_0x3d6b61[_0xc031('0x34')]=_0x3d6b61[_0xc031('0x34')][_0xc031('0x36')]?_0x3d6b61[_0xc031('0x34')]:_0x1d2468[_0xc031('0x2f')];if(_0x359159[_0xc031('0x33')]['includeAll']){_0x3d6b61[_0xc031('0x43')]=[{'all':!![]}];}_0x3d6b61=_[_0xc031('0x3e')]({},_0x3d6b61,_0x359159[_0xc031('0x41')]);return db[_0xc031('0x2b')][_0xc031('0x48')](_0x3d6b61)[_0xc031('0x23')](handleEntityNotFound(_0x4fab15,null))[_0xc031('0x23')](respondWithResult(_0x4fab15,null))[_0xc031('0x46')](handleError(_0x4fab15,null));};exports[_0xc031('0x49')]=function(_0xf7e6b9,_0xf969bf){return db[_0xc031('0x2b')][_0xc031('0x49')](_0xf7e6b9[_0xc031('0x4a')],{})['then'](respondWithResult(_0xf969bf,0xc9))['catch'](handleError(_0xf969bf,null));};exports[_0xc031('0x4b')]=function(_0x41d499,_0x22ff7e){if(_0x41d499['body']['id']){delete _0x41d499[_0xc031('0x4a')]['id'];}return db['DeskAccount'][_0xc031('0x48')]({'where':{'id':_0x41d499['params']['id']}})[_0xc031('0x23')](handleEntityNotFound(_0x22ff7e,null))[_0xc031('0x23')](saveUpdates(_0x41d499[_0xc031('0x4a')],null))['then'](respondWithResult(_0x22ff7e,null))[_0xc031('0x46')](handleError(_0x22ff7e,null));};exports['destroy']=function(_0x1600b2,_0x1e661d){return db[_0xc031('0x2b')][_0xc031('0x48')]({'where':{'id':_0x1600b2['params']['id']}})[_0xc031('0x23')](handleEntityNotFound(_0x1e661d,null))[_0xc031('0x23')](removeEntity(_0x1e661d,null))[_0xc031('0x46')](handleError(_0x1e661d,null));};exports[_0xc031('0x4c')]=function(_0x2f3fc0,_0x3db85b,_0x31b919){var _0x30b909={};var _0x11db7d={};var _0x37e4dc;var _0x108aa9;return db[_0xc031('0x2b')][_0xc031('0x4d')]({'where':{'id':_0x2f3fc0[_0xc031('0x4e')]['id']}})[_0xc031('0x23')](handleEntityNotFound(_0x3db85b,null))['then'](function(_0x34bf32){if(_0x34bf32){_0x37e4dc=_0x34bf32;_0x11db7d['model']=_[_0xc031('0x30')](db[_0xc031('0x4f')][_0xc031('0x2c')]);_0x11db7d[_0xc031('0x33')]=_[_0xc031('0x30')](_0x2f3fc0[_0xc031('0x33')]);_0x11db7d[_0xc031('0x31')]=_[_0xc031('0x32')](_0x11db7d[_0xc031('0x2f')],_0x11db7d[_0xc031('0x33')]);_0x30b909['attributes']=_[_0xc031('0x32')](_0x11db7d[_0xc031('0x2f')],qs[_0xc031('0x35')](_0x2f3fc0[_0xc031('0x33')][_0xc031('0x35')]));_0x30b909[_0xc031('0x34')]=_0x30b909[_0xc031('0x34')][_0xc031('0x36')]?_0x30b909[_0xc031('0x34')]:_0x11db7d[_0xc031('0x2f')];_0x30b909[_0xc031('0x39')]=qs[_0xc031('0x3a')](_0x2f3fc0[_0xc031('0x33')][_0xc031('0x3a')]);_0x30b909['where']=qs['filters'](_[_0xc031('0x3b')](_0x2f3fc0[_0xc031('0x33')],_0x11db7d[_0xc031('0x31')]));if(_0x2f3fc0['query'][_0xc031('0x3c')]){_0x30b909[_0xc031('0x3d')]=_['merge'](_0x30b909[_0xc031('0x3d')],{'$or':_[_0xc031('0x2a')](_0x30b909[_0xc031('0x34')],function(_0x2a9326){var _0x5abd06={};_0x5abd06[_0x2a9326]={'$like':'%'+_0x2f3fc0[_0xc031('0x33')]['filter']+'%'};return _0x5abd06;})});}_0x30b909=_['merge']({},_0x30b909,_0x2f3fc0[_0xc031('0x41')]);return _0x37e4dc[_0xc031('0x4c')](_0x30b909);}})['then'](function(_0x1c93e2){if(_0x1c93e2){_0x108aa9=_0x1c93e2[_0xc031('0x36')];if(!_0x2f3fc0[_0xc031('0x33')][_0xc031('0x37')]('nolimit')){_0x30b909[_0xc031('0x38')]=qs[_0xc031('0x38')](_0x2f3fc0[_0xc031('0x33')][_0xc031('0x38')]);_0x30b909[_0xc031('0x1b')]=qs[_0xc031('0x1b')](_0x2f3fc0['query'][_0xc031('0x1b')]);}return _0x37e4dc[_0xc031('0x4c')](_0x30b909);}})[_0xc031('0x23')](function(_0x150f8c){if(_0x150f8c){return _0x150f8c?{'count':_0x108aa9,'rows':_0x150f8c}:null;}})[_0xc031('0x23')](respondWithResult(_0x3db85b,null))['catch'](handleError(_0x3db85b,null));};exports['addConfiguration']=function(_0x2ab587,_0x6e8583,_0x27d4f0){if(_0x2ab587['body']['id']){delete _0x2ab587[_0xc031('0x4a')]['id'];}return db['DeskAccount'][_0xc031('0x4d')]({'where':{'id':_0x2ab587[_0xc031('0x4e')]['id']}})[_0xc031('0x23')](handleEntityNotFound(_0x6e8583,null))[_0xc031('0x23')](function(_0x5b2459){if(_0x5b2459){_0x2ab587[_0xc031('0x4a')][_0xc031('0x50')]=_0x5b2459['id'];_0x2ab587[_0xc031('0x4a')][_0xc031('0x51')]=integrations[_0xc031('0x52')](_0x2ab587[_0xc031('0x4a')][_0xc031('0x53')],_0x2ab587[_0xc031('0x4a')]['type']);_0x2ab587['body'][_0xc031('0x54')]=integrations[_0xc031('0x55')](_0x2ab587[_0xc031('0x4a')][_0xc031('0x53')],_0x2ab587[_0xc031('0x4a')][_0xc031('0x3f')]);return db['DeskConfiguration']['create'](_0x2ab587[_0xc031('0x4a')],{'include':[{'model':db[_0xc031('0x56')],'as':_0xc031('0x51')},{'model':db[_0xc031('0x56')],'as':_0xc031('0x54')}]});}return null;})[_0xc031('0x23')](respondWithResult(_0x6e8583,null))['catch'](handleError(_0x6e8583,null));};exports[_0xc031('0x57')]=function(_0x57e803,_0x3c9e8a,_0x313fbf){var _0x4e1f1e=[{'name':_0xc031('0x58'),'label':_0xc031('0x58'),'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 _0x56caeb='';return db[_0xc031('0x2b')]['findOne']({'where':{'id':_0x57e803[_0xc031('0x4e')]['id']},'attributes':['id',_0xc031('0x59'),'authType',_0xc031('0x5a'),_0xc031('0x5b'),'consumerKey','consumerSecret',_0xc031('0x5c'),'tokenSecret']})[_0xc031('0x23')](handleEntityNotFound(_0x3c9e8a,null))[_0xc031('0x23')](function(_0x5468cd){if(_0x5468cd){_0x56caeb=_0x5468cd[_0xc031('0x59')];var _0x4ff55f=_0x56caeb['slice'](-0x1);if(_0x4ff55f==='/'){_0x56caeb=_0x56caeb[_0xc031('0x5d')](0x0,_0x56caeb[_0xc031('0x5e')](_0x4ff55f));}var _0x233e6d={'method':'GET','uri':util[_0xc031('0x5f')](_0xc031('0x60'),_0x56caeb),'headers':{'Content-Type':_0xc031('0x61'),'Accept':_0xc031('0x61')},'json':!![]};if(_0x5468cd[_0xc031('0x62')]==='basic'){_0x233e6d[_0xc031('0x63')][_0xc031('0x64')]=util[_0xc031('0x5f')]('Basic\x20%s',new Buffer(util[_0xc031('0x5f')]('%s:%s',_0x5468cd[_0xc031('0x5a')],_0x5468cd[_0xc031('0x5b')]))[_0xc031('0x65')](_0xc031('0x66')));}return rp(_0x233e6d)['then'](function(_0x675f4f){return _0x4e1f1e['concat'](_[_0xc031('0x2a')](_0x675f4f[_0xc031('0x67')]['entries'],function(_0xc3397){return{'id':_0xc3397['name'],'name':_0xc3397[_0xc031('0x27')],'type':_0xc3397[_0xc031('0x3f')],'active':_0xc3397[_0xc031('0x68')],'label':_0xc3397['label'],'custom':!![]};}));});}})['then'](function(_0x359153){return{'count':_0x359153[_0xc031('0x36')],'rows':_0x359153};})['then'](respondWithResult(_0x3c9e8a,null))['catch'](function(_0x5d4612){var _0x3ec17c=_0x57e803[_0xc031('0x33')][_0xc031('0x69')]?0x1f4:_0x5d4612[_0xc031('0x6a')]||0x1f4;logger[_0xc031('0x25')](_0xc031('0x6b'),'getFields',_0x3ec17c,JSON[_0xc031('0x6c')](_0x5d4612));delete _0x5d4612[_0xc031('0x27')];if(_0x3ec17c===0x191){_0x3ec17c=0x190;}_0x3c9e8a['status'](_0x3ec17c)[_0xc031('0x28')](_0x57e803['query'][_0xc031('0x69')]?{'message':_0xc031('0x6d'),'statusCode':_0x5d4612[_0xc031('0x6a')]}:_0x5d4612);});};