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 _0xd8f2=['sort','where','pick','filters','filter','VIRTUAL','merge','options','DeskAccount','count','includeAll','include','findAll','catch','show','keys','create','body','find','params','getConfigurations','DeskConfiguration','nolimit','addConfiguration','findOne','AccountId','Subjects','getSubjects','channel','getDescriptions','DeskField','Descriptions','getFields','priority','remoteUri','authType','username','password','consumerKey','token','tokenSecret','substring','lastIndexOf','GET','format','%s/custom_fields','application/json','basic','headers','Authorization','Basic\x20%s','%s:%s','base64','concat','_embedded','entries','active','label','statusCode','getFields,\x20%s,\x20%s,\x20%s','Wrong\x20credentials','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','lodash','squel','crypto','desk.js','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','../../components/integrations/configuration','jayson/promise','client','request','then','info','request\x20sent','debug','stringify','error','DeskAccount,\x20%s,\x20%s','message','sendStatus','status','end','offset','limit','set','json','apply','reject','save','update','destroy','stack','name','send','index','map','rawAttributes','fieldName','type','model','query','attributes','intersection','fields','length','hasOwnProperty','order'];(function(_0x623e7,_0x1bef7d){var _0x121131=function(_0x59b734){while(--_0x59b734){_0x623e7['push'](_0x623e7['shift']());}};_0x121131(++_0x1bef7d);}(_0xd8f2,0x1ba));var _0x2d8f=function(_0x432682,_0x253044){_0x432682=_0x432682-0x0;var _0x463d05=_0xd8f2[_0x432682];return _0x463d05;};'use strict';var pdf=require(_0x2d8f('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x2d8f('0x1'));var zipdir=require(_0x2d8f('0x2'));var jsonpatch=require(_0x2d8f('0x3'));var rp=require(_0x2d8f('0x4'));var moment=require(_0x2d8f('0x5'));var BPromise=require(_0x2d8f('0x6'));var Mustache=require(_0x2d8f('0x7'));var util=require('util');var path=require(_0x2d8f('0x8'));var sox=require(_0x2d8f('0x9'));var csv=require(_0x2d8f('0xa'));var ejs=require(_0x2d8f('0xb'));var fs=require('fs');var _=require(_0x2d8f('0xc'));var squel=require(_0x2d8f('0xd'));var crypto=require(_0x2d8f('0xe'));var jsforce=require('jsforce');var deskjs=require(_0x2d8f('0xf'));var toCsv=require(_0x2d8f('0xa'));var querystring=require('querystring');var Papa=require(_0x2d8f('0x10'));var Redis=require(_0x2d8f('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x2d8f('0x12'));var as=require(_0x2d8f('0x13'));var hardwareService=require(_0x2d8f('0x14'));var logger=require(_0x2d8f('0x15'))(_0x2d8f('0x16'));var utils=require('../../config/utils');var config=require(_0x2d8f('0x17'));var licenseUtil=require(_0x2d8f('0x18'));var db=require(_0x2d8f('0x19'))['db'];var integrations=require(_0x2d8f('0x1a'));var jayson=require(_0x2d8f('0x1b'));var client=jayson[_0x2d8f('0x1c')]['http']({'port':0x232a});function respondWithRpcPromise(_0x3ad90f,_0xc70a0d,_0x223a17,_0x157664){return new BPromise(function(_0x2dc1b7,_0x131ae2){var _0x133982=_0x157664||client;return _0x133982[_0x2d8f('0x1d')](_0x3ad90f,_0x223a17)[_0x2d8f('0x1e')](function(_0x3a9d08){logger[_0x2d8f('0x1f')]('DeskAccount,\x20%s,\x20%s',_0xc70a0d,_0x2d8f('0x20'));logger[_0x2d8f('0x21')]('DeskAccount,\x20%s,\x20%s,\x20%s',_0xc70a0d,_0x2d8f('0x20'),JSON[_0x2d8f('0x22')](_0x3a9d08));if(_0x3a9d08[_0x2d8f('0x23')]){if(_0x3a9d08[_0x2d8f('0x23')]['code']===0x1f4){logger['error'](_0x2d8f('0x24'),_0xc70a0d,_0x3a9d08['error'][_0x2d8f('0x25')]);return _0x131ae2(_0x3a9d08['error'][_0x2d8f('0x25')]);}logger[_0x2d8f('0x23')](_0x2d8f('0x24'),_0xc70a0d,_0x3a9d08[_0x2d8f('0x23')]['message']);return _0x2dc1b7(_0x3a9d08[_0x2d8f('0x23')]['message']);}else{logger[_0x2d8f('0x1f')]('DeskAccount,\x20%s,\x20%s',_0xc70a0d,_0x2d8f('0x20'));_0x2dc1b7(_0x3a9d08['result']['message']);}})['catch'](function(_0x57d4da){logger[_0x2d8f('0x23')]('DeskAccount,\x20%s,\x20%s',_0xc70a0d,_0x57d4da);_0x131ae2(_0x57d4da);});});}function respondWithStatusCode(_0x1156c4,_0x207028){_0x207028=_0x207028||0xcc;return function(_0x547a5c){if(_0x547a5c){return _0x1156c4[_0x2d8f('0x26')](_0x207028);}return _0x1156c4[_0x2d8f('0x27')](_0x207028)[_0x2d8f('0x28')]();};}function respondWithResult(_0x3cf95b,_0x5c0bdb){_0x5c0bdb=_0x5c0bdb||0xc8;return function(_0xb15fcc){if(_0xb15fcc){return _0x3cf95b['status'](_0x5c0bdb)['json'](_0xb15fcc);}};}function respondWithFilteredResult(_0x3e306c,_0x2acf03){return function(_0x126543){if(_0x126543){var _0x39a356=_0x126543['count'],_0x278fc1=_0x2acf03[_0x2d8f('0x29')],_0x32be0a=_0x2acf03[_0x2d8f('0x29')]+_0x2acf03[_0x2d8f('0x2a')],_0x4cc160;if(_0x32be0a>=_0x39a356){_0x32be0a=_0x39a356;_0x4cc160=0xc8;}else{_0x4cc160=0xce;}_0x3e306c[_0x2d8f('0x27')](_0x4cc160);return _0x3e306c[_0x2d8f('0x2b')]('Content-Range',_0x278fc1+'-'+_0x32be0a+'/'+_0x39a356)[_0x2d8f('0x2c')](_0x126543);}return null;};}function patchUpdates(_0x7e5fb1){return function(_0xd65b99){try{jsonpatch[_0x2d8f('0x2d')](_0xd65b99,_0x7e5fb1,!![]);}catch(_0x3dd879){return BPromise[_0x2d8f('0x2e')](_0x3dd879);}return _0xd65b99[_0x2d8f('0x2f')]();};}function saveUpdates(_0x1def6e,_0x26abee){return function(_0x2719ec){if(_0x2719ec){return _0x2719ec[_0x2d8f('0x30')](_0x1def6e)[_0x2d8f('0x1e')](function(_0x2bc478){return _0x2bc478;});}return null;};}function removeEntity(_0x16a27f,_0x411692){return function(_0x3a46b0){if(_0x3a46b0){return _0x3a46b0[_0x2d8f('0x31')]()[_0x2d8f('0x1e')](function(){_0x16a27f[_0x2d8f('0x27')](0xcc)[_0x2d8f('0x28')]();});}};}function handleEntityNotFound(_0x223059,_0x2c425e){return function(_0x123ed3){if(!_0x123ed3){_0x223059[_0x2d8f('0x26')](0x194);}return _0x123ed3;};}function handleError(_0x2d3419,_0x486b00){_0x486b00=_0x486b00||0x1f4;return function(_0x5895d5){logger[_0x2d8f('0x23')](_0x5895d5[_0x2d8f('0x32')]);if(_0x5895d5[_0x2d8f('0x33')]){delete _0x5895d5[_0x2d8f('0x33')];}_0x2d3419[_0x2d8f('0x27')](_0x486b00)[_0x2d8f('0x34')](_0x5895d5);};}exports[_0x2d8f('0x35')]=function(_0xba8053,_0x9eab4f){var _0x4988ae={},_0x183db1={},_0x30f823={'count':0x0,'rows':[]};var _0x31bcfe=_[_0x2d8f('0x36')](db['DeskAccount'][_0x2d8f('0x37')],function(_0x22e169){return{'name':_0x22e169[_0x2d8f('0x38')],'type':_0x22e169[_0x2d8f('0x39')]['key']};});_0x183db1[_0x2d8f('0x3a')]=_[_0x2d8f('0x36')](_0x31bcfe,'name');_0x183db1[_0x2d8f('0x3b')]=_['keys'](_0xba8053[_0x2d8f('0x3b')]);_0x183db1['filters']=_['intersection'](_0x183db1[_0x2d8f('0x3a')],_0x183db1['query']);_0x4988ae[_0x2d8f('0x3c')]=_[_0x2d8f('0x3d')](_0x183db1[_0x2d8f('0x3a')],qs['fields'](_0xba8053[_0x2d8f('0x3b')][_0x2d8f('0x3e')]));_0x4988ae['attributes']=_0x4988ae[_0x2d8f('0x3c')][_0x2d8f('0x3f')]?_0x4988ae[_0x2d8f('0x3c')]:_0x183db1[_0x2d8f('0x3a')];if(!_0xba8053[_0x2d8f('0x3b')][_0x2d8f('0x40')]('nolimit')){_0x4988ae[_0x2d8f('0x2a')]=qs[_0x2d8f('0x2a')](_0xba8053[_0x2d8f('0x3b')]['limit']);_0x4988ae[_0x2d8f('0x29')]=qs[_0x2d8f('0x29')](_0xba8053[_0x2d8f('0x3b')][_0x2d8f('0x29')]);}_0x4988ae[_0x2d8f('0x41')]=qs[_0x2d8f('0x42')](_0xba8053[_0x2d8f('0x3b')][_0x2d8f('0x42')]);_0x4988ae[_0x2d8f('0x43')]=qs['filters'](_[_0x2d8f('0x44')](_0xba8053[_0x2d8f('0x3b')],_0x183db1[_0x2d8f('0x45')]),_0x31bcfe);if(_0xba8053[_0x2d8f('0x3b')][_0x2d8f('0x46')]){_0x4988ae['where']=_['merge'](_0x4988ae[_0x2d8f('0x43')],{'$or':_['map'](_0x31bcfe,function(_0x1c1d9b){if(_0x1c1d9b[_0x2d8f('0x39')]!==_0x2d8f('0x47')){var _0x38dd41={};_0x38dd41[_0x1c1d9b['name']]={'$like':'%'+_0xba8053['query'][_0x2d8f('0x46')]+'%'};return _0x38dd41;}})});}_0x4988ae=_[_0x2d8f('0x48')]({},_0x4988ae,_0xba8053[_0x2d8f('0x49')]);var _0x244480={'where':_0x4988ae[_0x2d8f('0x43')]};return db[_0x2d8f('0x4a')]['count'](_0x244480)[_0x2d8f('0x1e')](function(_0x8a74d3){_0x30f823[_0x2d8f('0x4b')]=_0x8a74d3;if(_0xba8053[_0x2d8f('0x3b')][_0x2d8f('0x4c')]){_0x4988ae[_0x2d8f('0x4d')]=[{'all':!![]}];}return db['DeskAccount'][_0x2d8f('0x4e')](_0x4988ae);})['then'](function(_0x3a828b){_0x30f823['rows']=_0x3a828b;return _0x30f823;})[_0x2d8f('0x1e')](respondWithFilteredResult(_0x9eab4f,_0x4988ae))[_0x2d8f('0x4f')](handleError(_0x9eab4f,null));};exports[_0x2d8f('0x50')]=function(_0x14332e,_0x24a2c0){var _0x1dced0={'raw':![],'where':{'id':_0x14332e['params']['id']}},_0x550534={};_0x550534[_0x2d8f('0x3a')]=_[_0x2d8f('0x51')](db[_0x2d8f('0x4a')]['rawAttributes']);_0x550534[_0x2d8f('0x3b')]=_[_0x2d8f('0x51')](_0x14332e[_0x2d8f('0x3b')]);_0x550534[_0x2d8f('0x45')]=_[_0x2d8f('0x3d')](_0x550534[_0x2d8f('0x3a')],_0x550534[_0x2d8f('0x3b')]);_0x1dced0['attributes']=_[_0x2d8f('0x3d')](_0x550534[_0x2d8f('0x3a')],qs[_0x2d8f('0x3e')](_0x14332e['query'][_0x2d8f('0x3e')]));_0x1dced0[_0x2d8f('0x3c')]=_0x1dced0['attributes'][_0x2d8f('0x3f')]?_0x1dced0[_0x2d8f('0x3c')]:_0x550534['model'];if(_0x14332e[_0x2d8f('0x3b')]['includeAll']){_0x1dced0[_0x2d8f('0x4d')]=[{'all':!![]}];}_0x1dced0=_[_0x2d8f('0x48')]({},_0x1dced0,_0x14332e[_0x2d8f('0x49')]);return db[_0x2d8f('0x4a')]['find'](_0x1dced0)[_0x2d8f('0x1e')](handleEntityNotFound(_0x24a2c0,null))['then'](respondWithResult(_0x24a2c0,null))[_0x2d8f('0x4f')](handleError(_0x24a2c0,null));};exports[_0x2d8f('0x52')]=function(_0x19d661,_0x3fa2b0){return db[_0x2d8f('0x4a')][_0x2d8f('0x52')](_0x19d661['body'],{})['then'](respondWithResult(_0x3fa2b0,0xc9))[_0x2d8f('0x4f')](handleError(_0x3fa2b0,null));};exports[_0x2d8f('0x30')]=function(_0x345e09,_0x983a01){if(_0x345e09[_0x2d8f('0x53')]['id']){delete _0x345e09['body']['id'];}return db[_0x2d8f('0x4a')][_0x2d8f('0x54')]({'where':{'id':_0x345e09[_0x2d8f('0x55')]['id']}})[_0x2d8f('0x1e')](handleEntityNotFound(_0x983a01,null))[_0x2d8f('0x1e')](saveUpdates(_0x345e09[_0x2d8f('0x53')],null))[_0x2d8f('0x1e')](respondWithResult(_0x983a01,null))['catch'](handleError(_0x983a01,null));};exports[_0x2d8f('0x31')]=function(_0x227e1e,_0x3f5f67){return db[_0x2d8f('0x4a')]['find']({'where':{'id':_0x227e1e[_0x2d8f('0x55')]['id']}})[_0x2d8f('0x1e')](handleEntityNotFound(_0x3f5f67,null))[_0x2d8f('0x1e')](removeEntity(_0x3f5f67,null))[_0x2d8f('0x4f')](handleError(_0x3f5f67,null));};exports[_0x2d8f('0x56')]=function(_0x48b3c6,_0x989db3,_0x3bd437){var _0x4a2759={};var _0x275667={};var _0x4675db;var _0x4c9151;return db['DeskAccount']['findOne']({'where':{'id':_0x48b3c6['params']['id']}})['then'](handleEntityNotFound(_0x989db3,null))[_0x2d8f('0x1e')](function(_0x1aced6){if(_0x1aced6){_0x4675db=_0x1aced6;_0x275667['model']=_[_0x2d8f('0x51')](db[_0x2d8f('0x57')][_0x2d8f('0x37')]);_0x275667[_0x2d8f('0x3b')]=_[_0x2d8f('0x51')](_0x48b3c6[_0x2d8f('0x3b')]);_0x275667['filters']=_['intersection'](_0x275667['model'],_0x275667[_0x2d8f('0x3b')]);_0x4a2759[_0x2d8f('0x3c')]=_[_0x2d8f('0x3d')](_0x275667[_0x2d8f('0x3a')],qs[_0x2d8f('0x3e')](_0x48b3c6[_0x2d8f('0x3b')][_0x2d8f('0x3e')]));_0x4a2759[_0x2d8f('0x3c')]=_0x4a2759['attributes']['length']?_0x4a2759[_0x2d8f('0x3c')]:_0x275667[_0x2d8f('0x3a')];_0x4a2759[_0x2d8f('0x41')]=qs['sort'](_0x48b3c6[_0x2d8f('0x3b')][_0x2d8f('0x42')]);_0x4a2759[_0x2d8f('0x43')]=qs[_0x2d8f('0x45')](_[_0x2d8f('0x44')](_0x48b3c6[_0x2d8f('0x3b')],_0x275667[_0x2d8f('0x45')]));if(_0x48b3c6[_0x2d8f('0x3b')][_0x2d8f('0x46')]){_0x4a2759[_0x2d8f('0x43')]=_['merge'](_0x4a2759[_0x2d8f('0x43')],{'$or':_[_0x2d8f('0x36')](_0x4a2759[_0x2d8f('0x3c')],function(_0x430c6f){var _0x2acb13={};_0x2acb13[_0x430c6f]={'$like':'%'+_0x48b3c6[_0x2d8f('0x3b')]['filter']+'%'};return _0x2acb13;})});}_0x4a2759=_[_0x2d8f('0x48')]({},_0x4a2759,_0x48b3c6[_0x2d8f('0x49')]);return _0x4675db['getConfigurations'](_0x4a2759);}})[_0x2d8f('0x1e')](function(_0x2ab729){if(_0x2ab729){_0x4c9151=_0x2ab729['length'];if(!_0x48b3c6[_0x2d8f('0x3b')]['hasOwnProperty'](_0x2d8f('0x58'))){_0x4a2759[_0x2d8f('0x2a')]=qs['limit'](_0x48b3c6[_0x2d8f('0x3b')][_0x2d8f('0x2a')]);_0x4a2759['offset']=qs[_0x2d8f('0x29')](_0x48b3c6[_0x2d8f('0x3b')][_0x2d8f('0x29')]);}return _0x4675db['getConfigurations'](_0x4a2759);}})['then'](function(_0x27dbf6){if(_0x27dbf6){return _0x27dbf6?{'count':_0x4c9151,'rows':_0x27dbf6}:null;}})['then'](respondWithResult(_0x989db3,null))[_0x2d8f('0x4f')](handleError(_0x989db3,null));};exports[_0x2d8f('0x59')]=function(_0x5e007d,_0x225203,_0x4f2619){if(_0x5e007d['body']['id']){delete _0x5e007d[_0x2d8f('0x53')]['id'];}return db['DeskAccount'][_0x2d8f('0x5a')]({'where':{'id':_0x5e007d[_0x2d8f('0x55')]['id']}})['then'](handleEntityNotFound(_0x225203,null))[_0x2d8f('0x1e')](function(_0x1d79c1){if(_0x1d79c1){_0x5e007d['body'][_0x2d8f('0x5b')]=_0x1d79c1['id'];_0x5e007d[_0x2d8f('0x53')][_0x2d8f('0x5c')]=integrations[_0x2d8f('0x5d')](_0x5e007d['body'][_0x2d8f('0x5e')],_0x5e007d['body'][_0x2d8f('0x39')]);_0x5e007d['body']['Descriptions']=integrations[_0x2d8f('0x5f')](_0x5e007d[_0x2d8f('0x53')][_0x2d8f('0x5e')],_0x5e007d[_0x2d8f('0x53')][_0x2d8f('0x39')]);return db[_0x2d8f('0x57')][_0x2d8f('0x52')](_0x5e007d[_0x2d8f('0x53')],{'include':[{'model':db[_0x2d8f('0x60')],'as':_0x2d8f('0x5c')},{'model':db[_0x2d8f('0x60')],'as':_0x2d8f('0x61')}]});}return null;})[_0x2d8f('0x1e')](respondWithResult(_0x225203,null))['catch'](handleError(_0x225203,null));};exports[_0x2d8f('0x62')]=function(_0x521740,_0x99040c,_0x1724c1){var _0x1cfb41=[{'name':_0x2d8f('0x63'),'label':_0x2d8f('0x63'),'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 _0x599ea8='';return db[_0x2d8f('0x4a')][_0x2d8f('0x5a')]({'where':{'id':_0x521740[_0x2d8f('0x55')]['id']},'attributes':['id',_0x2d8f('0x64'),_0x2d8f('0x65'),_0x2d8f('0x66'),_0x2d8f('0x67'),_0x2d8f('0x68'),'consumerSecret',_0x2d8f('0x69'),_0x2d8f('0x6a')]})['then'](handleEntityNotFound(_0x99040c,null))[_0x2d8f('0x1e')](function(_0x384822){if(_0x384822){_0x599ea8=_0x384822[_0x2d8f('0x64')];var _0x5ba179=_0x599ea8['slice'](-0x1);if(_0x5ba179==='/'){_0x599ea8=_0x599ea8[_0x2d8f('0x6b')](0x0,_0x599ea8[_0x2d8f('0x6c')](_0x5ba179));}var _0x5a3772={'method':_0x2d8f('0x6d'),'uri':util[_0x2d8f('0x6e')](_0x2d8f('0x6f'),_0x599ea8),'headers':{'Content-Type':_0x2d8f('0x70'),'Accept':_0x2d8f('0x70')},'json':!![]};if(_0x384822[_0x2d8f('0x65')]===_0x2d8f('0x71')){_0x5a3772[_0x2d8f('0x72')][_0x2d8f('0x73')]=util['format'](_0x2d8f('0x74'),new Buffer(util[_0x2d8f('0x6e')](_0x2d8f('0x75'),_0x384822[_0x2d8f('0x66')],_0x384822['password']))['toString'](_0x2d8f('0x76')));}return rp(_0x5a3772)['then'](function(_0x2fc705){return _0x1cfb41[_0x2d8f('0x77')](_[_0x2d8f('0x36')](_0x2fc705[_0x2d8f('0x78')][_0x2d8f('0x79')],function(_0x373bd5){return{'id':_0x373bd5['name'],'name':_0x373bd5[_0x2d8f('0x33')],'type':_0x373bd5[_0x2d8f('0x39')],'active':_0x373bd5[_0x2d8f('0x7a')],'label':_0x373bd5[_0x2d8f('0x7b')],'custom':!![]};}));});}})[_0x2d8f('0x1e')](function(_0x20d644){return{'count':_0x20d644[_0x2d8f('0x3f')],'rows':_0x20d644};})[_0x2d8f('0x1e')](respondWithResult(_0x99040c,null))['catch'](function(_0x5e952f){var _0x1d434e=_0x521740[_0x2d8f('0x3b')]['test']?0x1f4:_0x5e952f[_0x2d8f('0x7c')]||0x1f4;logger[_0x2d8f('0x23')](_0x2d8f('0x7d'),_0x2d8f('0x62'),_0x1d434e,JSON[_0x2d8f('0x22')](_0x5e952f));delete _0x5e952f[_0x2d8f('0x33')];if(_0x1d434e===0x191){_0x1d434e=0x190;}_0x99040c['status'](_0x1d434e)['send'](_0x521740['query']['test']?{'message':_0x2d8f('0x7e'),'statusCode':_0x5e952f['statusCode']}:_0x5e952f);});};