Built motion from commit 91ed41ac.|2.5.44
[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 _0x2043=['getDescriptions','DeskField','priority','remoteUri','authType','username','password','consumerKey','consumerSecret','token','tokenSecret','slice','substring','lastIndexOf','GET','format','basic','headers','Authorization','%s:%s','toString','base64','concat','_embedded','active','label','test','statusCode','getFields','send','Wrong\x20credentials','eml-format','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','../../config/license/util','../../components/integrations/configuration','sendStatus','status','json','offset','limit','undefined','count','set','Content-Range','reject','save','update','error','stack','name','map','DeskAccount','rawAttributes','fieldName','type','key','query','keys','filters','intersection','attributes','model','fields','hasOwnProperty','nolimit','sort','where','filter','merge','VIRTUAL','options','then','includeAll','include','findAll','rows','catch','show','params','length','find','create','body','getConfigurations','findOne','DeskConfiguration','order','pick','AccountId','Subjects','getSubjects','channel','Descriptions'];(function(_0x3d4f28,_0x2b0150){var _0x371c1c=function(_0x818d3d){while(--_0x818d3d){_0x3d4f28['push'](_0x3d4f28['shift']());}};_0x371c1c(++_0x2b0150);}(_0x2043,0x1ef));var _0x3204=function(_0x4c521c,_0x1da129){_0x4c521c=_0x4c521c-0x0;var _0x48bda7=_0x2043[_0x4c521c];return _0x48bda7;};'use strict';var emlformat=require(_0x3204('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x3204('0x1'));var rp=require(_0x3204('0x2'));var moment=require(_0x3204('0x3'));var BPromise=require(_0x3204('0x4'));var Mustache=require(_0x3204('0x5'));var util=require(_0x3204('0x6'));var path=require(_0x3204('0x7'));var sox=require(_0x3204('0x8'));var csv=require(_0x3204('0x9'));var ejs=require(_0x3204('0xa'));var fs=require('fs');var fs_extra=require(_0x3204('0xb'));var _=require(_0x3204('0xc'));var squel=require(_0x3204('0xd'));var crypto=require(_0x3204('0xe'));var jsforce=require('jsforce');var deskjs=require(_0x3204('0xf'));var toCsv=require('to-csv');var querystring=require(_0x3204('0x10'));var Papa=require(_0x3204('0x11'));var Redis=require(_0x3204('0x12'));var authService=require(_0x3204('0x13'));var qs=require(_0x3204('0x14'));var as=require(_0x3204('0x15'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x3204('0x16'));var utils=require(_0x3204('0x17'));var config=require(_0x3204('0x18'));var licenseUtil=require(_0x3204('0x19'));var db=require('../../mysqldb')['db'];var integrations=require(_0x3204('0x1a'));function respondWithStatusCode(_0x2844e3,_0x28a075){_0x28a075=_0x28a075||0xcc;return function(_0x2efd60){if(_0x2efd60){return _0x2844e3[_0x3204('0x1b')](_0x28a075);}return _0x2844e3[_0x3204('0x1c')](_0x28a075)['end']();};}function respondWithResult(_0x4dde69,_0x408a6d){_0x408a6d=_0x408a6d||0xc8;return function(_0x37f4ff){if(_0x37f4ff){return _0x4dde69[_0x3204('0x1c')](_0x408a6d)[_0x3204('0x1d')](_0x37f4ff);}};}function respondWithFilteredResult(_0x849c26,_0x20b6a1){return function(_0x261cc8){if(_0x261cc8){var _0x5d33e8=typeof _0x20b6a1[_0x3204('0x1e')]==='undefined'&&typeof _0x20b6a1[_0x3204('0x1f')]===_0x3204('0x20');var _0x4eb24f=_0x261cc8[_0x3204('0x21')];var _0xdf1af8=_0x5d33e8?0x0:_0x20b6a1[_0x3204('0x1e')];var _0x27c07a=_0x5d33e8?_0x261cc8['count']:_0x20b6a1[_0x3204('0x1e')]+_0x20b6a1[_0x3204('0x1f')];var _0x1feb47;if(_0x27c07a>=_0x4eb24f){_0x27c07a=_0x4eb24f;_0x1feb47=0xc8;}else{_0x1feb47=0xce;}_0x849c26['status'](_0x1feb47);return _0x849c26[_0x3204('0x22')](_0x3204('0x23'),_0xdf1af8+'-'+_0x27c07a+'/'+_0x4eb24f)[_0x3204('0x1d')](_0x261cc8);}return null;};}function patchUpdates(_0x595b60){return function(_0x2f513a){try{jsonpatch['apply'](_0x2f513a,_0x595b60,!![]);}catch(_0x2ce63c){return BPromise[_0x3204('0x24')](_0x2ce63c);}return _0x2f513a[_0x3204('0x25')]();};}function saveUpdates(_0x3441fe,_0x45cbca){return function(_0x2cfabb){if(_0x2cfabb){return _0x2cfabb[_0x3204('0x26')](_0x3441fe)['then'](function(_0x335dad){return _0x335dad;});}return null;};}function removeEntity(_0x595a1c,_0x279aaa){return function(_0x1d73b1){if(_0x1d73b1){return _0x1d73b1['destroy']()['then'](function(){_0x595a1c[_0x3204('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x455d36,_0x219c55){return function(_0x50364b){if(!_0x50364b){_0x455d36['sendStatus'](0x194);}return _0x50364b;};}function handleError(_0x3848a8,_0x8b26ca){_0x8b26ca=_0x8b26ca||0x1f4;return function(_0x5e5cc1){logger[_0x3204('0x27')](_0x5e5cc1[_0x3204('0x28')]);if(_0x5e5cc1['name']){delete _0x5e5cc1[_0x3204('0x29')];}_0x3848a8[_0x3204('0x1c')](_0x8b26ca)['send'](_0x5e5cc1);};}exports['index']=function(_0x53e9aa,_0x5a55b2){var _0x480b25={},_0x176fc4={},_0x3622ea={'count':0x0,'rows':[]};var _0x90fd1=_[_0x3204('0x2a')](db[_0x3204('0x2b')][_0x3204('0x2c')],function(_0x5a3901){return{'name':_0x5a3901[_0x3204('0x2d')],'type':_0x5a3901[_0x3204('0x2e')][_0x3204('0x2f')]};});_0x176fc4['model']=_[_0x3204('0x2a')](_0x90fd1,'name');_0x176fc4[_0x3204('0x30')]=_[_0x3204('0x31')](_0x53e9aa[_0x3204('0x30')]);_0x176fc4[_0x3204('0x32')]=_[_0x3204('0x33')](_0x176fc4['model'],_0x176fc4['query']);_0x480b25[_0x3204('0x34')]=_[_0x3204('0x33')](_0x176fc4[_0x3204('0x35')],qs[_0x3204('0x36')](_0x53e9aa[_0x3204('0x30')][_0x3204('0x36')]));_0x480b25[_0x3204('0x34')]=_0x480b25[_0x3204('0x34')]['length']?_0x480b25[_0x3204('0x34')]:_0x176fc4[_0x3204('0x35')];if(!_0x53e9aa['query'][_0x3204('0x37')](_0x3204('0x38'))){_0x480b25[_0x3204('0x1f')]=qs[_0x3204('0x1f')](_0x53e9aa[_0x3204('0x30')][_0x3204('0x1f')]);_0x480b25[_0x3204('0x1e')]=qs[_0x3204('0x1e')](_0x53e9aa[_0x3204('0x30')]['offset']);}_0x480b25['order']=qs[_0x3204('0x39')](_0x53e9aa[_0x3204('0x30')][_0x3204('0x39')]);_0x480b25[_0x3204('0x3a')]=qs[_0x3204('0x32')](_['pick'](_0x53e9aa[_0x3204('0x30')],_0x176fc4[_0x3204('0x32')]),_0x90fd1);if(_0x53e9aa[_0x3204('0x30')][_0x3204('0x3b')]){_0x480b25[_0x3204('0x3a')]=_[_0x3204('0x3c')](_0x480b25[_0x3204('0x3a')],{'$or':_[_0x3204('0x2a')](_0x90fd1,function(_0x1a2434){if(_0x1a2434[_0x3204('0x2e')]!==_0x3204('0x3d')){var _0x5038b3={};_0x5038b3[_0x1a2434[_0x3204('0x29')]]={'$like':'%'+_0x53e9aa[_0x3204('0x30')][_0x3204('0x3b')]+'%'};return _0x5038b3;}})});}_0x480b25=_['merge']({},_0x480b25,_0x53e9aa[_0x3204('0x3e')]);var _0x12bf3e={'where':_0x480b25[_0x3204('0x3a')]};return db[_0x3204('0x2b')][_0x3204('0x21')](_0x12bf3e)[_0x3204('0x3f')](function(_0x39ad2d){_0x3622ea['count']=_0x39ad2d;if(_0x53e9aa[_0x3204('0x30')][_0x3204('0x40')]){_0x480b25[_0x3204('0x41')]=[{'all':!![]}];}return db['DeskAccount'][_0x3204('0x42')](_0x480b25);})['then'](function(_0x50ea47){_0x3622ea[_0x3204('0x43')]=_0x50ea47;return _0x3622ea;})[_0x3204('0x3f')](respondWithFilteredResult(_0x5a55b2,_0x480b25))[_0x3204('0x44')](handleError(_0x5a55b2,null));};exports[_0x3204('0x45')]=function(_0x5511de,_0x42c7f9){var _0x11a52e={'raw':![],'where':{'id':_0x5511de[_0x3204('0x46')]['id']}},_0x5e2b12={};_0x5e2b12[_0x3204('0x35')]=_['keys'](db[_0x3204('0x2b')]['rawAttributes']);_0x5e2b12[_0x3204('0x30')]=_[_0x3204('0x31')](_0x5511de[_0x3204('0x30')]);_0x5e2b12[_0x3204('0x32')]=_[_0x3204('0x33')](_0x5e2b12[_0x3204('0x35')],_0x5e2b12[_0x3204('0x30')]);_0x11a52e[_0x3204('0x34')]=_['intersection'](_0x5e2b12[_0x3204('0x35')],qs[_0x3204('0x36')](_0x5511de[_0x3204('0x30')][_0x3204('0x36')]));_0x11a52e['attributes']=_0x11a52e[_0x3204('0x34')][_0x3204('0x47')]?_0x11a52e[_0x3204('0x34')]:_0x5e2b12[_0x3204('0x35')];if(_0x5511de[_0x3204('0x30')][_0x3204('0x40')]){_0x11a52e['include']=[{'all':!![]}];}_0x11a52e=_[_0x3204('0x3c')]({},_0x11a52e,_0x5511de[_0x3204('0x3e')]);return db[_0x3204('0x2b')][_0x3204('0x48')](_0x11a52e)[_0x3204('0x3f')](handleEntityNotFound(_0x42c7f9,null))[_0x3204('0x3f')](respondWithResult(_0x42c7f9,null))['catch'](handleError(_0x42c7f9,null));};exports[_0x3204('0x49')]=function(_0x45234e,_0x407524){return db[_0x3204('0x2b')][_0x3204('0x49')](_0x45234e['body'],{})[_0x3204('0x3f')](respondWithResult(_0x407524,0xc9))[_0x3204('0x44')](handleError(_0x407524,null));};exports[_0x3204('0x26')]=function(_0x3f5e94,_0x1bab06){if(_0x3f5e94['body']['id']){delete _0x3f5e94[_0x3204('0x4a')]['id'];}return db[_0x3204('0x2b')]['find']({'where':{'id':_0x3f5e94[_0x3204('0x46')]['id']}})['then'](handleEntityNotFound(_0x1bab06,null))[_0x3204('0x3f')](saveUpdates(_0x3f5e94[_0x3204('0x4a')],null))['then'](respondWithResult(_0x1bab06,null))[_0x3204('0x44')](handleError(_0x1bab06,null));};exports['destroy']=function(_0x5b21d5,_0x115e96){return db['DeskAccount']['find']({'where':{'id':_0x5b21d5[_0x3204('0x46')]['id']}})[_0x3204('0x3f')](handleEntityNotFound(_0x115e96,null))[_0x3204('0x3f')](removeEntity(_0x115e96,null))[_0x3204('0x44')](handleError(_0x115e96,null));};exports[_0x3204('0x4b')]=function(_0x1dda23,_0x1998f2,_0x49e1a6){var _0x4a7e8d={};var _0x5692f3={};var _0xfad106;var _0x1b4fef;return db[_0x3204('0x2b')][_0x3204('0x4c')]({'where':{'id':_0x1dda23[_0x3204('0x46')]['id']}})[_0x3204('0x3f')](handleEntityNotFound(_0x1998f2,null))['then'](function(_0x27e5f3){if(_0x27e5f3){_0xfad106=_0x27e5f3;_0x5692f3[_0x3204('0x35')]=_['keys'](db[_0x3204('0x4d')][_0x3204('0x2c')]);_0x5692f3[_0x3204('0x30')]=_[_0x3204('0x31')](_0x1dda23[_0x3204('0x30')]);_0x5692f3['filters']=_[_0x3204('0x33')](_0x5692f3[_0x3204('0x35')],_0x5692f3[_0x3204('0x30')]);_0x4a7e8d[_0x3204('0x34')]=_['intersection'](_0x5692f3[_0x3204('0x35')],qs[_0x3204('0x36')](_0x1dda23['query'][_0x3204('0x36')]));_0x4a7e8d['attributes']=_0x4a7e8d[_0x3204('0x34')][_0x3204('0x47')]?_0x4a7e8d[_0x3204('0x34')]:_0x5692f3[_0x3204('0x35')];_0x4a7e8d[_0x3204('0x4e')]=qs['sort'](_0x1dda23[_0x3204('0x30')][_0x3204('0x39')]);_0x4a7e8d['where']=qs[_0x3204('0x32')](_[_0x3204('0x4f')](_0x1dda23['query'],_0x5692f3['filters']));if(_0x1dda23[_0x3204('0x30')][_0x3204('0x3b')]){_0x4a7e8d['where']=_['merge'](_0x4a7e8d[_0x3204('0x3a')],{'$or':_['map'](_0x4a7e8d[_0x3204('0x34')],function(_0x29b72e){var _0x519631={};_0x519631[_0x29b72e]={'$like':'%'+_0x1dda23[_0x3204('0x30')][_0x3204('0x3b')]+'%'};return _0x519631;})});}_0x4a7e8d=_[_0x3204('0x3c')]({},_0x4a7e8d,_0x1dda23['options']);return _0xfad106[_0x3204('0x4b')](_0x4a7e8d);}})[_0x3204('0x3f')](function(_0x243e54){if(_0x243e54){_0x1b4fef=_0x243e54[_0x3204('0x47')];if(!_0x1dda23[_0x3204('0x30')][_0x3204('0x37')](_0x3204('0x38'))){_0x4a7e8d['limit']=qs[_0x3204('0x1f')](_0x1dda23[_0x3204('0x30')][_0x3204('0x1f')]);_0x4a7e8d[_0x3204('0x1e')]=qs[_0x3204('0x1e')](_0x1dda23[_0x3204('0x30')]['offset']);}return _0xfad106[_0x3204('0x4b')](_0x4a7e8d);}})['then'](function(_0x104fd2){if(_0x104fd2){return _0x104fd2?{'count':_0x1b4fef,'rows':_0x104fd2}:null;}})[_0x3204('0x3f')](respondWithResult(_0x1998f2,null))[_0x3204('0x44')](handleError(_0x1998f2,null));};exports['addConfiguration']=function(_0xc91c8c,_0x5188d8,_0x220fb6){if(_0xc91c8c[_0x3204('0x4a')]['id']){delete _0xc91c8c[_0x3204('0x4a')]['id'];}return db[_0x3204('0x2b')]['findOne']({'where':{'id':_0xc91c8c[_0x3204('0x46')]['id']}})[_0x3204('0x3f')](handleEntityNotFound(_0x5188d8,null))[_0x3204('0x3f')](function(_0x3c8e04){if(_0x3c8e04){_0xc91c8c['body'][_0x3204('0x50')]=_0x3c8e04['id'];_0xc91c8c[_0x3204('0x4a')][_0x3204('0x51')]=integrations[_0x3204('0x52')](_0xc91c8c[_0x3204('0x4a')][_0x3204('0x53')],_0xc91c8c[_0x3204('0x4a')][_0x3204('0x2e')]);_0xc91c8c[_0x3204('0x4a')][_0x3204('0x54')]=integrations[_0x3204('0x55')](_0xc91c8c[_0x3204('0x4a')][_0x3204('0x53')],_0xc91c8c[_0x3204('0x4a')][_0x3204('0x2e')]);return db[_0x3204('0x4d')][_0x3204('0x49')](_0xc91c8c[_0x3204('0x4a')],{'include':[{'model':db[_0x3204('0x56')],'as':_0x3204('0x51')},{'model':db[_0x3204('0x56')],'as':_0x3204('0x54')}]});}return null;})[_0x3204('0x3f')](respondWithResult(_0x5188d8,null))[_0x3204('0x44')](handleError(_0x5188d8,null));};exports['getFields']=function(_0x45a8d7,_0x28a426,_0x15bdb1){var _0x36b634=[{'name':_0x3204('0x57'),'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 _0x95b991='';return db[_0x3204('0x2b')][_0x3204('0x4c')]({'where':{'id':_0x45a8d7[_0x3204('0x46')]['id']},'attributes':['id',_0x3204('0x58'),_0x3204('0x59'),_0x3204('0x5a'),_0x3204('0x5b'),_0x3204('0x5c'),_0x3204('0x5d'),_0x3204('0x5e'),_0x3204('0x5f')]})[_0x3204('0x3f')](handleEntityNotFound(_0x28a426,null))[_0x3204('0x3f')](function(_0x1c989b){if(_0x1c989b){_0x95b991=_0x1c989b[_0x3204('0x58')];var _0x5020ab=_0x95b991[_0x3204('0x60')](-0x1);if(_0x5020ab==='/'){_0x95b991=_0x95b991[_0x3204('0x61')](0x0,_0x95b991[_0x3204('0x62')](_0x5020ab));}var _0x28f4ae={'method':_0x3204('0x63'),'uri':util[_0x3204('0x64')]('%s/custom_fields',_0x95b991),'headers':{'Content-Type':'application/json','Accept':'application/json'},'json':!![]};if(_0x1c989b[_0x3204('0x59')]===_0x3204('0x65')){_0x28f4ae[_0x3204('0x66')][_0x3204('0x67')]=util[_0x3204('0x64')]('Basic\x20%s',new Buffer(util['format'](_0x3204('0x68'),_0x1c989b[_0x3204('0x5a')],_0x1c989b[_0x3204('0x5b')]))[_0x3204('0x69')](_0x3204('0x6a')));}return rp(_0x28f4ae)['then'](function(_0xf7b45f){return _0x36b634[_0x3204('0x6b')](_['map'](_0xf7b45f[_0x3204('0x6c')]['entries'],function(_0x53de1f){return{'id':_0x53de1f[_0x3204('0x29')],'name':_0x53de1f[_0x3204('0x29')],'type':_0x53de1f['type'],'active':_0x53de1f[_0x3204('0x6d')],'label':_0x53de1f[_0x3204('0x6e')],'custom':!![]};}));});}})['then'](function(_0x1ae126){return{'count':_0x1ae126[_0x3204('0x47')],'rows':_0x1ae126};})['then'](respondWithResult(_0x28a426,null))[_0x3204('0x44')](function(_0x4558b4){var _0x1b141e=_0x45a8d7[_0x3204('0x30')][_0x3204('0x6f')]?0x1f4:_0x4558b4[_0x3204('0x70')]||0x1f4;logger[_0x3204('0x27')]('getFields,\x20%s,\x20%s,\x20%s',_0x3204('0x71'),_0x1b141e,JSON['stringify'](_0x4558b4));delete _0x4558b4[_0x3204('0x29')];if(_0x1b141e===0x191){_0x1b141e=0x190;}_0x28a426[_0x3204('0x1c')](_0x1b141e)[_0x3204('0x72')](_0x45a8d7[_0x3204('0x30')][_0x3204('0x6f')]?{'message':_0x3204('0x73'),'statusCode':_0x4558b4['statusCode']}:_0x4558b4);});};