Built motion from commit 3c2ce842.|2.6.31
[motion2.git] / server / api / squareOdbc / squareOdbc.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 _0xd340=['../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','limit','undefined','count','set','Content-Range','json','apply','reject','save','update','destroy','then','get','UserProfileResource','stack','name','send','index','map','SquareOdbc','rawAttributes','fieldName','type','model','query','keys','attributes','intersection','fields','hasOwnProperty','nolimit','offset','order','sort','where','filters','merge','options','includeAll','findAll','rows','catch','length','include','find','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','test','dsn','closeSync','rimraf','fast-json-patch','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api'];(function(_0x545ce5,_0x13b27a){var _0x1fa3f1=function(_0x18317f){while(--_0x18317f){_0x545ce5['push'](_0x545ce5['shift']());}};_0x1fa3f1(++_0x13b27a);}(_0xd340,0x194));var _0x0d34=function(_0x4d41c9,_0x51fbd9){_0x4d41c9=_0x4d41c9-0x0;var _0x1f1b6d=_0xd340[_0x4d41c9];return _0x1f1b6d;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x0d34('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x0d34('0x1'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x0d34('0x2'));var Mustache=require(_0x0d34('0x3'));var util=require(_0x0d34('0x4'));var path=require(_0x0d34('0x5'));var sox=require('sox');var csv=require(_0x0d34('0x6'));var ejs=require(_0x0d34('0x7'));var fs=require('fs');var fs_extra=require(_0x0d34('0x8'));var _=require(_0x0d34('0x9'));var squel=require(_0x0d34('0xa'));var crypto=require(_0x0d34('0xb'));var jsforce=require(_0x0d34('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x0d34('0x6'));var querystring=require('querystring');var Papa=require(_0x0d34('0xd'));var Redis=require(_0x0d34('0xe'));var authService=require(_0x0d34('0xf'));var qs=require(_0x0d34('0x10'));var as=require(_0x0d34('0x11'));var hardwareService=require(_0x0d34('0x12'));var logger=require(_0x0d34('0x13'))(_0x0d34('0x14'));var utils=require(_0x0d34('0x15'));var config=require(_0x0d34('0x16'));var licenseUtil=require(_0x0d34('0x17'));var db=require(_0x0d34('0x18'))['db'];function respondWithStatusCode(_0x5b0980,_0x4d4241){_0x4d4241=_0x4d4241||0xcc;return function(_0x3ae293){if(_0x3ae293){return _0x5b0980[_0x0d34('0x19')](_0x4d4241);}return _0x5b0980[_0x0d34('0x1a')](_0x4d4241)[_0x0d34('0x1b')]();};}function respondWithResult(_0x3bcc89,_0x389328){_0x389328=_0x389328||0xc8;return function(_0x354ba1){if(_0x354ba1){return _0x3bcc89[_0x0d34('0x1a')](_0x389328)['json'](_0x354ba1);}};}function respondWithFilteredResult(_0x2f2aa0,_0x156817){return function(_0x5abaec){if(_0x5abaec){var _0x49a772=typeof _0x156817['offset']==='undefined'&&typeof _0x156817[_0x0d34('0x1c')]===_0x0d34('0x1d');var _0x3f8e95=_0x5abaec[_0x0d34('0x1e')];var _0x5f52b4=_0x49a772?0x0:_0x156817['offset'];var _0x2ef096=_0x49a772?_0x5abaec[_0x0d34('0x1e')]:_0x156817['offset']+_0x156817[_0x0d34('0x1c')];var _0x64305b;if(_0x2ef096>=_0x3f8e95){_0x2ef096=_0x3f8e95;_0x64305b=0xc8;}else{_0x64305b=0xce;}_0x2f2aa0[_0x0d34('0x1a')](_0x64305b);return _0x2f2aa0[_0x0d34('0x1f')](_0x0d34('0x20'),_0x5f52b4+'-'+_0x2ef096+'/'+_0x3f8e95)[_0x0d34('0x21')](_0x5abaec);}return null;};}function patchUpdates(_0x430589){return function(_0x52ae1f){try{jsonpatch[_0x0d34('0x22')](_0x52ae1f,_0x430589,!![]);}catch(_0x295a08){return BPromise[_0x0d34('0x23')](_0x295a08);}return _0x52ae1f[_0x0d34('0x24')]();};}function saveUpdates(_0x44e687,_0x5cd906){return function(_0x3d3d35){if(_0x3d3d35){return _0x3d3d35[_0x0d34('0x25')](_0x44e687)['then'](function(_0x3caff){return _0x3caff;});}return null;};}function removeEntity(_0x26e20d,_0x1d273c){return function(_0x50daa9){if(_0x50daa9){return _0x50daa9[_0x0d34('0x26')]()[_0x0d34('0x27')](function(){var _0x4261d6=_0x50daa9[_0x0d34('0x28')]({'plain':!![]});var _0x5b0912='ODBC';return db[_0x0d34('0x29')]['destroy']({'where':{'type':_0x5b0912,'resourceId':_0x4261d6['id']}})[_0x0d34('0x27')](function(){return _0x50daa9;});})[_0x0d34('0x27')](function(){_0x26e20d[_0x0d34('0x1a')](0xcc)[_0x0d34('0x1b')]();});}};}function handleEntityNotFound(_0x1d0293,_0x3062f3){return function(_0x28a629){if(!_0x28a629){_0x1d0293['sendStatus'](0x194);}return _0x28a629;};}function handleError(_0x134eff,_0x53e780){_0x53e780=_0x53e780||0x1f4;return function(_0x225112){logger['error'](_0x225112[_0x0d34('0x2a')]);if(_0x225112[_0x0d34('0x2b')]){delete _0x225112['name'];}_0x134eff[_0x0d34('0x1a')](_0x53e780)[_0x0d34('0x2c')](_0x225112);};}exports[_0x0d34('0x2d')]=function(_0x3d3f3b,_0x2f21a9){var _0x592ee1={},_0x132b04={},_0x5dd5f3={'count':0x0,'rows':[]};var _0x286096=_[_0x0d34('0x2e')](db[_0x0d34('0x2f')][_0x0d34('0x30')],function(_0x29078b){return{'name':_0x29078b[_0x0d34('0x31')],'type':_0x29078b[_0x0d34('0x32')]['key']};});_0x132b04[_0x0d34('0x33')]=_['map'](_0x286096,_0x0d34('0x2b'));_0x132b04[_0x0d34('0x34')]=_[_0x0d34('0x35')](_0x3d3f3b[_0x0d34('0x34')]);_0x132b04['filters']=_['intersection'](_0x132b04[_0x0d34('0x33')],_0x132b04[_0x0d34('0x34')]);_0x592ee1[_0x0d34('0x36')]=_[_0x0d34('0x37')](_0x132b04[_0x0d34('0x33')],qs['fields'](_0x3d3f3b[_0x0d34('0x34')][_0x0d34('0x38')]));_0x592ee1[_0x0d34('0x36')]=_0x592ee1[_0x0d34('0x36')]['length']?_0x592ee1['attributes']:_0x132b04[_0x0d34('0x33')];if(!_0x3d3f3b[_0x0d34('0x34')][_0x0d34('0x39')](_0x0d34('0x3a'))){_0x592ee1[_0x0d34('0x1c')]=qs[_0x0d34('0x1c')](_0x3d3f3b['query'][_0x0d34('0x1c')]);_0x592ee1[_0x0d34('0x3b')]=qs['offset'](_0x3d3f3b[_0x0d34('0x34')]['offset']);}_0x592ee1[_0x0d34('0x3c')]=qs[_0x0d34('0x3d')](_0x3d3f3b['query'][_0x0d34('0x3d')]);_0x592ee1[_0x0d34('0x3e')]=qs[_0x0d34('0x3f')](_['pick'](_0x3d3f3b[_0x0d34('0x34')],_0x132b04[_0x0d34('0x3f')]),_0x286096);if(_0x3d3f3b[_0x0d34('0x34')]['filter']){_0x592ee1[_0x0d34('0x3e')]=_[_0x0d34('0x40')](_0x592ee1['where'],{'$or':_[_0x0d34('0x2e')](_0x286096,function(_0x370e5b){if(_0x370e5b[_0x0d34('0x32')]!=='VIRTUAL'){var _0x4cac94={};_0x4cac94[_0x370e5b[_0x0d34('0x2b')]]={'$like':'%'+_0x3d3f3b[_0x0d34('0x34')]['filter']+'%'};return _0x4cac94;}})});}_0x592ee1=_[_0x0d34('0x40')]({},_0x592ee1,_0x3d3f3b[_0x0d34('0x41')]);var _0x3d7e98={'where':_0x592ee1[_0x0d34('0x3e')]};return db[_0x0d34('0x2f')][_0x0d34('0x1e')](_0x3d7e98)[_0x0d34('0x27')](function(_0x64084f){_0x5dd5f3[_0x0d34('0x1e')]=_0x64084f;if(_0x3d3f3b[_0x0d34('0x34')][_0x0d34('0x42')]){_0x592ee1['include']=[{'all':!![]}];}return db['SquareOdbc'][_0x0d34('0x43')](_0x592ee1);})[_0x0d34('0x27')](function(_0x12705c){_0x5dd5f3[_0x0d34('0x44')]=_0x12705c;return _0x5dd5f3;})[_0x0d34('0x27')](respondWithFilteredResult(_0x2f21a9,_0x592ee1))[_0x0d34('0x45')](handleError(_0x2f21a9,null));};exports['show']=function(_0x31e0f6,_0x4e0d99){var _0x1c2ed1={'raw':!![],'where':{'id':_0x31e0f6['params']['id']}},_0x4eb31c={};_0x4eb31c[_0x0d34('0x33')]=_['keys'](db[_0x0d34('0x2f')][_0x0d34('0x30')]);_0x4eb31c[_0x0d34('0x34')]=_[_0x0d34('0x35')](_0x31e0f6['query']);_0x4eb31c[_0x0d34('0x3f')]=_['intersection'](_0x4eb31c[_0x0d34('0x33')],_0x4eb31c[_0x0d34('0x34')]);_0x1c2ed1[_0x0d34('0x36')]=_[_0x0d34('0x37')](_0x4eb31c[_0x0d34('0x33')],qs[_0x0d34('0x38')](_0x31e0f6[_0x0d34('0x34')][_0x0d34('0x38')]));_0x1c2ed1[_0x0d34('0x36')]=_0x1c2ed1['attributes'][_0x0d34('0x46')]?_0x1c2ed1[_0x0d34('0x36')]:_0x4eb31c[_0x0d34('0x33')];if(_0x31e0f6[_0x0d34('0x34')]['includeAll']){_0x1c2ed1[_0x0d34('0x47')]=[{'all':!![]}];}_0x1c2ed1=_['merge']({},_0x1c2ed1,_0x31e0f6[_0x0d34('0x41')]);return db[_0x0d34('0x2f')][_0x0d34('0x48')](_0x1c2ed1)[_0x0d34('0x27')](handleEntityNotFound(_0x4e0d99,null))[_0x0d34('0x27')](respondWithResult(_0x4e0d99,null))[_0x0d34('0x45')](handleError(_0x4e0d99,null));};exports[_0x0d34('0x49')]=function(_0x39bf92,_0x34d53d){return db[_0x0d34('0x2f')][_0x0d34('0x49')](_0x39bf92[_0x0d34('0x4a')],{})[_0x0d34('0x27')](function(_0x3e3f23){var _0x143b81=_0x39bf92['user'][_0x0d34('0x28')]({'plain':!![]});if(!_0x143b81)throw new Error(_0x0d34('0x4b'));if(_0x143b81[_0x0d34('0x4c')]==='user'){var _0x3011c2=_0x3e3f23['get']({'plain':!![]});var _0x2d860e='ODBC';return db['UserProfileSection'][_0x0d34('0x48')]({'where':{'name':_0x2d860e,'userProfileId':_0x143b81[_0x0d34('0x4d')]},'raw':!![]})[_0x0d34('0x27')](function(_0xb4ae8c){if(_0xb4ae8c&&_0xb4ae8c[_0x0d34('0x4e')]===0x0){return db[_0x0d34('0x29')]['create']({'name':_0x3011c2[_0x0d34('0x2b')],'resourceId':_0x3011c2['id'],'type':_0xb4ae8c[_0x0d34('0x2b')],'sectionId':_0xb4ae8c['id']},{})[_0x0d34('0x27')](function(){return _0x3e3f23;});}else{return _0x3e3f23;}})[_0x0d34('0x45')](function(_0x586e72){logger[_0x0d34('0x4f')](_0x0d34('0x50'),_0x586e72);throw _0x586e72;});}return _0x3e3f23;})[_0x0d34('0x27')](respondWithResult(_0x34d53d,0xc9))['catch'](handleError(_0x34d53d,null));};exports[_0x0d34('0x25')]=function(_0x579b46,_0x39f96a){if(_0x579b46[_0x0d34('0x4a')]['id']){delete _0x579b46[_0x0d34('0x4a')]['id'];}return db[_0x0d34('0x2f')][_0x0d34('0x48')]({'where':{'id':_0x579b46[_0x0d34('0x51')]['id']}})[_0x0d34('0x27')](handleEntityNotFound(_0x39f96a,null))[_0x0d34('0x27')](saveUpdates(_0x579b46[_0x0d34('0x4a')],null))['then'](respondWithResult(_0x39f96a,null))['catch'](handleError(_0x39f96a,null));};exports[_0x0d34('0x26')]=function(_0x38c75e,_0x1c3633){return db[_0x0d34('0x2f')][_0x0d34('0x48')]({'where':{'id':_0x38c75e['params']['id']}})[_0x0d34('0x27')](handleEntityNotFound(_0x1c3633,null))[_0x0d34('0x27')](removeEntity(_0x1c3633,null))['catch'](handleError(_0x1c3633,null));};exports[_0x0d34('0x52')]=function(_0x3732f5,_0x5af3da,_0x41ed0f){var _0x592a11;return db[_0x0d34('0x2f')][_0x0d34('0x48')]({'where':{'id':_0x3732f5[_0x0d34('0x51')]['id']},'attributes':['id',_0x0d34('0x53')]})[_0x0d34('0x27')](handleEntityNotFound(_0x5af3da,null))[_0x0d34('0x27')](function(_0xb3ba32){if(_0xb3ba32){var _0x568598=require('odbc')();_0x568598['openSync'](_0xb3ba32['dsn']);_0x568598[_0x0d34('0x54')]();return _0xb3ba32;}})[_0x0d34('0x27')](respondWithResult(_0x5af3da,null))[_0x0d34('0x45')](handleError(_0x5af3da,null));};