Built motion from commit ac06311e.|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 _0xa227=['sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','../../components/integrations/configuration','sendStatus','status','json','undefined','count','offset','limit','set','Content-Range','reject','save','update','then','destroy','name','send','index','map','rawAttributes','fieldName','type','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','merge','VIRTUAL','options','DeskAccount','include','rows','catch','params','find','create','body','getConfigurations','findOne','DeskConfiguration','filter','AccountId','Subjects','getSubjects','channel','Descriptions','getDescriptions','DeskField','getFields','priority','remoteUri','authType','username','password','consumerKey','consumerSecret','token','tokenSecret','slice','GET','format','application/json','basic','headers','Authorization','toString','base64','concat','entries','active','error','getFields,\x20%s,\x20%s,\x20%s','stringify','test','Wrong\x20credentials','statusCode','rimraf','zip-dir','request-promise','moment','util'];(function(_0x33ca22,_0xbcc94){var _0x1790c3=function(_0x448b06){while(--_0x448b06){_0x33ca22['push'](_0x33ca22['shift']());}};_0x1790c3(++_0xbcc94);}(_0xa227,0x69));var _0x7a22=function(_0x584660,_0x1cedb2){_0x584660=_0x584660-0x0;var _0x34bbc2=_0xa227[_0x584660];return _0x34bbc2;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x7a22('0x0'));var zipdir=require(_0x7a22('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x7a22('0x2'));var moment=require(_0x7a22('0x3'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x7a22('0x4'));var path=require('path');var sox=require(_0x7a22('0x5'));var csv=require(_0x7a22('0x6'));var ejs=require(_0x7a22('0x7'));var fs=require('fs');var fs_extra=require(_0x7a22('0x8'));var _=require(_0x7a22('0x9'));var squel=require(_0x7a22('0xa'));var crypto=require(_0x7a22('0xb'));var jsforce=require(_0x7a22('0xc'));var deskjs=require(_0x7a22('0xd'));var toCsv=require('to-csv');var querystring=require(_0x7a22('0xe'));var Papa=require(_0x7a22('0xf'));var Redis=require(_0x7a22('0x10'));var authService=require(_0x7a22('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0x7a22('0x12'));var hardwareService=require(_0x7a22('0x13'));var logger=require(_0x7a22('0x14'))(_0x7a22('0x15'));var utils=require(_0x7a22('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0x7a22('0x17'));var db=require(_0x7a22('0x18'))['db'];var integrations=require(_0x7a22('0x19'));function respondWithStatusCode(_0xa0ae8c,_0x400004){_0x400004=_0x400004||0xcc;return function(_0x4dabe7){if(_0x4dabe7){return _0xa0ae8c[_0x7a22('0x1a')](_0x400004);}return _0xa0ae8c[_0x7a22('0x1b')](_0x400004)['end']();};}function respondWithResult(_0x329da7,_0x20fc0c){_0x20fc0c=_0x20fc0c||0xc8;return function(_0x57ac74){if(_0x57ac74){return _0x329da7[_0x7a22('0x1b')](_0x20fc0c)[_0x7a22('0x1c')](_0x57ac74);}};}function respondWithFilteredResult(_0x56b7d9,_0x1c5702){return function(_0xe80d41){if(_0xe80d41){var _0x224f40=typeof _0x1c5702['offset']===_0x7a22('0x1d')&&typeof _0x1c5702['limit']===_0x7a22('0x1d');var _0xc71cc5=_0xe80d41[_0x7a22('0x1e')];var _0x3199e5=_0x224f40?0x0:_0x1c5702[_0x7a22('0x1f')];var _0x55c311=_0x224f40?_0xe80d41[_0x7a22('0x1e')]:_0x1c5702[_0x7a22('0x1f')]+_0x1c5702[_0x7a22('0x20')];var _0x593da9;if(_0x55c311>=_0xc71cc5){_0x55c311=_0xc71cc5;_0x593da9=0xc8;}else{_0x593da9=0xce;}_0x56b7d9['status'](_0x593da9);return _0x56b7d9[_0x7a22('0x21')](_0x7a22('0x22'),_0x3199e5+'-'+_0x55c311+'/'+_0xc71cc5)[_0x7a22('0x1c')](_0xe80d41);}return null;};}function patchUpdates(_0x5cbeb2){return function(_0x2e827a){try{jsonpatch['apply'](_0x2e827a,_0x5cbeb2,!![]);}catch(_0x3b999f){return BPromise[_0x7a22('0x23')](_0x3b999f);}return _0x2e827a[_0x7a22('0x24')]();};}function saveUpdates(_0x2c3377,_0x58aeec){return function(_0x2ff937){if(_0x2ff937){return _0x2ff937[_0x7a22('0x25')](_0x2c3377)[_0x7a22('0x26')](function(_0x30a1bb){return _0x30a1bb;});}return null;};}function removeEntity(_0xa35d49,_0x1c7e17){return function(_0x518012){if(_0x518012){return _0x518012[_0x7a22('0x27')]()['then'](function(){_0xa35d49[_0x7a22('0x1b')](0xcc)['end']();});}};}function handleEntityNotFound(_0x36923c,_0x9016aa){return function(_0x2541ec){if(!_0x2541ec){_0x36923c[_0x7a22('0x1a')](0x194);}return _0x2541ec;};}function handleError(_0x2d1cfe,_0x116406){_0x116406=_0x116406||0x1f4;return function(_0xe70680){logger['error'](_0xe70680['stack']);if(_0xe70680[_0x7a22('0x28')]){delete _0xe70680[_0x7a22('0x28')];}_0x2d1cfe[_0x7a22('0x1b')](_0x116406)[_0x7a22('0x29')](_0xe70680);};}exports[_0x7a22('0x2a')]=function(_0x19fa69,_0x19f89a){var _0x518217={},_0x34c952={},_0x16b047={'count':0x0,'rows':[]};var _0x5f905b=_[_0x7a22('0x2b')](db['DeskAccount'][_0x7a22('0x2c')],function(_0x211ba7){return{'name':_0x211ba7[_0x7a22('0x2d')],'type':_0x211ba7[_0x7a22('0x2e')]['key']};});_0x34c952[_0x7a22('0x2f')]=_['map'](_0x5f905b,_0x7a22('0x28'));_0x34c952['query']=_[_0x7a22('0x30')](_0x19fa69[_0x7a22('0x31')]);_0x34c952[_0x7a22('0x32')]=_[_0x7a22('0x33')](_0x34c952[_0x7a22('0x2f')],_0x34c952['query']);_0x518217[_0x7a22('0x34')]=_['intersection'](_0x34c952['model'],qs[_0x7a22('0x35')](_0x19fa69[_0x7a22('0x31')][_0x7a22('0x35')]));_0x518217[_0x7a22('0x34')]=_0x518217[_0x7a22('0x34')][_0x7a22('0x36')]?_0x518217['attributes']:_0x34c952[_0x7a22('0x2f')];if(!_0x19fa69['query'][_0x7a22('0x37')](_0x7a22('0x38'))){_0x518217[_0x7a22('0x20')]=qs[_0x7a22('0x20')](_0x19fa69[_0x7a22('0x31')][_0x7a22('0x20')]);_0x518217['offset']=qs[_0x7a22('0x1f')](_0x19fa69[_0x7a22('0x31')][_0x7a22('0x1f')]);}_0x518217['order']=qs[_0x7a22('0x39')](_0x19fa69[_0x7a22('0x31')][_0x7a22('0x39')]);_0x518217[_0x7a22('0x3a')]=qs['filters'](_[_0x7a22('0x3b')](_0x19fa69[_0x7a22('0x31')],_0x34c952[_0x7a22('0x32')]),_0x5f905b);if(_0x19fa69[_0x7a22('0x31')]['filter']){_0x518217[_0x7a22('0x3a')]=_[_0x7a22('0x3c')](_0x518217['where'],{'$or':_[_0x7a22('0x2b')](_0x5f905b,function(_0x357503){if(_0x357503[_0x7a22('0x2e')]!==_0x7a22('0x3d')){var _0x5e2ab2={};_0x5e2ab2[_0x357503[_0x7a22('0x28')]]={'$like':'%'+_0x19fa69['query']['filter']+'%'};return _0x5e2ab2;}})});}_0x518217=_[_0x7a22('0x3c')]({},_0x518217,_0x19fa69[_0x7a22('0x3e')]);var _0x3d4b6e={'where':_0x518217[_0x7a22('0x3a')]};return db[_0x7a22('0x3f')][_0x7a22('0x1e')](_0x3d4b6e)[_0x7a22('0x26')](function(_0xcbf1e5){_0x16b047[_0x7a22('0x1e')]=_0xcbf1e5;if(_0x19fa69[_0x7a22('0x31')]['includeAll']){_0x518217[_0x7a22('0x40')]=[{'all':!![]}];}return db[_0x7a22('0x3f')]['findAll'](_0x518217);})[_0x7a22('0x26')](function(_0x498095){_0x16b047[_0x7a22('0x41')]=_0x498095;return _0x16b047;})[_0x7a22('0x26')](respondWithFilteredResult(_0x19f89a,_0x518217))[_0x7a22('0x42')](handleError(_0x19f89a,null));};exports['show']=function(_0x1387fd,_0x1d9024){var _0x34cde9={'raw':![],'where':{'id':_0x1387fd[_0x7a22('0x43')]['id']}},_0x202b71={};_0x202b71['model']=_[_0x7a22('0x30')](db[_0x7a22('0x3f')][_0x7a22('0x2c')]);_0x202b71['query']=_[_0x7a22('0x30')](_0x1387fd[_0x7a22('0x31')]);_0x202b71[_0x7a22('0x32')]=_[_0x7a22('0x33')](_0x202b71['model'],_0x202b71[_0x7a22('0x31')]);_0x34cde9[_0x7a22('0x34')]=_[_0x7a22('0x33')](_0x202b71[_0x7a22('0x2f')],qs['fields'](_0x1387fd['query']['fields']));_0x34cde9[_0x7a22('0x34')]=_0x34cde9[_0x7a22('0x34')][_0x7a22('0x36')]?_0x34cde9['attributes']:_0x202b71[_0x7a22('0x2f')];if(_0x1387fd[_0x7a22('0x31')]['includeAll']){_0x34cde9['include']=[{'all':!![]}];}_0x34cde9=_['merge']({},_0x34cde9,_0x1387fd[_0x7a22('0x3e')]);return db['DeskAccount'][_0x7a22('0x44')](_0x34cde9)[_0x7a22('0x26')](handleEntityNotFound(_0x1d9024,null))[_0x7a22('0x26')](respondWithResult(_0x1d9024,null))['catch'](handleError(_0x1d9024,null));};exports[_0x7a22('0x45')]=function(_0x38109a,_0xadbfd){return db['DeskAccount'][_0x7a22('0x45')](_0x38109a[_0x7a22('0x46')],{})[_0x7a22('0x26')](respondWithResult(_0xadbfd,0xc9))[_0x7a22('0x42')](handleError(_0xadbfd,null));};exports['update']=function(_0x239a0b,_0x47d6da){if(_0x239a0b[_0x7a22('0x46')]['id']){delete _0x239a0b['body']['id'];}return db[_0x7a22('0x3f')]['find']({'where':{'id':_0x239a0b[_0x7a22('0x43')]['id']}})[_0x7a22('0x26')](handleEntityNotFound(_0x47d6da,null))[_0x7a22('0x26')](saveUpdates(_0x239a0b[_0x7a22('0x46')],null))[_0x7a22('0x26')](respondWithResult(_0x47d6da,null))[_0x7a22('0x42')](handleError(_0x47d6da,null));};exports['destroy']=function(_0x48a319,_0x596032){return db[_0x7a22('0x3f')][_0x7a22('0x44')]({'where':{'id':_0x48a319[_0x7a22('0x43')]['id']}})[_0x7a22('0x26')](handleEntityNotFound(_0x596032,null))[_0x7a22('0x26')](removeEntity(_0x596032,null))[_0x7a22('0x42')](handleError(_0x596032,null));};exports[_0x7a22('0x47')]=function(_0x46c186,_0x3c567d,_0x4a8d42){var _0xf5cf65={};var _0x37933b={};var _0x4da9e5;var _0x57ded9;return db[_0x7a22('0x3f')][_0x7a22('0x48')]({'where':{'id':_0x46c186[_0x7a22('0x43')]['id']}})[_0x7a22('0x26')](handleEntityNotFound(_0x3c567d,null))[_0x7a22('0x26')](function(_0x542327){if(_0x542327){_0x4da9e5=_0x542327;_0x37933b[_0x7a22('0x2f')]=_[_0x7a22('0x30')](db[_0x7a22('0x49')][_0x7a22('0x2c')]);_0x37933b[_0x7a22('0x31')]=_[_0x7a22('0x30')](_0x46c186[_0x7a22('0x31')]);_0x37933b['filters']=_['intersection'](_0x37933b['model'],_0x37933b[_0x7a22('0x31')]);_0xf5cf65[_0x7a22('0x34')]=_[_0x7a22('0x33')](_0x37933b[_0x7a22('0x2f')],qs[_0x7a22('0x35')](_0x46c186[_0x7a22('0x31')][_0x7a22('0x35')]));_0xf5cf65[_0x7a22('0x34')]=_0xf5cf65[_0x7a22('0x34')][_0x7a22('0x36')]?_0xf5cf65['attributes']:_0x37933b[_0x7a22('0x2f')];_0xf5cf65['order']=qs[_0x7a22('0x39')](_0x46c186['query'][_0x7a22('0x39')]);_0xf5cf65['where']=qs['filters'](_[_0x7a22('0x3b')](_0x46c186[_0x7a22('0x31')],_0x37933b[_0x7a22('0x32')]));if(_0x46c186[_0x7a22('0x31')][_0x7a22('0x4a')]){_0xf5cf65[_0x7a22('0x3a')]=_['merge'](_0xf5cf65[_0x7a22('0x3a')],{'$or':_[_0x7a22('0x2b')](_0xf5cf65[_0x7a22('0x34')],function(_0x1f4ce3){var _0x41ccc7={};_0x41ccc7[_0x1f4ce3]={'$like':'%'+_0x46c186['query']['filter']+'%'};return _0x41ccc7;})});}_0xf5cf65=_['merge']({},_0xf5cf65,_0x46c186[_0x7a22('0x3e')]);return _0x4da9e5[_0x7a22('0x47')](_0xf5cf65);}})[_0x7a22('0x26')](function(_0x25bb6b){if(_0x25bb6b){_0x57ded9=_0x25bb6b['length'];if(!_0x46c186[_0x7a22('0x31')][_0x7a22('0x37')]('nolimit')){_0xf5cf65[_0x7a22('0x20')]=qs[_0x7a22('0x20')](_0x46c186[_0x7a22('0x31')]['limit']);_0xf5cf65['offset']=qs[_0x7a22('0x1f')](_0x46c186[_0x7a22('0x31')]['offset']);}return _0x4da9e5['getConfigurations'](_0xf5cf65);}})['then'](function(_0x21a239){if(_0x21a239){return _0x21a239?{'count':_0x57ded9,'rows':_0x21a239}:null;}})[_0x7a22('0x26')](respondWithResult(_0x3c567d,null))['catch'](handleError(_0x3c567d,null));};exports['addConfiguration']=function(_0x5cfd24,_0x39a314,_0x15c1d3){if(_0x5cfd24[_0x7a22('0x46')]['id']){delete _0x5cfd24[_0x7a22('0x46')]['id'];}return db[_0x7a22('0x3f')][_0x7a22('0x48')]({'where':{'id':_0x5cfd24['params']['id']}})['then'](handleEntityNotFound(_0x39a314,null))[_0x7a22('0x26')](function(_0x12842d){if(_0x12842d){_0x5cfd24[_0x7a22('0x46')][_0x7a22('0x4b')]=_0x12842d['id'];_0x5cfd24['body'][_0x7a22('0x4c')]=integrations[_0x7a22('0x4d')](_0x5cfd24[_0x7a22('0x46')][_0x7a22('0x4e')],_0x5cfd24[_0x7a22('0x46')][_0x7a22('0x2e')]);_0x5cfd24[_0x7a22('0x46')][_0x7a22('0x4f')]=integrations[_0x7a22('0x50')](_0x5cfd24[_0x7a22('0x46')][_0x7a22('0x4e')],_0x5cfd24['body']['type']);return db['DeskConfiguration'][_0x7a22('0x45')](_0x5cfd24[_0x7a22('0x46')],{'include':[{'model':db[_0x7a22('0x51')],'as':'Subjects'},{'model':db['DeskField'],'as':_0x7a22('0x4f')}]});}return null;})['then'](respondWithResult(_0x39a314,null))[_0x7a22('0x42')](handleError(_0x39a314,null));};exports[_0x7a22('0x52')]=function(_0x9333f5,_0x1e1aab,_0x2433af){var _0x549b62=[{'name':_0x7a22('0x53'),'label':_0x7a22('0x53'),'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 _0x81be0a='';return db[_0x7a22('0x3f')][_0x7a22('0x48')]({'where':{'id':_0x9333f5['params']['id']},'attributes':['id',_0x7a22('0x54'),_0x7a22('0x55'),_0x7a22('0x56'),_0x7a22('0x57'),_0x7a22('0x58'),_0x7a22('0x59'),_0x7a22('0x5a'),_0x7a22('0x5b')]})[_0x7a22('0x26')](handleEntityNotFound(_0x1e1aab,null))[_0x7a22('0x26')](function(_0x4410ec){if(_0x4410ec){_0x81be0a=_0x4410ec[_0x7a22('0x54')];var _0x41bca3=_0x81be0a[_0x7a22('0x5c')](-0x1);if(_0x41bca3==='/'){_0x81be0a=_0x81be0a['substring'](0x0,_0x81be0a['lastIndexOf'](_0x41bca3));}var _0x1ceb7b={'method':_0x7a22('0x5d'),'uri':util[_0x7a22('0x5e')]('%s/custom_fields',_0x81be0a),'headers':{'Content-Type':_0x7a22('0x5f'),'Accept':_0x7a22('0x5f')},'json':!![]};if(_0x4410ec[_0x7a22('0x55')]===_0x7a22('0x60')){_0x1ceb7b[_0x7a22('0x61')][_0x7a22('0x62')]=util['format']('Basic\x20%s',new Buffer(util[_0x7a22('0x5e')]('%s:%s',_0x4410ec['username'],_0x4410ec[_0x7a22('0x57')]))[_0x7a22('0x63')](_0x7a22('0x64')));}return rp(_0x1ceb7b)[_0x7a22('0x26')](function(_0x189bd6){return _0x549b62[_0x7a22('0x65')](_[_0x7a22('0x2b')](_0x189bd6['_embedded'][_0x7a22('0x66')],function(_0x4058e2){return{'id':_0x4058e2[_0x7a22('0x28')],'name':_0x4058e2[_0x7a22('0x28')],'type':_0x4058e2[_0x7a22('0x2e')],'active':_0x4058e2[_0x7a22('0x67')],'label':_0x4058e2['label'],'custom':!![]};}));});}})[_0x7a22('0x26')](function(_0x1c2c36){return{'count':_0x1c2c36[_0x7a22('0x36')],'rows':_0x1c2c36};})[_0x7a22('0x26')](respondWithResult(_0x1e1aab,null))[_0x7a22('0x42')](function(_0x20282){var _0x4c743a=_0x9333f5[_0x7a22('0x31')]['test']?0x1f4:_0x20282['statusCode']||0x1f4;logger[_0x7a22('0x68')](_0x7a22('0x69'),'getFields',_0x4c743a,JSON[_0x7a22('0x6a')](_0x20282));delete _0x20282[_0x7a22('0x28')];if(_0x4c743a===0x191){_0x4c743a=0x190;}_0x1e1aab[_0x7a22('0x1b')](_0x4c743a)['send'](_0x9333f5[_0x7a22('0x31')][_0x7a22('0x6b')]?{'message':_0x7a22('0x6c'),'statusCode':_0x20282[_0x7a22('0x6d')]}:_0x20282);});};