Built motion from commit (unavailable).|2.5.22
[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 _0x09ac=['Content-Range','apply','reject','save','destroy','stack','name','send','index','map','DeskAccount','rawAttributes','fieldName','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','type','VIRTUAL','filter','options','include','findAll','rows','catch','show','params','find','create','body','update','getConfigurations','addConfiguration','findOne','AccountId','channel','getDescriptions','DeskConfiguration','DeskField','Subjects','Descriptions','getFields','priority','remoteUri','authType','username','password','consumerKey','consumerSecret','tokenSecret','slice','substring','GET','format','%s/custom_fields','application/json','basic','headers','%s:%s','toString','concat','_embedded','entries','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','bluebird','mustache','util','path','sox','to-csv','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','api','../../config/utils','../../config/license/util','../../mysqldb','jayson/promise','client','http','request','then','info','DeskAccount,\x20%s,\x20%s','request\x20sent','debug','stringify','error','code','message','sendStatus','end','status','json','count','offset','limit','set'];(function(_0x7f287d,_0xe3b36e){var _0x21514f=function(_0x2e392e){while(--_0x2e392e){_0x7f287d['push'](_0x7f287d['shift']());}};_0x21514f(++_0xe3b36e);}(_0x09ac,0x1bc));var _0xc09a=function(_0x26d034,_0x2c22db){_0x26d034=_0x26d034-0x0;var _0x3015aa=_0x09ac[_0x26d034];return _0x3015aa;};'use strict';var pdf=require(_0xc09a('0x0'));var emlformat=require(_0xc09a('0x1'));var rimraf=require(_0xc09a('0x2'));var zipdir=require(_0xc09a('0x3'));var jsonpatch=require(_0xc09a('0x4'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xc09a('0x5'));var Mustache=require(_0xc09a('0x6'));var util=require(_0xc09a('0x7'));var path=require(_0xc09a('0x8'));var sox=require(_0xc09a('0x9'));var csv=require(_0xc09a('0xa'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xc09a('0xb'));var squel=require(_0xc09a('0xc'));var crypto=require('crypto');var jsforce=require(_0xc09a('0xd'));var deskjs=require(_0xc09a('0xe'));var toCsv=require(_0xc09a('0xa'));var querystring=require(_0xc09a('0xf'));var Papa=require(_0xc09a('0x10'));var Redis=require(_0xc09a('0x11'));var authService=require('../../components/auth/service');var qs=require(_0xc09a('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0xc09a('0x13'));var utils=require(_0xc09a('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0xc09a('0x15'));var db=require(_0xc09a('0x16'))['db'];var integrations=require('../../components/integrations/configuration');var jayson=require(_0xc09a('0x17'));var client=jayson[_0xc09a('0x18')][_0xc09a('0x19')]({'port':0x232a});function respondWithRpcPromise(_0x430ddb,_0x1aa2ea,_0x25cb93,_0x4b9237){return new BPromise(function(_0x2aff0e,_0x1a89b8){var _0x13420b=_0x4b9237||client;return _0x13420b[_0xc09a('0x1a')](_0x430ddb,_0x25cb93)[_0xc09a('0x1b')](function(_0xef9bbc){logger[_0xc09a('0x1c')](_0xc09a('0x1d'),_0x1aa2ea,_0xc09a('0x1e'));logger[_0xc09a('0x1f')]('DeskAccount,\x20%s,\x20%s,\x20%s',_0x1aa2ea,_0xc09a('0x1e'),JSON[_0xc09a('0x20')](_0xef9bbc));if(_0xef9bbc[_0xc09a('0x21')]){if(_0xef9bbc[_0xc09a('0x21')][_0xc09a('0x22')]===0x1f4){logger[_0xc09a('0x21')](_0xc09a('0x1d'),_0x1aa2ea,_0xef9bbc[_0xc09a('0x21')][_0xc09a('0x23')]);return _0x1a89b8(_0xef9bbc[_0xc09a('0x21')]['message']);}logger[_0xc09a('0x21')]('DeskAccount,\x20%s,\x20%s',_0x1aa2ea,_0xef9bbc[_0xc09a('0x21')][_0xc09a('0x23')]);return _0x2aff0e(_0xef9bbc[_0xc09a('0x21')][_0xc09a('0x23')]);}else{logger[_0xc09a('0x1c')](_0xc09a('0x1d'),_0x1aa2ea,_0xc09a('0x1e'));_0x2aff0e(_0xef9bbc['result']['message']);}})['catch'](function(_0x492c16){logger[_0xc09a('0x21')](_0xc09a('0x1d'),_0x1aa2ea,_0x492c16);_0x1a89b8(_0x492c16);});});}function respondWithStatusCode(_0x37805a,_0x5f2344){_0x5f2344=_0x5f2344||0xcc;return function(_0x2a1457){if(_0x2a1457){return _0x37805a[_0xc09a('0x24')](_0x5f2344);}return _0x37805a['status'](_0x5f2344)[_0xc09a('0x25')]();};}function respondWithResult(_0x225274,_0x3f61c8){_0x3f61c8=_0x3f61c8||0xc8;return function(_0x30bbc6){if(_0x30bbc6){return _0x225274[_0xc09a('0x26')](_0x3f61c8)[_0xc09a('0x27')](_0x30bbc6);}};}function respondWithFilteredResult(_0x407166,_0xa15991){return function(_0x57bab5){if(_0x57bab5){var _0x24934c=_0x57bab5[_0xc09a('0x28')],_0x401601=_0xa15991[_0xc09a('0x29')],_0x2553f1=_0xa15991[_0xc09a('0x29')]+_0xa15991[_0xc09a('0x2a')],_0x365f40;if(_0x2553f1>=_0x24934c){_0x2553f1=_0x24934c;_0x365f40=0xc8;}else{_0x365f40=0xce;}_0x407166[_0xc09a('0x26')](_0x365f40);return _0x407166[_0xc09a('0x2b')](_0xc09a('0x2c'),_0x401601+'-'+_0x2553f1+'/'+_0x24934c)[_0xc09a('0x27')](_0x57bab5);}return null;};}function patchUpdates(_0x161ba8){return function(_0x54ed46){try{jsonpatch[_0xc09a('0x2d')](_0x54ed46,_0x161ba8,!![]);}catch(_0x48fc63){return BPromise[_0xc09a('0x2e')](_0x48fc63);}return _0x54ed46[_0xc09a('0x2f')]();};}function saveUpdates(_0x18da60,_0x114d3c){return function(_0x239fb2){if(_0x239fb2){return _0x239fb2['update'](_0x18da60)[_0xc09a('0x1b')](function(_0x31d1fb){return _0x31d1fb;});}return null;};}function removeEntity(_0x1ebc04,_0x2ed489){return function(_0x31c71b){if(_0x31c71b){return _0x31c71b[_0xc09a('0x30')]()[_0xc09a('0x1b')](function(){_0x1ebc04[_0xc09a('0x26')](0xcc)['end']();});}};}function handleEntityNotFound(_0xb75cdf,_0x2ac4f1){return function(_0x576d5b){if(!_0x576d5b){_0xb75cdf[_0xc09a('0x24')](0x194);}return _0x576d5b;};}function handleError(_0x464d3e,_0x294a68){_0x294a68=_0x294a68||0x1f4;return function(_0x125f16){logger[_0xc09a('0x21')](_0x125f16[_0xc09a('0x31')]);if(_0x125f16[_0xc09a('0x32')]){delete _0x125f16[_0xc09a('0x32')];}_0x464d3e[_0xc09a('0x26')](_0x294a68)[_0xc09a('0x33')](_0x125f16);};}exports[_0xc09a('0x34')]=function(_0x2a7a3d,_0x10fc51){var _0x15eb24={},_0x33ea11={},_0x42fcc6={'count':0x0,'rows':[]};var _0x2493ca=_[_0xc09a('0x35')](db[_0xc09a('0x36')][_0xc09a('0x37')],function(_0x2ef2ef){return{'name':_0x2ef2ef[_0xc09a('0x38')],'type':_0x2ef2ef['type'][_0xc09a('0x39')]};});_0x33ea11[_0xc09a('0x3a')]=_[_0xc09a('0x35')](_0x2493ca,_0xc09a('0x32'));_0x33ea11[_0xc09a('0x3b')]=_[_0xc09a('0x3c')](_0x2a7a3d['query']);_0x33ea11[_0xc09a('0x3d')]=_[_0xc09a('0x3e')](_0x33ea11[_0xc09a('0x3a')],_0x33ea11['query']);_0x15eb24[_0xc09a('0x3f')]=_['intersection'](_0x33ea11['model'],qs[_0xc09a('0x40')](_0x2a7a3d[_0xc09a('0x3b')][_0xc09a('0x40')]));_0x15eb24[_0xc09a('0x3f')]=_0x15eb24[_0xc09a('0x3f')][_0xc09a('0x41')]?_0x15eb24[_0xc09a('0x3f')]:_0x33ea11[_0xc09a('0x3a')];if(!_0x2a7a3d['query'][_0xc09a('0x42')](_0xc09a('0x43'))){_0x15eb24[_0xc09a('0x2a')]=qs[_0xc09a('0x2a')](_0x2a7a3d['query'][_0xc09a('0x2a')]);_0x15eb24[_0xc09a('0x29')]=qs[_0xc09a('0x29')](_0x2a7a3d[_0xc09a('0x3b')][_0xc09a('0x29')]);}_0x15eb24[_0xc09a('0x44')]=qs[_0xc09a('0x45')](_0x2a7a3d[_0xc09a('0x3b')][_0xc09a('0x45')]);_0x15eb24[_0xc09a('0x46')]=qs['filters'](_[_0xc09a('0x47')](_0x2a7a3d[_0xc09a('0x3b')],_0x33ea11[_0xc09a('0x3d')]),_0x2493ca);if(_0x2a7a3d[_0xc09a('0x3b')]['filter']){_0x15eb24['where']=_[_0xc09a('0x48')](_0x15eb24[_0xc09a('0x46')],{'$or':_[_0xc09a('0x35')](_0x2493ca,function(_0x49d5db){if(_0x49d5db[_0xc09a('0x49')]!==_0xc09a('0x4a')){var _0x4fa63a={};_0x4fa63a[_0x49d5db['name']]={'$like':'%'+_0x2a7a3d[_0xc09a('0x3b')][_0xc09a('0x4b')]+'%'};return _0x4fa63a;}})});}_0x15eb24=_[_0xc09a('0x48')]({},_0x15eb24,_0x2a7a3d[_0xc09a('0x4c')]);var _0x2c2d93={'where':_0x15eb24[_0xc09a('0x46')]};return db[_0xc09a('0x36')]['count'](_0x2c2d93)[_0xc09a('0x1b')](function(_0x509fd8){_0x42fcc6[_0xc09a('0x28')]=_0x509fd8;if(_0x2a7a3d[_0xc09a('0x3b')]['includeAll']){_0x15eb24[_0xc09a('0x4d')]=[{'all':!![]}];}return db[_0xc09a('0x36')][_0xc09a('0x4e')](_0x15eb24);})['then'](function(_0x58b59c){_0x42fcc6[_0xc09a('0x4f')]=_0x58b59c;return _0x42fcc6;})['then'](respondWithFilteredResult(_0x10fc51,_0x15eb24))[_0xc09a('0x50')](handleError(_0x10fc51,null));};exports[_0xc09a('0x51')]=function(_0x309cb9,_0x8f3a8e){var _0x3de853={'raw':![],'where':{'id':_0x309cb9[_0xc09a('0x52')]['id']}},_0x2154f3={};_0x2154f3[_0xc09a('0x3a')]=_[_0xc09a('0x3c')](db[_0xc09a('0x36')]['rawAttributes']);_0x2154f3['query']=_[_0xc09a('0x3c')](_0x309cb9['query']);_0x2154f3[_0xc09a('0x3d')]=_[_0xc09a('0x3e')](_0x2154f3[_0xc09a('0x3a')],_0x2154f3[_0xc09a('0x3b')]);_0x3de853[_0xc09a('0x3f')]=_['intersection'](_0x2154f3[_0xc09a('0x3a')],qs[_0xc09a('0x40')](_0x309cb9[_0xc09a('0x3b')]['fields']));_0x3de853['attributes']=_0x3de853[_0xc09a('0x3f')]['length']?_0x3de853[_0xc09a('0x3f')]:_0x2154f3[_0xc09a('0x3a')];if(_0x309cb9[_0xc09a('0x3b')]['includeAll']){_0x3de853[_0xc09a('0x4d')]=[{'all':!![]}];}_0x3de853=_[_0xc09a('0x48')]({},_0x3de853,_0x309cb9['options']);return db['DeskAccount'][_0xc09a('0x53')](_0x3de853)[_0xc09a('0x1b')](handleEntityNotFound(_0x8f3a8e,null))[_0xc09a('0x1b')](respondWithResult(_0x8f3a8e,null))[_0xc09a('0x50')](handleError(_0x8f3a8e,null));};exports[_0xc09a('0x54')]=function(_0x1a7524,_0x43abfb){return db[_0xc09a('0x36')][_0xc09a('0x54')](_0x1a7524[_0xc09a('0x55')],{})[_0xc09a('0x1b')](respondWithResult(_0x43abfb,0xc9))[_0xc09a('0x50')](handleError(_0x43abfb,null));};exports[_0xc09a('0x56')]=function(_0x18844a,_0x5d52ec){if(_0x18844a[_0xc09a('0x55')]['id']){delete _0x18844a['body']['id'];}return db['DeskAccount'][_0xc09a('0x53')]({'where':{'id':_0x18844a[_0xc09a('0x52')]['id']}})[_0xc09a('0x1b')](handleEntityNotFound(_0x5d52ec,null))[_0xc09a('0x1b')](saveUpdates(_0x18844a[_0xc09a('0x55')],null))[_0xc09a('0x1b')](respondWithResult(_0x5d52ec,null))[_0xc09a('0x50')](handleError(_0x5d52ec,null));};exports[_0xc09a('0x30')]=function(_0x178497,_0x309b9c){return db[_0xc09a('0x36')][_0xc09a('0x53')]({'where':{'id':_0x178497['params']['id']}})[_0xc09a('0x1b')](handleEntityNotFound(_0x309b9c,null))[_0xc09a('0x1b')](removeEntity(_0x309b9c,null))[_0xc09a('0x50')](handleError(_0x309b9c,null));};exports[_0xc09a('0x57')]=function(_0xe1e985,_0x4c956a,_0x4ff084){var _0x4437c5={};var _0x214614={};var _0x58ea1d;var _0xeb9cf0;return db['DeskAccount']['findOne']({'where':{'id':_0xe1e985[_0xc09a('0x52')]['id']}})[_0xc09a('0x1b')](handleEntityNotFound(_0x4c956a,null))[_0xc09a('0x1b')](function(_0x12317b){if(_0x12317b){_0x58ea1d=_0x12317b;_0x214614[_0xc09a('0x3a')]=_[_0xc09a('0x3c')](db['DeskConfiguration']['rawAttributes']);_0x214614['query']=_[_0xc09a('0x3c')](_0xe1e985['query']);_0x214614[_0xc09a('0x3d')]=_['intersection'](_0x214614[_0xc09a('0x3a')],_0x214614[_0xc09a('0x3b')]);_0x4437c5[_0xc09a('0x3f')]=_['intersection'](_0x214614[_0xc09a('0x3a')],qs[_0xc09a('0x40')](_0xe1e985[_0xc09a('0x3b')][_0xc09a('0x40')]));_0x4437c5[_0xc09a('0x3f')]=_0x4437c5['attributes']['length']?_0x4437c5[_0xc09a('0x3f')]:_0x214614['model'];_0x4437c5[_0xc09a('0x44')]=qs[_0xc09a('0x45')](_0xe1e985[_0xc09a('0x3b')][_0xc09a('0x45')]);_0x4437c5[_0xc09a('0x46')]=qs['filters'](_[_0xc09a('0x47')](_0xe1e985[_0xc09a('0x3b')],_0x214614[_0xc09a('0x3d')]));if(_0xe1e985[_0xc09a('0x3b')][_0xc09a('0x4b')]){_0x4437c5[_0xc09a('0x46')]=_[_0xc09a('0x48')](_0x4437c5[_0xc09a('0x46')],{'$or':_[_0xc09a('0x35')](_0x4437c5[_0xc09a('0x3f')],function(_0x35ec2d){var _0x4fcd3a={};_0x4fcd3a[_0x35ec2d]={'$like':'%'+_0xe1e985[_0xc09a('0x3b')][_0xc09a('0x4b')]+'%'};return _0x4fcd3a;})});}_0x4437c5=_[_0xc09a('0x48')]({},_0x4437c5,_0xe1e985[_0xc09a('0x4c')]);return _0x58ea1d[_0xc09a('0x57')](_0x4437c5);}})[_0xc09a('0x1b')](function(_0x2aed4c){if(_0x2aed4c){_0xeb9cf0=_0x2aed4c['length'];if(!_0xe1e985['query'][_0xc09a('0x42')](_0xc09a('0x43'))){_0x4437c5['limit']=qs['limit'](_0xe1e985['query'][_0xc09a('0x2a')]);_0x4437c5[_0xc09a('0x29')]=qs['offset'](_0xe1e985[_0xc09a('0x3b')][_0xc09a('0x29')]);}return _0x58ea1d['getConfigurations'](_0x4437c5);}})[_0xc09a('0x1b')](function(_0x42d71a){if(_0x42d71a){return _0x42d71a?{'count':_0xeb9cf0,'rows':_0x42d71a}:null;}})[_0xc09a('0x1b')](respondWithResult(_0x4c956a,null))[_0xc09a('0x50')](handleError(_0x4c956a,null));};exports[_0xc09a('0x58')]=function(_0x350c8c,_0x3782ab,_0xb3c4b2){if(_0x350c8c[_0xc09a('0x55')]['id']){delete _0x350c8c['body']['id'];}return db['DeskAccount'][_0xc09a('0x59')]({'where':{'id':_0x350c8c[_0xc09a('0x52')]['id']}})[_0xc09a('0x1b')](handleEntityNotFound(_0x3782ab,null))[_0xc09a('0x1b')](function(_0x43a927){if(_0x43a927){_0x350c8c[_0xc09a('0x55')][_0xc09a('0x5a')]=_0x43a927['id'];_0x350c8c['body']['Subjects']=integrations['getSubjects'](_0x350c8c['body'][_0xc09a('0x5b')],_0x350c8c[_0xc09a('0x55')]['type']);_0x350c8c['body']['Descriptions']=integrations[_0xc09a('0x5c')](_0x350c8c[_0xc09a('0x55')][_0xc09a('0x5b')],_0x350c8c[_0xc09a('0x55')]['type']);return db[_0xc09a('0x5d')][_0xc09a('0x54')](_0x350c8c[_0xc09a('0x55')],{'include':[{'model':db[_0xc09a('0x5e')],'as':_0xc09a('0x5f')},{'model':db['DeskField'],'as':_0xc09a('0x60')}]});}return null;})[_0xc09a('0x1b')](respondWithResult(_0x3782ab,null))[_0xc09a('0x50')](handleError(_0x3782ab,null));};exports[_0xc09a('0x61')]=function(_0x14fc9b,_0x25ca5a,_0x549455){var _0x40f9a6=[{'name':'priority','label':_0xc09a('0x62'),'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 _0x5dd73e='';return db[_0xc09a('0x36')]['findOne']({'where':{'id':_0x14fc9b[_0xc09a('0x52')]['id']},'attributes':['id',_0xc09a('0x63'),_0xc09a('0x64'),_0xc09a('0x65'),_0xc09a('0x66'),_0xc09a('0x67'),_0xc09a('0x68'),'token',_0xc09a('0x69')]})[_0xc09a('0x1b')](handleEntityNotFound(_0x25ca5a,null))[_0xc09a('0x1b')](function(_0x42fd0d){if(_0x42fd0d){_0x5dd73e=_0x42fd0d[_0xc09a('0x63')];var _0x475156=_0x5dd73e[_0xc09a('0x6a')](-0x1);if(_0x475156==='/'){_0x5dd73e=_0x5dd73e[_0xc09a('0x6b')](0x0,_0x5dd73e['lastIndexOf'](_0x475156));}var _0x274bd5={'method':_0xc09a('0x6c'),'uri':util[_0xc09a('0x6d')](_0xc09a('0x6e'),_0x5dd73e),'headers':{'Content-Type':'application/json','Accept':_0xc09a('0x6f')},'json':!![]};if(_0x42fd0d['authType']===_0xc09a('0x70')){_0x274bd5[_0xc09a('0x71')]['Authorization']=util[_0xc09a('0x6d')]('Basic\x20%s',new Buffer(util[_0xc09a('0x6d')](_0xc09a('0x72'),_0x42fd0d['username'],_0x42fd0d[_0xc09a('0x66')]))[_0xc09a('0x73')]('base64'));}return rp(_0x274bd5)['then'](function(_0x424541){return _0x40f9a6[_0xc09a('0x74')](_[_0xc09a('0x35')](_0x424541[_0xc09a('0x75')][_0xc09a('0x76')],function(_0x59c277){return{'id':_0x59c277['name'],'name':_0x59c277[_0xc09a('0x32')],'type':_0x59c277[_0xc09a('0x49')],'active':_0x59c277['active'],'label':_0x59c277['label'],'custom':!![]};}));});}})[_0xc09a('0x1b')](function(_0x13475b){return{'count':_0x13475b[_0xc09a('0x41')],'rows':_0x13475b};})[_0xc09a('0x1b')](respondWithResult(_0x25ca5a,null))[_0xc09a('0x50')](function(_0x28567b){var _0x17a447=_0x14fc9b[_0xc09a('0x3b')][_0xc09a('0x77')]?0x1f4:_0x28567b[_0xc09a('0x78')]||0x1f4;logger[_0xc09a('0x21')](_0xc09a('0x79'),_0xc09a('0x61'),_0x17a447,JSON[_0xc09a('0x20')](_0x28567b));delete _0x28567b[_0xc09a('0x32')];if(_0x17a447===0x191){_0x17a447=0x190;}_0x25ca5a[_0xc09a('0x26')](_0x17a447)[_0xc09a('0x33')](_0x14fc9b[_0xc09a('0x3b')]['test']?{'message':'Wrong\x20credentials','statusCode':_0x28567b[_0xc09a('0x78')]}:_0x28567b);});};