Built motion from commit c738b9ac.|2.6.25
[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 _0x4b95=['entries','active','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','stringify','send','Wrong\x20credentials','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','sox','to-csv','ejs','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','status','end','json','undefined','limit','offset','count','set','Content-Range','apply','reject','then','destroy','error','stack','name','index','map','DeskAccount','key','model','query','filters','intersection','fields','attributes','length','hasOwnProperty','order','sort','where','pick','filter','merge','type','options','findAll','rows','show','params','keys','rawAttributes','includeAll','include','find','catch','create','body','update','getConfigurations','findOne','DeskConfiguration','nolimit','addConfiguration','AccountId','Subjects','getSubjects','Descriptions','getDescriptions','DeskField','getFields','priority','remoteUri','username','consumerKey','token','tokenSecret','slice','GET','application/json','authType','headers','Authorization','format','Basic\x20%s','%s:%s','base64','concat','_embedded'];(function(_0x451303,_0x2d1114){var _0x2087c4=function(_0x152f23){while(--_0x152f23){_0x451303['push'](_0x451303['shift']());}};_0x2087c4(++_0x2d1114);}(_0x4b95,0x15e));var _0x54b9=function(_0x30a334,_0x1dcfab){_0x30a334=_0x30a334-0x0;var _0xd36f52=_0x4b95[_0x30a334];return _0xd36f52;};'use strict';var emlformat=require(_0x54b9('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x54b9('0x1'));var jsonpatch=require(_0x54b9('0x2'));var rp=require(_0x54b9('0x3'));var moment=require(_0x54b9('0x4'));var BPromise=require(_0x54b9('0x5'));var Mustache=require('mustache');var util=require(_0x54b9('0x6'));var path=require('path');var sox=require(_0x54b9('0x7'));var csv=require(_0x54b9('0x8'));var ejs=require(_0x54b9('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x54b9('0xa'));var squel=require(_0x54b9('0xb'));var crypto=require(_0x54b9('0xc'));var jsforce=require(_0x54b9('0xd'));var deskjs=require(_0x54b9('0xe'));var toCsv=require(_0x54b9('0x8'));var querystring=require(_0x54b9('0xf'));var Papa=require(_0x54b9('0x10'));var Redis=require(_0x54b9('0x11'));var authService=require(_0x54b9('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0x54b9('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x54b9('0x14'))(_0x54b9('0x15'));var utils=require(_0x54b9('0x16'));var config=require(_0x54b9('0x17'));var licenseUtil=require(_0x54b9('0x18'));var db=require(_0x54b9('0x19'))['db'];var integrations=require('../../components/integrations/configuration');function respondWithStatusCode(_0x13e493,_0x2203b7){_0x2203b7=_0x2203b7||0xcc;return function(_0x1bbaed){if(_0x1bbaed){return _0x13e493[_0x54b9('0x1a')](_0x2203b7);}return _0x13e493[_0x54b9('0x1b')](_0x2203b7)[_0x54b9('0x1c')]();};}function respondWithResult(_0x3830b3,_0x35af67){_0x35af67=_0x35af67||0xc8;return function(_0x35d3ed){if(_0x35d3ed){return _0x3830b3[_0x54b9('0x1b')](_0x35af67)[_0x54b9('0x1d')](_0x35d3ed);}};}function respondWithFilteredResult(_0x2a57c9,_0x34aaa9){return function(_0x3e083b){if(_0x3e083b){var _0xfd408e=typeof _0x34aaa9['offset']===_0x54b9('0x1e')&&typeof _0x34aaa9[_0x54b9('0x1f')]==='undefined';var _0x3f63ce=_0x3e083b['count'];var _0x39b58b=_0xfd408e?0x0:_0x34aaa9[_0x54b9('0x20')];var _0x339be4=_0xfd408e?_0x3e083b[_0x54b9('0x21')]:_0x34aaa9[_0x54b9('0x20')]+_0x34aaa9[_0x54b9('0x1f')];var _0x51a6b0;if(_0x339be4>=_0x3f63ce){_0x339be4=_0x3f63ce;_0x51a6b0=0xc8;}else{_0x51a6b0=0xce;}_0x2a57c9[_0x54b9('0x1b')](_0x51a6b0);return _0x2a57c9[_0x54b9('0x22')](_0x54b9('0x23'),_0x39b58b+'-'+_0x339be4+'/'+_0x3f63ce)[_0x54b9('0x1d')](_0x3e083b);}return null;};}function patchUpdates(_0x725050){return function(_0xffde41){try{jsonpatch[_0x54b9('0x24')](_0xffde41,_0x725050,!![]);}catch(_0x544ec9){return BPromise[_0x54b9('0x25')](_0x544ec9);}return _0xffde41['save']();};}function saveUpdates(_0x2900dc,_0x1b9ffb){return function(_0x45bf45){if(_0x45bf45){return _0x45bf45['update'](_0x2900dc)[_0x54b9('0x26')](function(_0x1803ff){return _0x1803ff;});}return null;};}function removeEntity(_0x13cc96,_0x2fe1b4){return function(_0x945a07){if(_0x945a07){return _0x945a07[_0x54b9('0x27')]()[_0x54b9('0x26')](function(){_0x13cc96[_0x54b9('0x1b')](0xcc)[_0x54b9('0x1c')]();});}};}function handleEntityNotFound(_0x3fde8a,_0x2ec10e){return function(_0x19a6c8){if(!_0x19a6c8){_0x3fde8a[_0x54b9('0x1a')](0x194);}return _0x19a6c8;};}function handleError(_0x5668c5,_0x7d5e0c){_0x7d5e0c=_0x7d5e0c||0x1f4;return function(_0x5d7093){logger[_0x54b9('0x28')](_0x5d7093[_0x54b9('0x29')]);if(_0x5d7093['name']){delete _0x5d7093[_0x54b9('0x2a')];}_0x5668c5['status'](_0x7d5e0c)['send'](_0x5d7093);};}exports[_0x54b9('0x2b')]=function(_0x150caa,_0x3053ca){var _0xf2c788={},_0x468600={},_0x56aa17={'count':0x0,'rows':[]};var _0x2d581d=_[_0x54b9('0x2c')](db[_0x54b9('0x2d')]['rawAttributes'],function(_0x5b8c29){return{'name':_0x5b8c29['fieldName'],'type':_0x5b8c29['type'][_0x54b9('0x2e')]};});_0x468600[_0x54b9('0x2f')]=_[_0x54b9('0x2c')](_0x2d581d,_0x54b9('0x2a'));_0x468600[_0x54b9('0x30')]=_['keys'](_0x150caa[_0x54b9('0x30')]);_0x468600[_0x54b9('0x31')]=_[_0x54b9('0x32')](_0x468600[_0x54b9('0x2f')],_0x468600[_0x54b9('0x30')]);_0xf2c788['attributes']=_['intersection'](_0x468600[_0x54b9('0x2f')],qs[_0x54b9('0x33')](_0x150caa['query'][_0x54b9('0x33')]));_0xf2c788[_0x54b9('0x34')]=_0xf2c788[_0x54b9('0x34')][_0x54b9('0x35')]?_0xf2c788['attributes']:_0x468600[_0x54b9('0x2f')];if(!_0x150caa[_0x54b9('0x30')][_0x54b9('0x36')]('nolimit')){_0xf2c788[_0x54b9('0x1f')]=qs[_0x54b9('0x1f')](_0x150caa['query'][_0x54b9('0x1f')]);_0xf2c788[_0x54b9('0x20')]=qs[_0x54b9('0x20')](_0x150caa[_0x54b9('0x30')][_0x54b9('0x20')]);}_0xf2c788[_0x54b9('0x37')]=qs[_0x54b9('0x38')](_0x150caa['query']['sort']);_0xf2c788[_0x54b9('0x39')]=qs[_0x54b9('0x31')](_[_0x54b9('0x3a')](_0x150caa[_0x54b9('0x30')],_0x468600['filters']),_0x2d581d);if(_0x150caa[_0x54b9('0x30')][_0x54b9('0x3b')]){_0xf2c788[_0x54b9('0x39')]=_[_0x54b9('0x3c')](_0xf2c788['where'],{'$or':_[_0x54b9('0x2c')](_0x2d581d,function(_0x3c5337){if(_0x3c5337[_0x54b9('0x3d')]!=='VIRTUAL'){var _0x22d883={};_0x22d883[_0x3c5337[_0x54b9('0x2a')]]={'$like':'%'+_0x150caa[_0x54b9('0x30')][_0x54b9('0x3b')]+'%'};return _0x22d883;}})});}_0xf2c788=_[_0x54b9('0x3c')]({},_0xf2c788,_0x150caa[_0x54b9('0x3e')]);var _0x459f1e={'where':_0xf2c788[_0x54b9('0x39')]};return db[_0x54b9('0x2d')][_0x54b9('0x21')](_0x459f1e)['then'](function(_0x155af5){_0x56aa17['count']=_0x155af5;if(_0x150caa['query']['includeAll']){_0xf2c788['include']=[{'all':!![]}];}return db[_0x54b9('0x2d')][_0x54b9('0x3f')](_0xf2c788);})[_0x54b9('0x26')](function(_0x39f705){_0x56aa17[_0x54b9('0x40')]=_0x39f705;return _0x56aa17;})[_0x54b9('0x26')](respondWithFilteredResult(_0x3053ca,_0xf2c788))['catch'](handleError(_0x3053ca,null));};exports[_0x54b9('0x41')]=function(_0x78ab5f,_0x128c60){var _0x20e301={'raw':![],'where':{'id':_0x78ab5f[_0x54b9('0x42')]['id']}},_0x29e8ab={};_0x29e8ab[_0x54b9('0x2f')]=_[_0x54b9('0x43')](db[_0x54b9('0x2d')][_0x54b9('0x44')]);_0x29e8ab[_0x54b9('0x30')]=_['keys'](_0x78ab5f[_0x54b9('0x30')]);_0x29e8ab['filters']=_['intersection'](_0x29e8ab['model'],_0x29e8ab[_0x54b9('0x30')]);_0x20e301[_0x54b9('0x34')]=_[_0x54b9('0x32')](_0x29e8ab[_0x54b9('0x2f')],qs[_0x54b9('0x33')](_0x78ab5f['query'][_0x54b9('0x33')]));_0x20e301[_0x54b9('0x34')]=_0x20e301['attributes'][_0x54b9('0x35')]?_0x20e301[_0x54b9('0x34')]:_0x29e8ab['model'];if(_0x78ab5f[_0x54b9('0x30')][_0x54b9('0x45')]){_0x20e301[_0x54b9('0x46')]=[{'all':!![]}];}_0x20e301=_['merge']({},_0x20e301,_0x78ab5f[_0x54b9('0x3e')]);return db[_0x54b9('0x2d')][_0x54b9('0x47')](_0x20e301)[_0x54b9('0x26')](handleEntityNotFound(_0x128c60,null))[_0x54b9('0x26')](respondWithResult(_0x128c60,null))[_0x54b9('0x48')](handleError(_0x128c60,null));};exports[_0x54b9('0x49')]=function(_0x37d326,_0x1a0226){return db[_0x54b9('0x2d')][_0x54b9('0x49')](_0x37d326[_0x54b9('0x4a')],{})[_0x54b9('0x26')](respondWithResult(_0x1a0226,0xc9))['catch'](handleError(_0x1a0226,null));};exports[_0x54b9('0x4b')]=function(_0x16c7a2,_0x3c1a35){if(_0x16c7a2[_0x54b9('0x4a')]['id']){delete _0x16c7a2[_0x54b9('0x4a')]['id'];}return db[_0x54b9('0x2d')][_0x54b9('0x47')]({'where':{'id':_0x16c7a2['params']['id']}})[_0x54b9('0x26')](handleEntityNotFound(_0x3c1a35,null))[_0x54b9('0x26')](saveUpdates(_0x16c7a2[_0x54b9('0x4a')],null))['then'](respondWithResult(_0x3c1a35,null))[_0x54b9('0x48')](handleError(_0x3c1a35,null));};exports['destroy']=function(_0x11c313,_0x5343d8){return db[_0x54b9('0x2d')]['find']({'where':{'id':_0x11c313[_0x54b9('0x42')]['id']}})[_0x54b9('0x26')](handleEntityNotFound(_0x5343d8,null))[_0x54b9('0x26')](removeEntity(_0x5343d8,null))[_0x54b9('0x48')](handleError(_0x5343d8,null));};exports[_0x54b9('0x4c')]=function(_0x285034,_0x578cfc,_0x4b8c83){var _0x1bec01={};var _0x2e91e4={};var _0x47387a;var _0x3654ca;return db['DeskAccount'][_0x54b9('0x4d')]({'where':{'id':_0x285034[_0x54b9('0x42')]['id']}})[_0x54b9('0x26')](handleEntityNotFound(_0x578cfc,null))[_0x54b9('0x26')](function(_0x632a9){if(_0x632a9){_0x47387a=_0x632a9;_0x2e91e4[_0x54b9('0x2f')]=_[_0x54b9('0x43')](db[_0x54b9('0x4e')]['rawAttributes']);_0x2e91e4[_0x54b9('0x30')]=_[_0x54b9('0x43')](_0x285034[_0x54b9('0x30')]);_0x2e91e4[_0x54b9('0x31')]=_[_0x54b9('0x32')](_0x2e91e4['model'],_0x2e91e4[_0x54b9('0x30')]);_0x1bec01[_0x54b9('0x34')]=_[_0x54b9('0x32')](_0x2e91e4[_0x54b9('0x2f')],qs[_0x54b9('0x33')](_0x285034[_0x54b9('0x30')][_0x54b9('0x33')]));_0x1bec01['attributes']=_0x1bec01[_0x54b9('0x34')][_0x54b9('0x35')]?_0x1bec01[_0x54b9('0x34')]:_0x2e91e4[_0x54b9('0x2f')];_0x1bec01['order']=qs[_0x54b9('0x38')](_0x285034[_0x54b9('0x30')]['sort']);_0x1bec01[_0x54b9('0x39')]=qs[_0x54b9('0x31')](_[_0x54b9('0x3a')](_0x285034[_0x54b9('0x30')],_0x2e91e4[_0x54b9('0x31')]));if(_0x285034[_0x54b9('0x30')][_0x54b9('0x3b')]){_0x1bec01[_0x54b9('0x39')]=_[_0x54b9('0x3c')](_0x1bec01[_0x54b9('0x39')],{'$or':_[_0x54b9('0x2c')](_0x1bec01[_0x54b9('0x34')],function(_0x9455a1){var _0x3a43c6={};_0x3a43c6[_0x9455a1]={'$like':'%'+_0x285034[_0x54b9('0x30')][_0x54b9('0x3b')]+'%'};return _0x3a43c6;})});}_0x1bec01=_['merge']({},_0x1bec01,_0x285034['options']);return _0x47387a[_0x54b9('0x4c')](_0x1bec01);}})[_0x54b9('0x26')](function(_0x139161){if(_0x139161){_0x3654ca=_0x139161['length'];if(!_0x285034[_0x54b9('0x30')]['hasOwnProperty'](_0x54b9('0x4f'))){_0x1bec01[_0x54b9('0x1f')]=qs[_0x54b9('0x1f')](_0x285034[_0x54b9('0x30')][_0x54b9('0x1f')]);_0x1bec01[_0x54b9('0x20')]=qs[_0x54b9('0x20')](_0x285034[_0x54b9('0x30')][_0x54b9('0x20')]);}return _0x47387a[_0x54b9('0x4c')](_0x1bec01);}})['then'](function(_0x5a4c71){if(_0x5a4c71){return _0x5a4c71?{'count':_0x3654ca,'rows':_0x5a4c71}:null;}})[_0x54b9('0x26')](respondWithResult(_0x578cfc,null))[_0x54b9('0x48')](handleError(_0x578cfc,null));};exports[_0x54b9('0x50')]=function(_0x102f00,_0xa10890,_0x2ccecb){if(_0x102f00[_0x54b9('0x4a')]['id']){delete _0x102f00['body']['id'];}return db[_0x54b9('0x2d')][_0x54b9('0x4d')]({'where':{'id':_0x102f00['params']['id']}})[_0x54b9('0x26')](handleEntityNotFound(_0xa10890,null))['then'](function(_0x248b88){if(_0x248b88){_0x102f00[_0x54b9('0x4a')][_0x54b9('0x51')]=_0x248b88['id'];_0x102f00[_0x54b9('0x4a')][_0x54b9('0x52')]=integrations[_0x54b9('0x53')](_0x102f00[_0x54b9('0x4a')]['channel'],_0x102f00[_0x54b9('0x4a')][_0x54b9('0x3d')]);_0x102f00['body'][_0x54b9('0x54')]=integrations[_0x54b9('0x55')](_0x102f00[_0x54b9('0x4a')]['channel'],_0x102f00[_0x54b9('0x4a')][_0x54b9('0x3d')]);return db['DeskConfiguration'][_0x54b9('0x49')](_0x102f00['body'],{'include':[{'model':db[_0x54b9('0x56')],'as':_0x54b9('0x52')},{'model':db[_0x54b9('0x56')],'as':'Descriptions'}]});}return null;})[_0x54b9('0x26')](respondWithResult(_0xa10890,null))['catch'](handleError(_0xa10890,null));};exports[_0x54b9('0x57')]=function(_0xb7460,_0x1aa6c4,_0x8fa701){var _0x807759=[{'name':'priority','label':_0x54b9('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 _0x42b4ca='';return db[_0x54b9('0x2d')][_0x54b9('0x4d')]({'where':{'id':_0xb7460['params']['id']},'attributes':['id',_0x54b9('0x59'),'authType',_0x54b9('0x5a'),'password',_0x54b9('0x5b'),'consumerSecret',_0x54b9('0x5c'),_0x54b9('0x5d')]})[_0x54b9('0x26')](handleEntityNotFound(_0x1aa6c4,null))[_0x54b9('0x26')](function(_0x3600d5){if(_0x3600d5){_0x42b4ca=_0x3600d5['remoteUri'];var _0x103d4e=_0x42b4ca[_0x54b9('0x5e')](-0x1);if(_0x103d4e==='/'){_0x42b4ca=_0x42b4ca['substring'](0x0,_0x42b4ca['lastIndexOf'](_0x103d4e));}var _0x730091={'method':_0x54b9('0x5f'),'uri':util['format']('%s/custom_fields',_0x42b4ca),'headers':{'Content-Type':_0x54b9('0x60'),'Accept':_0x54b9('0x60')},'json':!![]};if(_0x3600d5[_0x54b9('0x61')]==='basic'){_0x730091[_0x54b9('0x62')][_0x54b9('0x63')]=util[_0x54b9('0x64')](_0x54b9('0x65'),new Buffer(util[_0x54b9('0x64')](_0x54b9('0x66'),_0x3600d5[_0x54b9('0x5a')],_0x3600d5['password']))['toString'](_0x54b9('0x67')));}return rp(_0x730091)[_0x54b9('0x26')](function(_0x19e3ef){return _0x807759[_0x54b9('0x68')](_[_0x54b9('0x2c')](_0x19e3ef[_0x54b9('0x69')][_0x54b9('0x6a')],function(_0x5e2979){return{'id':_0x5e2979[_0x54b9('0x2a')],'name':_0x5e2979['name'],'type':_0x5e2979[_0x54b9('0x3d')],'active':_0x5e2979[_0x54b9('0x6b')],'label':_0x5e2979['label'],'custom':!![]};}));});}})['then'](function(_0x48e1b5){return{'count':_0x48e1b5[_0x54b9('0x35')],'rows':_0x48e1b5};})[_0x54b9('0x26')](respondWithResult(_0x1aa6c4,null))[_0x54b9('0x48')](function(_0x38e936){var _0x1e3215=_0xb7460[_0x54b9('0x30')][_0x54b9('0x6c')]?0x1f4:_0x38e936[_0x54b9('0x6d')]||0x1f4;logger[_0x54b9('0x28')](_0x54b9('0x6e'),'getFields',_0x1e3215,JSON[_0x54b9('0x6f')](_0x38e936));delete _0x38e936[_0x54b9('0x2a')];if(_0x1e3215===0x191){_0x1e3215=0x190;}_0x1aa6c4[_0x54b9('0x1b')](_0x1e3215)[_0x54b9('0x70')](_0xb7460[_0x54b9('0x30')][_0x54b9('0x6c')]?{'message':_0x54b9('0x71'),'statusCode':_0x38e936[_0x54b9('0x6d')]}:_0x38e936);});};