Built motion from commit (unavailable).|2.5.9
[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 _0x00a0=['squel','crypto','jsforce','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','../../components/integrations/configuration','http','then','DeskAccount,\x20%s,\x20%s','request\x20sent','stringify','error','code','message','info','result','catch','sendStatus','status','json','offset','limit','set','Content-Range','apply','save','destroy','end','stack','name','send','index','rawAttributes','fieldName','type','model','map','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','pick','filter','where','VIRTUAL','DeskAccount','count','includeAll','findAll','show','params','merge','options','find','create','body','update','getConfigurations','findOne','DeskConfiguration','nolimit','addConfiguration','Subjects','channel','Descriptions','getDescriptions','DeskField','getFields','priority','remoteUri','authType','username','password','consumerKey','consumerSecret','token','substring','lastIndexOf','application/json','basic','Authorization','Basic\x20%s','format','%s:%s','toString','base64','concat','entries','active','label','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','Wrong\x20credentials','html-pdf','zip-dir','fast-json-patch','request-promise','moment','bluebird','sox','to-csv','ejs','lodash'];(function(_0x47dfef,_0xc9a491){var _0x350473=function(_0x5b3501){while(--_0x5b3501){_0x47dfef['push'](_0x47dfef['shift']());}};_0x350473(++_0xc9a491);}(_0x00a0,0x6c));var _0x000a=function(_0x413feb,_0x10477f){_0x413feb=_0x413feb-0x0;var _0x40ee88=_0x00a0[_0x413feb];return _0x40ee88;};'use strict';var pdf=require(_0x000a('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x000a('0x1'));var jsonpatch=require(_0x000a('0x2'));var rp=require(_0x000a('0x3'));var moment=require(_0x000a('0x4'));var BPromise=require(_0x000a('0x5'));var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require(_0x000a('0x6'));var csv=require(_0x000a('0x7'));var ejs=require(_0x000a('0x8'));var fs=require('fs');var _=require(_0x000a('0x9'));var squel=require(_0x000a('0xa'));var crypto=require(_0x000a('0xb'));var jsforce=require(_0x000a('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x000a('0x7'));var querystring=require(_0x000a('0xd'));var Papa=require('papaparse');var Redis=require(_0x000a('0xe'));var authService=require(_0x000a('0xf'));var qs=require(_0x000a('0x10'));var as=require(_0x000a('0x11'));var hardwareService=require(_0x000a('0x12'));var logger=require(_0x000a('0x13'))('api');var utils=require('../../config/utils');var config=require(_0x000a('0x14'));var licenseUtil=require(_0x000a('0x15'));var db=require(_0x000a('0x16'))['db'];var integrations=require(_0x000a('0x17'));var jayson=require('jayson/promise');var client=jayson['client'][_0x000a('0x18')]({'port':0x232a});function respondWithRpcPromise(_0x48574e,_0x1a296c,_0x3094af,_0x31117e){return new BPromise(function(_0x2367db,_0x107cf5){var _0x28d706=_0x31117e||client;return _0x28d706['request'](_0x48574e,_0x3094af)[_0x000a('0x19')](function(_0x2e6199){logger['info'](_0x000a('0x1a'),_0x1a296c,_0x000a('0x1b'));logger['debug']('DeskAccount,\x20%s,\x20%s,\x20%s',_0x1a296c,'request\x20sent',JSON[_0x000a('0x1c')](_0x2e6199));if(_0x2e6199[_0x000a('0x1d')]){if(_0x2e6199['error'][_0x000a('0x1e')]===0x1f4){logger[_0x000a('0x1d')](_0x000a('0x1a'),_0x1a296c,_0x2e6199['error']['message']);return _0x107cf5(_0x2e6199['error'][_0x000a('0x1f')]);}logger[_0x000a('0x1d')]('DeskAccount,\x20%s,\x20%s',_0x1a296c,_0x2e6199[_0x000a('0x1d')][_0x000a('0x1f')]);return _0x2367db(_0x2e6199[_0x000a('0x1d')][_0x000a('0x1f')]);}else{logger[_0x000a('0x20')](_0x000a('0x1a'),_0x1a296c,'request\x20sent');_0x2367db(_0x2e6199[_0x000a('0x21')]['message']);}})[_0x000a('0x22')](function(_0x1c78e0){logger[_0x000a('0x1d')](_0x000a('0x1a'),_0x1a296c,_0x1c78e0);_0x107cf5(_0x1c78e0);});});}function respondWithStatusCode(_0x4ceadc,_0x51e292){_0x51e292=_0x51e292||0xcc;return function(_0x2fdf70){if(_0x2fdf70){return _0x4ceadc[_0x000a('0x23')](_0x51e292);}return _0x4ceadc['status'](_0x51e292)['end']();};}function respondWithResult(_0x315ed2,_0x535a3f){_0x535a3f=_0x535a3f||0xc8;return function(_0x8eacca){if(_0x8eacca){return _0x315ed2[_0x000a('0x24')](_0x535a3f)[_0x000a('0x25')](_0x8eacca);}};}function respondWithFilteredResult(_0x5dcbdf,_0x13b6d5){return function(_0x5606eb){if(_0x5606eb){var _0x4ca9dc=_0x5606eb['count'],_0x30e924=_0x13b6d5[_0x000a('0x26')],_0x1ac5c8=_0x13b6d5[_0x000a('0x26')]+_0x13b6d5[_0x000a('0x27')],_0x6b4c77;if(_0x1ac5c8>=_0x4ca9dc){_0x1ac5c8=_0x4ca9dc;_0x6b4c77=0xc8;}else{_0x6b4c77=0xce;}_0x5dcbdf[_0x000a('0x24')](_0x6b4c77);return _0x5dcbdf[_0x000a('0x28')](_0x000a('0x29'),_0x30e924+'-'+_0x1ac5c8+'/'+_0x4ca9dc)[_0x000a('0x25')](_0x5606eb);}return null;};}function patchUpdates(_0x464403){return function(_0x374233){try{jsonpatch[_0x000a('0x2a')](_0x374233,_0x464403,!![]);}catch(_0x5a9ad8){return BPromise['reject'](_0x5a9ad8);}return _0x374233[_0x000a('0x2b')]();};}function saveUpdates(_0x5590c8,_0x5008f8){return function(_0x5d8692){if(_0x5d8692){return _0x5d8692['update'](_0x5590c8)[_0x000a('0x19')](function(_0x44f545){return _0x44f545;});}return null;};}function removeEntity(_0x51f1a4,_0x324670){return function(_0x53c644){if(_0x53c644){return _0x53c644[_0x000a('0x2c')]()[_0x000a('0x19')](function(){_0x51f1a4['status'](0xcc)[_0x000a('0x2d')]();});}};}function handleEntityNotFound(_0x5a11dc,_0x4973b2){return function(_0x3651de){if(!_0x3651de){_0x5a11dc[_0x000a('0x23')](0x194);}return _0x3651de;};}function handleError(_0x4c40a0,_0x1b0444){_0x1b0444=_0x1b0444||0x1f4;return function(_0x3caf6f){logger[_0x000a('0x1d')](_0x3caf6f[_0x000a('0x2e')]);if(_0x3caf6f[_0x000a('0x2f')]){delete _0x3caf6f[_0x000a('0x2f')];}_0x4c40a0['status'](_0x1b0444)[_0x000a('0x30')](_0x3caf6f);};}exports[_0x000a('0x31')]=function(_0x809300,_0xc45d42){var _0x17e976={},_0x460899={},_0x42d1a2={'count':0x0,'rows':[]};var _0x5e84ec=_['map'](db['DeskAccount'][_0x000a('0x32')],function(_0x1b401a){return{'name':_0x1b401a[_0x000a('0x33')],'type':_0x1b401a[_0x000a('0x34')]['key']};});_0x460899[_0x000a('0x35')]=_[_0x000a('0x36')](_0x5e84ec,_0x000a('0x2f'));_0x460899[_0x000a('0x37')]=_[_0x000a('0x38')](_0x809300[_0x000a('0x37')]);_0x460899[_0x000a('0x39')]=_[_0x000a('0x3a')](_0x460899['model'],_0x460899[_0x000a('0x37')]);_0x17e976[_0x000a('0x3b')]=_[_0x000a('0x3a')](_0x460899[_0x000a('0x35')],qs['fields'](_0x809300['query'][_0x000a('0x3c')]));_0x17e976[_0x000a('0x3b')]=_0x17e976[_0x000a('0x3b')][_0x000a('0x3d')]?_0x17e976[_0x000a('0x3b')]:_0x460899['model'];if(!_0x809300[_0x000a('0x37')][_0x000a('0x3e')]('nolimit')){_0x17e976[_0x000a('0x27')]=qs[_0x000a('0x27')](_0x809300[_0x000a('0x37')][_0x000a('0x27')]);_0x17e976[_0x000a('0x26')]=qs['offset'](_0x809300[_0x000a('0x37')][_0x000a('0x26')]);}_0x17e976[_0x000a('0x3f')]=qs[_0x000a('0x40')](_0x809300[_0x000a('0x37')]['sort']);_0x17e976['where']=qs[_0x000a('0x39')](_[_0x000a('0x41')](_0x809300['query'],_0x460899[_0x000a('0x39')]),_0x5e84ec);if(_0x809300[_0x000a('0x37')][_0x000a('0x42')]){_0x17e976[_0x000a('0x43')]=_['merge'](_0x17e976[_0x000a('0x43')],{'$or':_[_0x000a('0x36')](_0x5e84ec,function(_0x18dfd3){if(_0x18dfd3[_0x000a('0x34')]!==_0x000a('0x44')){var _0x2e258f={};_0x2e258f[_0x18dfd3[_0x000a('0x2f')]]={'$like':'%'+_0x809300['query'][_0x000a('0x42')]+'%'};return _0x2e258f;}})});}_0x17e976=_['merge']({},_0x17e976,_0x809300['options']);var _0x41e31c={'where':_0x17e976[_0x000a('0x43')]};return db[_0x000a('0x45')][_0x000a('0x46')](_0x41e31c)[_0x000a('0x19')](function(_0x59a0ce){_0x42d1a2[_0x000a('0x46')]=_0x59a0ce;if(_0x809300[_0x000a('0x37')][_0x000a('0x47')]){_0x17e976['include']=[{'all':!![]}];}return db[_0x000a('0x45')][_0x000a('0x48')](_0x17e976);})[_0x000a('0x19')](function(_0x528fd4){_0x42d1a2['rows']=_0x528fd4;return _0x42d1a2;})[_0x000a('0x19')](respondWithFilteredResult(_0xc45d42,_0x17e976))[_0x000a('0x22')](handleError(_0xc45d42,null));};exports[_0x000a('0x49')]=function(_0x3e9353,_0x22c415){var _0x4dc616={'raw':![],'where':{'id':_0x3e9353[_0x000a('0x4a')]['id']}},_0x61a4f3={};_0x61a4f3[_0x000a('0x35')]=_[_0x000a('0x38')](db['DeskAccount'][_0x000a('0x32')]);_0x61a4f3['query']=_[_0x000a('0x38')](_0x3e9353[_0x000a('0x37')]);_0x61a4f3['filters']=_[_0x000a('0x3a')](_0x61a4f3[_0x000a('0x35')],_0x61a4f3[_0x000a('0x37')]);_0x4dc616[_0x000a('0x3b')]=_[_0x000a('0x3a')](_0x61a4f3[_0x000a('0x35')],qs['fields'](_0x3e9353[_0x000a('0x37')][_0x000a('0x3c')]));_0x4dc616[_0x000a('0x3b')]=_0x4dc616[_0x000a('0x3b')][_0x000a('0x3d')]?_0x4dc616[_0x000a('0x3b')]:_0x61a4f3[_0x000a('0x35')];if(_0x3e9353['query'][_0x000a('0x47')]){_0x4dc616['include']=[{'all':!![]}];}_0x4dc616=_[_0x000a('0x4b')]({},_0x4dc616,_0x3e9353[_0x000a('0x4c')]);return db['DeskAccount'][_0x000a('0x4d')](_0x4dc616)['then'](handleEntityNotFound(_0x22c415,null))['then'](respondWithResult(_0x22c415,null))['catch'](handleError(_0x22c415,null));};exports[_0x000a('0x4e')]=function(_0x515c32,_0x5a89bb){return db[_0x000a('0x45')][_0x000a('0x4e')](_0x515c32[_0x000a('0x4f')],{})['then'](respondWithResult(_0x5a89bb,0xc9))[_0x000a('0x22')](handleError(_0x5a89bb,null));};exports[_0x000a('0x50')]=function(_0x43987e,_0x1470ab){if(_0x43987e[_0x000a('0x4f')]['id']){delete _0x43987e[_0x000a('0x4f')]['id'];}return db[_0x000a('0x45')][_0x000a('0x4d')]({'where':{'id':_0x43987e[_0x000a('0x4a')]['id']}})['then'](handleEntityNotFound(_0x1470ab,null))[_0x000a('0x19')](saveUpdates(_0x43987e['body'],null))[_0x000a('0x19')](respondWithResult(_0x1470ab,null))[_0x000a('0x22')](handleError(_0x1470ab,null));};exports[_0x000a('0x2c')]=function(_0x1f6000,_0x129d1b){return db[_0x000a('0x45')][_0x000a('0x4d')]({'where':{'id':_0x1f6000[_0x000a('0x4a')]['id']}})[_0x000a('0x19')](handleEntityNotFound(_0x129d1b,null))[_0x000a('0x19')](removeEntity(_0x129d1b,null))['catch'](handleError(_0x129d1b,null));};exports[_0x000a('0x51')]=function(_0x3df34f,_0x3e1bc3,_0x4e5e46){var _0x4d2fd3={};var _0x2dd2b8={};var _0x3297ae;var _0x275070;return db['DeskAccount'][_0x000a('0x52')]({'where':{'id':_0x3df34f[_0x000a('0x4a')]['id']}})[_0x000a('0x19')](handleEntityNotFound(_0x3e1bc3,null))[_0x000a('0x19')](function(_0xe45a6a){if(_0xe45a6a){_0x3297ae=_0xe45a6a;_0x2dd2b8[_0x000a('0x35')]=_[_0x000a('0x38')](db[_0x000a('0x53')][_0x000a('0x32')]);_0x2dd2b8[_0x000a('0x37')]=_['keys'](_0x3df34f[_0x000a('0x37')]);_0x2dd2b8[_0x000a('0x39')]=_[_0x000a('0x3a')](_0x2dd2b8[_0x000a('0x35')],_0x2dd2b8[_0x000a('0x37')]);_0x4d2fd3['attributes']=_[_0x000a('0x3a')](_0x2dd2b8[_0x000a('0x35')],qs[_0x000a('0x3c')](_0x3df34f['query']['fields']));_0x4d2fd3[_0x000a('0x3b')]=_0x4d2fd3['attributes'][_0x000a('0x3d')]?_0x4d2fd3[_0x000a('0x3b')]:_0x2dd2b8[_0x000a('0x35')];_0x4d2fd3[_0x000a('0x3f')]=qs[_0x000a('0x40')](_0x3df34f[_0x000a('0x37')][_0x000a('0x40')]);_0x4d2fd3['where']=qs[_0x000a('0x39')](_[_0x000a('0x41')](_0x3df34f['query'],_0x2dd2b8[_0x000a('0x39')]));if(_0x3df34f['query'][_0x000a('0x42')]){_0x4d2fd3['where']=_['merge'](_0x4d2fd3[_0x000a('0x43')],{'$or':_[_0x000a('0x36')](_0x4d2fd3['attributes'],function(_0x53d7c8){var _0x346068={};_0x346068[_0x53d7c8]={'$like':'%'+_0x3df34f['query'][_0x000a('0x42')]+'%'};return _0x346068;})});}_0x4d2fd3=_[_0x000a('0x4b')]({},_0x4d2fd3,_0x3df34f[_0x000a('0x4c')]);return _0x3297ae[_0x000a('0x51')](_0x4d2fd3);}})['then'](function(_0x5f56c5){if(_0x5f56c5){_0x275070=_0x5f56c5[_0x000a('0x3d')];if(!_0x3df34f[_0x000a('0x37')]['hasOwnProperty'](_0x000a('0x54'))){_0x4d2fd3['limit']=qs['limit'](_0x3df34f[_0x000a('0x37')][_0x000a('0x27')]);_0x4d2fd3[_0x000a('0x26')]=qs[_0x000a('0x26')](_0x3df34f[_0x000a('0x37')][_0x000a('0x26')]);}return _0x3297ae[_0x000a('0x51')](_0x4d2fd3);}})[_0x000a('0x19')](function(_0x1ad0b3){if(_0x1ad0b3){return _0x1ad0b3?{'count':_0x275070,'rows':_0x1ad0b3}:null;}})[_0x000a('0x19')](respondWithResult(_0x3e1bc3,null))[_0x000a('0x22')](handleError(_0x3e1bc3,null));};exports[_0x000a('0x55')]=function(_0x490852,_0xc3fc3d,_0x134d27){if(_0x490852[_0x000a('0x4f')]['id']){delete _0x490852[_0x000a('0x4f')]['id'];}return db[_0x000a('0x45')][_0x000a('0x52')]({'where':{'id':_0x490852[_0x000a('0x4a')]['id']}})[_0x000a('0x19')](handleEntityNotFound(_0xc3fc3d,null))[_0x000a('0x19')](function(_0x100795){if(_0x100795){_0x490852[_0x000a('0x4f')]['AccountId']=_0x100795['id'];_0x490852[_0x000a('0x4f')][_0x000a('0x56')]=integrations['getSubjects'](_0x490852['body'][_0x000a('0x57')],_0x490852[_0x000a('0x4f')][_0x000a('0x34')]);_0x490852[_0x000a('0x4f')][_0x000a('0x58')]=integrations[_0x000a('0x59')](_0x490852[_0x000a('0x4f')]['channel'],_0x490852[_0x000a('0x4f')][_0x000a('0x34')]);return db[_0x000a('0x53')][_0x000a('0x4e')](_0x490852[_0x000a('0x4f')],{'include':[{'model':db[_0x000a('0x5a')],'as':_0x000a('0x56')},{'model':db['DeskField'],'as':_0x000a('0x58')}]});}return null;})[_0x000a('0x19')](respondWithResult(_0xc3fc3d,null))[_0x000a('0x22')](handleError(_0xc3fc3d,null));};exports[_0x000a('0x5b')]=function(_0x29f204,_0x54a189,_0x20bc3a){var _0x3f0a1c=[{'name':'priority','label':_0x000a('0x5c'),'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 _0xddf5f0='';return db[_0x000a('0x45')][_0x000a('0x52')]({'where':{'id':_0x29f204[_0x000a('0x4a')]['id']},'attributes':['id',_0x000a('0x5d'),_0x000a('0x5e'),_0x000a('0x5f'),_0x000a('0x60'),_0x000a('0x61'),_0x000a('0x62'),_0x000a('0x63'),'tokenSecret']})['then'](handleEntityNotFound(_0x54a189,null))[_0x000a('0x19')](function(_0x359699){if(_0x359699){_0xddf5f0=_0x359699[_0x000a('0x5d')];var _0x1b3a46=_0xddf5f0['slice'](-0x1);if(_0x1b3a46==='/'){_0xddf5f0=_0xddf5f0[_0x000a('0x64')](0x0,_0xddf5f0[_0x000a('0x65')](_0x1b3a46));}var _0x322a61={'method':'GET','uri':util['format']('%s/custom_fields',_0xddf5f0),'headers':{'Content-Type':_0x000a('0x66'),'Accept':_0x000a('0x66')},'json':!![]};if(_0x359699[_0x000a('0x5e')]===_0x000a('0x67')){_0x322a61['headers'][_0x000a('0x68')]=util['format'](_0x000a('0x69'),new Buffer(util[_0x000a('0x6a')](_0x000a('0x6b'),_0x359699[_0x000a('0x5f')],_0x359699[_0x000a('0x60')]))[_0x000a('0x6c')](_0x000a('0x6d')));}return rp(_0x322a61)['then'](function(_0x29e23b){return _0x3f0a1c[_0x000a('0x6e')](_[_0x000a('0x36')](_0x29e23b['_embedded'][_0x000a('0x6f')],function(_0x18ccd8){return{'id':_0x18ccd8[_0x000a('0x2f')],'name':_0x18ccd8[_0x000a('0x2f')],'type':_0x18ccd8[_0x000a('0x34')],'active':_0x18ccd8[_0x000a('0x70')],'label':_0x18ccd8[_0x000a('0x71')],'custom':!![]};}));});}})[_0x000a('0x19')](function(_0x509eb4){return{'count':_0x509eb4[_0x000a('0x3d')],'rows':_0x509eb4};})[_0x000a('0x19')](respondWithResult(_0x54a189,null))[_0x000a('0x22')](function(_0x45cd57){var _0x4c00e8=_0x29f204['query'][_0x000a('0x72')]?0x1f4:_0x45cd57[_0x000a('0x73')]||0x1f4;logger[_0x000a('0x1d')](_0x000a('0x74'),_0x000a('0x5b'),_0x4c00e8,JSON['stringify'](_0x45cd57));delete _0x45cd57[_0x000a('0x2f')];if(_0x4c00e8===0x191){_0x4c00e8=0x190;}_0x54a189[_0x000a('0x24')](_0x4c00e8)[_0x000a('0x30')](_0x29f204[_0x000a('0x37')][_0x000a('0x72')]?{'message':_0x000a('0x75'),'statusCode':_0x45cd57[_0x000a('0x73')]}:_0x45cd57);});};