Built motion from commit (unavailable).|2.5.13
[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 _0xf4fd=['rimraf','zip-dir','fast-json-patch','request-promise','moment','path','sox','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','request','then','DeskAccount,\x20%s,\x20%s','request\x20sent','debug','DeskAccount,\x20%s,\x20%s,\x20%s','error','code','message','result','catch','sendStatus','status','json','count','offset','limit','Content-Range','apply','reject','save','update','destroy','end','stack','name','send','index','map','DeskAccount','rawAttributes','type','key','model','query','keys','filters','intersection','attributes','fields','length','nolimit','sort','pick','filter','where','merge','options','includeAll','findAll','rows','show','include','find','body','params','getConfigurations','findOne','hasOwnProperty','addConfiguration','getSubjects','getDescriptions','channel','DeskConfiguration','create','DeskField','Subjects','Descriptions','getFields','priority','remoteUri','authType','consumerKey','consumerSecret','tokenSecret','slice','substring','lastIndexOf','GET','%s/custom_fields','application/json','headers','Authorization','Basic\x20%s','format','username','password','toString','base64','concat','_embedded','active','label','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','stringify','Wrong\x20credentials'];(function(_0x34cd82,_0x14168f){var _0x3d5b36=function(_0x1a861c){while(--_0x1a861c){_0x34cd82['push'](_0x34cd82['shift']());}};_0x3d5b36(++_0x14168f);}(_0xf4fd,0xf2));var _0xdf4f=function(_0x4383eb,_0x2dba71){_0x4383eb=_0x4383eb-0x0;var _0x184478=_0xf4fd[_0x4383eb];return _0x184478;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0xdf4f('0x0'));var zipdir=require(_0xdf4f('0x1'));var jsonpatch=require(_0xdf4f('0x2'));var rp=require(_0xdf4f('0x3'));var moment=require(_0xdf4f('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require('util');var path=require(_0xdf4f('0x5'));var sox=require(_0xdf4f('0x6'));var csv=require(_0xdf4f('0x7'));var ejs=require(_0xdf4f('0x8'));var fs=require('fs');var _=require(_0xdf4f('0x9'));var squel=require(_0xdf4f('0xa'));var crypto=require(_0xdf4f('0xb'));var jsforce=require('jsforce');var deskjs=require(_0xdf4f('0xc'));var toCsv=require('to-csv');var querystring=require(_0xdf4f('0xd'));var Papa=require(_0xdf4f('0xe'));var Redis=require(_0xdf4f('0xf'));var authService=require('../../components/auth/service');var qs=require(_0xdf4f('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xdf4f('0x11'));var logger=require(_0xdf4f('0x12'))('api');var utils=require(_0xdf4f('0x13'));var config=require(_0xdf4f('0x14'));var licenseUtil=require(_0xdf4f('0x15'));var db=require(_0xdf4f('0x16'))['db'];var integrations=require('../../components/integrations/configuration');var jayson=require('jayson/promise');var client=jayson['client']['http']({'port':0x232a});function respondWithRpcPromise(_0x3dda39,_0x26376a,_0x8fdead,_0x2f129f){return new BPromise(function(_0x578dc9,_0x5d0e22){var _0x2b2e88=_0x2f129f||client;return _0x2b2e88[_0xdf4f('0x17')](_0x3dda39,_0x8fdead)[_0xdf4f('0x18')](function(_0x7005ba){logger['info'](_0xdf4f('0x19'),_0x26376a,_0xdf4f('0x1a'));logger[_0xdf4f('0x1b')](_0xdf4f('0x1c'),_0x26376a,'request\x20sent',JSON['stringify'](_0x7005ba));if(_0x7005ba[_0xdf4f('0x1d')]){if(_0x7005ba[_0xdf4f('0x1d')][_0xdf4f('0x1e')]===0x1f4){logger['error'](_0xdf4f('0x19'),_0x26376a,_0x7005ba[_0xdf4f('0x1d')]['message']);return _0x5d0e22(_0x7005ba[_0xdf4f('0x1d')][_0xdf4f('0x1f')]);}logger[_0xdf4f('0x1d')](_0xdf4f('0x19'),_0x26376a,_0x7005ba['error']['message']);return _0x578dc9(_0x7005ba[_0xdf4f('0x1d')][_0xdf4f('0x1f')]);}else{logger['info']('DeskAccount,\x20%s,\x20%s',_0x26376a,_0xdf4f('0x1a'));_0x578dc9(_0x7005ba[_0xdf4f('0x20')][_0xdf4f('0x1f')]);}})[_0xdf4f('0x21')](function(_0x2acb25){logger[_0xdf4f('0x1d')](_0xdf4f('0x19'),_0x26376a,_0x2acb25);_0x5d0e22(_0x2acb25);});});}function respondWithStatusCode(_0x50f13f,_0x157a46){_0x157a46=_0x157a46||0xcc;return function(_0x2b6c7b){if(_0x2b6c7b){return _0x50f13f[_0xdf4f('0x22')](_0x157a46);}return _0x50f13f[_0xdf4f('0x23')](_0x157a46)['end']();};}function respondWithResult(_0x4c1a5e,_0x916f17){_0x916f17=_0x916f17||0xc8;return function(_0x469f46){if(_0x469f46){return _0x4c1a5e['status'](_0x916f17)[_0xdf4f('0x24')](_0x469f46);}};}function respondWithFilteredResult(_0x51f8c7,_0x15e91a){return function(_0xf92a7b){if(_0xf92a7b){var _0x5c94d9=_0xf92a7b[_0xdf4f('0x25')],_0x46020d=_0x15e91a[_0xdf4f('0x26')],_0xf558de=_0x15e91a[_0xdf4f('0x26')]+_0x15e91a[_0xdf4f('0x27')],_0x50e078;if(_0xf558de>=_0x5c94d9){_0xf558de=_0x5c94d9;_0x50e078=0xc8;}else{_0x50e078=0xce;}_0x51f8c7['status'](_0x50e078);return _0x51f8c7['set'](_0xdf4f('0x28'),_0x46020d+'-'+_0xf558de+'/'+_0x5c94d9)[_0xdf4f('0x24')](_0xf92a7b);}return null;};}function patchUpdates(_0x4cd850){return function(_0x563e18){try{jsonpatch[_0xdf4f('0x29')](_0x563e18,_0x4cd850,!![]);}catch(_0x1d11ae){return BPromise[_0xdf4f('0x2a')](_0x1d11ae);}return _0x563e18[_0xdf4f('0x2b')]();};}function saveUpdates(_0x1bf19f,_0x46a9dd){return function(_0x54f6e8){if(_0x54f6e8){return _0x54f6e8[_0xdf4f('0x2c')](_0x1bf19f)[_0xdf4f('0x18')](function(_0x47304a){return _0x47304a;});}return null;};}function removeEntity(_0x1097e2,_0x57e16f){return function(_0x2bde08){if(_0x2bde08){return _0x2bde08[_0xdf4f('0x2d')]()[_0xdf4f('0x18')](function(){_0x1097e2[_0xdf4f('0x23')](0xcc)[_0xdf4f('0x2e')]();});}};}function handleEntityNotFound(_0x40c48b,_0x31c549){return function(_0x2ec9c3){if(!_0x2ec9c3){_0x40c48b[_0xdf4f('0x22')](0x194);}return _0x2ec9c3;};}function handleError(_0x56e8c1,_0x5d3043){_0x5d3043=_0x5d3043||0x1f4;return function(_0x4f8c04){logger[_0xdf4f('0x1d')](_0x4f8c04[_0xdf4f('0x2f')]);if(_0x4f8c04['name']){delete _0x4f8c04[_0xdf4f('0x30')];}_0x56e8c1['status'](_0x5d3043)[_0xdf4f('0x31')](_0x4f8c04);};}exports[_0xdf4f('0x32')]=function(_0x29198f,_0x2b0523){var _0x3f41f0={},_0x1b23de={},_0x29788f={'count':0x0,'rows':[]};var _0x35911e=_[_0xdf4f('0x33')](db[_0xdf4f('0x34')][_0xdf4f('0x35')],function(_0x5c0b52){return{'name':_0x5c0b52['fieldName'],'type':_0x5c0b52[_0xdf4f('0x36')][_0xdf4f('0x37')]};});_0x1b23de[_0xdf4f('0x38')]=_[_0xdf4f('0x33')](_0x35911e,_0xdf4f('0x30'));_0x1b23de[_0xdf4f('0x39')]=_[_0xdf4f('0x3a')](_0x29198f['query']);_0x1b23de[_0xdf4f('0x3b')]=_[_0xdf4f('0x3c')](_0x1b23de[_0xdf4f('0x38')],_0x1b23de['query']);_0x3f41f0[_0xdf4f('0x3d')]=_[_0xdf4f('0x3c')](_0x1b23de[_0xdf4f('0x38')],qs['fields'](_0x29198f[_0xdf4f('0x39')][_0xdf4f('0x3e')]));_0x3f41f0[_0xdf4f('0x3d')]=_0x3f41f0[_0xdf4f('0x3d')][_0xdf4f('0x3f')]?_0x3f41f0[_0xdf4f('0x3d')]:_0x1b23de['model'];if(!_0x29198f[_0xdf4f('0x39')]['hasOwnProperty'](_0xdf4f('0x40'))){_0x3f41f0['limit']=qs[_0xdf4f('0x27')](_0x29198f[_0xdf4f('0x39')][_0xdf4f('0x27')]);_0x3f41f0[_0xdf4f('0x26')]=qs[_0xdf4f('0x26')](_0x29198f['query'][_0xdf4f('0x26')]);}_0x3f41f0['order']=qs[_0xdf4f('0x41')](_0x29198f[_0xdf4f('0x39')][_0xdf4f('0x41')]);_0x3f41f0['where']=qs[_0xdf4f('0x3b')](_[_0xdf4f('0x42')](_0x29198f['query'],_0x1b23de[_0xdf4f('0x3b')]),_0x35911e);if(_0x29198f[_0xdf4f('0x39')][_0xdf4f('0x43')]){_0x3f41f0[_0xdf4f('0x44')]=_[_0xdf4f('0x45')](_0x3f41f0[_0xdf4f('0x44')],{'$or':_[_0xdf4f('0x33')](_0x35911e,function(_0x160119){if(_0x160119[_0xdf4f('0x36')]!=='VIRTUAL'){var _0x1150f1={};_0x1150f1[_0x160119[_0xdf4f('0x30')]]={'$like':'%'+_0x29198f['query'][_0xdf4f('0x43')]+'%'};return _0x1150f1;}})});}_0x3f41f0=_[_0xdf4f('0x45')]({},_0x3f41f0,_0x29198f[_0xdf4f('0x46')]);var _0x48de70={'where':_0x3f41f0['where']};return db[_0xdf4f('0x34')][_0xdf4f('0x25')](_0x48de70)['then'](function(_0x3c1dd2){_0x29788f[_0xdf4f('0x25')]=_0x3c1dd2;if(_0x29198f[_0xdf4f('0x39')][_0xdf4f('0x47')]){_0x3f41f0['include']=[{'all':!![]}];}return db[_0xdf4f('0x34')][_0xdf4f('0x48')](_0x3f41f0);})[_0xdf4f('0x18')](function(_0x49c161){_0x29788f[_0xdf4f('0x49')]=_0x49c161;return _0x29788f;})[_0xdf4f('0x18')](respondWithFilteredResult(_0x2b0523,_0x3f41f0))[_0xdf4f('0x21')](handleError(_0x2b0523,null));};exports[_0xdf4f('0x4a')]=function(_0x18e0e3,_0x547750){var _0x16724c={'raw':![],'where':{'id':_0x18e0e3['params']['id']}},_0x399172={};_0x399172[_0xdf4f('0x38')]=_['keys'](db['DeskAccount'][_0xdf4f('0x35')]);_0x399172[_0xdf4f('0x39')]=_['keys'](_0x18e0e3[_0xdf4f('0x39')]);_0x399172[_0xdf4f('0x3b')]=_[_0xdf4f('0x3c')](_0x399172[_0xdf4f('0x38')],_0x399172['query']);_0x16724c[_0xdf4f('0x3d')]=_[_0xdf4f('0x3c')](_0x399172[_0xdf4f('0x38')],qs[_0xdf4f('0x3e')](_0x18e0e3[_0xdf4f('0x39')]['fields']));_0x16724c[_0xdf4f('0x3d')]=_0x16724c[_0xdf4f('0x3d')][_0xdf4f('0x3f')]?_0x16724c[_0xdf4f('0x3d')]:_0x399172[_0xdf4f('0x38')];if(_0x18e0e3[_0xdf4f('0x39')][_0xdf4f('0x47')]){_0x16724c[_0xdf4f('0x4b')]=[{'all':!![]}];}_0x16724c=_['merge']({},_0x16724c,_0x18e0e3['options']);return db[_0xdf4f('0x34')][_0xdf4f('0x4c')](_0x16724c)['then'](handleEntityNotFound(_0x547750,null))[_0xdf4f('0x18')](respondWithResult(_0x547750,null))[_0xdf4f('0x21')](handleError(_0x547750,null));};exports['create']=function(_0x233560,_0x137bc6){return db['DeskAccount']['create'](_0x233560[_0xdf4f('0x4d')],{})[_0xdf4f('0x18')](respondWithResult(_0x137bc6,0xc9))[_0xdf4f('0x21')](handleError(_0x137bc6,null));};exports[_0xdf4f('0x2c')]=function(_0x3094d0,_0x49692a){if(_0x3094d0[_0xdf4f('0x4d')]['id']){delete _0x3094d0[_0xdf4f('0x4d')]['id'];}return db[_0xdf4f('0x34')]['find']({'where':{'id':_0x3094d0['params']['id']}})[_0xdf4f('0x18')](handleEntityNotFound(_0x49692a,null))[_0xdf4f('0x18')](saveUpdates(_0x3094d0[_0xdf4f('0x4d')],null))[_0xdf4f('0x18')](respondWithResult(_0x49692a,null))['catch'](handleError(_0x49692a,null));};exports[_0xdf4f('0x2d')]=function(_0x2de87d,_0x29bdb3){return db['DeskAccount'][_0xdf4f('0x4c')]({'where':{'id':_0x2de87d[_0xdf4f('0x4e')]['id']}})['then'](handleEntityNotFound(_0x29bdb3,null))[_0xdf4f('0x18')](removeEntity(_0x29bdb3,null))['catch'](handleError(_0x29bdb3,null));};exports[_0xdf4f('0x4f')]=function(_0x51810e,_0x40ea2d,_0x483ea1){var _0x578b84={};var _0x5df345={};var _0x1abc2b;var _0xe9f574;return db['DeskAccount'][_0xdf4f('0x50')]({'where':{'id':_0x51810e[_0xdf4f('0x4e')]['id']}})[_0xdf4f('0x18')](handleEntityNotFound(_0x40ea2d,null))[_0xdf4f('0x18')](function(_0x29550c){if(_0x29550c){_0x1abc2b=_0x29550c;_0x5df345['model']=_['keys'](db['DeskConfiguration'][_0xdf4f('0x35')]);_0x5df345[_0xdf4f('0x39')]=_[_0xdf4f('0x3a')](_0x51810e['query']);_0x5df345[_0xdf4f('0x3b')]=_['intersection'](_0x5df345[_0xdf4f('0x38')],_0x5df345['query']);_0x578b84[_0xdf4f('0x3d')]=_[_0xdf4f('0x3c')](_0x5df345[_0xdf4f('0x38')],qs['fields'](_0x51810e[_0xdf4f('0x39')][_0xdf4f('0x3e')]));_0x578b84[_0xdf4f('0x3d')]=_0x578b84[_0xdf4f('0x3d')][_0xdf4f('0x3f')]?_0x578b84[_0xdf4f('0x3d')]:_0x5df345[_0xdf4f('0x38')];_0x578b84['order']=qs[_0xdf4f('0x41')](_0x51810e[_0xdf4f('0x39')][_0xdf4f('0x41')]);_0x578b84[_0xdf4f('0x44')]=qs[_0xdf4f('0x3b')](_['pick'](_0x51810e[_0xdf4f('0x39')],_0x5df345[_0xdf4f('0x3b')]));if(_0x51810e[_0xdf4f('0x39')][_0xdf4f('0x43')]){_0x578b84[_0xdf4f('0x44')]=_[_0xdf4f('0x45')](_0x578b84[_0xdf4f('0x44')],{'$or':_['map'](_0x578b84[_0xdf4f('0x3d')],function(_0x2f2082){var _0x3cccdf={};_0x3cccdf[_0x2f2082]={'$like':'%'+_0x51810e['query'][_0xdf4f('0x43')]+'%'};return _0x3cccdf;})});}_0x578b84=_[_0xdf4f('0x45')]({},_0x578b84,_0x51810e['options']);return _0x1abc2b[_0xdf4f('0x4f')](_0x578b84);}})[_0xdf4f('0x18')](function(_0x25460b){if(_0x25460b){_0xe9f574=_0x25460b[_0xdf4f('0x3f')];if(!_0x51810e[_0xdf4f('0x39')][_0xdf4f('0x51')](_0xdf4f('0x40'))){_0x578b84['limit']=qs[_0xdf4f('0x27')](_0x51810e[_0xdf4f('0x39')][_0xdf4f('0x27')]);_0x578b84['offset']=qs['offset'](_0x51810e['query']['offset']);}return _0x1abc2b[_0xdf4f('0x4f')](_0x578b84);}})[_0xdf4f('0x18')](function(_0x1ef6c1){if(_0x1ef6c1){return _0x1ef6c1?{'count':_0xe9f574,'rows':_0x1ef6c1}:null;}})[_0xdf4f('0x18')](respondWithResult(_0x40ea2d,null))[_0xdf4f('0x21')](handleError(_0x40ea2d,null));};exports[_0xdf4f('0x52')]=function(_0x51833f,_0x1257e9,_0x288ba7){if(_0x51833f[_0xdf4f('0x4d')]['id']){delete _0x51833f[_0xdf4f('0x4d')]['id'];}return db[_0xdf4f('0x34')][_0xdf4f('0x50')]({'where':{'id':_0x51833f[_0xdf4f('0x4e')]['id']}})['then'](handleEntityNotFound(_0x1257e9,null))[_0xdf4f('0x18')](function(_0x5cdd98){if(_0x5cdd98){_0x51833f['body']['AccountId']=_0x5cdd98['id'];_0x51833f['body']['Subjects']=integrations[_0xdf4f('0x53')](_0x51833f[_0xdf4f('0x4d')]['channel'],_0x51833f[_0xdf4f('0x4d')][_0xdf4f('0x36')]);_0x51833f[_0xdf4f('0x4d')]['Descriptions']=integrations[_0xdf4f('0x54')](_0x51833f[_0xdf4f('0x4d')][_0xdf4f('0x55')],_0x51833f[_0xdf4f('0x4d')][_0xdf4f('0x36')]);return db[_0xdf4f('0x56')][_0xdf4f('0x57')](_0x51833f[_0xdf4f('0x4d')],{'include':[{'model':db[_0xdf4f('0x58')],'as':_0xdf4f('0x59')},{'model':db[_0xdf4f('0x58')],'as':_0xdf4f('0x5a')}]});}return null;})[_0xdf4f('0x18')](respondWithResult(_0x1257e9,null))[_0xdf4f('0x21')](handleError(_0x1257e9,null));};exports[_0xdf4f('0x5b')]=function(_0x2ea397,_0x376ca4,_0x52f34c){var _0x29d58e=[{'name':_0xdf4f('0x5c'),'label':_0xdf4f('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 _0xf3253c='';return db['DeskAccount'][_0xdf4f('0x50')]({'where':{'id':_0x2ea397[_0xdf4f('0x4e')]['id']},'attributes':['id',_0xdf4f('0x5d'),_0xdf4f('0x5e'),'username','password',_0xdf4f('0x5f'),_0xdf4f('0x60'),'token',_0xdf4f('0x61')]})[_0xdf4f('0x18')](handleEntityNotFound(_0x376ca4,null))[_0xdf4f('0x18')](function(_0x2d3f15){if(_0x2d3f15){_0xf3253c=_0x2d3f15[_0xdf4f('0x5d')];var _0x37f379=_0xf3253c[_0xdf4f('0x62')](-0x1);if(_0x37f379==='/'){_0xf3253c=_0xf3253c[_0xdf4f('0x63')](0x0,_0xf3253c[_0xdf4f('0x64')](_0x37f379));}var _0x40071c={'method':_0xdf4f('0x65'),'uri':util['format'](_0xdf4f('0x66'),_0xf3253c),'headers':{'Content-Type':_0xdf4f('0x67'),'Accept':_0xdf4f('0x67')},'json':!![]};if(_0x2d3f15[_0xdf4f('0x5e')]==='basic'){_0x40071c[_0xdf4f('0x68')][_0xdf4f('0x69')]=util['format'](_0xdf4f('0x6a'),new Buffer(util[_0xdf4f('0x6b')]('%s:%s',_0x2d3f15[_0xdf4f('0x6c')],_0x2d3f15[_0xdf4f('0x6d')]))[_0xdf4f('0x6e')](_0xdf4f('0x6f')));}return rp(_0x40071c)[_0xdf4f('0x18')](function(_0x3ede8a){return _0x29d58e[_0xdf4f('0x70')](_[_0xdf4f('0x33')](_0x3ede8a[_0xdf4f('0x71')]['entries'],function(_0x4abd42){return{'id':_0x4abd42[_0xdf4f('0x30')],'name':_0x4abd42['name'],'type':_0x4abd42[_0xdf4f('0x36')],'active':_0x4abd42[_0xdf4f('0x72')],'label':_0x4abd42[_0xdf4f('0x73')],'custom':!![]};}));});}})[_0xdf4f('0x18')](function(_0x1509b3){return{'count':_0x1509b3[_0xdf4f('0x3f')],'rows':_0x1509b3};})[_0xdf4f('0x18')](respondWithResult(_0x376ca4,null))['catch'](function(_0x3aed96){var _0x66d03d=_0x2ea397[_0xdf4f('0x39')][_0xdf4f('0x74')]?0x1f4:_0x3aed96[_0xdf4f('0x75')]||0x1f4;logger[_0xdf4f('0x1d')](_0xdf4f('0x76'),_0xdf4f('0x5b'),_0x66d03d,JSON[_0xdf4f('0x77')](_0x3aed96));delete _0x3aed96[_0xdf4f('0x30')];if(_0x66d03d===0x191){_0x66d03d=0x190;}_0x376ca4[_0xdf4f('0x23')](_0x66d03d)[_0xdf4f('0x31')](_0x2ea397[_0xdf4f('0x39')][_0xdf4f('0x74')]?{'message':_0xdf4f('0x78'),'statusCode':_0x3aed96[_0xdf4f('0x75')]}:_0x3aed96);});};