Built motion from commit 53172ac8.|2.6.30
[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 _0x254b=['headers','username','base64','entries','label','statusCode','stringify','send','test','Wrong\x20credentials','eml-format','zip-dir','request-promise','moment','mustache','path','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../config/license/util','../../components/integrations/configuration','sendStatus','status','undefined','limit','offset','count','set','Content-Range','json','apply','reject','save','update','destroy','then','end','error','stack','index','DeskAccount','rawAttributes','fieldName','key','map','name','query','keys','filters','model','attributes','intersection','fields','length','hasOwnProperty','nolimit','sort','pick','where','merge','type','VIRTUAL','filter','includeAll','include','findAll','rows','catch','params','find','create','body','getConfigurations','findOne','DeskConfiguration','order','options','addConfiguration','AccountId','getSubjects','channel','Descriptions','getDescriptions','DeskField','Subjects','getFields','priority','remoteUri','authType','password','consumerKey','tokenSecret','slice','substring','lastIndexOf','GET','format','%s/custom_fields','application/json'];(function(_0x883c6c,_0x2adaa2){var _0x123f5a=function(_0xfd9b21){while(--_0xfd9b21){_0x883c6c['push'](_0x883c6c['shift']());}};_0x123f5a(++_0x2adaa2);}(_0x254b,0x157));var _0xb254=function(_0x173452,_0x3aa870){_0x173452=_0x173452-0x0;var _0xee3fd0=_0x254b[_0x173452];return _0xee3fd0;};'use strict';var emlformat=require(_0xb254('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xb254('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xb254('0x2'));var moment=require(_0xb254('0x3'));var BPromise=require('bluebird');var Mustache=require(_0xb254('0x4'));var util=require('util');var path=require(_0xb254('0x5'));var sox=require(_0xb254('0x6'));var csv=require(_0xb254('0x7'));var ejs=require(_0xb254('0x8'));var fs=require('fs');var fs_extra=require(_0xb254('0x9'));var _=require(_0xb254('0xa'));var squel=require(_0xb254('0xb'));var crypto=require('crypto');var jsforce=require(_0xb254('0xc'));var deskjs=require(_0xb254('0xd'));var toCsv=require(_0xb254('0x7'));var querystring=require('querystring');var Papa=require(_0xb254('0xe'));var Redis=require(_0xb254('0xf'));var authService=require(_0xb254('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0xb254('0x11'));var hardwareService=require(_0xb254('0x12'));var logger=require('../../config/logger')('api');var utils=require(_0xb254('0x13'));var config=require(_0xb254('0x14'));var licenseUtil=require(_0xb254('0x15'));var db=require('../../mysqldb')['db'];var integrations=require(_0xb254('0x16'));function respondWithStatusCode(_0x3745fc,_0x5dffab){_0x5dffab=_0x5dffab||0xcc;return function(_0x4bde6d){if(_0x4bde6d){return _0x3745fc[_0xb254('0x17')](_0x5dffab);}return _0x3745fc['status'](_0x5dffab)['end']();};}function respondWithResult(_0x4d6ed8,_0x3d2eaf){_0x3d2eaf=_0x3d2eaf||0xc8;return function(_0x137627){if(_0x137627){return _0x4d6ed8[_0xb254('0x18')](_0x3d2eaf)['json'](_0x137627);}};}function respondWithFilteredResult(_0x1c04ba,_0x5ecd03){return function(_0x2e33fb){if(_0x2e33fb){var _0x452ce3=typeof _0x5ecd03['offset']===_0xb254('0x19')&&typeof _0x5ecd03[_0xb254('0x1a')]===_0xb254('0x19');var _0xbd9b71=_0x2e33fb['count'];var _0x510012=_0x452ce3?0x0:_0x5ecd03[_0xb254('0x1b')];var _0x48e0a0=_0x452ce3?_0x2e33fb[_0xb254('0x1c')]:_0x5ecd03[_0xb254('0x1b')]+_0x5ecd03[_0xb254('0x1a')];var _0x133eac;if(_0x48e0a0>=_0xbd9b71){_0x48e0a0=_0xbd9b71;_0x133eac=0xc8;}else{_0x133eac=0xce;}_0x1c04ba[_0xb254('0x18')](_0x133eac);return _0x1c04ba[_0xb254('0x1d')](_0xb254('0x1e'),_0x510012+'-'+_0x48e0a0+'/'+_0xbd9b71)[_0xb254('0x1f')](_0x2e33fb);}return null;};}function patchUpdates(_0x452d73){return function(_0x136ae5){try{jsonpatch[_0xb254('0x20')](_0x136ae5,_0x452d73,!![]);}catch(_0x225535){return BPromise[_0xb254('0x21')](_0x225535);}return _0x136ae5[_0xb254('0x22')]();};}function saveUpdates(_0x47e91e,_0x294ce6){return function(_0x118817){if(_0x118817){return _0x118817[_0xb254('0x23')](_0x47e91e)['then'](function(_0x172d6f){return _0x172d6f;});}return null;};}function removeEntity(_0x190d5e,_0x5889f1){return function(_0x3cf626){if(_0x3cf626){return _0x3cf626[_0xb254('0x24')]()[_0xb254('0x25')](function(){_0x190d5e['status'](0xcc)[_0xb254('0x26')]();});}};}function handleEntityNotFound(_0x56650d,_0x2a47cf){return function(_0x5d4532){if(!_0x5d4532){_0x56650d['sendStatus'](0x194);}return _0x5d4532;};}function handleError(_0x312a8a,_0x405738){_0x405738=_0x405738||0x1f4;return function(_0x5c7e05){logger[_0xb254('0x27')](_0x5c7e05[_0xb254('0x28')]);if(_0x5c7e05['name']){delete _0x5c7e05['name'];}_0x312a8a[_0xb254('0x18')](_0x405738)['send'](_0x5c7e05);};}exports[_0xb254('0x29')]=function(_0xc8c479,_0x524ff9){var _0xa8a450={},_0x2f2d97={},_0x1a6a72={'count':0x0,'rows':[]};var _0x464e62=_['map'](db[_0xb254('0x2a')][_0xb254('0x2b')],function(_0x53fe35){return{'name':_0x53fe35[_0xb254('0x2c')],'type':_0x53fe35['type'][_0xb254('0x2d')]};});_0x2f2d97['model']=_[_0xb254('0x2e')](_0x464e62,_0xb254('0x2f'));_0x2f2d97[_0xb254('0x30')]=_[_0xb254('0x31')](_0xc8c479['query']);_0x2f2d97[_0xb254('0x32')]=_['intersection'](_0x2f2d97[_0xb254('0x33')],_0x2f2d97[_0xb254('0x30')]);_0xa8a450[_0xb254('0x34')]=_[_0xb254('0x35')](_0x2f2d97[_0xb254('0x33')],qs['fields'](_0xc8c479[_0xb254('0x30')][_0xb254('0x36')]));_0xa8a450['attributes']=_0xa8a450[_0xb254('0x34')][_0xb254('0x37')]?_0xa8a450['attributes']:_0x2f2d97[_0xb254('0x33')];if(!_0xc8c479[_0xb254('0x30')][_0xb254('0x38')](_0xb254('0x39'))){_0xa8a450[_0xb254('0x1a')]=qs[_0xb254('0x1a')](_0xc8c479[_0xb254('0x30')]['limit']);_0xa8a450['offset']=qs[_0xb254('0x1b')](_0xc8c479[_0xb254('0x30')][_0xb254('0x1b')]);}_0xa8a450['order']=qs[_0xb254('0x3a')](_0xc8c479[_0xb254('0x30')][_0xb254('0x3a')]);_0xa8a450['where']=qs[_0xb254('0x32')](_[_0xb254('0x3b')](_0xc8c479[_0xb254('0x30')],_0x2f2d97[_0xb254('0x32')]),_0x464e62);if(_0xc8c479[_0xb254('0x30')]['filter']){_0xa8a450[_0xb254('0x3c')]=_[_0xb254('0x3d')](_0xa8a450[_0xb254('0x3c')],{'$or':_[_0xb254('0x2e')](_0x464e62,function(_0x3d5ea2){if(_0x3d5ea2[_0xb254('0x3e')]!==_0xb254('0x3f')){var _0x6b5c50={};_0x6b5c50[_0x3d5ea2[_0xb254('0x2f')]]={'$like':'%'+_0xc8c479[_0xb254('0x30')][_0xb254('0x40')]+'%'};return _0x6b5c50;}})});}_0xa8a450=_[_0xb254('0x3d')]({},_0xa8a450,_0xc8c479['options']);var _0x3b6f10={'where':_0xa8a450['where']};return db[_0xb254('0x2a')][_0xb254('0x1c')](_0x3b6f10)[_0xb254('0x25')](function(_0x291ebd){_0x1a6a72[_0xb254('0x1c')]=_0x291ebd;if(_0xc8c479[_0xb254('0x30')][_0xb254('0x41')]){_0xa8a450[_0xb254('0x42')]=[{'all':!![]}];}return db[_0xb254('0x2a')][_0xb254('0x43')](_0xa8a450);})['then'](function(_0x490735){_0x1a6a72[_0xb254('0x44')]=_0x490735;return _0x1a6a72;})[_0xb254('0x25')](respondWithFilteredResult(_0x524ff9,_0xa8a450))[_0xb254('0x45')](handleError(_0x524ff9,null));};exports['show']=function(_0xcaa50d,_0x27a801){var _0x2675f8={'raw':![],'where':{'id':_0xcaa50d[_0xb254('0x46')]['id']}},_0x54dd52={};_0x54dd52['model']=_[_0xb254('0x31')](db[_0xb254('0x2a')]['rawAttributes']);_0x54dd52[_0xb254('0x30')]=_[_0xb254('0x31')](_0xcaa50d['query']);_0x54dd52[_0xb254('0x32')]=_['intersection'](_0x54dd52[_0xb254('0x33')],_0x54dd52['query']);_0x2675f8[_0xb254('0x34')]=_[_0xb254('0x35')](_0x54dd52['model'],qs[_0xb254('0x36')](_0xcaa50d[_0xb254('0x30')][_0xb254('0x36')]));_0x2675f8['attributes']=_0x2675f8[_0xb254('0x34')][_0xb254('0x37')]?_0x2675f8[_0xb254('0x34')]:_0x54dd52[_0xb254('0x33')];if(_0xcaa50d[_0xb254('0x30')][_0xb254('0x41')]){_0x2675f8[_0xb254('0x42')]=[{'all':!![]}];}_0x2675f8=_['merge']({},_0x2675f8,_0xcaa50d['options']);return db[_0xb254('0x2a')][_0xb254('0x47')](_0x2675f8)['then'](handleEntityNotFound(_0x27a801,null))[_0xb254('0x25')](respondWithResult(_0x27a801,null))[_0xb254('0x45')](handleError(_0x27a801,null));};exports[_0xb254('0x48')]=function(_0x9dc11d,_0x40588d){return db[_0xb254('0x2a')]['create'](_0x9dc11d[_0xb254('0x49')],{})['then'](respondWithResult(_0x40588d,0xc9))[_0xb254('0x45')](handleError(_0x40588d,null));};exports[_0xb254('0x23')]=function(_0x2f2ed0,_0x59e99b){if(_0x2f2ed0[_0xb254('0x49')]['id']){delete _0x2f2ed0[_0xb254('0x49')]['id'];}return db[_0xb254('0x2a')][_0xb254('0x47')]({'where':{'id':_0x2f2ed0[_0xb254('0x46')]['id']}})[_0xb254('0x25')](handleEntityNotFound(_0x59e99b,null))[_0xb254('0x25')](saveUpdates(_0x2f2ed0[_0xb254('0x49')],null))[_0xb254('0x25')](respondWithResult(_0x59e99b,null))[_0xb254('0x45')](handleError(_0x59e99b,null));};exports[_0xb254('0x24')]=function(_0x254263,_0x3a1cb4){return db[_0xb254('0x2a')][_0xb254('0x47')]({'where':{'id':_0x254263['params']['id']}})[_0xb254('0x25')](handleEntityNotFound(_0x3a1cb4,null))[_0xb254('0x25')](removeEntity(_0x3a1cb4,null))[_0xb254('0x45')](handleError(_0x3a1cb4,null));};exports[_0xb254('0x4a')]=function(_0xdb6e33,_0x47e8c8,_0xe8b518){var _0xee485d={};var _0x142ee1={};var _0x5e8f9f;var _0x3ab176;return db['DeskAccount'][_0xb254('0x4b')]({'where':{'id':_0xdb6e33[_0xb254('0x46')]['id']}})[_0xb254('0x25')](handleEntityNotFound(_0x47e8c8,null))['then'](function(_0x4bf971){if(_0x4bf971){_0x5e8f9f=_0x4bf971;_0x142ee1[_0xb254('0x33')]=_['keys'](db[_0xb254('0x4c')][_0xb254('0x2b')]);_0x142ee1[_0xb254('0x30')]=_[_0xb254('0x31')](_0xdb6e33[_0xb254('0x30')]);_0x142ee1['filters']=_[_0xb254('0x35')](_0x142ee1[_0xb254('0x33')],_0x142ee1[_0xb254('0x30')]);_0xee485d[_0xb254('0x34')]=_[_0xb254('0x35')](_0x142ee1['model'],qs[_0xb254('0x36')](_0xdb6e33['query'][_0xb254('0x36')]));_0xee485d[_0xb254('0x34')]=_0xee485d['attributes'][_0xb254('0x37')]?_0xee485d[_0xb254('0x34')]:_0x142ee1[_0xb254('0x33')];_0xee485d[_0xb254('0x4d')]=qs[_0xb254('0x3a')](_0xdb6e33[_0xb254('0x30')][_0xb254('0x3a')]);_0xee485d[_0xb254('0x3c')]=qs[_0xb254('0x32')](_[_0xb254('0x3b')](_0xdb6e33[_0xb254('0x30')],_0x142ee1[_0xb254('0x32')]));if(_0xdb6e33['query'][_0xb254('0x40')]){_0xee485d[_0xb254('0x3c')]=_[_0xb254('0x3d')](_0xee485d['where'],{'$or':_['map'](_0xee485d['attributes'],function(_0x201c41){var _0x5d5e2c={};_0x5d5e2c[_0x201c41]={'$like':'%'+_0xdb6e33[_0xb254('0x30')]['filter']+'%'};return _0x5d5e2c;})});}_0xee485d=_['merge']({},_0xee485d,_0xdb6e33[_0xb254('0x4e')]);return _0x5e8f9f[_0xb254('0x4a')](_0xee485d);}})[_0xb254('0x25')](function(_0x27db67){if(_0x27db67){_0x3ab176=_0x27db67[_0xb254('0x37')];if(!_0xdb6e33['query'][_0xb254('0x38')](_0xb254('0x39'))){_0xee485d[_0xb254('0x1a')]=qs[_0xb254('0x1a')](_0xdb6e33[_0xb254('0x30')][_0xb254('0x1a')]);_0xee485d[_0xb254('0x1b')]=qs[_0xb254('0x1b')](_0xdb6e33[_0xb254('0x30')][_0xb254('0x1b')]);}return _0x5e8f9f['getConfigurations'](_0xee485d);}})[_0xb254('0x25')](function(_0x31d2eb){if(_0x31d2eb){return _0x31d2eb?{'count':_0x3ab176,'rows':_0x31d2eb}:null;}})['then'](respondWithResult(_0x47e8c8,null))['catch'](handleError(_0x47e8c8,null));};exports[_0xb254('0x4f')]=function(_0x1650a0,_0x43c929,_0x392af5){if(_0x1650a0['body']['id']){delete _0x1650a0[_0xb254('0x49')]['id'];}return db[_0xb254('0x2a')][_0xb254('0x4b')]({'where':{'id':_0x1650a0[_0xb254('0x46')]['id']}})[_0xb254('0x25')](handleEntityNotFound(_0x43c929,null))[_0xb254('0x25')](function(_0x48148e){if(_0x48148e){_0x1650a0[_0xb254('0x49')][_0xb254('0x50')]=_0x48148e['id'];_0x1650a0[_0xb254('0x49')]['Subjects']=integrations[_0xb254('0x51')](_0x1650a0[_0xb254('0x49')][_0xb254('0x52')],_0x1650a0[_0xb254('0x49')][_0xb254('0x3e')]);_0x1650a0[_0xb254('0x49')][_0xb254('0x53')]=integrations[_0xb254('0x54')](_0x1650a0[_0xb254('0x49')][_0xb254('0x52')],_0x1650a0[_0xb254('0x49')][_0xb254('0x3e')]);return db[_0xb254('0x4c')][_0xb254('0x48')](_0x1650a0[_0xb254('0x49')],{'include':[{'model':db[_0xb254('0x55')],'as':_0xb254('0x56')},{'model':db[_0xb254('0x55')],'as':'Descriptions'}]});}return null;})['then'](respondWithResult(_0x43c929,null))[_0xb254('0x45')](handleError(_0x43c929,null));};exports[_0xb254('0x57')]=function(_0x71ffcc,_0x1b76e2,_0x1777cf){var _0xc4720d=[{'name':_0xb254('0x58'),'label':_0xb254('0x58'),'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 _0xedee3b='';return db[_0xb254('0x2a')]['findOne']({'where':{'id':_0x71ffcc[_0xb254('0x46')]['id']},'attributes':['id',_0xb254('0x59'),_0xb254('0x5a'),'username',_0xb254('0x5b'),_0xb254('0x5c'),'consumerSecret','token',_0xb254('0x5d')]})[_0xb254('0x25')](handleEntityNotFound(_0x1b76e2,null))[_0xb254('0x25')](function(_0x141674){if(_0x141674){_0xedee3b=_0x141674[_0xb254('0x59')];var _0x7334cf=_0xedee3b[_0xb254('0x5e')](-0x1);if(_0x7334cf==='/'){_0xedee3b=_0xedee3b[_0xb254('0x5f')](0x0,_0xedee3b[_0xb254('0x60')](_0x7334cf));}var _0x13d532={'method':_0xb254('0x61'),'uri':util[_0xb254('0x62')](_0xb254('0x63'),_0xedee3b),'headers':{'Content-Type':_0xb254('0x64'),'Accept':_0xb254('0x64')},'json':!![]};if(_0x141674[_0xb254('0x5a')]==='basic'){_0x13d532[_0xb254('0x65')]['Authorization']=util[_0xb254('0x62')]('Basic\x20%s',new Buffer(util[_0xb254('0x62')]('%s:%s',_0x141674[_0xb254('0x66')],_0x141674[_0xb254('0x5b')]))['toString'](_0xb254('0x67')));}return rp(_0x13d532)['then'](function(_0x2f7c22){return _0xc4720d['concat'](_[_0xb254('0x2e')](_0x2f7c22['_embedded'][_0xb254('0x68')],function(_0x5b6bfe){return{'id':_0x5b6bfe['name'],'name':_0x5b6bfe['name'],'type':_0x5b6bfe[_0xb254('0x3e')],'active':_0x5b6bfe['active'],'label':_0x5b6bfe[_0xb254('0x69')],'custom':!![]};}));});}})[_0xb254('0x25')](function(_0x4234fa){return{'count':_0x4234fa[_0xb254('0x37')],'rows':_0x4234fa};})[_0xb254('0x25')](respondWithResult(_0x1b76e2,null))[_0xb254('0x45')](function(_0x4de6a5){var _0x18d7c8=_0x71ffcc[_0xb254('0x30')]['test']?0x1f4:_0x4de6a5[_0xb254('0x6a')]||0x1f4;logger['error']('getFields,\x20%s,\x20%s,\x20%s',_0xb254('0x57'),_0x18d7c8,JSON[_0xb254('0x6b')](_0x4de6a5));delete _0x4de6a5[_0xb254('0x2f')];if(_0x18d7c8===0x191){_0x18d7c8=0x190;}_0x1b76e2[_0xb254('0x18')](_0x18d7c8)[_0xb254('0x6c')](_0x71ffcc[_0xb254('0x30')][_0xb254('0x6d')]?{'message':_0xb254('0x6e'),'statusCode':_0x4de6a5[_0xb254('0x6a')]}:_0x4de6a5);});};