Built motion from commit (unavailable).|2.5.11
[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 _0xdb8c=['query','keys','filters','intersection','attributes','fields','order','sort','where','pick','filter','merge','includeAll','include','findAll','rows','show','params','length','options','create','update','body','find','getConfigurations','DeskConfiguration','nolimit','findOne','AccountId','getSubjects','channel','DeskField','Subjects','Descriptions','getFields','priority','remoteUri','authType','username','password','consumerKey','consumerSecret','tokenSecret','slice','lastIndexOf','GET','format','application/json','basic','Authorization','Basic\x20%s','%s:%s','base64','concat','_embedded','active','label','statusCode','getFields,\x20%s,\x20%s,\x20%s','stringify','test','Wrong\x20credentials','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','../../mysqldb','../../components/integrations/configuration','jayson/promise','client','http','then','info','DeskAccount,\x20%s,\x20%s','request\x20sent','debug','error','code','message','result','catch','sendStatus','status','end','json','count','offset','limit','Content-Range','apply','reject','destroy','name','send','index','map','DeskAccount','rawAttributes','fieldName','type','model'];(function(_0x22dac7,_0x5b062e){var _0x4a6e18=function(_0x13c467){while(--_0x13c467){_0x22dac7['push'](_0x22dac7['shift']());}};_0x4a6e18(++_0x5b062e);}(_0xdb8c,0x138));var _0xcdb8=function(_0x4a73a3,_0x5741ee){_0x4a73a3=_0x4a73a3-0x0;var _0x3177d9=_0xdb8c[_0x4a73a3];return _0x3177d9;};'use strict';var pdf=require(_0xcdb8('0x0'));var emlformat=require(_0xcdb8('0x1'));var rimraf=require(_0xcdb8('0x2'));var zipdir=require(_0xcdb8('0x3'));var jsonpatch=require(_0xcdb8('0x4'));var rp=require(_0xcdb8('0x5'));var moment=require(_0xcdb8('0x6'));var BPromise=require(_0xcdb8('0x7'));var Mustache=require(_0xcdb8('0x8'));var util=require(_0xcdb8('0x9'));var path=require(_0xcdb8('0xa'));var sox=require(_0xcdb8('0xb'));var csv=require(_0xcdb8('0xc'));var ejs=require(_0xcdb8('0xd'));var fs=require('fs');var _=require(_0xcdb8('0xe'));var squel=require(_0xcdb8('0xf'));var crypto=require(_0xcdb8('0x10'));var jsforce=require(_0xcdb8('0x11'));var deskjs=require(_0xcdb8('0x12'));var toCsv=require(_0xcdb8('0xc'));var querystring=require(_0xcdb8('0x13'));var Papa=require(_0xcdb8('0x14'));var Redis=require(_0xcdb8('0x15'));var authService=require(_0xcdb8('0x16'));var qs=require(_0xcdb8('0x17'));var as=require(_0xcdb8('0x18'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0xcdb8('0x19'));var utils=require(_0xcdb8('0x1a'));var config=require(_0xcdb8('0x1b'));var licenseUtil=require('../../config/license/util');var db=require(_0xcdb8('0x1c'))['db'];var integrations=require(_0xcdb8('0x1d'));var jayson=require(_0xcdb8('0x1e'));var client=jayson[_0xcdb8('0x1f')][_0xcdb8('0x20')]({'port':0x232a});function respondWithRpcPromise(_0x167201,_0x51e879,_0x3c5c11,_0x2e6ae6){return new BPromise(function(_0x24b83a,_0x333dd5){var _0x277295=_0x2e6ae6||client;return _0x277295['request'](_0x167201,_0x3c5c11)[_0xcdb8('0x21')](function(_0x4d385f){logger[_0xcdb8('0x22')](_0xcdb8('0x23'),_0x51e879,_0xcdb8('0x24'));logger[_0xcdb8('0x25')]('DeskAccount,\x20%s,\x20%s,\x20%s',_0x51e879,_0xcdb8('0x24'),JSON['stringify'](_0x4d385f));if(_0x4d385f[_0xcdb8('0x26')]){if(_0x4d385f['error'][_0xcdb8('0x27')]===0x1f4){logger['error'](_0xcdb8('0x23'),_0x51e879,_0x4d385f[_0xcdb8('0x26')][_0xcdb8('0x28')]);return _0x333dd5(_0x4d385f[_0xcdb8('0x26')][_0xcdb8('0x28')]);}logger[_0xcdb8('0x26')](_0xcdb8('0x23'),_0x51e879,_0x4d385f[_0xcdb8('0x26')]['message']);return _0x24b83a(_0x4d385f[_0xcdb8('0x26')][_0xcdb8('0x28')]);}else{logger[_0xcdb8('0x22')](_0xcdb8('0x23'),_0x51e879,_0xcdb8('0x24'));_0x24b83a(_0x4d385f[_0xcdb8('0x29')][_0xcdb8('0x28')]);}})[_0xcdb8('0x2a')](function(_0x2d1afc){logger[_0xcdb8('0x26')]('DeskAccount,\x20%s,\x20%s',_0x51e879,_0x2d1afc);_0x333dd5(_0x2d1afc);});});}function respondWithStatusCode(_0x3c6bd9,_0x839ebe){_0x839ebe=_0x839ebe||0xcc;return function(_0xf5be60){if(_0xf5be60){return _0x3c6bd9[_0xcdb8('0x2b')](_0x839ebe);}return _0x3c6bd9[_0xcdb8('0x2c')](_0x839ebe)[_0xcdb8('0x2d')]();};}function respondWithResult(_0x60e16,_0xbf53ae){_0xbf53ae=_0xbf53ae||0xc8;return function(_0x16eb23){if(_0x16eb23){return _0x60e16['status'](_0xbf53ae)[_0xcdb8('0x2e')](_0x16eb23);}};}function respondWithFilteredResult(_0x33cc13,_0x413230){return function(_0x11a44a){if(_0x11a44a){var _0x2b5176=_0x11a44a[_0xcdb8('0x2f')],_0xb10317=_0x413230[_0xcdb8('0x30')],_0x318807=_0x413230[_0xcdb8('0x30')]+_0x413230[_0xcdb8('0x31')],_0x5e012d;if(_0x318807>=_0x2b5176){_0x318807=_0x2b5176;_0x5e012d=0xc8;}else{_0x5e012d=0xce;}_0x33cc13[_0xcdb8('0x2c')](_0x5e012d);return _0x33cc13['set'](_0xcdb8('0x32'),_0xb10317+'-'+_0x318807+'/'+_0x2b5176)[_0xcdb8('0x2e')](_0x11a44a);}return null;};}function patchUpdates(_0x450913){return function(_0x552689){try{jsonpatch[_0xcdb8('0x33')](_0x552689,_0x450913,!![]);}catch(_0x5169f5){return BPromise[_0xcdb8('0x34')](_0x5169f5);}return _0x552689['save']();};}function saveUpdates(_0x10cf25,_0x85353a){return function(_0x34f1cc){if(_0x34f1cc){return _0x34f1cc['update'](_0x10cf25)[_0xcdb8('0x21')](function(_0x16804a){return _0x16804a;});}return null;};}function removeEntity(_0xe0b669,_0x142355){return function(_0x485445){if(_0x485445){return _0x485445[_0xcdb8('0x35')]()['then'](function(){_0xe0b669['status'](0xcc)[_0xcdb8('0x2d')]();});}};}function handleEntityNotFound(_0x3637e5,_0x3e33b5){return function(_0x2d020e){if(!_0x2d020e){_0x3637e5[_0xcdb8('0x2b')](0x194);}return _0x2d020e;};}function handleError(_0x1f6237,_0x5b0362){_0x5b0362=_0x5b0362||0x1f4;return function(_0x2d4393){logger[_0xcdb8('0x26')](_0x2d4393['stack']);if(_0x2d4393[_0xcdb8('0x36')]){delete _0x2d4393[_0xcdb8('0x36')];}_0x1f6237[_0xcdb8('0x2c')](_0x5b0362)[_0xcdb8('0x37')](_0x2d4393);};}exports[_0xcdb8('0x38')]=function(_0x1c72fc,_0x25f3ff){var _0xaa31c9={},_0x29282c={},_0x574aba={'count':0x0,'rows':[]};var _0x53a7f1=_[_0xcdb8('0x39')](db[_0xcdb8('0x3a')][_0xcdb8('0x3b')],function(_0x42648e){return{'name':_0x42648e[_0xcdb8('0x3c')],'type':_0x42648e[_0xcdb8('0x3d')]['key']};});_0x29282c[_0xcdb8('0x3e')]=_[_0xcdb8('0x39')](_0x53a7f1,'name');_0x29282c[_0xcdb8('0x3f')]=_[_0xcdb8('0x40')](_0x1c72fc[_0xcdb8('0x3f')]);_0x29282c[_0xcdb8('0x41')]=_[_0xcdb8('0x42')](_0x29282c[_0xcdb8('0x3e')],_0x29282c[_0xcdb8('0x3f')]);_0xaa31c9[_0xcdb8('0x43')]=_[_0xcdb8('0x42')](_0x29282c[_0xcdb8('0x3e')],qs['fields'](_0x1c72fc[_0xcdb8('0x3f')][_0xcdb8('0x44')]));_0xaa31c9[_0xcdb8('0x43')]=_0xaa31c9['attributes']['length']?_0xaa31c9['attributes']:_0x29282c['model'];if(!_0x1c72fc[_0xcdb8('0x3f')]['hasOwnProperty']('nolimit')){_0xaa31c9['limit']=qs[_0xcdb8('0x31')](_0x1c72fc[_0xcdb8('0x3f')][_0xcdb8('0x31')]);_0xaa31c9[_0xcdb8('0x30')]=qs[_0xcdb8('0x30')](_0x1c72fc['query'][_0xcdb8('0x30')]);}_0xaa31c9[_0xcdb8('0x45')]=qs[_0xcdb8('0x46')](_0x1c72fc[_0xcdb8('0x3f')][_0xcdb8('0x46')]);_0xaa31c9[_0xcdb8('0x47')]=qs['filters'](_[_0xcdb8('0x48')](_0x1c72fc[_0xcdb8('0x3f')],_0x29282c[_0xcdb8('0x41')]),_0x53a7f1);if(_0x1c72fc[_0xcdb8('0x3f')][_0xcdb8('0x49')]){_0xaa31c9[_0xcdb8('0x47')]=_[_0xcdb8('0x4a')](_0xaa31c9[_0xcdb8('0x47')],{'$or':_['map'](_0x53a7f1,function(_0x545755){if(_0x545755[_0xcdb8('0x3d')]!=='VIRTUAL'){var _0x10e991={};_0x10e991[_0x545755[_0xcdb8('0x36')]]={'$like':'%'+_0x1c72fc['query'][_0xcdb8('0x49')]+'%'};return _0x10e991;}})});}_0xaa31c9=_[_0xcdb8('0x4a')]({},_0xaa31c9,_0x1c72fc['options']);var _0x18ab84={'where':_0xaa31c9['where']};return db[_0xcdb8('0x3a')][_0xcdb8('0x2f')](_0x18ab84)['then'](function(_0x541cd1){_0x574aba['count']=_0x541cd1;if(_0x1c72fc['query'][_0xcdb8('0x4b')]){_0xaa31c9[_0xcdb8('0x4c')]=[{'all':!![]}];}return db[_0xcdb8('0x3a')][_0xcdb8('0x4d')](_0xaa31c9);})['then'](function(_0x11eac1){_0x574aba[_0xcdb8('0x4e')]=_0x11eac1;return _0x574aba;})['then'](respondWithFilteredResult(_0x25f3ff,_0xaa31c9))[_0xcdb8('0x2a')](handleError(_0x25f3ff,null));};exports[_0xcdb8('0x4f')]=function(_0x5962a6,_0x2ae1cd){var _0x5c6a49={'raw':![],'where':{'id':_0x5962a6[_0xcdb8('0x50')]['id']}},_0x456226={};_0x456226[_0xcdb8('0x3e')]=_[_0xcdb8('0x40')](db[_0xcdb8('0x3a')]['rawAttributes']);_0x456226[_0xcdb8('0x3f')]=_[_0xcdb8('0x40')](_0x5962a6[_0xcdb8('0x3f')]);_0x456226[_0xcdb8('0x41')]=_[_0xcdb8('0x42')](_0x456226[_0xcdb8('0x3e')],_0x456226[_0xcdb8('0x3f')]);_0x5c6a49[_0xcdb8('0x43')]=_[_0xcdb8('0x42')](_0x456226['model'],qs[_0xcdb8('0x44')](_0x5962a6[_0xcdb8('0x3f')][_0xcdb8('0x44')]));_0x5c6a49[_0xcdb8('0x43')]=_0x5c6a49[_0xcdb8('0x43')][_0xcdb8('0x51')]?_0x5c6a49['attributes']:_0x456226[_0xcdb8('0x3e')];if(_0x5962a6[_0xcdb8('0x3f')]['includeAll']){_0x5c6a49[_0xcdb8('0x4c')]=[{'all':!![]}];}_0x5c6a49=_['merge']({},_0x5c6a49,_0x5962a6[_0xcdb8('0x52')]);return db['DeskAccount']['find'](_0x5c6a49)[_0xcdb8('0x21')](handleEntityNotFound(_0x2ae1cd,null))['then'](respondWithResult(_0x2ae1cd,null))[_0xcdb8('0x2a')](handleError(_0x2ae1cd,null));};exports[_0xcdb8('0x53')]=function(_0x6844c3,_0x261740){return db[_0xcdb8('0x3a')][_0xcdb8('0x53')](_0x6844c3['body'],{})['then'](respondWithResult(_0x261740,0xc9))[_0xcdb8('0x2a')](handleError(_0x261740,null));};exports[_0xcdb8('0x54')]=function(_0x2493cb,_0x50fc86){if(_0x2493cb[_0xcdb8('0x55')]['id']){delete _0x2493cb['body']['id'];}return db[_0xcdb8('0x3a')][_0xcdb8('0x56')]({'where':{'id':_0x2493cb[_0xcdb8('0x50')]['id']}})['then'](handleEntityNotFound(_0x50fc86,null))[_0xcdb8('0x21')](saveUpdates(_0x2493cb['body'],null))[_0xcdb8('0x21')](respondWithResult(_0x50fc86,null))[_0xcdb8('0x2a')](handleError(_0x50fc86,null));};exports[_0xcdb8('0x35')]=function(_0x30ce18,_0x36bab3){return db[_0xcdb8('0x3a')][_0xcdb8('0x56')]({'where':{'id':_0x30ce18['params']['id']}})[_0xcdb8('0x21')](handleEntityNotFound(_0x36bab3,null))[_0xcdb8('0x21')](removeEntity(_0x36bab3,null))[_0xcdb8('0x2a')](handleError(_0x36bab3,null));};exports[_0xcdb8('0x57')]=function(_0x40717e,_0xccc66c,_0x121e72){var _0x11d60e={};var _0x47716a={};var _0x2fcf85;var _0x3b05a7;return db[_0xcdb8('0x3a')]['findOne']({'where':{'id':_0x40717e[_0xcdb8('0x50')]['id']}})[_0xcdb8('0x21')](handleEntityNotFound(_0xccc66c,null))[_0xcdb8('0x21')](function(_0x1ff743){if(_0x1ff743){_0x2fcf85=_0x1ff743;_0x47716a[_0xcdb8('0x3e')]=_[_0xcdb8('0x40')](db[_0xcdb8('0x58')][_0xcdb8('0x3b')]);_0x47716a['query']=_['keys'](_0x40717e[_0xcdb8('0x3f')]);_0x47716a['filters']=_[_0xcdb8('0x42')](_0x47716a['model'],_0x47716a['query']);_0x11d60e[_0xcdb8('0x43')]=_[_0xcdb8('0x42')](_0x47716a[_0xcdb8('0x3e')],qs[_0xcdb8('0x44')](_0x40717e[_0xcdb8('0x3f')][_0xcdb8('0x44')]));_0x11d60e['attributes']=_0x11d60e[_0xcdb8('0x43')][_0xcdb8('0x51')]?_0x11d60e['attributes']:_0x47716a[_0xcdb8('0x3e')];_0x11d60e[_0xcdb8('0x45')]=qs['sort'](_0x40717e[_0xcdb8('0x3f')][_0xcdb8('0x46')]);_0x11d60e[_0xcdb8('0x47')]=qs[_0xcdb8('0x41')](_[_0xcdb8('0x48')](_0x40717e[_0xcdb8('0x3f')],_0x47716a[_0xcdb8('0x41')]));if(_0x40717e['query'][_0xcdb8('0x49')]){_0x11d60e[_0xcdb8('0x47')]=_[_0xcdb8('0x4a')](_0x11d60e[_0xcdb8('0x47')],{'$or':_[_0xcdb8('0x39')](_0x11d60e[_0xcdb8('0x43')],function(_0x2bff3d){var _0x553460={};_0x553460[_0x2bff3d]={'$like':'%'+_0x40717e[_0xcdb8('0x3f')][_0xcdb8('0x49')]+'%'};return _0x553460;})});}_0x11d60e=_[_0xcdb8('0x4a')]({},_0x11d60e,_0x40717e[_0xcdb8('0x52')]);return _0x2fcf85[_0xcdb8('0x57')](_0x11d60e);}})['then'](function(_0x42df82){if(_0x42df82){_0x3b05a7=_0x42df82[_0xcdb8('0x51')];if(!_0x40717e['query']['hasOwnProperty'](_0xcdb8('0x59'))){_0x11d60e[_0xcdb8('0x31')]=qs[_0xcdb8('0x31')](_0x40717e['query'][_0xcdb8('0x31')]);_0x11d60e[_0xcdb8('0x30')]=qs[_0xcdb8('0x30')](_0x40717e[_0xcdb8('0x3f')]['offset']);}return _0x2fcf85[_0xcdb8('0x57')](_0x11d60e);}})[_0xcdb8('0x21')](function(_0x5eb9a8){if(_0x5eb9a8){return _0x5eb9a8?{'count':_0x3b05a7,'rows':_0x5eb9a8}:null;}})['then'](respondWithResult(_0xccc66c,null))[_0xcdb8('0x2a')](handleError(_0xccc66c,null));};exports['addConfiguration']=function(_0x20086b,_0x17f24c,_0x2c043e){if(_0x20086b[_0xcdb8('0x55')]['id']){delete _0x20086b[_0xcdb8('0x55')]['id'];}return db[_0xcdb8('0x3a')][_0xcdb8('0x5a')]({'where':{'id':_0x20086b[_0xcdb8('0x50')]['id']}})['then'](handleEntityNotFound(_0x17f24c,null))[_0xcdb8('0x21')](function(_0x52fdf5){if(_0x52fdf5){_0x20086b[_0xcdb8('0x55')][_0xcdb8('0x5b')]=_0x52fdf5['id'];_0x20086b[_0xcdb8('0x55')]['Subjects']=integrations[_0xcdb8('0x5c')](_0x20086b['body'][_0xcdb8('0x5d')],_0x20086b['body']['type']);_0x20086b[_0xcdb8('0x55')]['Descriptions']=integrations['getDescriptions'](_0x20086b['body'][_0xcdb8('0x5d')],_0x20086b[_0xcdb8('0x55')][_0xcdb8('0x3d')]);return db[_0xcdb8('0x58')][_0xcdb8('0x53')](_0x20086b[_0xcdb8('0x55')],{'include':[{'model':db[_0xcdb8('0x5e')],'as':_0xcdb8('0x5f')},{'model':db[_0xcdb8('0x5e')],'as':_0xcdb8('0x60')}]});}return null;})[_0xcdb8('0x21')](respondWithResult(_0x17f24c,null))[_0xcdb8('0x2a')](handleError(_0x17f24c,null));};exports[_0xcdb8('0x61')]=function(_0x469e81,_0x8c5784,_0x3a57f6){var _0x4e84a1=[{'name':_0xcdb8('0x62'),'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 _0x203acb='';return db[_0xcdb8('0x3a')]['findOne']({'where':{'id':_0x469e81[_0xcdb8('0x50')]['id']},'attributes':['id',_0xcdb8('0x63'),_0xcdb8('0x64'),_0xcdb8('0x65'),_0xcdb8('0x66'),_0xcdb8('0x67'),_0xcdb8('0x68'),'token',_0xcdb8('0x69')]})[_0xcdb8('0x21')](handleEntityNotFound(_0x8c5784,null))[_0xcdb8('0x21')](function(_0x3324b8){if(_0x3324b8){_0x203acb=_0x3324b8[_0xcdb8('0x63')];var _0x5a4315=_0x203acb[_0xcdb8('0x6a')](-0x1);if(_0x5a4315==='/'){_0x203acb=_0x203acb['substring'](0x0,_0x203acb[_0xcdb8('0x6b')](_0x5a4315));}var _0x8ed0e={'method':_0xcdb8('0x6c'),'uri':util[_0xcdb8('0x6d')]('%s/custom_fields',_0x203acb),'headers':{'Content-Type':_0xcdb8('0x6e'),'Accept':'application/json'},'json':!![]};if(_0x3324b8['authType']===_0xcdb8('0x6f')){_0x8ed0e['headers'][_0xcdb8('0x70')]=util['format'](_0xcdb8('0x71'),new Buffer(util[_0xcdb8('0x6d')](_0xcdb8('0x72'),_0x3324b8['username'],_0x3324b8[_0xcdb8('0x66')]))['toString'](_0xcdb8('0x73')));}return rp(_0x8ed0e)[_0xcdb8('0x21')](function(_0x5c04e6){return _0x4e84a1[_0xcdb8('0x74')](_[_0xcdb8('0x39')](_0x5c04e6[_0xcdb8('0x75')]['entries'],function(_0x2504f1){return{'id':_0x2504f1[_0xcdb8('0x36')],'name':_0x2504f1['name'],'type':_0x2504f1[_0xcdb8('0x3d')],'active':_0x2504f1[_0xcdb8('0x76')],'label':_0x2504f1[_0xcdb8('0x77')],'custom':!![]};}));});}})['then'](function(_0x1ff12c){return{'count':_0x1ff12c[_0xcdb8('0x51')],'rows':_0x1ff12c};})['then'](respondWithResult(_0x8c5784,null))[_0xcdb8('0x2a')](function(_0x29538f){var _0x2e3bb5=_0x469e81[_0xcdb8('0x3f')]['test']?0x1f4:_0x29538f[_0xcdb8('0x78')]||0x1f4;logger[_0xcdb8('0x26')](_0xcdb8('0x79'),'getFields',_0x2e3bb5,JSON[_0xcdb8('0x7a')](_0x29538f));delete _0x29538f[_0xcdb8('0x36')];if(_0x2e3bb5===0x191){_0x2e3bb5=0x190;}_0x8c5784[_0xcdb8('0x2c')](_0x2e3bb5)[_0xcdb8('0x37')](_0x469e81['query'][_0xcdb8('0x7b')]?{'message':_0xcdb8('0x7c'),'statusCode':_0x29538f[_0xcdb8('0x78')]}:_0x29538f);});};