Built motion from commit (unavailable).|2.3.92
[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 _0x4517=['authType','username','consumerSecret','token','tokenSecret','remoteUri','slice','substring','lastIndexOf','%s/custom_fields','application/json','basic','headers','Authorization','format','Basic\x20%s','%s:%s','password','base64','entries','active','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','send','Wrong\x20credentials','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','../../components/auth/service','../../config/license/hardware','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../components/integrations/configuration','client','http','request','info','DeskAccount,\x20%s,\x20%s','DeskAccount,\x20%s,\x20%s,\x20%s','request\x20sent','stringify','error','code','message','catch','sendStatus','status','end','json','count','offset','limit','set','apply','reject','save','update','then','stack','name','index','DeskAccount','rawAttributes','keys','query','attributes','intersection','model','fields','hasOwnProperty','nolimit','order','sort','pick','filters','filter','where','type','key','VIRTUAL','field','merge','options','includeAll','show','params','length','include','find','create','body','destroy','getConfigurations','findOne','map','addConfiguration','Subjects','getSubjects','Descriptions','getDescriptions','channel','DeskConfiguration','DeskField','getFields','priority'];(function(_0x5693bc,_0x54e84f){var _0x3b1004=function(_0x1a4e9e){while(--_0x1a4e9e){_0x5693bc['push'](_0x5693bc['shift']());}};_0x3b1004(++_0x54e84f);}(_0x4517,0x112));var _0x7451=function(_0x30699c,_0x156285){_0x30699c=_0x30699c-0x0;var _0x2739fe=_0x4517[_0x30699c];return _0x2739fe;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x7451('0x0'));var rimraf=require(_0x7451('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x7451('0x2'));var rp=require(_0x7451('0x3'));var moment=require(_0x7451('0x4'));var BPromise=require(_0x7451('0x5'));var Mustache=require(_0x7451('0x6'));var util=require(_0x7451('0x7'));var path=require(_0x7451('0x8'));var sox=require(_0x7451('0x9'));var csv=require(_0x7451('0xa'));var ejs=require(_0x7451('0xb'));var fs=require('fs');var _=require(_0x7451('0xc'));var squel=require(_0x7451('0xd'));var crypto=require(_0x7451('0xe'));var jsforce=require(_0x7451('0xf'));var deskjs=require(_0x7451('0x10'));var toCsv=require(_0x7451('0xa'));var querystring=require(_0x7451('0x11'));var Papa=require('papaparse');var authService=require(_0x7451('0x12'));var hardwareService=require(_0x7451('0x13'));var Redis=require(_0x7451('0x14'));var qs=require(_0x7451('0x15'));var logger=require(_0x7451('0x16'))(_0x7451('0x17'));var utils=require(_0x7451('0x18'));var config=require('../../config/environment');var db=require('../../mysqldb')['db'];var integrations=require(_0x7451('0x19'));var jayson=require('jayson/promise');var client=jayson[_0x7451('0x1a')][_0x7451('0x1b')]({'port':0x232a});function respondWithRpcPromise(_0x4a14dc,_0x7cb990,_0x38129d,_0x4dbe5b){return new BPromise(function(_0x46811e,_0x282128){var _0x110ed6=_0x4dbe5b||client;return _0x110ed6[_0x7451('0x1c')](_0x4a14dc,_0x38129d)['then'](function(_0x357ea9){logger[_0x7451('0x1d')](_0x7451('0x1e'),_0x7cb990,'request\x20sent');logger['debug'](_0x7451('0x1f'),_0x7cb990,_0x7451('0x20'),JSON[_0x7451('0x21')](_0x357ea9));if(_0x357ea9[_0x7451('0x22')]){if(_0x357ea9[_0x7451('0x22')][_0x7451('0x23')]===0x1f4){logger[_0x7451('0x22')](_0x7451('0x1e'),_0x7cb990,_0x357ea9[_0x7451('0x22')]['message']);return _0x282128(_0x357ea9[_0x7451('0x22')][_0x7451('0x24')]);}logger[_0x7451('0x22')]('DeskAccount,\x20%s,\x20%s',_0x7cb990,_0x357ea9[_0x7451('0x22')][_0x7451('0x24')]);return _0x46811e(_0x357ea9[_0x7451('0x22')][_0x7451('0x24')]);}else{logger[_0x7451('0x1d')](_0x7451('0x1e'),_0x7cb990,_0x7451('0x20'));_0x46811e(_0x357ea9['result'][_0x7451('0x24')]);}})[_0x7451('0x25')](function(_0x561e12){logger[_0x7451('0x22')](_0x7451('0x1e'),_0x7cb990,_0x561e12);_0x282128(_0x561e12);});});}function respondWithStatusCode(_0x2962f8,_0x57cc15){_0x57cc15=_0x57cc15||0xcc;return function(_0x19e33b){if(_0x19e33b){return _0x2962f8[_0x7451('0x26')](_0x57cc15);}return _0x2962f8[_0x7451('0x27')](_0x57cc15)[_0x7451('0x28')]();};}function respondWithResult(_0x37bc47,_0x4650a5){_0x4650a5=_0x4650a5||0xc8;return function(_0x3c56f1){if(_0x3c56f1){return _0x37bc47[_0x7451('0x27')](_0x4650a5)[_0x7451('0x29')](_0x3c56f1);}};}function respondWithFilteredResult(_0x596988,_0x328d0b){return function(_0x2b8a8b){if(_0x2b8a8b){var _0x5df311=_0x2b8a8b[_0x7451('0x2a')],_0x54bef8=_0x328d0b[_0x7451('0x2b')],_0xcc793e=_0x328d0b[_0x7451('0x2b')]+_0x328d0b[_0x7451('0x2c')],_0x1edcf2;if(_0xcc793e>=_0x5df311){_0xcc793e=_0x5df311;_0x1edcf2=0xc8;}else{_0x1edcf2=0xce;}_0x596988['status'](_0x1edcf2);return _0x596988[_0x7451('0x2d')]('Content-Range',_0x54bef8+'-'+_0xcc793e+'/'+_0x5df311)[_0x7451('0x29')](_0x2b8a8b);}return null;};}function patchUpdates(_0x6c10ee){return function(_0x4d99f3){try{jsonpatch[_0x7451('0x2e')](_0x4d99f3,_0x6c10ee,!![]);}catch(_0x4323b7){return BPromise[_0x7451('0x2f')](_0x4323b7);}return _0x4d99f3[_0x7451('0x30')]();};}function saveUpdates(_0x17d52c,_0x4e24f7){return function(_0x2071e5){if(_0x2071e5){return _0x2071e5[_0x7451('0x31')](_0x17d52c)[_0x7451('0x32')](function(_0x479b39){return _0x479b39;});}return null;};}function removeEntity(_0x2be408,_0x4654e7){return function(_0x5dfc5e){if(_0x5dfc5e){return _0x5dfc5e['destroy']()[_0x7451('0x32')](function(){_0x2be408[_0x7451('0x27')](0xcc)['end']();});}};}function handleEntityNotFound(_0x48cbb6,_0x295a1e){return function(_0x2c307b){if(!_0x2c307b){_0x48cbb6[_0x7451('0x26')](0x194);}return _0x2c307b;};}function handleError(_0x1e9e8a,_0x1fe0aa){_0x1fe0aa=_0x1fe0aa||0x1f4;return function(_0xa34c85){logger[_0x7451('0x22')](_0xa34c85[_0x7451('0x33')]);if(_0xa34c85['name']){delete _0xa34c85[_0x7451('0x34')];}_0x1e9e8a[_0x7451('0x27')](_0x1fe0aa)['send'](_0xa34c85);};}exports[_0x7451('0x35')]=function(_0x1ee26b,_0x463708){var _0x93269f={},_0x21b958={},_0x40af89={'count':0x0,'rows':[]};var _0x5d4c2e=db[_0x7451('0x36')][_0x7451('0x37')];_0x21b958['model']=_[_0x7451('0x38')](_0x5d4c2e);_0x21b958[_0x7451('0x39')]=_['keys'](_0x1ee26b['query']);_0x21b958['filters']=_['intersection'](_0x21b958['model'],_0x21b958[_0x7451('0x39')]);_0x93269f[_0x7451('0x3a')]=_[_0x7451('0x3b')](_0x21b958[_0x7451('0x3c')],qs[_0x7451('0x3d')](_0x1ee26b['query']['fields']));_0x93269f['attributes']=_0x93269f['attributes']['length']?_0x93269f[_0x7451('0x3a')]:_0x21b958[_0x7451('0x3c')];if(!_0x1ee26b[_0x7451('0x39')][_0x7451('0x3e')](_0x7451('0x3f'))){_0x93269f[_0x7451('0x2c')]=qs[_0x7451('0x2c')](_0x1ee26b[_0x7451('0x39')][_0x7451('0x2c')]);_0x93269f[_0x7451('0x2b')]=qs[_0x7451('0x2b')](_0x1ee26b['query']['offset']);}_0x93269f[_0x7451('0x40')]=qs['sort'](_0x1ee26b[_0x7451('0x39')][_0x7451('0x41')]);_0x93269f['where']=qs['filters'](_[_0x7451('0x42')](_0x1ee26b['query'],_0x21b958[_0x7451('0x43')]));if(_0x1ee26b['query'][_0x7451('0x44')]){_0x93269f[_0x7451('0x45')]=_['merge'](_0x93269f[_0x7451('0x45')],{'$or':_['map'](_0x5d4c2e,function(_0x2c48b1){if(_0x2c48b1[_0x7451('0x46')][_0x7451('0x47')]!==_0x7451('0x48')){var _0x44e636={};_0x44e636[_0x2c48b1[_0x7451('0x49')]]={'$like':'%'+_0x1ee26b[_0x7451('0x39')][_0x7451('0x44')]+'%'};return _0x44e636;}})});}_0x93269f=_[_0x7451('0x4a')]({},_0x93269f,_0x1ee26b[_0x7451('0x4b')]);var _0x29c581={'where':_0x93269f[_0x7451('0x45')]};return db[_0x7451('0x36')][_0x7451('0x2a')](_0x29c581)['then'](function(_0x437f9c){_0x40af89[_0x7451('0x2a')]=_0x437f9c;if(_0x1ee26b[_0x7451('0x39')][_0x7451('0x4c')]){_0x93269f['include']=[{'all':!![]}];}return db[_0x7451('0x36')]['findAll'](_0x93269f);})['then'](function(_0x5345fe){_0x40af89['rows']=_0x5345fe;return _0x40af89;})['then'](respondWithFilteredResult(_0x463708,_0x93269f))[_0x7451('0x25')](handleError(_0x463708,null));};exports[_0x7451('0x4d')]=function(_0x2b4bea,_0x489d7d){var _0x39438a={'raw':![],'where':{'id':_0x2b4bea[_0x7451('0x4e')]['id']}},_0xc4b8f3={};_0xc4b8f3[_0x7451('0x3c')]=_[_0x7451('0x38')](db[_0x7451('0x36')][_0x7451('0x37')]);_0xc4b8f3[_0x7451('0x39')]=_[_0x7451('0x38')](_0x2b4bea['query']);_0xc4b8f3['filters']=_['intersection'](_0xc4b8f3[_0x7451('0x3c')],_0xc4b8f3[_0x7451('0x39')]);_0x39438a[_0x7451('0x3a')]=_['intersection'](_0xc4b8f3['model'],qs['fields'](_0x2b4bea[_0x7451('0x39')]['fields']));_0x39438a['attributes']=_0x39438a[_0x7451('0x3a')][_0x7451('0x4f')]?_0x39438a[_0x7451('0x3a')]:_0xc4b8f3[_0x7451('0x3c')];if(_0x2b4bea[_0x7451('0x39')]['includeAll']){_0x39438a[_0x7451('0x50')]=[{'all':!![]}];}_0x39438a=_['merge']({},_0x39438a,_0x2b4bea[_0x7451('0x4b')]);return db[_0x7451('0x36')][_0x7451('0x51')](_0x39438a)[_0x7451('0x32')](handleEntityNotFound(_0x489d7d,null))[_0x7451('0x32')](respondWithResult(_0x489d7d,null))[_0x7451('0x25')](handleError(_0x489d7d,null));};exports[_0x7451('0x52')]=function(_0x157ff3,_0x342f28){return db['DeskAccount']['create'](_0x157ff3[_0x7451('0x53')],{})[_0x7451('0x32')](respondWithResult(_0x342f28,0xc9))['catch'](handleError(_0x342f28,null));};exports['update']=function(_0x55dff6,_0x2dddb8){if(_0x55dff6[_0x7451('0x53')]['id']){delete _0x55dff6[_0x7451('0x53')]['id'];}return db[_0x7451('0x36')][_0x7451('0x51')]({'where':{'id':_0x55dff6[_0x7451('0x4e')]['id']}})['then'](handleEntityNotFound(_0x2dddb8,null))[_0x7451('0x32')](saveUpdates(_0x55dff6['body'],null))['then'](respondWithResult(_0x2dddb8,null))['catch'](handleError(_0x2dddb8,null));};exports[_0x7451('0x54')]=function(_0x3db1fe,_0x2548be){return db[_0x7451('0x36')][_0x7451('0x51')]({'where':{'id':_0x3db1fe[_0x7451('0x4e')]['id']}})[_0x7451('0x32')](handleEntityNotFound(_0x2548be,null))['then'](removeEntity(_0x2548be,null))[_0x7451('0x25')](handleError(_0x2548be,null));};exports[_0x7451('0x55')]=function(_0x1702c1,_0x155a15,_0x42b945){var _0xd943e3={};var _0x383aa3={};var _0x5378b6;var _0xace3c9;return db[_0x7451('0x36')][_0x7451('0x56')]({'where':{'id':_0x1702c1[_0x7451('0x4e')]['id']}})[_0x7451('0x32')](handleEntityNotFound(_0x155a15,null))[_0x7451('0x32')](function(_0x53db81){if(_0x53db81){_0x5378b6=_0x53db81;_0x383aa3[_0x7451('0x3c')]=_['keys'](db['DeskConfiguration'][_0x7451('0x37')]);_0x383aa3[_0x7451('0x39')]=_[_0x7451('0x38')](_0x1702c1[_0x7451('0x39')]);_0x383aa3[_0x7451('0x43')]=_[_0x7451('0x3b')](_0x383aa3['model'],_0x383aa3[_0x7451('0x39')]);_0xd943e3['attributes']=_[_0x7451('0x3b')](_0x383aa3[_0x7451('0x3c')],qs['fields'](_0x1702c1['query']['fields']));_0xd943e3['attributes']=_0xd943e3[_0x7451('0x3a')][_0x7451('0x4f')]?_0xd943e3[_0x7451('0x3a')]:_0x383aa3[_0x7451('0x3c')];_0xd943e3[_0x7451('0x40')]=qs[_0x7451('0x41')](_0x1702c1['query'][_0x7451('0x41')]);_0xd943e3['where']=qs[_0x7451('0x43')](_[_0x7451('0x42')](_0x1702c1[_0x7451('0x39')],_0x383aa3['filters']));if(_0x1702c1['query'][_0x7451('0x44')]){_0xd943e3[_0x7451('0x45')]=_[_0x7451('0x4a')](_0xd943e3[_0x7451('0x45')],{'$or':_[_0x7451('0x57')](_0xd943e3[_0x7451('0x3a')],function(_0x248c6c){var _0x631aff={};_0x631aff[_0x248c6c]={'$like':'%'+_0x1702c1[_0x7451('0x39')][_0x7451('0x44')]+'%'};return _0x631aff;})});}_0xd943e3=_['merge']({},_0xd943e3,_0x1702c1['options']);return _0x5378b6[_0x7451('0x55')](_0xd943e3);}})[_0x7451('0x32')](function(_0x9184be){if(_0x9184be){_0xace3c9=_0x9184be['length'];if(!_0x1702c1[_0x7451('0x39')][_0x7451('0x3e')](_0x7451('0x3f'))){_0xd943e3['limit']=qs[_0x7451('0x2c')](_0x1702c1[_0x7451('0x39')]['limit']);_0xd943e3['offset']=qs[_0x7451('0x2b')](_0x1702c1[_0x7451('0x39')]['offset']);}return _0x5378b6[_0x7451('0x55')](_0xd943e3);}})[_0x7451('0x32')](function(_0x4bb953){if(_0x4bb953){return _0x4bb953?{'count':_0xace3c9,'rows':_0x4bb953}:null;}})['then'](respondWithResult(_0x155a15,null))['catch'](handleError(_0x155a15,null));};exports[_0x7451('0x58')]=function(_0x468a27,_0x2021c7,_0x1a6666){if(_0x468a27[_0x7451('0x53')]['id']){delete _0x468a27[_0x7451('0x53')]['id'];}return db[_0x7451('0x36')][_0x7451('0x56')]({'where':{'id':_0x468a27[_0x7451('0x4e')]['id']}})[_0x7451('0x32')](handleEntityNotFound(_0x2021c7,null))[_0x7451('0x32')](function(_0x2ce57e){if(_0x2ce57e){_0x468a27[_0x7451('0x53')]['AccountId']=_0x2ce57e['id'];_0x468a27[_0x7451('0x53')][_0x7451('0x59')]=integrations[_0x7451('0x5a')](_0x468a27[_0x7451('0x53')]['channel'],_0x468a27[_0x7451('0x53')]['type']);_0x468a27['body'][_0x7451('0x5b')]=integrations[_0x7451('0x5c')](_0x468a27['body'][_0x7451('0x5d')],_0x468a27['body'][_0x7451('0x46')]);return db[_0x7451('0x5e')][_0x7451('0x52')](_0x468a27[_0x7451('0x53')],{'include':[{'model':db[_0x7451('0x5f')],'as':_0x7451('0x59')},{'model':db[_0x7451('0x5f')],'as':'Descriptions'}]});}return null;})['then'](respondWithResult(_0x2021c7,null))['catch'](handleError(_0x2021c7,null));};exports[_0x7451('0x60')]=function(_0xe0cbc4,_0xe9c2a5,_0x26ad13){var _0x2d7ab0=[{'name':_0x7451('0x61'),'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 _0x5c3bd9='';return db[_0x7451('0x36')][_0x7451('0x56')]({'where':{'id':_0xe0cbc4[_0x7451('0x4e')]['id']},'attributes':['id','remoteUri',_0x7451('0x62'),_0x7451('0x63'),'password','consumerKey',_0x7451('0x64'),_0x7451('0x65'),_0x7451('0x66')]})[_0x7451('0x32')](handleEntityNotFound(_0xe9c2a5,null))[_0x7451('0x32')](function(_0x3eaffa){if(_0x3eaffa){_0x5c3bd9=_0x3eaffa[_0x7451('0x67')];var _0xeb5152=_0x5c3bd9[_0x7451('0x68')](-0x1);if(_0xeb5152==='/'){_0x5c3bd9=_0x5c3bd9[_0x7451('0x69')](0x0,_0x5c3bd9[_0x7451('0x6a')](_0xeb5152));}var _0x50a396={'method':'GET','uri':util['format'](_0x7451('0x6b'),_0x5c3bd9),'headers':{'Content-Type':_0x7451('0x6c'),'Accept':'application/json'},'json':!![]};if(_0x3eaffa[_0x7451('0x62')]===_0x7451('0x6d')){_0x50a396[_0x7451('0x6e')][_0x7451('0x6f')]=util[_0x7451('0x70')](_0x7451('0x71'),new Buffer(util[_0x7451('0x70')](_0x7451('0x72'),_0x3eaffa[_0x7451('0x63')],_0x3eaffa[_0x7451('0x73')]))['toString'](_0x7451('0x74')));}return rp(_0x50a396)[_0x7451('0x32')](function(_0x51a7ed){return _0x2d7ab0['concat'](_['map'](_0x51a7ed['_embedded'][_0x7451('0x75')],function(_0x5f850e){return{'id':_0x5f850e[_0x7451('0x34')],'name':_0x5f850e['name'],'type':_0x5f850e[_0x7451('0x46')],'active':_0x5f850e[_0x7451('0x76')],'label':_0x5f850e['label'],'custom':!![]};}));});}})[_0x7451('0x32')](function(_0x2a9927){return{'count':_0x2a9927[_0x7451('0x4f')],'rows':_0x2a9927};})[_0x7451('0x32')](respondWithResult(_0xe9c2a5,null))[_0x7451('0x25')](function(_0x1fea7e){var _0x1d86d8=_0xe0cbc4[_0x7451('0x39')][_0x7451('0x77')]?0x1f4:_0x1fea7e[_0x7451('0x78')]||0x1f4;logger[_0x7451('0x22')](_0x7451('0x79'),_0x7451('0x60'),_0x1d86d8,JSON[_0x7451('0x21')](_0x1fea7e));delete _0x1fea7e['name'];if(_0x1d86d8===0x191){_0x1d86d8=0x190;}_0xe9c2a5[_0x7451('0x27')](_0x1d86d8)[_0x7451('0x7a')](_0xe0cbc4[_0x7451('0x39')][_0x7451('0x77')]?{'message':_0x7451('0x7b'),'statusCode':_0x1fea7e[_0x7451('0x78')]}:_0x1fea7e);});};