Built motion from commit 0415ced0.|2.6.28
[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 _0x548c=['../../components/integrations/configuration','status','end','json','undefined','count','offset','limit','set','Content-Range','apply','update','then','destroy','sendStatus','error','stack','name','send','index','map','rawAttributes','type','key','query','keys','filters','intersection','attributes','fields','length','model','hasOwnProperty','nolimit','order','sort','where','pick','merge','filter','options','includeAll','include','rows','DeskAccount','find','catch','create','body','params','findOne','DeskConfiguration','getConfigurations','addConfiguration','AccountId','Subjects','getSubjects','channel','Descriptions','getDescriptions','DeskField','priority','authType','username','password','consumerKey','remoteUri','slice','substring','lastIndexOf','GET','format','%s/custom_fields','application/json','basic','headers','Basic\x20%s','%s:%s','toString','base64','entries','label','test','statusCode','getFields','stringify','eml-format','rimraf','fast-json-patch','request-promise','util','path','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../config/license/hardware','../../config/logger','api','../../config/license/util'];(function(_0x22c169,_0x3298a6){var _0x30cc6f=function(_0x2cd339){while(--_0x2cd339){_0x22c169['push'](_0x22c169['shift']());}};_0x30cc6f(++_0x3298a6);}(_0x548c,0x128));var _0xc548=function(_0x26c20f,_0x9b86f8){_0x26c20f=_0x26c20f-0x0;var _0x534da5=_0x548c[_0x26c20f];return _0x534da5;};'use strict';var emlformat=require(_0xc548('0x0'));var rimraf=require(_0xc548('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xc548('0x2'));var rp=require(_0xc548('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xc548('0x4'));var path=require(_0xc548('0x5'));var sox=require('sox');var csv=require(_0xc548('0x6'));var ejs=require(_0xc548('0x7'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xc548('0x8'));var squel=require(_0xc548('0x9'));var crypto=require(_0xc548('0xa'));var jsforce=require(_0xc548('0xb'));var deskjs=require(_0xc548('0xc'));var toCsv=require(_0xc548('0x6'));var querystring=require('querystring');var Papa=require(_0xc548('0xd'));var Redis=require(_0xc548('0xe'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xc548('0xf'));var logger=require(_0xc548('0x10'))(_0xc548('0x11'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0xc548('0x12'));var db=require('../../mysqldb')['db'];var integrations=require(_0xc548('0x13'));function respondWithStatusCode(_0x13398f,_0x6cd4c6){_0x6cd4c6=_0x6cd4c6||0xcc;return function(_0xef9664){if(_0xef9664){return _0x13398f['sendStatus'](_0x6cd4c6);}return _0x13398f[_0xc548('0x14')](_0x6cd4c6)[_0xc548('0x15')]();};}function respondWithResult(_0xddcc75,_0x1a7bd2){_0x1a7bd2=_0x1a7bd2||0xc8;return function(_0x390036){if(_0x390036){return _0xddcc75[_0xc548('0x14')](_0x1a7bd2)[_0xc548('0x16')](_0x390036);}};}function respondWithFilteredResult(_0x288031,_0x3fb90c){return function(_0x19afef){if(_0x19afef){var _0x1c116b=typeof _0x3fb90c['offset']===_0xc548('0x17')&&typeof _0x3fb90c['limit']==='undefined';var _0x4ae846=_0x19afef[_0xc548('0x18')];var _0x49b0bd=_0x1c116b?0x0:_0x3fb90c[_0xc548('0x19')];var _0x252871=_0x1c116b?_0x19afef[_0xc548('0x18')]:_0x3fb90c[_0xc548('0x19')]+_0x3fb90c[_0xc548('0x1a')];var _0x2cfb94;if(_0x252871>=_0x4ae846){_0x252871=_0x4ae846;_0x2cfb94=0xc8;}else{_0x2cfb94=0xce;}_0x288031[_0xc548('0x14')](_0x2cfb94);return _0x288031[_0xc548('0x1b')](_0xc548('0x1c'),_0x49b0bd+'-'+_0x252871+'/'+_0x4ae846)['json'](_0x19afef);}return null;};}function patchUpdates(_0x31e525){return function(_0x20ef5c){try{jsonpatch[_0xc548('0x1d')](_0x20ef5c,_0x31e525,!![]);}catch(_0x38ced8){return BPromise['reject'](_0x38ced8);}return _0x20ef5c['save']();};}function saveUpdates(_0x4432ac,_0x2913c6){return function(_0x507283){if(_0x507283){return _0x507283[_0xc548('0x1e')](_0x4432ac)[_0xc548('0x1f')](function(_0x3cc8f5){return _0x3cc8f5;});}return null;};}function removeEntity(_0x3e0fae,_0x22da09){return function(_0x1795e2){if(_0x1795e2){return _0x1795e2[_0xc548('0x20')]()[_0xc548('0x1f')](function(){_0x3e0fae[_0xc548('0x14')](0xcc)['end']();});}};}function handleEntityNotFound(_0x29b08e,_0x25836a){return function(_0x31b027){if(!_0x31b027){_0x29b08e[_0xc548('0x21')](0x194);}return _0x31b027;};}function handleError(_0x402573,_0x375774){_0x375774=_0x375774||0x1f4;return function(_0x241feb){logger[_0xc548('0x22')](_0x241feb[_0xc548('0x23')]);if(_0x241feb[_0xc548('0x24')]){delete _0x241feb[_0xc548('0x24')];}_0x402573[_0xc548('0x14')](_0x375774)[_0xc548('0x25')](_0x241feb);};}exports[_0xc548('0x26')]=function(_0x63a1e8,_0x7895f4){var _0x3af3b5={},_0x365fd6={},_0x58013a={'count':0x0,'rows':[]};var _0x598985=_[_0xc548('0x27')](db['DeskAccount'][_0xc548('0x28')],function(_0x432d07){return{'name':_0x432d07['fieldName'],'type':_0x432d07[_0xc548('0x29')][_0xc548('0x2a')]};});_0x365fd6['model']=_['map'](_0x598985,_0xc548('0x24'));_0x365fd6[_0xc548('0x2b')]=_[_0xc548('0x2c')](_0x63a1e8[_0xc548('0x2b')]);_0x365fd6[_0xc548('0x2d')]=_[_0xc548('0x2e')](_0x365fd6['model'],_0x365fd6[_0xc548('0x2b')]);_0x3af3b5[_0xc548('0x2f')]=_[_0xc548('0x2e')](_0x365fd6['model'],qs[_0xc548('0x30')](_0x63a1e8['query']['fields']));_0x3af3b5[_0xc548('0x2f')]=_0x3af3b5[_0xc548('0x2f')][_0xc548('0x31')]?_0x3af3b5[_0xc548('0x2f')]:_0x365fd6[_0xc548('0x32')];if(!_0x63a1e8['query'][_0xc548('0x33')](_0xc548('0x34'))){_0x3af3b5[_0xc548('0x1a')]=qs['limit'](_0x63a1e8[_0xc548('0x2b')][_0xc548('0x1a')]);_0x3af3b5[_0xc548('0x19')]=qs['offset'](_0x63a1e8[_0xc548('0x2b')][_0xc548('0x19')]);}_0x3af3b5[_0xc548('0x35')]=qs['sort'](_0x63a1e8['query'][_0xc548('0x36')]);_0x3af3b5[_0xc548('0x37')]=qs[_0xc548('0x2d')](_[_0xc548('0x38')](_0x63a1e8['query'],_0x365fd6[_0xc548('0x2d')]),_0x598985);if(_0x63a1e8[_0xc548('0x2b')]['filter']){_0x3af3b5[_0xc548('0x37')]=_[_0xc548('0x39')](_0x3af3b5[_0xc548('0x37')],{'$or':_[_0xc548('0x27')](_0x598985,function(_0x213b77){if(_0x213b77[_0xc548('0x29')]!=='VIRTUAL'){var _0x135356={};_0x135356[_0x213b77[_0xc548('0x24')]]={'$like':'%'+_0x63a1e8[_0xc548('0x2b')][_0xc548('0x3a')]+'%'};return _0x135356;}})});}_0x3af3b5=_[_0xc548('0x39')]({},_0x3af3b5,_0x63a1e8[_0xc548('0x3b')]);var _0x576c41={'where':_0x3af3b5[_0xc548('0x37')]};return db['DeskAccount']['count'](_0x576c41)[_0xc548('0x1f')](function(_0x1702a8){_0x58013a['count']=_0x1702a8;if(_0x63a1e8[_0xc548('0x2b')][_0xc548('0x3c')]){_0x3af3b5[_0xc548('0x3d')]=[{'all':!![]}];}return db['DeskAccount']['findAll'](_0x3af3b5);})['then'](function(_0x1df64c){_0x58013a[_0xc548('0x3e')]=_0x1df64c;return _0x58013a;})['then'](respondWithFilteredResult(_0x7895f4,_0x3af3b5))['catch'](handleError(_0x7895f4,null));};exports['show']=function(_0x17ae45,_0x2b47b3){var _0x44b8ce={'raw':![],'where':{'id':_0x17ae45['params']['id']}},_0x36c55b={};_0x36c55b[_0xc548('0x32')]=_[_0xc548('0x2c')](db[_0xc548('0x3f')][_0xc548('0x28')]);_0x36c55b[_0xc548('0x2b')]=_[_0xc548('0x2c')](_0x17ae45[_0xc548('0x2b')]);_0x36c55b[_0xc548('0x2d')]=_[_0xc548('0x2e')](_0x36c55b[_0xc548('0x32')],_0x36c55b[_0xc548('0x2b')]);_0x44b8ce[_0xc548('0x2f')]=_[_0xc548('0x2e')](_0x36c55b['model'],qs[_0xc548('0x30')](_0x17ae45[_0xc548('0x2b')][_0xc548('0x30')]));_0x44b8ce[_0xc548('0x2f')]=_0x44b8ce[_0xc548('0x2f')]['length']?_0x44b8ce[_0xc548('0x2f')]:_0x36c55b[_0xc548('0x32')];if(_0x17ae45[_0xc548('0x2b')][_0xc548('0x3c')]){_0x44b8ce[_0xc548('0x3d')]=[{'all':!![]}];}_0x44b8ce=_[_0xc548('0x39')]({},_0x44b8ce,_0x17ae45[_0xc548('0x3b')]);return db[_0xc548('0x3f')][_0xc548('0x40')](_0x44b8ce)[_0xc548('0x1f')](handleEntityNotFound(_0x2b47b3,null))[_0xc548('0x1f')](respondWithResult(_0x2b47b3,null))[_0xc548('0x41')](handleError(_0x2b47b3,null));};exports[_0xc548('0x42')]=function(_0x423c09,_0x2b0089){return db[_0xc548('0x3f')][_0xc548('0x42')](_0x423c09[_0xc548('0x43')],{})[_0xc548('0x1f')](respondWithResult(_0x2b0089,0xc9))[_0xc548('0x41')](handleError(_0x2b0089,null));};exports[_0xc548('0x1e')]=function(_0x53b9e7,_0x3aac39){if(_0x53b9e7['body']['id']){delete _0x53b9e7[_0xc548('0x43')]['id'];}return db[_0xc548('0x3f')]['find']({'where':{'id':_0x53b9e7[_0xc548('0x44')]['id']}})[_0xc548('0x1f')](handleEntityNotFound(_0x3aac39,null))[_0xc548('0x1f')](saveUpdates(_0x53b9e7['body'],null))['then'](respondWithResult(_0x3aac39,null))[_0xc548('0x41')](handleError(_0x3aac39,null));};exports[_0xc548('0x20')]=function(_0x54b4a1,_0x4583a0){return db[_0xc548('0x3f')][_0xc548('0x40')]({'where':{'id':_0x54b4a1[_0xc548('0x44')]['id']}})[_0xc548('0x1f')](handleEntityNotFound(_0x4583a0,null))[_0xc548('0x1f')](removeEntity(_0x4583a0,null))['catch'](handleError(_0x4583a0,null));};exports['getConfigurations']=function(_0x5a62d5,_0x37d62c,_0x7df7a6){var _0x4dbb56={};var _0xbb0246={};var _0x323b8b;var _0x576775;return db[_0xc548('0x3f')][_0xc548('0x45')]({'where':{'id':_0x5a62d5['params']['id']}})[_0xc548('0x1f')](handleEntityNotFound(_0x37d62c,null))[_0xc548('0x1f')](function(_0x1cc691){if(_0x1cc691){_0x323b8b=_0x1cc691;_0xbb0246[_0xc548('0x32')]=_[_0xc548('0x2c')](db[_0xc548('0x46')][_0xc548('0x28')]);_0xbb0246[_0xc548('0x2b')]=_[_0xc548('0x2c')](_0x5a62d5[_0xc548('0x2b')]);_0xbb0246[_0xc548('0x2d')]=_['intersection'](_0xbb0246[_0xc548('0x32')],_0xbb0246[_0xc548('0x2b')]);_0x4dbb56[_0xc548('0x2f')]=_['intersection'](_0xbb0246[_0xc548('0x32')],qs[_0xc548('0x30')](_0x5a62d5[_0xc548('0x2b')][_0xc548('0x30')]));_0x4dbb56[_0xc548('0x2f')]=_0x4dbb56[_0xc548('0x2f')]['length']?_0x4dbb56[_0xc548('0x2f')]:_0xbb0246[_0xc548('0x32')];_0x4dbb56[_0xc548('0x35')]=qs['sort'](_0x5a62d5[_0xc548('0x2b')]['sort']);_0x4dbb56[_0xc548('0x37')]=qs['filters'](_[_0xc548('0x38')](_0x5a62d5[_0xc548('0x2b')],_0xbb0246[_0xc548('0x2d')]));if(_0x5a62d5[_0xc548('0x2b')][_0xc548('0x3a')]){_0x4dbb56[_0xc548('0x37')]=_[_0xc548('0x39')](_0x4dbb56[_0xc548('0x37')],{'$or':_['map'](_0x4dbb56[_0xc548('0x2f')],function(_0x1b6a37){var _0x3bf0f0={};_0x3bf0f0[_0x1b6a37]={'$like':'%'+_0x5a62d5[_0xc548('0x2b')][_0xc548('0x3a')]+'%'};return _0x3bf0f0;})});}_0x4dbb56=_[_0xc548('0x39')]({},_0x4dbb56,_0x5a62d5[_0xc548('0x3b')]);return _0x323b8b[_0xc548('0x47')](_0x4dbb56);}})[_0xc548('0x1f')](function(_0x47a790){if(_0x47a790){_0x576775=_0x47a790[_0xc548('0x31')];if(!_0x5a62d5[_0xc548('0x2b')][_0xc548('0x33')](_0xc548('0x34'))){_0x4dbb56[_0xc548('0x1a')]=qs[_0xc548('0x1a')](_0x5a62d5[_0xc548('0x2b')][_0xc548('0x1a')]);_0x4dbb56['offset']=qs[_0xc548('0x19')](_0x5a62d5[_0xc548('0x2b')]['offset']);}return _0x323b8b[_0xc548('0x47')](_0x4dbb56);}})[_0xc548('0x1f')](function(_0x3816eb){if(_0x3816eb){return _0x3816eb?{'count':_0x576775,'rows':_0x3816eb}:null;}})[_0xc548('0x1f')](respondWithResult(_0x37d62c,null))[_0xc548('0x41')](handleError(_0x37d62c,null));};exports[_0xc548('0x48')]=function(_0x4a0d66,_0x188df4,_0x34a8e3){if(_0x4a0d66[_0xc548('0x43')]['id']){delete _0x4a0d66[_0xc548('0x43')]['id'];}return db[_0xc548('0x3f')][_0xc548('0x45')]({'where':{'id':_0x4a0d66[_0xc548('0x44')]['id']}})['then'](handleEntityNotFound(_0x188df4,null))[_0xc548('0x1f')](function(_0x4a6a7e){if(_0x4a6a7e){_0x4a0d66[_0xc548('0x43')][_0xc548('0x49')]=_0x4a6a7e['id'];_0x4a0d66[_0xc548('0x43')][_0xc548('0x4a')]=integrations[_0xc548('0x4b')](_0x4a0d66[_0xc548('0x43')][_0xc548('0x4c')],_0x4a0d66[_0xc548('0x43')][_0xc548('0x29')]);_0x4a0d66[_0xc548('0x43')][_0xc548('0x4d')]=integrations[_0xc548('0x4e')](_0x4a0d66[_0xc548('0x43')]['channel'],_0x4a0d66[_0xc548('0x43')]['type']);return db[_0xc548('0x46')]['create'](_0x4a0d66[_0xc548('0x43')],{'include':[{'model':db[_0xc548('0x4f')],'as':_0xc548('0x4a')},{'model':db[_0xc548('0x4f')],'as':_0xc548('0x4d')}]});}return null;})[_0xc548('0x1f')](respondWithResult(_0x188df4,null))[_0xc548('0x41')](handleError(_0x188df4,null));};exports['getFields']=function(_0x3c1ed9,_0x57284c,_0x4cdda9){var _0x5386e2=[{'name':_0xc548('0x50'),'label':_0xc548('0x50'),'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 _0x242881='';return db[_0xc548('0x3f')]['findOne']({'where':{'id':_0x3c1ed9[_0xc548('0x44')]['id']},'attributes':['id','remoteUri',_0xc548('0x51'),_0xc548('0x52'),_0xc548('0x53'),_0xc548('0x54'),'consumerSecret','token','tokenSecret']})[_0xc548('0x1f')](handleEntityNotFound(_0x57284c,null))['then'](function(_0x2c7d85){if(_0x2c7d85){_0x242881=_0x2c7d85[_0xc548('0x55')];var _0x31b4d7=_0x242881[_0xc548('0x56')](-0x1);if(_0x31b4d7==='/'){_0x242881=_0x242881[_0xc548('0x57')](0x0,_0x242881[_0xc548('0x58')](_0x31b4d7));}var _0x52db16={'method':_0xc548('0x59'),'uri':util[_0xc548('0x5a')](_0xc548('0x5b'),_0x242881),'headers':{'Content-Type':_0xc548('0x5c'),'Accept':_0xc548('0x5c')},'json':!![]};if(_0x2c7d85[_0xc548('0x51')]===_0xc548('0x5d')){_0x52db16[_0xc548('0x5e')]['Authorization']=util[_0xc548('0x5a')](_0xc548('0x5f'),new Buffer(util[_0xc548('0x5a')](_0xc548('0x60'),_0x2c7d85[_0xc548('0x52')],_0x2c7d85[_0xc548('0x53')]))[_0xc548('0x61')](_0xc548('0x62')));}return rp(_0x52db16)['then'](function(_0x4f7648){return _0x5386e2['concat'](_[_0xc548('0x27')](_0x4f7648['_embedded'][_0xc548('0x63')],function(_0xb6e32b){return{'id':_0xb6e32b[_0xc548('0x24')],'name':_0xb6e32b[_0xc548('0x24')],'type':_0xb6e32b['type'],'active':_0xb6e32b['active'],'label':_0xb6e32b[_0xc548('0x64')],'custom':!![]};}));});}})[_0xc548('0x1f')](function(_0x269cc8){return{'count':_0x269cc8['length'],'rows':_0x269cc8};})[_0xc548('0x1f')](respondWithResult(_0x57284c,null))[_0xc548('0x41')](function(_0x1682fe){var _0x470ee3=_0x3c1ed9[_0xc548('0x2b')][_0xc548('0x65')]?0x1f4:_0x1682fe[_0xc548('0x66')]||0x1f4;logger[_0xc548('0x22')]('getFields,\x20%s,\x20%s,\x20%s',_0xc548('0x67'),_0x470ee3,JSON[_0xc548('0x68')](_0x1682fe));delete _0x1682fe[_0xc548('0x24')];if(_0x470ee3===0x191){_0x470ee3=0x190;}_0x57284c[_0xc548('0x14')](_0x470ee3)['send'](_0x3c1ed9[_0xc548('0x2b')][_0xc548('0x65')]?{'message':'Wrong\x20credentials','statusCode':_0x1682fe[_0xc548('0x66')]}:_0x1682fe);});};