Built motion from commit bab6f49e.|2.6.17
[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 _0x2d22=['stringify','send','Wrong\x20credentials','eml-format','rimraf','zip-dir','fast-json-patch','moment','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','status','end','json','offset','limit','undefined','count','Content-Range','apply','reject','save','update','then','destroy','sendStatus','stack','name','map','rawAttributes','fieldName','type','model','keys','query','filters','intersection','fields','attributes','hasOwnProperty','nolimit','sort','where','pick','filter','merge','VIRTUAL','options','DeskAccount','includeAll','include','findAll','params','length','find','catch','create','body','findOne','order','getConfigurations','addConfiguration','AccountId','Subjects','channel','getDescriptions','DeskConfiguration','DeskField','Descriptions','getFields','priority','remoteUri','authType','password','consumerKey','consumerSecret','token','tokenSecret','GET','%s/custom_fields','application/json','headers','Basic\x20%s','format','base64','concat','_embedded','entries','active','label','test','statusCode','error','getFields,\x20%s,\x20%s,\x20%s'];(function(_0x354563,_0x239ba3){var _0x50a176=function(_0x5429a8){while(--_0x5429a8){_0x354563['push'](_0x354563['shift']());}};_0x50a176(++_0x239ba3);}(_0x2d22,0x73));var _0x22d2=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x2d22[_0x3dd15e];return _0x231fd0;};'use strict';var emlformat=require(_0x22d2('0x0'));var rimraf=require(_0x22d2('0x1'));var zipdir=require(_0x22d2('0x2'));var jsonpatch=require(_0x22d2('0x3'));var rp=require('request-promise');var moment=require(_0x22d2('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x22d2('0x5'));var util=require(_0x22d2('0x6'));var path=require(_0x22d2('0x7'));var sox=require(_0x22d2('0x8'));var csv=require(_0x22d2('0x9'));var ejs=require(_0x22d2('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x22d2('0xb'));var squel=require(_0x22d2('0xc'));var crypto=require(_0x22d2('0xd'));var jsforce=require(_0x22d2('0xe'));var deskjs=require(_0x22d2('0xf'));var toCsv=require(_0x22d2('0x9'));var querystring=require(_0x22d2('0x10'));var Papa=require(_0x22d2('0x11'));var Redis=require(_0x22d2('0x12'));var authService=require(_0x22d2('0x13'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x22d2('0x14'));var logger=require(_0x22d2('0x15'))(_0x22d2('0x16'));var utils=require(_0x22d2('0x17'));var config=require(_0x22d2('0x18'));var licenseUtil=require(_0x22d2('0x19'));var db=require('../../mysqldb')['db'];var integrations=require('../../components/integrations/configuration');function respondWithStatusCode(_0x51b747,_0x3422ec){_0x3422ec=_0x3422ec||0xcc;return function(_0x42a38a){if(_0x42a38a){return _0x51b747['sendStatus'](_0x3422ec);}return _0x51b747[_0x22d2('0x1a')](_0x3422ec)[_0x22d2('0x1b')]();};}function respondWithResult(_0x59fb80,_0x345917){_0x345917=_0x345917||0xc8;return function(_0x3fb4f6){if(_0x3fb4f6){return _0x59fb80[_0x22d2('0x1a')](_0x345917)[_0x22d2('0x1c')](_0x3fb4f6);}};}function respondWithFilteredResult(_0x16e532,_0x27ce5d){return function(_0x5ed715){if(_0x5ed715){var _0x3b90ab=typeof _0x27ce5d[_0x22d2('0x1d')]==='undefined'&&typeof _0x27ce5d[_0x22d2('0x1e')]===_0x22d2('0x1f');var _0x1c6166=_0x5ed715[_0x22d2('0x20')];var _0x3e4614=_0x3b90ab?0x0:_0x27ce5d['offset'];var _0x18a87a=_0x3b90ab?_0x5ed715[_0x22d2('0x20')]:_0x27ce5d[_0x22d2('0x1d')]+_0x27ce5d['limit'];var _0x3a5dfa;if(_0x18a87a>=_0x1c6166){_0x18a87a=_0x1c6166;_0x3a5dfa=0xc8;}else{_0x3a5dfa=0xce;}_0x16e532[_0x22d2('0x1a')](_0x3a5dfa);return _0x16e532['set'](_0x22d2('0x21'),_0x3e4614+'-'+_0x18a87a+'/'+_0x1c6166)[_0x22d2('0x1c')](_0x5ed715);}return null;};}function patchUpdates(_0x2aa5e3){return function(_0x2c432e){try{jsonpatch[_0x22d2('0x22')](_0x2c432e,_0x2aa5e3,!![]);}catch(_0xa1b75d){return BPromise[_0x22d2('0x23')](_0xa1b75d);}return _0x2c432e[_0x22d2('0x24')]();};}function saveUpdates(_0x4541e9,_0x19ab59){return function(_0x588175){if(_0x588175){return _0x588175[_0x22d2('0x25')](_0x4541e9)[_0x22d2('0x26')](function(_0x20ed29){return _0x20ed29;});}return null;};}function removeEntity(_0x48ff51,_0x471d53){return function(_0x4cb77d){if(_0x4cb77d){return _0x4cb77d[_0x22d2('0x27')]()[_0x22d2('0x26')](function(){_0x48ff51[_0x22d2('0x1a')](0xcc)[_0x22d2('0x1b')]();});}};}function handleEntityNotFound(_0x3e3e98,_0x42a947){return function(_0x54d9b5){if(!_0x54d9b5){_0x3e3e98[_0x22d2('0x28')](0x194);}return _0x54d9b5;};}function handleError(_0x415380,_0x3cbf55){_0x3cbf55=_0x3cbf55||0x1f4;return function(_0x3dfa7e){logger['error'](_0x3dfa7e[_0x22d2('0x29')]);if(_0x3dfa7e['name']){delete _0x3dfa7e[_0x22d2('0x2a')];}_0x415380[_0x22d2('0x1a')](_0x3cbf55)['send'](_0x3dfa7e);};}exports['index']=function(_0x5881b6,_0x53e34e){var _0xc2ec1f={},_0x3d41bb={},_0x5e7ebf={'count':0x0,'rows':[]};var _0x5db52b=_[_0x22d2('0x2b')](db['DeskAccount'][_0x22d2('0x2c')],function(_0x3c69f8){return{'name':_0x3c69f8[_0x22d2('0x2d')],'type':_0x3c69f8[_0x22d2('0x2e')]['key']};});_0x3d41bb[_0x22d2('0x2f')]=_[_0x22d2('0x2b')](_0x5db52b,_0x22d2('0x2a'));_0x3d41bb['query']=_[_0x22d2('0x30')](_0x5881b6[_0x22d2('0x31')]);_0x3d41bb[_0x22d2('0x32')]=_['intersection'](_0x3d41bb['model'],_0x3d41bb['query']);_0xc2ec1f['attributes']=_[_0x22d2('0x33')](_0x3d41bb[_0x22d2('0x2f')],qs[_0x22d2('0x34')](_0x5881b6['query'][_0x22d2('0x34')]));_0xc2ec1f[_0x22d2('0x35')]=_0xc2ec1f[_0x22d2('0x35')]['length']?_0xc2ec1f[_0x22d2('0x35')]:_0x3d41bb['model'];if(!_0x5881b6[_0x22d2('0x31')][_0x22d2('0x36')](_0x22d2('0x37'))){_0xc2ec1f[_0x22d2('0x1e')]=qs['limit'](_0x5881b6[_0x22d2('0x31')][_0x22d2('0x1e')]);_0xc2ec1f['offset']=qs['offset'](_0x5881b6[_0x22d2('0x31')][_0x22d2('0x1d')]);}_0xc2ec1f['order']=qs[_0x22d2('0x38')](_0x5881b6['query'][_0x22d2('0x38')]);_0xc2ec1f[_0x22d2('0x39')]=qs[_0x22d2('0x32')](_[_0x22d2('0x3a')](_0x5881b6[_0x22d2('0x31')],_0x3d41bb[_0x22d2('0x32')]),_0x5db52b);if(_0x5881b6['query'][_0x22d2('0x3b')]){_0xc2ec1f[_0x22d2('0x39')]=_[_0x22d2('0x3c')](_0xc2ec1f[_0x22d2('0x39')],{'$or':_['map'](_0x5db52b,function(_0x473229){if(_0x473229['type']!==_0x22d2('0x3d')){var _0x2e0412={};_0x2e0412[_0x473229[_0x22d2('0x2a')]]={'$like':'%'+_0x5881b6[_0x22d2('0x31')]['filter']+'%'};return _0x2e0412;}})});}_0xc2ec1f=_[_0x22d2('0x3c')]({},_0xc2ec1f,_0x5881b6[_0x22d2('0x3e')]);var _0x5edd38={'where':_0xc2ec1f['where']};return db[_0x22d2('0x3f')]['count'](_0x5edd38)[_0x22d2('0x26')](function(_0x19f24e){_0x5e7ebf[_0x22d2('0x20')]=_0x19f24e;if(_0x5881b6[_0x22d2('0x31')][_0x22d2('0x40')]){_0xc2ec1f[_0x22d2('0x41')]=[{'all':!![]}];}return db[_0x22d2('0x3f')][_0x22d2('0x42')](_0xc2ec1f);})['then'](function(_0x542cfc){_0x5e7ebf['rows']=_0x542cfc;return _0x5e7ebf;})[_0x22d2('0x26')](respondWithFilteredResult(_0x53e34e,_0xc2ec1f))['catch'](handleError(_0x53e34e,null));};exports['show']=function(_0x2c86c5,_0x3581af){var _0x331567={'raw':![],'where':{'id':_0x2c86c5[_0x22d2('0x43')]['id']}},_0x3d52df={};_0x3d52df[_0x22d2('0x2f')]=_[_0x22d2('0x30')](db[_0x22d2('0x3f')][_0x22d2('0x2c')]);_0x3d52df[_0x22d2('0x31')]=_['keys'](_0x2c86c5[_0x22d2('0x31')]);_0x3d52df[_0x22d2('0x32')]=_['intersection'](_0x3d52df[_0x22d2('0x2f')],_0x3d52df[_0x22d2('0x31')]);_0x331567[_0x22d2('0x35')]=_[_0x22d2('0x33')](_0x3d52df['model'],qs[_0x22d2('0x34')](_0x2c86c5[_0x22d2('0x31')][_0x22d2('0x34')]));_0x331567[_0x22d2('0x35')]=_0x331567[_0x22d2('0x35')][_0x22d2('0x44')]?_0x331567[_0x22d2('0x35')]:_0x3d52df['model'];if(_0x2c86c5[_0x22d2('0x31')][_0x22d2('0x40')]){_0x331567[_0x22d2('0x41')]=[{'all':!![]}];}_0x331567=_[_0x22d2('0x3c')]({},_0x331567,_0x2c86c5[_0x22d2('0x3e')]);return db['DeskAccount'][_0x22d2('0x45')](_0x331567)[_0x22d2('0x26')](handleEntityNotFound(_0x3581af,null))[_0x22d2('0x26')](respondWithResult(_0x3581af,null))[_0x22d2('0x46')](handleError(_0x3581af,null));};exports[_0x22d2('0x47')]=function(_0x4fbad6,_0x3cf989){return db[_0x22d2('0x3f')][_0x22d2('0x47')](_0x4fbad6[_0x22d2('0x48')],{})['then'](respondWithResult(_0x3cf989,0xc9))[_0x22d2('0x46')](handleError(_0x3cf989,null));};exports[_0x22d2('0x25')]=function(_0x27298f,_0xb37c7f){if(_0x27298f['body']['id']){delete _0x27298f['body']['id'];}return db['DeskAccount'][_0x22d2('0x45')]({'where':{'id':_0x27298f[_0x22d2('0x43')]['id']}})[_0x22d2('0x26')](handleEntityNotFound(_0xb37c7f,null))[_0x22d2('0x26')](saveUpdates(_0x27298f[_0x22d2('0x48')],null))['then'](respondWithResult(_0xb37c7f,null))[_0x22d2('0x46')](handleError(_0xb37c7f,null));};exports['destroy']=function(_0x5bec3,_0x21123f){return db[_0x22d2('0x3f')]['find']({'where':{'id':_0x5bec3[_0x22d2('0x43')]['id']}})[_0x22d2('0x26')](handleEntityNotFound(_0x21123f,null))[_0x22d2('0x26')](removeEntity(_0x21123f,null))['catch'](handleError(_0x21123f,null));};exports['getConfigurations']=function(_0x41e0f0,_0xb4e00b,_0x3f37f5){var _0x2fbfd6={};var _0x31af05={};var _0x4c2f23;var _0x468984;return db[_0x22d2('0x3f')][_0x22d2('0x49')]({'where':{'id':_0x41e0f0['params']['id']}})[_0x22d2('0x26')](handleEntityNotFound(_0xb4e00b,null))['then'](function(_0x33ebeb){if(_0x33ebeb){_0x4c2f23=_0x33ebeb;_0x31af05[_0x22d2('0x2f')]=_[_0x22d2('0x30')](db['DeskConfiguration'][_0x22d2('0x2c')]);_0x31af05['query']=_[_0x22d2('0x30')](_0x41e0f0['query']);_0x31af05['filters']=_[_0x22d2('0x33')](_0x31af05[_0x22d2('0x2f')],_0x31af05[_0x22d2('0x31')]);_0x2fbfd6['attributes']=_[_0x22d2('0x33')](_0x31af05[_0x22d2('0x2f')],qs[_0x22d2('0x34')](_0x41e0f0[_0x22d2('0x31')][_0x22d2('0x34')]));_0x2fbfd6[_0x22d2('0x35')]=_0x2fbfd6['attributes'][_0x22d2('0x44')]?_0x2fbfd6[_0x22d2('0x35')]:_0x31af05[_0x22d2('0x2f')];_0x2fbfd6[_0x22d2('0x4a')]=qs[_0x22d2('0x38')](_0x41e0f0[_0x22d2('0x31')]['sort']);_0x2fbfd6['where']=qs[_0x22d2('0x32')](_[_0x22d2('0x3a')](_0x41e0f0['query'],_0x31af05['filters']));if(_0x41e0f0['query'][_0x22d2('0x3b')]){_0x2fbfd6['where']=_[_0x22d2('0x3c')](_0x2fbfd6[_0x22d2('0x39')],{'$or':_['map'](_0x2fbfd6[_0x22d2('0x35')],function(_0x36d4db){var _0x4c87b1={};_0x4c87b1[_0x36d4db]={'$like':'%'+_0x41e0f0[_0x22d2('0x31')][_0x22d2('0x3b')]+'%'};return _0x4c87b1;})});}_0x2fbfd6=_[_0x22d2('0x3c')]({},_0x2fbfd6,_0x41e0f0[_0x22d2('0x3e')]);return _0x4c2f23[_0x22d2('0x4b')](_0x2fbfd6);}})['then'](function(_0x38a95f){if(_0x38a95f){_0x468984=_0x38a95f[_0x22d2('0x44')];if(!_0x41e0f0[_0x22d2('0x31')][_0x22d2('0x36')]('nolimit')){_0x2fbfd6[_0x22d2('0x1e')]=qs[_0x22d2('0x1e')](_0x41e0f0[_0x22d2('0x31')]['limit']);_0x2fbfd6[_0x22d2('0x1d')]=qs[_0x22d2('0x1d')](_0x41e0f0[_0x22d2('0x31')][_0x22d2('0x1d')]);}return _0x4c2f23['getConfigurations'](_0x2fbfd6);}})['then'](function(_0x380a75){if(_0x380a75){return _0x380a75?{'count':_0x468984,'rows':_0x380a75}:null;}})['then'](respondWithResult(_0xb4e00b,null))[_0x22d2('0x46')](handleError(_0xb4e00b,null));};exports[_0x22d2('0x4c')]=function(_0x31803c,_0x2435a3,_0x594996){if(_0x31803c[_0x22d2('0x48')]['id']){delete _0x31803c[_0x22d2('0x48')]['id'];}return db['DeskAccount'][_0x22d2('0x49')]({'where':{'id':_0x31803c[_0x22d2('0x43')]['id']}})[_0x22d2('0x26')](handleEntityNotFound(_0x2435a3,null))['then'](function(_0x137d5a){if(_0x137d5a){_0x31803c[_0x22d2('0x48')][_0x22d2('0x4d')]=_0x137d5a['id'];_0x31803c['body'][_0x22d2('0x4e')]=integrations['getSubjects'](_0x31803c[_0x22d2('0x48')][_0x22d2('0x4f')],_0x31803c[_0x22d2('0x48')][_0x22d2('0x2e')]);_0x31803c['body']['Descriptions']=integrations[_0x22d2('0x50')](_0x31803c[_0x22d2('0x48')][_0x22d2('0x4f')],_0x31803c[_0x22d2('0x48')][_0x22d2('0x2e')]);return db[_0x22d2('0x51')][_0x22d2('0x47')](_0x31803c[_0x22d2('0x48')],{'include':[{'model':db[_0x22d2('0x52')],'as':_0x22d2('0x4e')},{'model':db[_0x22d2('0x52')],'as':_0x22d2('0x53')}]});}return null;})['then'](respondWithResult(_0x2435a3,null))['catch'](handleError(_0x2435a3,null));};exports[_0x22d2('0x54')]=function(_0x286c27,_0x111b5a,_0x302859){var _0x1f9b45=[{'name':_0x22d2('0x55'),'label':_0x22d2('0x55'),'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 _0x5b5623='';return db[_0x22d2('0x3f')][_0x22d2('0x49')]({'where':{'id':_0x286c27[_0x22d2('0x43')]['id']},'attributes':['id',_0x22d2('0x56'),_0x22d2('0x57'),'username',_0x22d2('0x58'),_0x22d2('0x59'),_0x22d2('0x5a'),_0x22d2('0x5b'),_0x22d2('0x5c')]})['then'](handleEntityNotFound(_0x111b5a,null))[_0x22d2('0x26')](function(_0x469c95){if(_0x469c95){_0x5b5623=_0x469c95[_0x22d2('0x56')];var _0x5b414d=_0x5b5623['slice'](-0x1);if(_0x5b414d==='/'){_0x5b5623=_0x5b5623['substring'](0x0,_0x5b5623['lastIndexOf'](_0x5b414d));}var _0x25ec60={'method':_0x22d2('0x5d'),'uri':util['format'](_0x22d2('0x5e'),_0x5b5623),'headers':{'Content-Type':_0x22d2('0x5f'),'Accept':'application/json'},'json':!![]};if(_0x469c95[_0x22d2('0x57')]==='basic'){_0x25ec60[_0x22d2('0x60')]['Authorization']=util['format'](_0x22d2('0x61'),new Buffer(util[_0x22d2('0x62')]('%s:%s',_0x469c95['username'],_0x469c95['password']))['toString'](_0x22d2('0x63')));}return rp(_0x25ec60)[_0x22d2('0x26')](function(_0xab3251){return _0x1f9b45[_0x22d2('0x64')](_[_0x22d2('0x2b')](_0xab3251[_0x22d2('0x65')][_0x22d2('0x66')],function(_0x3f16d9){return{'id':_0x3f16d9[_0x22d2('0x2a')],'name':_0x3f16d9[_0x22d2('0x2a')],'type':_0x3f16d9[_0x22d2('0x2e')],'active':_0x3f16d9[_0x22d2('0x67')],'label':_0x3f16d9[_0x22d2('0x68')],'custom':!![]};}));});}})['then'](function(_0x2476c1){return{'count':_0x2476c1['length'],'rows':_0x2476c1};})['then'](respondWithResult(_0x111b5a,null))[_0x22d2('0x46')](function(_0x30c9a7){var _0x3b2461=_0x286c27[_0x22d2('0x31')][_0x22d2('0x69')]?0x1f4:_0x30c9a7[_0x22d2('0x6a')]||0x1f4;logger[_0x22d2('0x6b')](_0x22d2('0x6c'),'getFields',_0x3b2461,JSON[_0x22d2('0x6d')](_0x30c9a7));delete _0x30c9a7[_0x22d2('0x2a')];if(_0x3b2461===0x191){_0x3b2461=0x190;}_0x111b5a[_0x22d2('0x1a')](_0x3b2461)[_0x22d2('0x6e')](_0x286c27[_0x22d2('0x31')][_0x22d2('0x69')]?{'message':_0x22d2('0x6f'),'statusCode':_0x30c9a7['statusCode']}:_0x30c9a7);});};