Built motion from commit ddca4d0d.|2.5.47
[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 _0x94c1=['then','get','ODBC','UserProfileResource','sendStatus','error','name','send','index','map','rawAttributes','fieldName','type','key','query','filters','intersection','model','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','SquareOdbc','includeAll','include','rows','catch','params','keys','length','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','body','odbc','dsn','closeSync','rimraf','fast-json-patch','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','status','json','limit','undefined','count','offset','set','Content-Range','apply','save','destroy'];(function(_0x94b355,_0x2b7142){var _0x4b2033=function(_0x54de9a){while(--_0x54de9a){_0x94b355['push'](_0x94b355['shift']());}};_0x4b2033(++_0x2b7142);}(_0x94c1,0x1ec));var _0x194c=function(_0x14d3c2,_0x593faa){_0x14d3c2=_0x14d3c2-0x0;var _0x431025=_0x94c1[_0x14d3c2];return _0x431025;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x194c('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x194c('0x1'));var rp=require('request-promise');var moment=require(_0x194c('0x2'));var BPromise=require(_0x194c('0x3'));var Mustache=require(_0x194c('0x4'));var util=require(_0x194c('0x5'));var path=require(_0x194c('0x6'));var sox=require('sox');var csv=require(_0x194c('0x7'));var ejs=require(_0x194c('0x8'));var fs=require('fs');var fs_extra=require(_0x194c('0x9'));var _=require(_0x194c('0xa'));var squel=require(_0x194c('0xb'));var crypto=require(_0x194c('0xc'));var jsforce=require(_0x194c('0xd'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x194c('0xe'));var Papa=require(_0x194c('0xf'));var Redis=require('ioredis');var authService=require(_0x194c('0x10'));var qs=require(_0x194c('0x11'));var as=require(_0x194c('0x12'));var hardwareService=require(_0x194c('0x13'));var logger=require(_0x194c('0x14'))(_0x194c('0x15'));var utils=require(_0x194c('0x16'));var config=require(_0x194c('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0x194c('0x18'))['db'];function respondWithStatusCode(_0x8cae66,_0x115f16){_0x115f16=_0x115f16||0xcc;return function(_0x45dff5){if(_0x45dff5){return _0x8cae66['sendStatus'](_0x115f16);}return _0x8cae66[_0x194c('0x19')](_0x115f16)['end']();};}function respondWithResult(_0x19b63b,_0x1ee726){_0x1ee726=_0x1ee726||0xc8;return function(_0x104bd7){if(_0x104bd7){return _0x19b63b['status'](_0x1ee726)[_0x194c('0x1a')](_0x104bd7);}};}function respondWithFilteredResult(_0xf0cba,_0x3c6263){return function(_0x42744a){if(_0x42744a){var _0x856b59=typeof _0x3c6263['offset']==='undefined'&&typeof _0x3c6263[_0x194c('0x1b')]===_0x194c('0x1c');var _0x323fc3=_0x42744a[_0x194c('0x1d')];var _0x39275a=_0x856b59?0x0:_0x3c6263['offset'];var _0x5fad5d=_0x856b59?_0x42744a[_0x194c('0x1d')]:_0x3c6263[_0x194c('0x1e')]+_0x3c6263[_0x194c('0x1b')];var _0x31e380;if(_0x5fad5d>=_0x323fc3){_0x5fad5d=_0x323fc3;_0x31e380=0xc8;}else{_0x31e380=0xce;}_0xf0cba[_0x194c('0x19')](_0x31e380);return _0xf0cba[_0x194c('0x1f')](_0x194c('0x20'),_0x39275a+'-'+_0x5fad5d+'/'+_0x323fc3)[_0x194c('0x1a')](_0x42744a);}return null;};}function patchUpdates(_0x4a4330){return function(_0x391c75){try{jsonpatch[_0x194c('0x21')](_0x391c75,_0x4a4330,!![]);}catch(_0x3b1bef){return BPromise['reject'](_0x3b1bef);}return _0x391c75[_0x194c('0x22')]();};}function saveUpdates(_0x2d7074,_0x242173){return function(_0xf53715){if(_0xf53715){return _0xf53715['update'](_0x2d7074)['then'](function(_0x5a9882){return _0x5a9882;});}return null;};}function removeEntity(_0x15d914,_0x153ea4){return function(_0xe0b20b){if(_0xe0b20b){return _0xe0b20b[_0x194c('0x23')]()[_0x194c('0x24')](function(){var _0x3ffeaf=_0xe0b20b[_0x194c('0x25')]({'plain':!![]});var _0x42a3aa=_0x194c('0x26');return db[_0x194c('0x27')]['destroy']({'where':{'type':_0x42a3aa,'resourceId':_0x3ffeaf['id']}})[_0x194c('0x24')](function(){return _0xe0b20b;});})['then'](function(){_0x15d914[_0x194c('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0xc8042b,_0x4f5e2a){return function(_0x5c2666){if(!_0x5c2666){_0xc8042b[_0x194c('0x28')](0x194);}return _0x5c2666;};}function handleError(_0x2a7aaf,_0x7e5bd3){_0x7e5bd3=_0x7e5bd3||0x1f4;return function(_0x2151f5){logger[_0x194c('0x29')](_0x2151f5['stack']);if(_0x2151f5['name']){delete _0x2151f5[_0x194c('0x2a')];}_0x2a7aaf[_0x194c('0x19')](_0x7e5bd3)[_0x194c('0x2b')](_0x2151f5);};}exports[_0x194c('0x2c')]=function(_0x43e03e,_0xb02411){var _0x5dd774={},_0x13f0d0={},_0x414653={'count':0x0,'rows':[]};var _0x40838c=_[_0x194c('0x2d')](db['SquareOdbc'][_0x194c('0x2e')],function(_0x4d2c85){return{'name':_0x4d2c85[_0x194c('0x2f')],'type':_0x4d2c85[_0x194c('0x30')][_0x194c('0x31')]};});_0x13f0d0['model']=_[_0x194c('0x2d')](_0x40838c,'name');_0x13f0d0[_0x194c('0x32')]=_['keys'](_0x43e03e['query']);_0x13f0d0[_0x194c('0x33')]=_[_0x194c('0x34')](_0x13f0d0[_0x194c('0x35')],_0x13f0d0[_0x194c('0x32')]);_0x5dd774[_0x194c('0x36')]=_['intersection'](_0x13f0d0[_0x194c('0x35')],qs['fields'](_0x43e03e[_0x194c('0x32')][_0x194c('0x37')]));_0x5dd774[_0x194c('0x36')]=_0x5dd774[_0x194c('0x36')]['length']?_0x5dd774['attributes']:_0x13f0d0[_0x194c('0x35')];if(!_0x43e03e[_0x194c('0x32')][_0x194c('0x38')](_0x194c('0x39'))){_0x5dd774['limit']=qs[_0x194c('0x1b')](_0x43e03e[_0x194c('0x32')][_0x194c('0x1b')]);_0x5dd774[_0x194c('0x1e')]=qs['offset'](_0x43e03e[_0x194c('0x32')][_0x194c('0x1e')]);}_0x5dd774[_0x194c('0x3a')]=qs[_0x194c('0x3b')](_0x43e03e[_0x194c('0x32')][_0x194c('0x3b')]);_0x5dd774[_0x194c('0x3c')]=qs[_0x194c('0x33')](_[_0x194c('0x3d')](_0x43e03e[_0x194c('0x32')],_0x13f0d0[_0x194c('0x33')]),_0x40838c);if(_0x43e03e[_0x194c('0x32')][_0x194c('0x3e')]){_0x5dd774[_0x194c('0x3c')]=_[_0x194c('0x3f')](_0x5dd774[_0x194c('0x3c')],{'$or':_[_0x194c('0x2d')](_0x40838c,function(_0x5a36b0){if(_0x5a36b0[_0x194c('0x30')]!==_0x194c('0x40')){var _0x5ac732={};_0x5ac732[_0x5a36b0[_0x194c('0x2a')]]={'$like':'%'+_0x43e03e['query'][_0x194c('0x3e')]+'%'};return _0x5ac732;}})});}_0x5dd774=_['merge']({},_0x5dd774,_0x43e03e[_0x194c('0x41')]);var _0x4c14a1={'where':_0x5dd774['where']};return db[_0x194c('0x42')][_0x194c('0x1d')](_0x4c14a1)[_0x194c('0x24')](function(_0x248288){_0x414653[_0x194c('0x1d')]=_0x248288;if(_0x43e03e[_0x194c('0x32')][_0x194c('0x43')]){_0x5dd774[_0x194c('0x44')]=[{'all':!![]}];}return db[_0x194c('0x42')]['findAll'](_0x5dd774);})[_0x194c('0x24')](function(_0x197a78){_0x414653[_0x194c('0x45')]=_0x197a78;return _0x414653;})[_0x194c('0x24')](respondWithFilteredResult(_0xb02411,_0x5dd774))[_0x194c('0x46')](handleError(_0xb02411,null));};exports['show']=function(_0x13fabe,_0x1f775c){var _0x267597={'raw':!![],'where':{'id':_0x13fabe[_0x194c('0x47')]['id']}},_0x45186d={};_0x45186d[_0x194c('0x35')]=_[_0x194c('0x48')](db[_0x194c('0x42')][_0x194c('0x2e')]);_0x45186d[_0x194c('0x32')]=_[_0x194c('0x48')](_0x13fabe[_0x194c('0x32')]);_0x45186d[_0x194c('0x33')]=_['intersection'](_0x45186d['model'],_0x45186d[_0x194c('0x32')]);_0x267597[_0x194c('0x36')]=_[_0x194c('0x34')](_0x45186d['model'],qs[_0x194c('0x37')](_0x13fabe[_0x194c('0x32')][_0x194c('0x37')]));_0x267597[_0x194c('0x36')]=_0x267597[_0x194c('0x36')][_0x194c('0x49')]?_0x267597['attributes']:_0x45186d[_0x194c('0x35')];if(_0x13fabe[_0x194c('0x32')][_0x194c('0x43')]){_0x267597[_0x194c('0x44')]=[{'all':!![]}];}_0x267597=_[_0x194c('0x3f')]({},_0x267597,_0x13fabe[_0x194c('0x41')]);return db[_0x194c('0x42')][_0x194c('0x4a')](_0x267597)[_0x194c('0x24')](handleEntityNotFound(_0x1f775c,null))[_0x194c('0x24')](respondWithResult(_0x1f775c,null))['catch'](handleError(_0x1f775c,null));};exports['create']=function(_0x46f9da,_0xe75da1){return db[_0x194c('0x42')][_0x194c('0x4b')](_0x46f9da['body'],{})['then'](function(_0x126a55){var _0x45ab23=_0x46f9da[_0x194c('0x4c')][_0x194c('0x25')]({'plain':!![]});if(!_0x45ab23)throw new Error(_0x194c('0x4d'));if(_0x45ab23[_0x194c('0x4e')]===_0x194c('0x4c')){var _0x3fea59=_0x126a55[_0x194c('0x25')]({'plain':!![]});var _0x522aac=_0x194c('0x26');return db[_0x194c('0x4f')][_0x194c('0x4a')]({'where':{'name':_0x522aac,'userProfileId':_0x45ab23[_0x194c('0x50')]},'raw':!![]})[_0x194c('0x24')](function(_0x397424){if(_0x397424&&_0x397424[_0x194c('0x51')]===0x0){return db[_0x194c('0x27')][_0x194c('0x4b')]({'name':_0x3fea59['name'],'resourceId':_0x3fea59['id'],'type':_0x397424[_0x194c('0x2a')],'sectionId':_0x397424['id']},{})['then'](function(){return _0x126a55;});}else{return _0x126a55;}})[_0x194c('0x46')](function(_0x5d6f2e){logger[_0x194c('0x29')](_0x194c('0x52'),_0x5d6f2e);throw _0x5d6f2e;});}return _0x126a55;})['then'](respondWithResult(_0xe75da1,0xc9))[_0x194c('0x46')](handleError(_0xe75da1,null));};exports[_0x194c('0x53')]=function(_0x4e07d5,_0x3009db){if(_0x4e07d5['body']['id']){delete _0x4e07d5[_0x194c('0x54')]['id'];}return db[_0x194c('0x42')][_0x194c('0x4a')]({'where':{'id':_0x4e07d5['params']['id']}})[_0x194c('0x24')](handleEntityNotFound(_0x3009db,null))[_0x194c('0x24')](saveUpdates(_0x4e07d5[_0x194c('0x54')],null))[_0x194c('0x24')](respondWithResult(_0x3009db,null))['catch'](handleError(_0x3009db,null));};exports[_0x194c('0x23')]=function(_0x4e6b78,_0x4795d8){return db[_0x194c('0x42')][_0x194c('0x4a')]({'where':{'id':_0x4e6b78[_0x194c('0x47')]['id']}})[_0x194c('0x24')](handleEntityNotFound(_0x4795d8,null))[_0x194c('0x24')](removeEntity(_0x4795d8,null))[_0x194c('0x46')](handleError(_0x4795d8,null));};exports['test']=function(_0x53aa72,_0x1d0995,_0x3f054f){var _0x11fdc6;return db[_0x194c('0x42')][_0x194c('0x4a')]({'where':{'id':_0x53aa72['params']['id']},'attributes':['id','dsn']})['then'](handleEntityNotFound(_0x1d0995,null))[_0x194c('0x24')](function(_0x1b7a2a){if(_0x1b7a2a){var _0x38e472=require(_0x194c('0x55'))();_0x38e472['openSync'](_0x1b7a2a[_0x194c('0x56')]);_0x38e472[_0x194c('0x57')]();return _0x1b7a2a;}})[_0x194c('0x24')](respondWithResult(_0x1d0995,null))[_0x194c('0x46')](handleError(_0x1d0995,null));};