e3e83ab5a1d82c586dc62cefe46e91c3d26a47aa
[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 _0x7b9e=['intersection','model','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','VIRTUAL','merge','options','include','findAll','rows','show','params','includeAll','find','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','dsn','openSync','closeSync','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','save','then','destroy','get','ODBC','error','name','send','map','SquareOdbc','rawAttributes','fieldName','type','key','query','keys','filters'];(function(_0x577c8d,_0x420561){var _0x5c7f0d=function(_0x44abef){while(--_0x44abef){_0x577c8d['push'](_0x577c8d['shift']());}};_0x5c7f0d(++_0x420561);}(_0x7b9e,0xdc));var _0xe7b9=function(_0x44f725,_0x8221d2){_0x44f725=_0x44f725-0x0;var _0x315c33=_0x7b9e[_0x44f725];return _0x315c33;};'use strict';var pdf=require(_0xe7b9('0x0'));var emlformat=require(_0xe7b9('0x1'));var rimraf=require(_0xe7b9('0x2'));var zipdir=require(_0xe7b9('0x3'));var jsonpatch=require(_0xe7b9('0x4'));var rp=require(_0xe7b9('0x5'));var moment=require('moment');var BPromise=require(_0xe7b9('0x6'));var Mustache=require(_0xe7b9('0x7'));var util=require(_0xe7b9('0x8'));var path=require(_0xe7b9('0x9'));var sox=require(_0xe7b9('0xa'));var csv=require(_0xe7b9('0xb'));var ejs=require(_0xe7b9('0xc'));var fs=require('fs');var _=require(_0xe7b9('0xd'));var squel=require(_0xe7b9('0xe'));var crypto=require(_0xe7b9('0xf'));var jsforce=require(_0xe7b9('0x10'));var deskjs=require(_0xe7b9('0x11'));var toCsv=require(_0xe7b9('0xb'));var querystring=require('querystring');var Papa=require(_0xe7b9('0x12'));var Redis=require(_0xe7b9('0x13'));var authService=require(_0xe7b9('0x14'));var qs=require(_0xe7b9('0x15'));var as=require(_0xe7b9('0x16'));var hardwareService=require(_0xe7b9('0x17'));var logger=require(_0xe7b9('0x18'))(_0xe7b9('0x19'));var utils=require(_0xe7b9('0x1a'));var config=require(_0xe7b9('0x1b'));var db=require(_0xe7b9('0x1c'))['db'];function respondWithStatusCode(_0x38fd85,_0x503a26){_0x503a26=_0x503a26||0xcc;return function(_0x399cbf){if(_0x399cbf){return _0x38fd85[_0xe7b9('0x1d')](_0x503a26);}return _0x38fd85[_0xe7b9('0x1e')](_0x503a26)[_0xe7b9('0x1f')]();};}function respondWithResult(_0x548c32,_0x133944){_0x133944=_0x133944||0xc8;return function(_0x3f9d3f){if(_0x3f9d3f){return _0x548c32[_0xe7b9('0x1e')](_0x133944)[_0xe7b9('0x20')](_0x3f9d3f);}};}function respondWithFilteredResult(_0x31b2cf,_0x407b96){return function(_0x3dbb0d){if(_0x3dbb0d){var _0x2a23a9=_0x3dbb0d[_0xe7b9('0x21')],_0x417b4a=_0x407b96[_0xe7b9('0x22')],_0x48cdd6=_0x407b96[_0xe7b9('0x22')]+_0x407b96[_0xe7b9('0x23')],_0x41f81d;if(_0x48cdd6>=_0x2a23a9){_0x48cdd6=_0x2a23a9;_0x41f81d=0xc8;}else{_0x41f81d=0xce;}_0x31b2cf['status'](_0x41f81d);return _0x31b2cf[_0xe7b9('0x24')](_0xe7b9('0x25'),_0x417b4a+'-'+_0x48cdd6+'/'+_0x2a23a9)[_0xe7b9('0x20')](_0x3dbb0d);}return null;};}function patchUpdates(_0x431ad3){return function(_0x76ad44){try{jsonpatch[_0xe7b9('0x26')](_0x76ad44,_0x431ad3,!![]);}catch(_0x119225){return BPromise['reject'](_0x119225);}return _0x76ad44[_0xe7b9('0x27')]();};}function saveUpdates(_0x73167c,_0x5dc666){return function(_0xc7f7f){if(_0xc7f7f){return _0xc7f7f['update'](_0x73167c)[_0xe7b9('0x28')](function(_0x5d924a){return _0x5d924a;});}return null;};}function removeEntity(_0x12315e,_0xffe525){return function(_0x585ce5){if(_0x585ce5){return _0x585ce5[_0xe7b9('0x29')]()[_0xe7b9('0x28')](function(){var _0x1becfe=_0x585ce5[_0xe7b9('0x2a')]({'plain':!![]});var _0xc2bb7=_0xe7b9('0x2b');return db['UserProfileResource'][_0xe7b9('0x29')]({'where':{'type':_0xc2bb7,'resourceId':_0x1becfe['id']}})[_0xe7b9('0x28')](function(){return _0x585ce5;});})[_0xe7b9('0x28')](function(){_0x12315e[_0xe7b9('0x1e')](0xcc)[_0xe7b9('0x1f')]();});}};}function handleEntityNotFound(_0x682f3,_0x3dce68){return function(_0x1585af){if(!_0x1585af){_0x682f3[_0xe7b9('0x1d')](0x194);}return _0x1585af;};}function handleError(_0x3bc59d,_0x2c749f){_0x2c749f=_0x2c749f||0x1f4;return function(_0x2196b8){logger[_0xe7b9('0x2c')](_0x2196b8['stack']);if(_0x2196b8[_0xe7b9('0x2d')]){delete _0x2196b8[_0xe7b9('0x2d')];}_0x3bc59d['status'](_0x2c749f)[_0xe7b9('0x2e')](_0x2196b8);};}exports['index']=function(_0x107191,_0x5f258d){var _0x2c97b7={},_0x403358={},_0x10d210={'count':0x0,'rows':[]};var _0x7f6656=_[_0xe7b9('0x2f')](db[_0xe7b9('0x30')][_0xe7b9('0x31')],function(_0x15f748){return{'name':_0x15f748[_0xe7b9('0x32')],'type':_0x15f748[_0xe7b9('0x33')][_0xe7b9('0x34')]};});_0x403358['model']=_[_0xe7b9('0x2f')](_0x7f6656,_0xe7b9('0x2d'));_0x403358[_0xe7b9('0x35')]=_[_0xe7b9('0x36')](_0x107191['query']);_0x403358[_0xe7b9('0x37')]=_[_0xe7b9('0x38')](_0x403358[_0xe7b9('0x39')],_0x403358[_0xe7b9('0x35')]);_0x2c97b7['attributes']=_[_0xe7b9('0x38')](_0x403358[_0xe7b9('0x39')],qs['fields'](_0x107191[_0xe7b9('0x35')][_0xe7b9('0x3a')]));_0x2c97b7[_0xe7b9('0x3b')]=_0x2c97b7[_0xe7b9('0x3b')][_0xe7b9('0x3c')]?_0x2c97b7[_0xe7b9('0x3b')]:_0x403358[_0xe7b9('0x39')];if(!_0x107191['query'][_0xe7b9('0x3d')](_0xe7b9('0x3e'))){_0x2c97b7[_0xe7b9('0x23')]=qs[_0xe7b9('0x23')](_0x107191[_0xe7b9('0x35')][_0xe7b9('0x23')]);_0x2c97b7[_0xe7b9('0x22')]=qs[_0xe7b9('0x22')](_0x107191[_0xe7b9('0x35')][_0xe7b9('0x22')]);}_0x2c97b7[_0xe7b9('0x3f')]=qs[_0xe7b9('0x40')](_0x107191[_0xe7b9('0x35')][_0xe7b9('0x40')]);_0x2c97b7[_0xe7b9('0x41')]=qs[_0xe7b9('0x37')](_[_0xe7b9('0x42')](_0x107191[_0xe7b9('0x35')],_0x403358['filters']),_0x7f6656);if(_0x107191['query'][_0xe7b9('0x43')]){_0x2c97b7[_0xe7b9('0x41')]=_['merge'](_0x2c97b7[_0xe7b9('0x41')],{'$or':_[_0xe7b9('0x2f')](_0x7f6656,function(_0x43e151){if(_0x43e151[_0xe7b9('0x33')]!==_0xe7b9('0x44')){var _0x5e05f2={};_0x5e05f2[_0x43e151['name']]={'$like':'%'+_0x107191['query'][_0xe7b9('0x43')]+'%'};return _0x5e05f2;}})});}_0x2c97b7=_[_0xe7b9('0x45')]({},_0x2c97b7,_0x107191[_0xe7b9('0x46')]);var _0x176fcb={'where':_0x2c97b7[_0xe7b9('0x41')]};return db[_0xe7b9('0x30')][_0xe7b9('0x21')](_0x176fcb)[_0xe7b9('0x28')](function(_0x1804af){_0x10d210[_0xe7b9('0x21')]=_0x1804af;if(_0x107191[_0xe7b9('0x35')]['includeAll']){_0x2c97b7[_0xe7b9('0x47')]=[{'all':!![]}];}return db[_0xe7b9('0x30')][_0xe7b9('0x48')](_0x2c97b7);})[_0xe7b9('0x28')](function(_0x34a199){_0x10d210[_0xe7b9('0x49')]=_0x34a199;return _0x10d210;})['then'](respondWithFilteredResult(_0x5f258d,_0x2c97b7))['catch'](handleError(_0x5f258d,null));};exports[_0xe7b9('0x4a')]=function(_0x15ebdc,_0x30f612){var _0x820730={'raw':!![],'where':{'id':_0x15ebdc[_0xe7b9('0x4b')]['id']}},_0x20e138={};_0x20e138[_0xe7b9('0x39')]=_[_0xe7b9('0x36')](db[_0xe7b9('0x30')][_0xe7b9('0x31')]);_0x20e138[_0xe7b9('0x35')]=_[_0xe7b9('0x36')](_0x15ebdc[_0xe7b9('0x35')]);_0x20e138[_0xe7b9('0x37')]=_[_0xe7b9('0x38')](_0x20e138[_0xe7b9('0x39')],_0x20e138['query']);_0x820730['attributes']=_['intersection'](_0x20e138[_0xe7b9('0x39')],qs[_0xe7b9('0x3a')](_0x15ebdc[_0xe7b9('0x35')][_0xe7b9('0x3a')]));_0x820730[_0xe7b9('0x3b')]=_0x820730[_0xe7b9('0x3b')][_0xe7b9('0x3c')]?_0x820730[_0xe7b9('0x3b')]:_0x20e138[_0xe7b9('0x39')];if(_0x15ebdc['query'][_0xe7b9('0x4c')]){_0x820730[_0xe7b9('0x47')]=[{'all':!![]}];}_0x820730=_[_0xe7b9('0x45')]({},_0x820730,_0x15ebdc[_0xe7b9('0x46')]);return db[_0xe7b9('0x30')][_0xe7b9('0x4d')](_0x820730)['then'](handleEntityNotFound(_0x30f612,null))[_0xe7b9('0x28')](respondWithResult(_0x30f612,null))[_0xe7b9('0x4e')](handleError(_0x30f612,null));};exports[_0xe7b9('0x4f')]=function(_0x3e00d0,_0x4383cf){return db[_0xe7b9('0x30')]['create'](_0x3e00d0[_0xe7b9('0x50')],{})[_0xe7b9('0x28')](function(_0x1a9d3b){var _0x1af361=_0x3e00d0[_0xe7b9('0x51')][_0xe7b9('0x2a')]({'plain':!![]});if(!_0x1af361)throw new Error(_0xe7b9('0x52'));if(_0x1af361[_0xe7b9('0x53')]===_0xe7b9('0x51')){var _0xc00af8=_0x1a9d3b[_0xe7b9('0x2a')]({'plain':!![]});var _0x50d575=_0xe7b9('0x2b');return db['UserProfileSection']['find']({'where':{'name':_0x50d575,'userProfileId':_0x1af361[_0xe7b9('0x54')]},'raw':!![]})[_0xe7b9('0x28')](function(_0x351188){if(_0x351188&&_0x351188[_0xe7b9('0x55')]===0x0){return db[_0xe7b9('0x56')][_0xe7b9('0x4f')]({'name':_0xc00af8[_0xe7b9('0x2d')],'resourceId':_0xc00af8['id'],'type':_0x351188['name'],'sectionId':_0x351188['id']},{})[_0xe7b9('0x28')](function(){return _0x1a9d3b;});}else{return _0x1a9d3b;}})[_0xe7b9('0x4e')](function(_0x313639){logger[_0xe7b9('0x2c')](_0xe7b9('0x57'),_0x313639);throw _0x313639;});}return _0x1a9d3b;})[_0xe7b9('0x28')](respondWithResult(_0x4383cf,0xc9))[_0xe7b9('0x4e')](handleError(_0x4383cf,null));};exports[_0xe7b9('0x58')]=function(_0x4c3c8b,_0x502661){if(_0x4c3c8b['body']['id']){delete _0x4c3c8b[_0xe7b9('0x50')]['id'];}return db[_0xe7b9('0x30')][_0xe7b9('0x4d')]({'where':{'id':_0x4c3c8b[_0xe7b9('0x4b')]['id']}})[_0xe7b9('0x28')](handleEntityNotFound(_0x502661,null))['then'](saveUpdates(_0x4c3c8b[_0xe7b9('0x50')],null))['then'](respondWithResult(_0x502661,null))[_0xe7b9('0x4e')](handleError(_0x502661,null));};exports[_0xe7b9('0x29')]=function(_0x53bc28,_0x3ee471){return db[_0xe7b9('0x30')][_0xe7b9('0x4d')]({'where':{'id':_0x53bc28[_0xe7b9('0x4b')]['id']}})['then'](handleEntityNotFound(_0x3ee471,null))['then'](removeEntity(_0x3ee471,null))[_0xe7b9('0x4e')](handleError(_0x3ee471,null));};exports['test']=function(_0x2bbebc,_0x42fe1f,_0x52f317){var _0x220de2;return db[_0xe7b9('0x30')][_0xe7b9('0x4d')]({'where':{'id':_0x2bbebc[_0xe7b9('0x4b')]['id']},'attributes':['id',_0xe7b9('0x59')]})[_0xe7b9('0x28')](handleEntityNotFound(_0x42fe1f,null))[_0xe7b9('0x28')](function(_0x49f890){if(_0x49f890){var _0x2646a9=require('odbc')();_0x2646a9[_0xe7b9('0x5a')](_0x49f890[_0xe7b9('0x59')]);_0x2646a9[_0xe7b9('0x5b')]();return _0x49f890;}})[_0xe7b9('0x28')](respondWithResult(_0x42fe1f,null))[_0xe7b9('0x4e')](handleError(_0x42fe1f,null));};