Built motion from commit (unavailable).|2.5.25
[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 _0x888a=['label','getFields,\x20%s,\x20%s,\x20%s','send','test','Wrong\x20credentials','statusCode','html-pdf','eml-format','rimraf','fast-json-patch','moment','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','../../components/integrations/configuration','jayson/promise','client','http','then','info','DeskAccount,\x20%s,\x20%s','request\x20sent','debug','DeskAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','sendStatus','end','status','count','offset','limit','set','json','save','update','destroy','stack','name','index','map','fieldName','type','key','model','query','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','filters','pick','filter','merge','where','options','DeskAccount','includeAll','include','show','params','keys','length','find','create','body','findOne','DeskConfiguration','rawAttributes','getConfigurations','AccountId','getSubjects','Descriptions','channel','DeskField','Subjects','getFields','priority','authType','password','consumerKey','consumerSecret','tokenSecret','remoteUri','slice','substring','lastIndexOf','GET','format','%s/custom_fields','application/json','basic','Authorization','Basic\x20%s','username','base64','_embedded'];(function(_0x3c2863,_0x1b2cee){var _0x2c3d27=function(_0x4f831b){while(--_0x4f831b){_0x3c2863['push'](_0x3c2863['shift']());}};_0x2c3d27(++_0x1b2cee);}(_0x888a,0x1ea));var _0xa888=function(_0x1ca6a3,_0x4bf2b5){_0x1ca6a3=_0x1ca6a3-0x0;var _0x22fc19=_0x888a[_0x1ca6a3];return _0x22fc19;};'use strict';var pdf=require(_0xa888('0x0'));var emlformat=require(_0xa888('0x1'));var rimraf=require(_0xa888('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0xa888('0x3'));var rp=require('request-promise');var moment=require(_0xa888('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xa888('0x5'));var util=require(_0xa888('0x6'));var path=require(_0xa888('0x7'));var sox=require(_0xa888('0x8'));var csv=require(_0xa888('0x9'));var ejs=require(_0xa888('0xa'));var fs=require('fs');var _=require(_0xa888('0xb'));var squel=require(_0xa888('0xc'));var crypto=require(_0xa888('0xd'));var jsforce=require(_0xa888('0xe'));var deskjs=require(_0xa888('0xf'));var toCsv=require(_0xa888('0x9'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xa888('0x10'));var authService=require(_0xa888('0x11'));var qs=require(_0xa888('0x12'));var as=require(_0xa888('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xa888('0x14'))(_0xa888('0x15'));var utils=require(_0xa888('0x16'));var config=require(_0xa888('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0xa888('0x18'))['db'];var integrations=require(_0xa888('0x19'));var jayson=require(_0xa888('0x1a'));var client=jayson[_0xa888('0x1b')][_0xa888('0x1c')]({'port':0x232a});function respondWithRpcPromise(_0x5ec77a,_0x27515a,_0x420b42,_0x2e8929){return new BPromise(function(_0xdb851e,_0x1aab47){var _0x2788fa=_0x2e8929||client;return _0x2788fa['request'](_0x5ec77a,_0x420b42)[_0xa888('0x1d')](function(_0x4b377f){logger[_0xa888('0x1e')](_0xa888('0x1f'),_0x27515a,_0xa888('0x20'));logger[_0xa888('0x21')](_0xa888('0x22'),_0x27515a,_0xa888('0x20'),JSON[_0xa888('0x23')](_0x4b377f));if(_0x4b377f[_0xa888('0x24')]){if(_0x4b377f['error'][_0xa888('0x25')]===0x1f4){logger[_0xa888('0x24')]('DeskAccount,\x20%s,\x20%s',_0x27515a,_0x4b377f['error'][_0xa888('0x26')]);return _0x1aab47(_0x4b377f['error'][_0xa888('0x26')]);}logger[_0xa888('0x24')]('DeskAccount,\x20%s,\x20%s',_0x27515a,_0x4b377f[_0xa888('0x24')][_0xa888('0x26')]);return _0xdb851e(_0x4b377f['error'][_0xa888('0x26')]);}else{logger[_0xa888('0x1e')]('DeskAccount,\x20%s,\x20%s',_0x27515a,_0xa888('0x20'));_0xdb851e(_0x4b377f[_0xa888('0x27')][_0xa888('0x26')]);}})[_0xa888('0x28')](function(_0x104673){logger[_0xa888('0x24')](_0xa888('0x1f'),_0x27515a,_0x104673);_0x1aab47(_0x104673);});});}function respondWithStatusCode(_0x1669ee,_0x342370){_0x342370=_0x342370||0xcc;return function(_0x26bf91){if(_0x26bf91){return _0x1669ee[_0xa888('0x29')](_0x342370);}return _0x1669ee['status'](_0x342370)[_0xa888('0x2a')]();};}function respondWithResult(_0x812f00,_0x42d343){_0x42d343=_0x42d343||0xc8;return function(_0x4d52c7){if(_0x4d52c7){return _0x812f00[_0xa888('0x2b')](_0x42d343)['json'](_0x4d52c7);}};}function respondWithFilteredResult(_0x216a41,_0xe0d41f){return function(_0x266d76){if(_0x266d76){var _0x563856=_0x266d76[_0xa888('0x2c')],_0x4a2fb5=_0xe0d41f[_0xa888('0x2d')],_0xf99c79=_0xe0d41f[_0xa888('0x2d')]+_0xe0d41f[_0xa888('0x2e')],_0x32d34e;if(_0xf99c79>=_0x563856){_0xf99c79=_0x563856;_0x32d34e=0xc8;}else{_0x32d34e=0xce;}_0x216a41[_0xa888('0x2b')](_0x32d34e);return _0x216a41[_0xa888('0x2f')]('Content-Range',_0x4a2fb5+'-'+_0xf99c79+'/'+_0x563856)[_0xa888('0x30')](_0x266d76);}return null;};}function patchUpdates(_0x5358ee){return function(_0xeafbd7){try{jsonpatch['apply'](_0xeafbd7,_0x5358ee,!![]);}catch(_0x56a39c){return BPromise['reject'](_0x56a39c);}return _0xeafbd7[_0xa888('0x31')]();};}function saveUpdates(_0x48eebf,_0x3c07f1){return function(_0x2817fc){if(_0x2817fc){return _0x2817fc[_0xa888('0x32')](_0x48eebf)[_0xa888('0x1d')](function(_0x52e52d){return _0x52e52d;});}return null;};}function removeEntity(_0x200b11,_0x1536ae){return function(_0x17cb7c){if(_0x17cb7c){return _0x17cb7c[_0xa888('0x33')]()[_0xa888('0x1d')](function(){_0x200b11['status'](0xcc)[_0xa888('0x2a')]();});}};}function handleEntityNotFound(_0x4d9b23,_0x1b929f){return function(_0x2d5ff8){if(!_0x2d5ff8){_0x4d9b23['sendStatus'](0x194);}return _0x2d5ff8;};}function handleError(_0x2b623e,_0x946646){_0x946646=_0x946646||0x1f4;return function(_0x215217){logger[_0xa888('0x24')](_0x215217[_0xa888('0x34')]);if(_0x215217[_0xa888('0x35')]){delete _0x215217['name'];}_0x2b623e['status'](_0x946646)['send'](_0x215217);};}exports[_0xa888('0x36')]=function(_0x26812b,_0x1a2041){var _0x1571d6={},_0x51471c={},_0x593f5a={'count':0x0,'rows':[]};var _0x26d5e8=_[_0xa888('0x37')](db['DeskAccount']['rawAttributes'],function(_0x4faa8b){return{'name':_0x4faa8b[_0xa888('0x38')],'type':_0x4faa8b[_0xa888('0x39')][_0xa888('0x3a')]};});_0x51471c[_0xa888('0x3b')]=_[_0xa888('0x37')](_0x26d5e8,'name');_0x51471c[_0xa888('0x3c')]=_['keys'](_0x26812b['query']);_0x51471c['filters']=_[_0xa888('0x3d')](_0x51471c[_0xa888('0x3b')],_0x51471c[_0xa888('0x3c')]);_0x1571d6[_0xa888('0x3e')]=_[_0xa888('0x3d')](_0x51471c['model'],qs[_0xa888('0x3f')](_0x26812b[_0xa888('0x3c')][_0xa888('0x3f')]));_0x1571d6[_0xa888('0x3e')]=_0x1571d6['attributes']['length']?_0x1571d6[_0xa888('0x3e')]:_0x51471c['model'];if(!_0x26812b[_0xa888('0x3c')][_0xa888('0x40')](_0xa888('0x41'))){_0x1571d6[_0xa888('0x2e')]=qs[_0xa888('0x2e')](_0x26812b['query'][_0xa888('0x2e')]);_0x1571d6[_0xa888('0x2d')]=qs[_0xa888('0x2d')](_0x26812b[_0xa888('0x3c')][_0xa888('0x2d')]);}_0x1571d6[_0xa888('0x42')]=qs[_0xa888('0x43')](_0x26812b[_0xa888('0x3c')][_0xa888('0x43')]);_0x1571d6['where']=qs[_0xa888('0x44')](_[_0xa888('0x45')](_0x26812b[_0xa888('0x3c')],_0x51471c[_0xa888('0x44')]),_0x26d5e8);if(_0x26812b['query'][_0xa888('0x46')]){_0x1571d6['where']=_[_0xa888('0x47')](_0x1571d6[_0xa888('0x48')],{'$or':_[_0xa888('0x37')](_0x26d5e8,function(_0x467c19){if(_0x467c19[_0xa888('0x39')]!=='VIRTUAL'){var _0x2b3492={};_0x2b3492[_0x467c19['name']]={'$like':'%'+_0x26812b['query'][_0xa888('0x46')]+'%'};return _0x2b3492;}})});}_0x1571d6=_[_0xa888('0x47')]({},_0x1571d6,_0x26812b[_0xa888('0x49')]);var _0x24a787={'where':_0x1571d6[_0xa888('0x48')]};return db[_0xa888('0x4a')][_0xa888('0x2c')](_0x24a787)[_0xa888('0x1d')](function(_0x2f8c60){_0x593f5a['count']=_0x2f8c60;if(_0x26812b[_0xa888('0x3c')][_0xa888('0x4b')]){_0x1571d6[_0xa888('0x4c')]=[{'all':!![]}];}return db['DeskAccount']['findAll'](_0x1571d6);})[_0xa888('0x1d')](function(_0x74af4e){_0x593f5a['rows']=_0x74af4e;return _0x593f5a;})[_0xa888('0x1d')](respondWithFilteredResult(_0x1a2041,_0x1571d6))[_0xa888('0x28')](handleError(_0x1a2041,null));};exports[_0xa888('0x4d')]=function(_0xc7e999,_0x1add97){var _0x210a65={'raw':![],'where':{'id':_0xc7e999[_0xa888('0x4e')]['id']}},_0x430894={};_0x430894[_0xa888('0x3b')]=_[_0xa888('0x4f')](db[_0xa888('0x4a')]['rawAttributes']);_0x430894[_0xa888('0x3c')]=_[_0xa888('0x4f')](_0xc7e999[_0xa888('0x3c')]);_0x430894[_0xa888('0x44')]=_[_0xa888('0x3d')](_0x430894[_0xa888('0x3b')],_0x430894[_0xa888('0x3c')]);_0x210a65[_0xa888('0x3e')]=_[_0xa888('0x3d')](_0x430894['model'],qs['fields'](_0xc7e999[_0xa888('0x3c')][_0xa888('0x3f')]));_0x210a65[_0xa888('0x3e')]=_0x210a65[_0xa888('0x3e')][_0xa888('0x50')]?_0x210a65['attributes']:_0x430894[_0xa888('0x3b')];if(_0xc7e999[_0xa888('0x3c')][_0xa888('0x4b')]){_0x210a65[_0xa888('0x4c')]=[{'all':!![]}];}_0x210a65=_['merge']({},_0x210a65,_0xc7e999[_0xa888('0x49')]);return db[_0xa888('0x4a')][_0xa888('0x51')](_0x210a65)['then'](handleEntityNotFound(_0x1add97,null))[_0xa888('0x1d')](respondWithResult(_0x1add97,null))[_0xa888('0x28')](handleError(_0x1add97,null));};exports[_0xa888('0x52')]=function(_0x323ad6,_0x300be8){return db[_0xa888('0x4a')][_0xa888('0x52')](_0x323ad6[_0xa888('0x53')],{})['then'](respondWithResult(_0x300be8,0xc9))[_0xa888('0x28')](handleError(_0x300be8,null));};exports[_0xa888('0x32')]=function(_0x5cff6a,_0x4d33a4){if(_0x5cff6a['body']['id']){delete _0x5cff6a[_0xa888('0x53')]['id'];}return db[_0xa888('0x4a')]['find']({'where':{'id':_0x5cff6a[_0xa888('0x4e')]['id']}})[_0xa888('0x1d')](handleEntityNotFound(_0x4d33a4,null))[_0xa888('0x1d')](saveUpdates(_0x5cff6a[_0xa888('0x53')],null))['then'](respondWithResult(_0x4d33a4,null))[_0xa888('0x28')](handleError(_0x4d33a4,null));};exports[_0xa888('0x33')]=function(_0x218c8c,_0x3bd9ce){return db[_0xa888('0x4a')][_0xa888('0x51')]({'where':{'id':_0x218c8c[_0xa888('0x4e')]['id']}})[_0xa888('0x1d')](handleEntityNotFound(_0x3bd9ce,null))[_0xa888('0x1d')](removeEntity(_0x3bd9ce,null))['catch'](handleError(_0x3bd9ce,null));};exports['getConfigurations']=function(_0x5ef315,_0x2257f0,_0x3cff61){var _0x1153f4={};var _0x1e3bdf={};var _0x557d0d;var _0x2c0c56;return db[_0xa888('0x4a')][_0xa888('0x54')]({'where':{'id':_0x5ef315[_0xa888('0x4e')]['id']}})[_0xa888('0x1d')](handleEntityNotFound(_0x2257f0,null))[_0xa888('0x1d')](function(_0x5a2a6e){if(_0x5a2a6e){_0x557d0d=_0x5a2a6e;_0x1e3bdf[_0xa888('0x3b')]=_[_0xa888('0x4f')](db[_0xa888('0x55')][_0xa888('0x56')]);_0x1e3bdf[_0xa888('0x3c')]=_[_0xa888('0x4f')](_0x5ef315[_0xa888('0x3c')]);_0x1e3bdf[_0xa888('0x44')]=_[_0xa888('0x3d')](_0x1e3bdf[_0xa888('0x3b')],_0x1e3bdf['query']);_0x1153f4[_0xa888('0x3e')]=_[_0xa888('0x3d')](_0x1e3bdf[_0xa888('0x3b')],qs['fields'](_0x5ef315[_0xa888('0x3c')]['fields']));_0x1153f4['attributes']=_0x1153f4[_0xa888('0x3e')][_0xa888('0x50')]?_0x1153f4[_0xa888('0x3e')]:_0x1e3bdf[_0xa888('0x3b')];_0x1153f4[_0xa888('0x42')]=qs[_0xa888('0x43')](_0x5ef315['query']['sort']);_0x1153f4[_0xa888('0x48')]=qs[_0xa888('0x44')](_[_0xa888('0x45')](_0x5ef315[_0xa888('0x3c')],_0x1e3bdf[_0xa888('0x44')]));if(_0x5ef315[_0xa888('0x3c')]['filter']){_0x1153f4['where']=_[_0xa888('0x47')](_0x1153f4[_0xa888('0x48')],{'$or':_[_0xa888('0x37')](_0x1153f4['attributes'],function(_0x489cbc){var _0x5ddc4f={};_0x5ddc4f[_0x489cbc]={'$like':'%'+_0x5ef315[_0xa888('0x3c')][_0xa888('0x46')]+'%'};return _0x5ddc4f;})});}_0x1153f4=_[_0xa888('0x47')]({},_0x1153f4,_0x5ef315['options']);return _0x557d0d['getConfigurations'](_0x1153f4);}})[_0xa888('0x1d')](function(_0x65f3d7){if(_0x65f3d7){_0x2c0c56=_0x65f3d7['length'];if(!_0x5ef315[_0xa888('0x3c')][_0xa888('0x40')](_0xa888('0x41'))){_0x1153f4[_0xa888('0x2e')]=qs[_0xa888('0x2e')](_0x5ef315['query'][_0xa888('0x2e')]);_0x1153f4[_0xa888('0x2d')]=qs[_0xa888('0x2d')](_0x5ef315[_0xa888('0x3c')][_0xa888('0x2d')]);}return _0x557d0d[_0xa888('0x57')](_0x1153f4);}})['then'](function(_0x34ae18){if(_0x34ae18){return _0x34ae18?{'count':_0x2c0c56,'rows':_0x34ae18}:null;}})[_0xa888('0x1d')](respondWithResult(_0x2257f0,null))[_0xa888('0x28')](handleError(_0x2257f0,null));};exports['addConfiguration']=function(_0x2630f4,_0x5225f8,_0x229bca){if(_0x2630f4['body']['id']){delete _0x2630f4[_0xa888('0x53')]['id'];}return db['DeskAccount']['findOne']({'where':{'id':_0x2630f4[_0xa888('0x4e')]['id']}})[_0xa888('0x1d')](handleEntityNotFound(_0x5225f8,null))['then'](function(_0xe2a614){if(_0xe2a614){_0x2630f4['body'][_0xa888('0x58')]=_0xe2a614['id'];_0x2630f4[_0xa888('0x53')]['Subjects']=integrations[_0xa888('0x59')](_0x2630f4[_0xa888('0x53')]['channel'],_0x2630f4[_0xa888('0x53')]['type']);_0x2630f4[_0xa888('0x53')][_0xa888('0x5a')]=integrations['getDescriptions'](_0x2630f4[_0xa888('0x53')][_0xa888('0x5b')],_0x2630f4[_0xa888('0x53')][_0xa888('0x39')]);return db[_0xa888('0x55')][_0xa888('0x52')](_0x2630f4['body'],{'include':[{'model':db[_0xa888('0x5c')],'as':_0xa888('0x5d')},{'model':db[_0xa888('0x5c')],'as':_0xa888('0x5a')}]});}return null;})['then'](respondWithResult(_0x5225f8,null))[_0xa888('0x28')](handleError(_0x5225f8,null));};exports[_0xa888('0x5e')]=function(_0x1094a3,_0x3aa5c3,_0xff9484){var _0x452bc6=[{'name':_0xa888('0x5f'),'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 _0x17851c='';return db[_0xa888('0x4a')][_0xa888('0x54')]({'where':{'id':_0x1094a3[_0xa888('0x4e')]['id']},'attributes':['id','remoteUri',_0xa888('0x60'),'username',_0xa888('0x61'),_0xa888('0x62'),_0xa888('0x63'),'token',_0xa888('0x64')]})[_0xa888('0x1d')](handleEntityNotFound(_0x3aa5c3,null))[_0xa888('0x1d')](function(_0x1a0788){if(_0x1a0788){_0x17851c=_0x1a0788[_0xa888('0x65')];var _0x83d6ab=_0x17851c[_0xa888('0x66')](-0x1);if(_0x83d6ab==='/'){_0x17851c=_0x17851c[_0xa888('0x67')](0x0,_0x17851c[_0xa888('0x68')](_0x83d6ab));}var _0x34a004={'method':_0xa888('0x69'),'uri':util[_0xa888('0x6a')](_0xa888('0x6b'),_0x17851c),'headers':{'Content-Type':'application/json','Accept':_0xa888('0x6c')},'json':!![]};if(_0x1a0788[_0xa888('0x60')]===_0xa888('0x6d')){_0x34a004['headers'][_0xa888('0x6e')]=util[_0xa888('0x6a')](_0xa888('0x6f'),new Buffer(util[_0xa888('0x6a')]('%s:%s',_0x1a0788[_0xa888('0x70')],_0x1a0788[_0xa888('0x61')]))['toString'](_0xa888('0x71')));}return rp(_0x34a004)[_0xa888('0x1d')](function(_0x1ecb56){return _0x452bc6['concat'](_[_0xa888('0x37')](_0x1ecb56[_0xa888('0x72')]['entries'],function(_0x5f0943){return{'id':_0x5f0943[_0xa888('0x35')],'name':_0x5f0943[_0xa888('0x35')],'type':_0x5f0943['type'],'active':_0x5f0943['active'],'label':_0x5f0943[_0xa888('0x73')],'custom':!![]};}));});}})['then'](function(_0x51ad0e){return{'count':_0x51ad0e[_0xa888('0x50')],'rows':_0x51ad0e};})[_0xa888('0x1d')](respondWithResult(_0x3aa5c3,null))['catch'](function(_0x13bef5){var _0x42ebdb=_0x1094a3['query']['test']?0x1f4:_0x13bef5['statusCode']||0x1f4;logger[_0xa888('0x24')](_0xa888('0x74'),_0xa888('0x5e'),_0x42ebdb,JSON[_0xa888('0x23')](_0x13bef5));delete _0x13bef5[_0xa888('0x35')];if(_0x42ebdb===0x191){_0x42ebdb=0x190;}_0x3aa5c3[_0xa888('0x2b')](_0x42ebdb)[_0xa888('0x75')](_0x1094a3[_0xa888('0x3c')][_0xa888('0x76')]?{'message':_0xa888('0x77'),'statusCode':_0x13bef5[_0xa888('0x78')]}:_0x13bef5);});};