Built motion from commit (unavailable).|2.5.4
[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 _0x26a0=['stringify','error','code','message','result','catch','sendStatus','end','status','json','count','limit','Content-Range','apply','reject','save','update','destroy','stack','name','send','map','DeskAccount','rawAttributes','type','key','model','keys','query','filters','intersection','attributes','fields','offset','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','show','params','length','create','body','find','getConfigurations','findOne','DeskConfiguration','order','hasOwnProperty','addConfiguration','Subjects','getSubjects','channel','Descriptions','getDescriptions','DeskField','getFields','priority','remoteUri','authType','username','consumerKey','consumerSecret','token','tokenSecret','slice','lastIndexOf','GET','format','%s/custom_fields','application/json','basic','headers','Authorization','Basic\x20%s','%s:%s','password','base64','concat','_embedded','active','label','statusCode','getFields,\x20%s,\x20%s,\x20%s','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','papaparse','ioredis','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','../../components/integrations/configuration','client','http','test','Sequelize','ValidationError','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','request','then','DeskAccount,\x20%s,\x20%s','debug','request\x20sent'];(function(_0x315618,_0x94717){var _0x137d7a=function(_0x1d739c){while(--_0x1d739c){_0x315618['push'](_0x315618['shift']());}};_0x137d7a(++_0x94717);}(_0x26a0,0x1d8));var _0x026a=function(_0x41594f,_0x32bc97){_0x41594f=_0x41594f-0x0;var _0x41a1ab=_0x26a0[_0x41594f];return _0x41a1ab;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x026a('0x0'));var rimraf=require(_0x026a('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x026a('0x2'));var rp=require(_0x026a('0x3'));var moment=require(_0x026a('0x4'));var BPromise=require(_0x026a('0x5'));var Mustache=require(_0x026a('0x6'));var util=require(_0x026a('0x7'));var path=require(_0x026a('0x8'));var sox=require(_0x026a('0x9'));var csv=require(_0x026a('0xa'));var ejs=require(_0x026a('0xb'));var fs=require('fs');var _=require(_0x026a('0xc'));var squel=require(_0x026a('0xd'));var crypto=require(_0x026a('0xe'));var jsforce=require(_0x026a('0xf'));var deskjs=require('desk.js');var toCsv=require(_0x026a('0xa'));var querystring=require('querystring');var Papa=require(_0x026a('0x10'));var Redis=require(_0x026a('0x11'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x026a('0x12'));var logger=require(_0x026a('0x13'))(_0x026a('0x14'));var utils=require(_0x026a('0x15'));var config=require(_0x026a('0x16'));var db=require(_0x026a('0x17'))['db'];var integrations=require(_0x026a('0x18'));var jayson=require('jayson/promise');var client=jayson[_0x026a('0x19')][_0x026a('0x1a')]({'port':0x232a});function checkPasswordPattern(_0x5b7726,_0x56d771,_0x263361){if(_0x263361){var _0x3a8faa=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x3a8faa[_0x026a('0x1b')](_0x56d771)){return _0x5b7726;}else{throw new db[(_0x026a('0x1c'))][(_0x026a('0x1d'))](_0x026a('0x1e'));}}else{return _0x5b7726;}}function respondWithRpcPromise(_0x2941b6,_0x17382c,_0x12ebbf,_0x5451fc){return new BPromise(function(_0x53cdf5,_0x39b0f2){var _0x2f96ca=_0x5451fc||client;return _0x2f96ca[_0x026a('0x1f')](_0x2941b6,_0x12ebbf)[_0x026a('0x20')](function(_0x1c32a5){logger['info'](_0x026a('0x21'),_0x17382c,'request\x20sent');logger[_0x026a('0x22')]('DeskAccount,\x20%s,\x20%s,\x20%s',_0x17382c,_0x026a('0x23'),JSON[_0x026a('0x24')](_0x1c32a5));if(_0x1c32a5[_0x026a('0x25')]){if(_0x1c32a5['error'][_0x026a('0x26')]===0x1f4){logger[_0x026a('0x25')](_0x026a('0x21'),_0x17382c,_0x1c32a5[_0x026a('0x25')][_0x026a('0x27')]);return _0x39b0f2(_0x1c32a5['error']['message']);}logger[_0x026a('0x25')](_0x026a('0x21'),_0x17382c,_0x1c32a5[_0x026a('0x25')][_0x026a('0x27')]);return _0x53cdf5(_0x1c32a5[_0x026a('0x25')]['message']);}else{logger['info'](_0x026a('0x21'),_0x17382c,_0x026a('0x23'));_0x53cdf5(_0x1c32a5[_0x026a('0x28')][_0x026a('0x27')]);}})[_0x026a('0x29')](function(_0xb68b48){logger['error'](_0x026a('0x21'),_0x17382c,_0xb68b48);_0x39b0f2(_0xb68b48);});});}function respondWithStatusCode(_0x367cbd,_0x437d92){_0x437d92=_0x437d92||0xcc;return function(_0xf80b8f){if(_0xf80b8f){return _0x367cbd[_0x026a('0x2a')](_0x437d92);}return _0x367cbd['status'](_0x437d92)[_0x026a('0x2b')]();};}function respondWithResult(_0x1776ea,_0x352445){_0x352445=_0x352445||0xc8;return function(_0x390fb4){if(_0x390fb4){return _0x1776ea[_0x026a('0x2c')](_0x352445)[_0x026a('0x2d')](_0x390fb4);}};}function respondWithFilteredResult(_0x46e1d7,_0x34f7f8){return function(_0x20fd55){if(_0x20fd55){var _0x3e37f5=_0x20fd55[_0x026a('0x2e')],_0x206165=_0x34f7f8['offset'],_0x3e2a3a=_0x34f7f8['offset']+_0x34f7f8[_0x026a('0x2f')],_0x29e301;if(_0x3e2a3a>=_0x3e37f5){_0x3e2a3a=_0x3e37f5;_0x29e301=0xc8;}else{_0x29e301=0xce;}_0x46e1d7[_0x026a('0x2c')](_0x29e301);return _0x46e1d7['set'](_0x026a('0x30'),_0x206165+'-'+_0x3e2a3a+'/'+_0x3e37f5)[_0x026a('0x2d')](_0x20fd55);}return null;};}function patchUpdates(_0x26c65f){return function(_0x1e18bc){try{jsonpatch[_0x026a('0x31')](_0x1e18bc,_0x26c65f,!![]);}catch(_0x1542d8){return BPromise[_0x026a('0x32')](_0x1542d8);}return _0x1e18bc[_0x026a('0x33')]();};}function saveUpdates(_0x55ebbc,_0x29951b){return function(_0x48e661){if(_0x48e661){return _0x48e661[_0x026a('0x34')](_0x55ebbc)[_0x026a('0x20')](function(_0x596002){return _0x596002;});}return null;};}function removeEntity(_0x133d85,_0x2e8bdd){return function(_0x4ccd83){if(_0x4ccd83){return _0x4ccd83[_0x026a('0x35')]()['then'](function(){_0x133d85[_0x026a('0x2c')](0xcc)[_0x026a('0x2b')]();});}};}function handleEntityNotFound(_0x42034f,_0x29dc05){return function(_0x40bb90){if(!_0x40bb90){_0x42034f[_0x026a('0x2a')](0x194);}return _0x40bb90;};}function handleError(_0x20b60e,_0x595199){_0x595199=_0x595199||0x1f4;return function(_0x178300){logger[_0x026a('0x25')](_0x178300[_0x026a('0x36')]);if(_0x178300[_0x026a('0x37')]){delete _0x178300[_0x026a('0x37')];}_0x20b60e[_0x026a('0x2c')](_0x595199)[_0x026a('0x38')](_0x178300);};}exports['index']=function(_0x5ead07,_0x22fbc6){var _0x253f0c={},_0x4d8592={},_0x3c966d={'count':0x0,'rows':[]};var _0x3d7e5e=_[_0x026a('0x39')](db[_0x026a('0x3a')][_0x026a('0x3b')],function(_0x5a6eb7){return{'name':_0x5a6eb7['fieldName'],'type':_0x5a6eb7[_0x026a('0x3c')][_0x026a('0x3d')]};});_0x4d8592[_0x026a('0x3e')]=_['map'](_0x3d7e5e,_0x026a('0x37'));_0x4d8592['query']=_[_0x026a('0x3f')](_0x5ead07[_0x026a('0x40')]);_0x4d8592[_0x026a('0x41')]=_[_0x026a('0x42')](_0x4d8592[_0x026a('0x3e')],_0x4d8592['query']);_0x253f0c[_0x026a('0x43')]=_[_0x026a('0x42')](_0x4d8592[_0x026a('0x3e')],qs[_0x026a('0x44')](_0x5ead07[_0x026a('0x40')][_0x026a('0x44')]));_0x253f0c['attributes']=_0x253f0c[_0x026a('0x43')]['length']?_0x253f0c[_0x026a('0x43')]:_0x4d8592['model'];if(!_0x5ead07[_0x026a('0x40')]['hasOwnProperty']('nolimit')){_0x253f0c['limit']=qs[_0x026a('0x2f')](_0x5ead07[_0x026a('0x40')][_0x026a('0x2f')]);_0x253f0c[_0x026a('0x45')]=qs[_0x026a('0x45')](_0x5ead07[_0x026a('0x40')][_0x026a('0x45')]);}_0x253f0c['order']=qs[_0x026a('0x46')](_0x5ead07[_0x026a('0x40')][_0x026a('0x46')]);_0x253f0c[_0x026a('0x47')]=qs[_0x026a('0x41')](_[_0x026a('0x48')](_0x5ead07[_0x026a('0x40')],_0x4d8592['filters']),_0x3d7e5e);if(_0x5ead07[_0x026a('0x40')][_0x026a('0x49')]){_0x253f0c[_0x026a('0x47')]=_[_0x026a('0x4a')](_0x253f0c['where'],{'$or':_[_0x026a('0x39')](_0x3d7e5e,function(_0x149f4c){if(_0x149f4c[_0x026a('0x3c')]!==_0x026a('0x4b')){var _0x14cf5d={};_0x14cf5d[_0x149f4c['name']]={'$like':'%'+_0x5ead07[_0x026a('0x40')][_0x026a('0x49')]+'%'};return _0x14cf5d;}})});}_0x253f0c=_[_0x026a('0x4a')]({},_0x253f0c,_0x5ead07[_0x026a('0x4c')]);var _0x38b665={'where':_0x253f0c[_0x026a('0x47')]};return db[_0x026a('0x3a')]['count'](_0x38b665)[_0x026a('0x20')](function(_0xdb573){_0x3c966d[_0x026a('0x2e')]=_0xdb573;if(_0x5ead07['query'][_0x026a('0x4d')]){_0x253f0c[_0x026a('0x4e')]=[{'all':!![]}];}return db[_0x026a('0x3a')][_0x026a('0x4f')](_0x253f0c);})[_0x026a('0x20')](function(_0x411ee4){_0x3c966d[_0x026a('0x50')]=_0x411ee4;return _0x3c966d;})[_0x026a('0x20')](respondWithFilteredResult(_0x22fbc6,_0x253f0c))['catch'](handleError(_0x22fbc6,null));};exports[_0x026a('0x51')]=function(_0x265bca,_0x149f50){var _0x2bd61a={'raw':![],'where':{'id':_0x265bca[_0x026a('0x52')]['id']}},_0x33720e={};_0x33720e[_0x026a('0x3e')]=_[_0x026a('0x3f')](db[_0x026a('0x3a')]['rawAttributes']);_0x33720e[_0x026a('0x40')]=_['keys'](_0x265bca[_0x026a('0x40')]);_0x33720e[_0x026a('0x41')]=_[_0x026a('0x42')](_0x33720e['model'],_0x33720e['query']);_0x2bd61a[_0x026a('0x43')]=_[_0x026a('0x42')](_0x33720e['model'],qs[_0x026a('0x44')](_0x265bca[_0x026a('0x40')][_0x026a('0x44')]));_0x2bd61a[_0x026a('0x43')]=_0x2bd61a[_0x026a('0x43')][_0x026a('0x53')]?_0x2bd61a[_0x026a('0x43')]:_0x33720e[_0x026a('0x3e')];if(_0x265bca[_0x026a('0x40')][_0x026a('0x4d')]){_0x2bd61a['include']=[{'all':!![]}];}_0x2bd61a=_[_0x026a('0x4a')]({},_0x2bd61a,_0x265bca[_0x026a('0x4c')]);return db[_0x026a('0x3a')]['find'](_0x2bd61a)[_0x026a('0x20')](handleEntityNotFound(_0x149f50,null))[_0x026a('0x20')](respondWithResult(_0x149f50,null))['catch'](handleError(_0x149f50,null));};exports[_0x026a('0x54')]=function(_0x1fcbb,_0x53a24b){return db[_0x026a('0x3a')]['create'](_0x1fcbb[_0x026a('0x55')],{})[_0x026a('0x20')](respondWithResult(_0x53a24b,0xc9))['catch'](handleError(_0x53a24b,null));};exports[_0x026a('0x34')]=function(_0x21e86d,_0x3d24fa){if(_0x21e86d['body']['id']){delete _0x21e86d['body']['id'];}return db[_0x026a('0x3a')][_0x026a('0x56')]({'where':{'id':_0x21e86d[_0x026a('0x52')]['id']}})[_0x026a('0x20')](handleEntityNotFound(_0x3d24fa,null))[_0x026a('0x20')](saveUpdates(_0x21e86d[_0x026a('0x55')],null))[_0x026a('0x20')](respondWithResult(_0x3d24fa,null))[_0x026a('0x29')](handleError(_0x3d24fa,null));};exports['destroy']=function(_0x35bd8d,_0x5bb63a){return db['DeskAccount']['find']({'where':{'id':_0x35bd8d['params']['id']}})[_0x026a('0x20')](handleEntityNotFound(_0x5bb63a,null))[_0x026a('0x20')](removeEntity(_0x5bb63a,null))[_0x026a('0x29')](handleError(_0x5bb63a,null));};exports[_0x026a('0x57')]=function(_0x14be6f,_0xcf72e1,_0x357783){var _0x25a953={};var _0x388d95={};var _0x3e89ee;var _0x4c4d38;return db['DeskAccount'][_0x026a('0x58')]({'where':{'id':_0x14be6f[_0x026a('0x52')]['id']}})[_0x026a('0x20')](handleEntityNotFound(_0xcf72e1,null))['then'](function(_0x18bb89){if(_0x18bb89){_0x3e89ee=_0x18bb89;_0x388d95['model']=_[_0x026a('0x3f')](db[_0x026a('0x59')][_0x026a('0x3b')]);_0x388d95[_0x026a('0x40')]=_[_0x026a('0x3f')](_0x14be6f[_0x026a('0x40')]);_0x388d95[_0x026a('0x41')]=_[_0x026a('0x42')](_0x388d95[_0x026a('0x3e')],_0x388d95[_0x026a('0x40')]);_0x25a953[_0x026a('0x43')]=_[_0x026a('0x42')](_0x388d95[_0x026a('0x3e')],qs[_0x026a('0x44')](_0x14be6f['query'][_0x026a('0x44')]));_0x25a953[_0x026a('0x43')]=_0x25a953[_0x026a('0x43')][_0x026a('0x53')]?_0x25a953[_0x026a('0x43')]:_0x388d95[_0x026a('0x3e')];_0x25a953[_0x026a('0x5a')]=qs[_0x026a('0x46')](_0x14be6f[_0x026a('0x40')][_0x026a('0x46')]);_0x25a953[_0x026a('0x47')]=qs[_0x026a('0x41')](_[_0x026a('0x48')](_0x14be6f['query'],_0x388d95[_0x026a('0x41')]));if(_0x14be6f['query'][_0x026a('0x49')]){_0x25a953[_0x026a('0x47')]=_[_0x026a('0x4a')](_0x25a953['where'],{'$or':_[_0x026a('0x39')](_0x25a953[_0x026a('0x43')],function(_0x1e0c3f){var _0x302ab4={};_0x302ab4[_0x1e0c3f]={'$like':'%'+_0x14be6f[_0x026a('0x40')]['filter']+'%'};return _0x302ab4;})});}_0x25a953=_['merge']({},_0x25a953,_0x14be6f[_0x026a('0x4c')]);return _0x3e89ee[_0x026a('0x57')](_0x25a953);}})[_0x026a('0x20')](function(_0x2f1781){if(_0x2f1781){_0x4c4d38=_0x2f1781[_0x026a('0x53')];if(!_0x14be6f[_0x026a('0x40')][_0x026a('0x5b')]('nolimit')){_0x25a953['limit']=qs[_0x026a('0x2f')](_0x14be6f['query'][_0x026a('0x2f')]);_0x25a953[_0x026a('0x45')]=qs[_0x026a('0x45')](_0x14be6f[_0x026a('0x40')][_0x026a('0x45')]);}return _0x3e89ee[_0x026a('0x57')](_0x25a953);}})[_0x026a('0x20')](function(_0xaa1342){if(_0xaa1342){return _0xaa1342?{'count':_0x4c4d38,'rows':_0xaa1342}:null;}})[_0x026a('0x20')](respondWithResult(_0xcf72e1,null))[_0x026a('0x29')](handleError(_0xcf72e1,null));};exports[_0x026a('0x5c')]=function(_0x43a1b2,_0xa0b9e0,_0x5d26b2){if(_0x43a1b2[_0x026a('0x55')]['id']){delete _0x43a1b2[_0x026a('0x55')]['id'];}return db[_0x026a('0x3a')][_0x026a('0x58')]({'where':{'id':_0x43a1b2[_0x026a('0x52')]['id']}})[_0x026a('0x20')](handleEntityNotFound(_0xa0b9e0,null))[_0x026a('0x20')](function(_0x419edf){if(_0x419edf){_0x43a1b2['body']['AccountId']=_0x419edf['id'];_0x43a1b2[_0x026a('0x55')][_0x026a('0x5d')]=integrations[_0x026a('0x5e')](_0x43a1b2[_0x026a('0x55')][_0x026a('0x5f')],_0x43a1b2[_0x026a('0x55')]['type']);_0x43a1b2[_0x026a('0x55')][_0x026a('0x60')]=integrations[_0x026a('0x61')](_0x43a1b2[_0x026a('0x55')]['channel'],_0x43a1b2[_0x026a('0x55')][_0x026a('0x3c')]);return db['DeskConfiguration'][_0x026a('0x54')](_0x43a1b2[_0x026a('0x55')],{'include':[{'model':db[_0x026a('0x62')],'as':'Subjects'},{'model':db['DeskField'],'as':_0x026a('0x60')}]});}return null;})[_0x026a('0x20')](respondWithResult(_0xa0b9e0,null))[_0x026a('0x29')](handleError(_0xa0b9e0,null));};exports[_0x026a('0x63')]=function(_0x1e54a0,_0x45070a,_0xea80d5){var _0x37bf9b=[{'name':_0x026a('0x64'),'label':_0x026a('0x64'),'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 _0x40d81c='';return db['DeskAccount'][_0x026a('0x58')]({'where':{'id':_0x1e54a0[_0x026a('0x52')]['id']},'attributes':['id',_0x026a('0x65'),_0x026a('0x66'),_0x026a('0x67'),'password',_0x026a('0x68'),_0x026a('0x69'),_0x026a('0x6a'),_0x026a('0x6b')]})[_0x026a('0x20')](handleEntityNotFound(_0x45070a,null))['then'](function(_0xaf12d7){if(_0xaf12d7){_0x40d81c=_0xaf12d7[_0x026a('0x65')];var _0x571900=_0x40d81c[_0x026a('0x6c')](-0x1);if(_0x571900==='/'){_0x40d81c=_0x40d81c['substring'](0x0,_0x40d81c[_0x026a('0x6d')](_0x571900));}var _0x34fc90={'method':_0x026a('0x6e'),'uri':util[_0x026a('0x6f')](_0x026a('0x70'),_0x40d81c),'headers':{'Content-Type':'application/json','Accept':_0x026a('0x71')},'json':!![]};if(_0xaf12d7['authType']===_0x026a('0x72')){_0x34fc90[_0x026a('0x73')][_0x026a('0x74')]=util['format'](_0x026a('0x75'),new Buffer(util['format'](_0x026a('0x76'),_0xaf12d7[_0x026a('0x67')],_0xaf12d7[_0x026a('0x77')]))['toString'](_0x026a('0x78')));}return rp(_0x34fc90)[_0x026a('0x20')](function(_0x23a5af){return _0x37bf9b[_0x026a('0x79')](_['map'](_0x23a5af[_0x026a('0x7a')]['entries'],function(_0x56b6e6){return{'id':_0x56b6e6[_0x026a('0x37')],'name':_0x56b6e6[_0x026a('0x37')],'type':_0x56b6e6['type'],'active':_0x56b6e6[_0x026a('0x7b')],'label':_0x56b6e6[_0x026a('0x7c')],'custom':!![]};}));});}})['then'](function(_0xa52dcd){return{'count':_0xa52dcd['length'],'rows':_0xa52dcd};})[_0x026a('0x20')](respondWithResult(_0x45070a,null))[_0x026a('0x29')](function(_0x250ea0){var _0xfd9b4d=_0x1e54a0['query'][_0x026a('0x1b')]?0x1f4:_0x250ea0[_0x026a('0x7d')]||0x1f4;logger[_0x026a('0x25')](_0x026a('0x7e'),'getFields',_0xfd9b4d,JSON[_0x026a('0x24')](_0x250ea0));delete _0x250ea0[_0x026a('0x37')];if(_0xfd9b4d===0x191){_0xfd9b4d=0x190;}_0x45070a[_0x026a('0x2c')](_0xfd9b4d)[_0x026a('0x38')](_0x1e54a0[_0x026a('0x40')][_0x026a('0x1b')]?{'message':'Wrong\x20credentials','statusCode':_0x250ea0[_0x026a('0x7d')]}:_0x250ea0);});};