Built motion from commit (unavailable).|2.5.21
[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 _0x07e7=['Descriptions','getDescriptions','DeskField','getFields','priority','remoteUri','authType','username','password','consumerSecret','token','slice','substring','lastIndexOf','GET','format','%s/custom_fields','application/json','basic','headers','Authorization','Basic\x20%s','%s:%s','toString','base64','concat','entries','active','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','Wrong\x20credentials','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','lodash','squel','crypto','jsforce','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','jayson/promise','http','request','then','info','DeskAccount,\x20%s,\x20%s','request\x20sent','debug','DeskAccount,\x20%s,\x20%s,\x20%s','error','message','result','sendStatus','status','end','count','offset','limit','set','json','apply','reject','update','destroy','stack','name','send','index','map','DeskAccount','fieldName','type','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','rows','catch','params','rawAttributes','find','create','body','getConfigurations','findOne','DeskConfiguration','AccountId','getSubjects','channel'];(function(_0x591729,_0x561bf1){var _0x57eb7a=function(_0x54e898){while(--_0x54e898){_0x591729['push'](_0x591729['shift']());}};_0x57eb7a(++_0x561bf1);}(_0x07e7,0x114));var _0x707e=function(_0x212253,_0xe72b9e){_0x212253=_0x212253-0x0;var _0x2adf49=_0x07e7[_0x212253];return _0x2adf49;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x707e('0x0'));var rimraf=require(_0x707e('0x1'));var zipdir=require(_0x707e('0x2'));var jsonpatch=require(_0x707e('0x3'));var rp=require(_0x707e('0x4'));var moment=require(_0x707e('0x5'));var BPromise=require(_0x707e('0x6'));var Mustache=require(_0x707e('0x7'));var util=require('util');var path=require(_0x707e('0x8'));var sox=require(_0x707e('0x9'));var csv=require(_0x707e('0xa'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x707e('0xb'));var squel=require(_0x707e('0xc'));var crypto=require(_0x707e('0xd'));var jsforce=require(_0x707e('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x707e('0xa'));var querystring=require(_0x707e('0xf'));var Papa=require('papaparse');var Redis=require(_0x707e('0x10'));var authService=require(_0x707e('0x11'));var qs=require(_0x707e('0x12'));var as=require(_0x707e('0x13'));var hardwareService=require(_0x707e('0x14'));var logger=require(_0x707e('0x15'))(_0x707e('0x16'));var utils=require(_0x707e('0x17'));var config=require(_0x707e('0x18'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];var integrations=require('../../components/integrations/configuration');var jayson=require(_0x707e('0x19'));var client=jayson['client'][_0x707e('0x1a')]({'port':0x232a});function respondWithRpcPromise(_0x358132,_0x2b3ed6,_0xe0826e,_0x1b4a20){return new BPromise(function(_0xbd45e2,_0x453d30){var _0x2dbba6=_0x1b4a20||client;return _0x2dbba6[_0x707e('0x1b')](_0x358132,_0xe0826e)[_0x707e('0x1c')](function(_0x5712a2){logger[_0x707e('0x1d')](_0x707e('0x1e'),_0x2b3ed6,_0x707e('0x1f'));logger[_0x707e('0x20')](_0x707e('0x21'),_0x2b3ed6,_0x707e('0x1f'),JSON['stringify'](_0x5712a2));if(_0x5712a2[_0x707e('0x22')]){if(_0x5712a2['error']['code']===0x1f4){logger[_0x707e('0x22')](_0x707e('0x1e'),_0x2b3ed6,_0x5712a2['error']['message']);return _0x453d30(_0x5712a2[_0x707e('0x22')]['message']);}logger[_0x707e('0x22')](_0x707e('0x1e'),_0x2b3ed6,_0x5712a2[_0x707e('0x22')]['message']);return _0xbd45e2(_0x5712a2[_0x707e('0x22')][_0x707e('0x23')]);}else{logger[_0x707e('0x1d')](_0x707e('0x1e'),_0x2b3ed6,_0x707e('0x1f'));_0xbd45e2(_0x5712a2[_0x707e('0x24')][_0x707e('0x23')]);}})['catch'](function(_0x29940c){logger[_0x707e('0x22')](_0x707e('0x1e'),_0x2b3ed6,_0x29940c);_0x453d30(_0x29940c);});});}function respondWithStatusCode(_0x3c9d1e,_0x4b92e8){_0x4b92e8=_0x4b92e8||0xcc;return function(_0x13bf8e){if(_0x13bf8e){return _0x3c9d1e[_0x707e('0x25')](_0x4b92e8);}return _0x3c9d1e[_0x707e('0x26')](_0x4b92e8)[_0x707e('0x27')]();};}function respondWithResult(_0x52eb52,_0x2b0db4){_0x2b0db4=_0x2b0db4||0xc8;return function(_0x56a264){if(_0x56a264){return _0x52eb52['status'](_0x2b0db4)['json'](_0x56a264);}};}function respondWithFilteredResult(_0x2cdf3d,_0x366974){return function(_0x5c9c2c){if(_0x5c9c2c){var _0x533a7e=_0x5c9c2c[_0x707e('0x28')],_0x516053=_0x366974[_0x707e('0x29')],_0x34e9c0=_0x366974[_0x707e('0x29')]+_0x366974[_0x707e('0x2a')],_0x9316cf;if(_0x34e9c0>=_0x533a7e){_0x34e9c0=_0x533a7e;_0x9316cf=0xc8;}else{_0x9316cf=0xce;}_0x2cdf3d[_0x707e('0x26')](_0x9316cf);return _0x2cdf3d[_0x707e('0x2b')]('Content-Range',_0x516053+'-'+_0x34e9c0+'/'+_0x533a7e)[_0x707e('0x2c')](_0x5c9c2c);}return null;};}function patchUpdates(_0x5d3b5c){return function(_0x10c712){try{jsonpatch[_0x707e('0x2d')](_0x10c712,_0x5d3b5c,!![]);}catch(_0x4d0dbb){return BPromise[_0x707e('0x2e')](_0x4d0dbb);}return _0x10c712['save']();};}function saveUpdates(_0x21d927,_0x42887e){return function(_0x3455f4){if(_0x3455f4){return _0x3455f4[_0x707e('0x2f')](_0x21d927)['then'](function(_0x5814b8){return _0x5814b8;});}return null;};}function removeEntity(_0x311c9e,_0x3c6ca8){return function(_0x184d88){if(_0x184d88){return _0x184d88[_0x707e('0x30')]()['then'](function(){_0x311c9e[_0x707e('0x26')](0xcc)[_0x707e('0x27')]();});}};}function handleEntityNotFound(_0x2c9806,_0x578bc7){return function(_0x2ca4a9){if(!_0x2ca4a9){_0x2c9806[_0x707e('0x25')](0x194);}return _0x2ca4a9;};}function handleError(_0x3f4096,_0x175178){_0x175178=_0x175178||0x1f4;return function(_0x1e3d3a){logger['error'](_0x1e3d3a[_0x707e('0x31')]);if(_0x1e3d3a[_0x707e('0x32')]){delete _0x1e3d3a[_0x707e('0x32')];}_0x3f4096[_0x707e('0x26')](_0x175178)[_0x707e('0x33')](_0x1e3d3a);};}exports[_0x707e('0x34')]=function(_0x3eb9a1,_0x35544c){var _0x577a76={},_0x4c0cf7={},_0x22d9fc={'count':0x0,'rows':[]};var _0x327ec9=_[_0x707e('0x35')](db[_0x707e('0x36')]['rawAttributes'],function(_0x5ada56){return{'name':_0x5ada56[_0x707e('0x37')],'type':_0x5ada56[_0x707e('0x38')]['key']};});_0x4c0cf7[_0x707e('0x39')]=_[_0x707e('0x35')](_0x327ec9,'name');_0x4c0cf7[_0x707e('0x3a')]=_[_0x707e('0x3b')](_0x3eb9a1[_0x707e('0x3a')]);_0x4c0cf7[_0x707e('0x3c')]=_[_0x707e('0x3d')](_0x4c0cf7[_0x707e('0x39')],_0x4c0cf7[_0x707e('0x3a')]);_0x577a76['attributes']=_['intersection'](_0x4c0cf7[_0x707e('0x39')],qs[_0x707e('0x3e')](_0x3eb9a1['query']['fields']));_0x577a76[_0x707e('0x3f')]=_0x577a76['attributes'][_0x707e('0x40')]?_0x577a76[_0x707e('0x3f')]:_0x4c0cf7['model'];if(!_0x3eb9a1[_0x707e('0x3a')][_0x707e('0x41')](_0x707e('0x42'))){_0x577a76[_0x707e('0x2a')]=qs[_0x707e('0x2a')](_0x3eb9a1[_0x707e('0x3a')][_0x707e('0x2a')]);_0x577a76[_0x707e('0x29')]=qs[_0x707e('0x29')](_0x3eb9a1[_0x707e('0x3a')][_0x707e('0x29')]);}_0x577a76[_0x707e('0x43')]=qs['sort'](_0x3eb9a1[_0x707e('0x3a')][_0x707e('0x44')]);_0x577a76[_0x707e('0x45')]=qs[_0x707e('0x3c')](_[_0x707e('0x46')](_0x3eb9a1[_0x707e('0x3a')],_0x4c0cf7[_0x707e('0x3c')]),_0x327ec9);if(_0x3eb9a1[_0x707e('0x3a')][_0x707e('0x47')]){_0x577a76['where']=_[_0x707e('0x48')](_0x577a76[_0x707e('0x45')],{'$or':_[_0x707e('0x35')](_0x327ec9,function(_0x1ecbce){if(_0x1ecbce['type']!==_0x707e('0x49')){var _0x5a77e3={};_0x5a77e3[_0x1ecbce[_0x707e('0x32')]]={'$like':'%'+_0x3eb9a1[_0x707e('0x3a')][_0x707e('0x47')]+'%'};return _0x5a77e3;}})});}_0x577a76=_['merge']({},_0x577a76,_0x3eb9a1[_0x707e('0x4a')]);var _0x1ef662={'where':_0x577a76['where']};return db[_0x707e('0x36')][_0x707e('0x28')](_0x1ef662)[_0x707e('0x1c')](function(_0x276f5e){_0x22d9fc[_0x707e('0x28')]=_0x276f5e;if(_0x3eb9a1[_0x707e('0x3a')][_0x707e('0x4b')]){_0x577a76[_0x707e('0x4c')]=[{'all':!![]}];}return db[_0x707e('0x36')]['findAll'](_0x577a76);})[_0x707e('0x1c')](function(_0x4b0597){_0x22d9fc[_0x707e('0x4d')]=_0x4b0597;return _0x22d9fc;})[_0x707e('0x1c')](respondWithFilteredResult(_0x35544c,_0x577a76))[_0x707e('0x4e')](handleError(_0x35544c,null));};exports['show']=function(_0xe55bff,_0x57a220){var _0x39e013={'raw':![],'where':{'id':_0xe55bff[_0x707e('0x4f')]['id']}},_0x1664fd={};_0x1664fd[_0x707e('0x39')]=_[_0x707e('0x3b')](db['DeskAccount'][_0x707e('0x50')]);_0x1664fd[_0x707e('0x3a')]=_['keys'](_0xe55bff[_0x707e('0x3a')]);_0x1664fd[_0x707e('0x3c')]=_[_0x707e('0x3d')](_0x1664fd[_0x707e('0x39')],_0x1664fd['query']);_0x39e013['attributes']=_[_0x707e('0x3d')](_0x1664fd[_0x707e('0x39')],qs[_0x707e('0x3e')](_0xe55bff[_0x707e('0x3a')]['fields']));_0x39e013[_0x707e('0x3f')]=_0x39e013[_0x707e('0x3f')][_0x707e('0x40')]?_0x39e013[_0x707e('0x3f')]:_0x1664fd[_0x707e('0x39')];if(_0xe55bff[_0x707e('0x3a')]['includeAll']){_0x39e013[_0x707e('0x4c')]=[{'all':!![]}];}_0x39e013=_[_0x707e('0x48')]({},_0x39e013,_0xe55bff[_0x707e('0x4a')]);return db['DeskAccount'][_0x707e('0x51')](_0x39e013)[_0x707e('0x1c')](handleEntityNotFound(_0x57a220,null))[_0x707e('0x1c')](respondWithResult(_0x57a220,null))[_0x707e('0x4e')](handleError(_0x57a220,null));};exports[_0x707e('0x52')]=function(_0x5907a8,_0x5be386){return db[_0x707e('0x36')][_0x707e('0x52')](_0x5907a8[_0x707e('0x53')],{})[_0x707e('0x1c')](respondWithResult(_0x5be386,0xc9))[_0x707e('0x4e')](handleError(_0x5be386,null));};exports[_0x707e('0x2f')]=function(_0x1ecad5,_0x4268b0){if(_0x1ecad5[_0x707e('0x53')]['id']){delete _0x1ecad5[_0x707e('0x53')]['id'];}return db[_0x707e('0x36')]['find']({'where':{'id':_0x1ecad5[_0x707e('0x4f')]['id']}})[_0x707e('0x1c')](handleEntityNotFound(_0x4268b0,null))[_0x707e('0x1c')](saveUpdates(_0x1ecad5['body'],null))['then'](respondWithResult(_0x4268b0,null))[_0x707e('0x4e')](handleError(_0x4268b0,null));};exports[_0x707e('0x30')]=function(_0x253722,_0x43daed){return db[_0x707e('0x36')]['find']({'where':{'id':_0x253722[_0x707e('0x4f')]['id']}})[_0x707e('0x1c')](handleEntityNotFound(_0x43daed,null))[_0x707e('0x1c')](removeEntity(_0x43daed,null))[_0x707e('0x4e')](handleError(_0x43daed,null));};exports[_0x707e('0x54')]=function(_0x3c807d,_0x45cd6c,_0x3af376){var _0x1f91ef={};var _0x14498f={};var _0x1b8016;var _0x4fb2a8;return db['DeskAccount'][_0x707e('0x55')]({'where':{'id':_0x3c807d[_0x707e('0x4f')]['id']}})[_0x707e('0x1c')](handleEntityNotFound(_0x45cd6c,null))[_0x707e('0x1c')](function(_0x1b0f43){if(_0x1b0f43){_0x1b8016=_0x1b0f43;_0x14498f[_0x707e('0x39')]=_[_0x707e('0x3b')](db[_0x707e('0x56')][_0x707e('0x50')]);_0x14498f[_0x707e('0x3a')]=_[_0x707e('0x3b')](_0x3c807d[_0x707e('0x3a')]);_0x14498f[_0x707e('0x3c')]=_[_0x707e('0x3d')](_0x14498f['model'],_0x14498f['query']);_0x1f91ef[_0x707e('0x3f')]=_[_0x707e('0x3d')](_0x14498f['model'],qs[_0x707e('0x3e')](_0x3c807d[_0x707e('0x3a')][_0x707e('0x3e')]));_0x1f91ef[_0x707e('0x3f')]=_0x1f91ef[_0x707e('0x3f')][_0x707e('0x40')]?_0x1f91ef[_0x707e('0x3f')]:_0x14498f[_0x707e('0x39')];_0x1f91ef[_0x707e('0x43')]=qs[_0x707e('0x44')](_0x3c807d[_0x707e('0x3a')][_0x707e('0x44')]);_0x1f91ef[_0x707e('0x45')]=qs[_0x707e('0x3c')](_[_0x707e('0x46')](_0x3c807d[_0x707e('0x3a')],_0x14498f['filters']));if(_0x3c807d[_0x707e('0x3a')][_0x707e('0x47')]){_0x1f91ef[_0x707e('0x45')]=_[_0x707e('0x48')](_0x1f91ef[_0x707e('0x45')],{'$or':_[_0x707e('0x35')](_0x1f91ef[_0x707e('0x3f')],function(_0x43f1d3){var _0x4b1fc1={};_0x4b1fc1[_0x43f1d3]={'$like':'%'+_0x3c807d[_0x707e('0x3a')][_0x707e('0x47')]+'%'};return _0x4b1fc1;})});}_0x1f91ef=_[_0x707e('0x48')]({},_0x1f91ef,_0x3c807d[_0x707e('0x4a')]);return _0x1b8016['getConfigurations'](_0x1f91ef);}})[_0x707e('0x1c')](function(_0x5c6e87){if(_0x5c6e87){_0x4fb2a8=_0x5c6e87[_0x707e('0x40')];if(!_0x3c807d[_0x707e('0x3a')]['hasOwnProperty'](_0x707e('0x42'))){_0x1f91ef['limit']=qs['limit'](_0x3c807d[_0x707e('0x3a')][_0x707e('0x2a')]);_0x1f91ef[_0x707e('0x29')]=qs['offset'](_0x3c807d[_0x707e('0x3a')][_0x707e('0x29')]);}return _0x1b8016[_0x707e('0x54')](_0x1f91ef);}})[_0x707e('0x1c')](function(_0x43b1c1){if(_0x43b1c1){return _0x43b1c1?{'count':_0x4fb2a8,'rows':_0x43b1c1}:null;}})[_0x707e('0x1c')](respondWithResult(_0x45cd6c,null))[_0x707e('0x4e')](handleError(_0x45cd6c,null));};exports['addConfiguration']=function(_0x5d0a2b,_0x1b8ec2,_0x47e3aa){if(_0x5d0a2b[_0x707e('0x53')]['id']){delete _0x5d0a2b[_0x707e('0x53')]['id'];}return db[_0x707e('0x36')][_0x707e('0x55')]({'where':{'id':_0x5d0a2b['params']['id']}})['then'](handleEntityNotFound(_0x1b8ec2,null))[_0x707e('0x1c')](function(_0x80b360){if(_0x80b360){_0x5d0a2b['body'][_0x707e('0x57')]=_0x80b360['id'];_0x5d0a2b[_0x707e('0x53')]['Subjects']=integrations[_0x707e('0x58')](_0x5d0a2b[_0x707e('0x53')][_0x707e('0x59')],_0x5d0a2b['body']['type']);_0x5d0a2b[_0x707e('0x53')][_0x707e('0x5a')]=integrations[_0x707e('0x5b')](_0x5d0a2b[_0x707e('0x53')][_0x707e('0x59')],_0x5d0a2b[_0x707e('0x53')][_0x707e('0x38')]);return db[_0x707e('0x56')][_0x707e('0x52')](_0x5d0a2b[_0x707e('0x53')],{'include':[{'model':db[_0x707e('0x5c')],'as':'Subjects'},{'model':db['DeskField'],'as':_0x707e('0x5a')}]});}return null;})[_0x707e('0x1c')](respondWithResult(_0x1b8ec2,null))['catch'](handleError(_0x1b8ec2,null));};exports[_0x707e('0x5d')]=function(_0x3522ee,_0x3f2ed6,_0x1c14c0){var _0x1abcb9=[{'name':_0x707e('0x5e'),'label':'priority','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 _0x1e3036='';return db[_0x707e('0x36')][_0x707e('0x55')]({'where':{'id':_0x3522ee['params']['id']},'attributes':['id',_0x707e('0x5f'),_0x707e('0x60'),_0x707e('0x61'),_0x707e('0x62'),'consumerKey',_0x707e('0x63'),_0x707e('0x64'),'tokenSecret']})[_0x707e('0x1c')](handleEntityNotFound(_0x3f2ed6,null))[_0x707e('0x1c')](function(_0x4a7fae){if(_0x4a7fae){_0x1e3036=_0x4a7fae[_0x707e('0x5f')];var _0x4f2cb2=_0x1e3036[_0x707e('0x65')](-0x1);if(_0x4f2cb2==='/'){_0x1e3036=_0x1e3036[_0x707e('0x66')](0x0,_0x1e3036[_0x707e('0x67')](_0x4f2cb2));}var _0x5b965f={'method':_0x707e('0x68'),'uri':util[_0x707e('0x69')](_0x707e('0x6a'),_0x1e3036),'headers':{'Content-Type':_0x707e('0x6b'),'Accept':_0x707e('0x6b')},'json':!![]};if(_0x4a7fae[_0x707e('0x60')]===_0x707e('0x6c')){_0x5b965f[_0x707e('0x6d')][_0x707e('0x6e')]=util['format'](_0x707e('0x6f'),new Buffer(util['format'](_0x707e('0x70'),_0x4a7fae[_0x707e('0x61')],_0x4a7fae[_0x707e('0x62')]))[_0x707e('0x71')](_0x707e('0x72')));}return rp(_0x5b965f)[_0x707e('0x1c')](function(_0x561865){return _0x1abcb9[_0x707e('0x73')](_['map'](_0x561865['_embedded'][_0x707e('0x74')],function(_0x105bfb){return{'id':_0x105bfb['name'],'name':_0x105bfb[_0x707e('0x32')],'type':_0x105bfb['type'],'active':_0x105bfb[_0x707e('0x75')],'label':_0x105bfb['label'],'custom':!![]};}));});}})['then'](function(_0x19bbca){return{'count':_0x19bbca[_0x707e('0x40')],'rows':_0x19bbca};})[_0x707e('0x1c')](respondWithResult(_0x3f2ed6,null))['catch'](function(_0x5ac439){var _0x56b872=_0x3522ee['query'][_0x707e('0x76')]?0x1f4:_0x5ac439[_0x707e('0x77')]||0x1f4;logger[_0x707e('0x22')](_0x707e('0x78'),'getFields',_0x56b872,JSON['stringify'](_0x5ac439));delete _0x5ac439[_0x707e('0x32')];if(_0x56b872===0x191){_0x56b872=0x190;}_0x3f2ed6[_0x707e('0x26')](_0x56b872)[_0x707e('0x33')](_0x3522ee['query'][_0x707e('0x76')]?{'message':_0x707e('0x79'),'statusCode':_0x5ac439[_0x707e('0x77')]}:_0x5ac439);});};