Built motion from commit (unavailable).|2.5.3
[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 _0xe690=['end','json','count','limit','set','Content-Range','apply','save','then','destroy','UserProfileResource','sendStatus','error','name','index','map','SquareOdbc','rawAttributes','fieldName','type','key','model','query','intersection','fields','attributes','length','hasOwnProperty','nolimit','offset','order','sort','filters','filter','where','merge','VIRTUAL','options','includeAll','include','findAll','catch','params','keys','find','create','body','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','ODBC','UserProfileSection','userProfileId','autoAssociation','update','test','dsn','odbc','openSync','closeSync','eml-format','zip-dir','fast-json-patch','request-promise','moment','mustache','util','to-csv','ejs','lodash','jsforce','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../mysqldb','status'];(function(_0x4d2c45,_0x546a1d){var _0x361606=function(_0x233ae2){while(--_0x233ae2){_0x4d2c45['push'](_0x4d2c45['shift']());}};_0x361606(++_0x546a1d);}(_0xe690,0x128));var _0x0e69=function(_0x4f12a0,_0x29c347){_0x4f12a0=_0x4f12a0-0x0;var _0x37988c=_0xe690[_0x4f12a0];return _0x37988c;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x0e69('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x0e69('0x1'));var jsonpatch=require(_0x0e69('0x2'));var rp=require(_0x0e69('0x3'));var moment=require(_0x0e69('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x0e69('0x5'));var util=require(_0x0e69('0x6'));var path=require('path');var sox=require('sox');var csv=require(_0x0e69('0x7'));var ejs=require(_0x0e69('0x8'));var fs=require('fs');var _=require(_0x0e69('0x9'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x0e69('0xa'));var deskjs=require('desk.js');var toCsv=require(_0x0e69('0x7'));var querystring=require(_0x0e69('0xb'));var Papa=require('papaparse');var Redis=require(_0x0e69('0xc'));var authService=require(_0x0e69('0xd'));var qs=require(_0x0e69('0xe'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x0e69('0xf'))(_0x0e69('0x10'));var utils=require('../../config/utils');var config=require(_0x0e69('0x11'));var db=require(_0x0e69('0x12'))['db'];function respondWithStatusCode(_0x2bb6e,_0x49a5f3){_0x49a5f3=_0x49a5f3||0xcc;return function(_0x1f194f){if(_0x1f194f){return _0x2bb6e['sendStatus'](_0x49a5f3);}return _0x2bb6e[_0x0e69('0x13')](_0x49a5f3)[_0x0e69('0x14')]();};}function respondWithResult(_0x3ad0d7,_0x5abb0c){_0x5abb0c=_0x5abb0c||0xc8;return function(_0x3d1dc1){if(_0x3d1dc1){return _0x3ad0d7['status'](_0x5abb0c)[_0x0e69('0x15')](_0x3d1dc1);}};}function respondWithFilteredResult(_0x3b8623,_0x287ad3){return function(_0xfbd0f){if(_0xfbd0f){var _0x57faff=_0xfbd0f[_0x0e69('0x16')],_0x4bd265=_0x287ad3['offset'],_0x111c5e=_0x287ad3['offset']+_0x287ad3[_0x0e69('0x17')],_0xc6b66e;if(_0x111c5e>=_0x57faff){_0x111c5e=_0x57faff;_0xc6b66e=0xc8;}else{_0xc6b66e=0xce;}_0x3b8623[_0x0e69('0x13')](_0xc6b66e);return _0x3b8623[_0x0e69('0x18')](_0x0e69('0x19'),_0x4bd265+'-'+_0x111c5e+'/'+_0x57faff)[_0x0e69('0x15')](_0xfbd0f);}return null;};}function patchUpdates(_0x50b0d1){return function(_0xe92afc){try{jsonpatch[_0x0e69('0x1a')](_0xe92afc,_0x50b0d1,!![]);}catch(_0x18f299){return BPromise['reject'](_0x18f299);}return _0xe92afc[_0x0e69('0x1b')]();};}function saveUpdates(_0x439fce,_0x1b5b63){return function(_0x55d8ee){if(_0x55d8ee){return _0x55d8ee['update'](_0x439fce)[_0x0e69('0x1c')](function(_0x5a2518){return _0x5a2518;});}return null;};}function removeEntity(_0xeb8064,_0x2398f3){return function(_0x553806){if(_0x553806){return _0x553806[_0x0e69('0x1d')]()[_0x0e69('0x1c')](function(){var _0x3a2a4a=_0x553806['get']({'plain':!![]});var _0x28f5fc='ODBC';return db[_0x0e69('0x1e')][_0x0e69('0x1d')]({'where':{'type':_0x28f5fc,'resourceId':_0x3a2a4a['id']}})['then'](function(){return _0x553806;});})['then'](function(){_0xeb8064['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x1027da,_0x6c04aa){return function(_0x525031){if(!_0x525031){_0x1027da[_0x0e69('0x1f')](0x194);}return _0x525031;};}function handleError(_0x2ebdac,_0x414607){_0x414607=_0x414607||0x1f4;return function(_0x45a181){logger[_0x0e69('0x20')](_0x45a181['stack']);if(_0x45a181[_0x0e69('0x21')]){delete _0x45a181[_0x0e69('0x21')];}_0x2ebdac[_0x0e69('0x13')](_0x414607)['send'](_0x45a181);};}exports[_0x0e69('0x22')]=function(_0x31631a,_0x1de2e8){var _0x2f2ba3={},_0xddc8dc={},_0x578f7b={'count':0x0,'rows':[]};var _0x561003=_[_0x0e69('0x23')](db[_0x0e69('0x24')][_0x0e69('0x25')],function(_0x1abce0){return{'name':_0x1abce0[_0x0e69('0x26')],'type':_0x1abce0[_0x0e69('0x27')][_0x0e69('0x28')]};});_0xddc8dc[_0x0e69('0x29')]=_[_0x0e69('0x23')](_0x561003,'name');_0xddc8dc[_0x0e69('0x2a')]=_['keys'](_0x31631a[_0x0e69('0x2a')]);_0xddc8dc['filters']=_[_0x0e69('0x2b')](_0xddc8dc[_0x0e69('0x29')],_0xddc8dc[_0x0e69('0x2a')]);_0x2f2ba3['attributes']=_['intersection'](_0xddc8dc['model'],qs[_0x0e69('0x2c')](_0x31631a[_0x0e69('0x2a')][_0x0e69('0x2c')]));_0x2f2ba3[_0x0e69('0x2d')]=_0x2f2ba3[_0x0e69('0x2d')][_0x0e69('0x2e')]?_0x2f2ba3[_0x0e69('0x2d')]:_0xddc8dc[_0x0e69('0x29')];if(!_0x31631a['query'][_0x0e69('0x2f')](_0x0e69('0x30'))){_0x2f2ba3[_0x0e69('0x17')]=qs[_0x0e69('0x17')](_0x31631a[_0x0e69('0x2a')][_0x0e69('0x17')]);_0x2f2ba3['offset']=qs['offset'](_0x31631a[_0x0e69('0x2a')][_0x0e69('0x31')]);}_0x2f2ba3[_0x0e69('0x32')]=qs[_0x0e69('0x33')](_0x31631a[_0x0e69('0x2a')][_0x0e69('0x33')]);_0x2f2ba3['where']=qs['filters'](_['pick'](_0x31631a[_0x0e69('0x2a')],_0xddc8dc[_0x0e69('0x34')]),_0x561003);if(_0x31631a['query'][_0x0e69('0x35')]){_0x2f2ba3[_0x0e69('0x36')]=_[_0x0e69('0x37')](_0x2f2ba3[_0x0e69('0x36')],{'$or':_[_0x0e69('0x23')](_0x561003,function(_0xa61e44){if(_0xa61e44['type']!==_0x0e69('0x38')){var _0x250367={};_0x250367[_0xa61e44[_0x0e69('0x21')]]={'$like':'%'+_0x31631a[_0x0e69('0x2a')]['filter']+'%'};return _0x250367;}})});}_0x2f2ba3=_[_0x0e69('0x37')]({},_0x2f2ba3,_0x31631a[_0x0e69('0x39')]);var _0x7f7302={'where':_0x2f2ba3[_0x0e69('0x36')]};return db['SquareOdbc']['count'](_0x7f7302)['then'](function(_0x5d6735){_0x578f7b['count']=_0x5d6735;if(_0x31631a[_0x0e69('0x2a')][_0x0e69('0x3a')]){_0x2f2ba3[_0x0e69('0x3b')]=[{'all':!![]}];}return db['SquareOdbc'][_0x0e69('0x3c')](_0x2f2ba3);})[_0x0e69('0x1c')](function(_0xd1a34c){_0x578f7b['rows']=_0xd1a34c;return _0x578f7b;})['then'](respondWithFilteredResult(_0x1de2e8,_0x2f2ba3))[_0x0e69('0x3d')](handleError(_0x1de2e8,null));};exports['show']=function(_0x3a9080,_0x45364f){var _0x3368ef={'raw':!![],'where':{'id':_0x3a9080[_0x0e69('0x3e')]['id']}},_0x43e21e={};_0x43e21e[_0x0e69('0x29')]=_[_0x0e69('0x3f')](db[_0x0e69('0x24')][_0x0e69('0x25')]);_0x43e21e['query']=_['keys'](_0x3a9080['query']);_0x43e21e[_0x0e69('0x34')]=_[_0x0e69('0x2b')](_0x43e21e[_0x0e69('0x29')],_0x43e21e['query']);_0x3368ef[_0x0e69('0x2d')]=_[_0x0e69('0x2b')](_0x43e21e[_0x0e69('0x29')],qs[_0x0e69('0x2c')](_0x3a9080[_0x0e69('0x2a')][_0x0e69('0x2c')]));_0x3368ef['attributes']=_0x3368ef['attributes'][_0x0e69('0x2e')]?_0x3368ef[_0x0e69('0x2d')]:_0x43e21e['model'];if(_0x3a9080[_0x0e69('0x2a')][_0x0e69('0x3a')]){_0x3368ef[_0x0e69('0x3b')]=[{'all':!![]}];}_0x3368ef=_[_0x0e69('0x37')]({},_0x3368ef,_0x3a9080[_0x0e69('0x39')]);return db[_0x0e69('0x24')][_0x0e69('0x40')](_0x3368ef)[_0x0e69('0x1c')](handleEntityNotFound(_0x45364f,null))[_0x0e69('0x1c')](respondWithResult(_0x45364f,null))['catch'](handleError(_0x45364f,null));};exports[_0x0e69('0x41')]=function(_0x52e5a9,_0xdee6b8){return db[_0x0e69('0x24')][_0x0e69('0x41')](_0x52e5a9[_0x0e69('0x42')],{})[_0x0e69('0x1c')](function(_0x5a8b3e){var _0xf2c940=_0x52e5a9['user'][_0x0e69('0x43')]({'plain':!![]});if(!_0xf2c940)throw new Error(_0x0e69('0x44'));if(_0xf2c940['role']==='user'){var _0x5f45d8=_0x5a8b3e['get']({'plain':!![]});var _0x2c5fe2=_0x0e69('0x45');return db[_0x0e69('0x46')][_0x0e69('0x40')]({'where':{'name':_0x2c5fe2,'userProfileId':_0xf2c940[_0x0e69('0x47')]},'raw':!![]})[_0x0e69('0x1c')](function(_0x56e9ef){if(_0x56e9ef&&_0x56e9ef[_0x0e69('0x48')]===0x0){return db[_0x0e69('0x1e')][_0x0e69('0x41')]({'name':_0x5f45d8[_0x0e69('0x21')],'resourceId':_0x5f45d8['id'],'type':_0x56e9ef['name'],'sectionId':_0x56e9ef['id']},{})['then'](function(){return _0x5a8b3e;});}else{return _0x5a8b3e;}})[_0x0e69('0x3d')](function(_0x1e9b92){logger[_0x0e69('0x20')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x1e9b92);throw _0x1e9b92;});}return _0x5a8b3e;})[_0x0e69('0x1c')](respondWithResult(_0xdee6b8,0xc9))['catch'](handleError(_0xdee6b8,null));};exports[_0x0e69('0x49')]=function(_0xb0636d,_0x38c2a5){if(_0xb0636d[_0x0e69('0x42')]['id']){delete _0xb0636d[_0x0e69('0x42')]['id'];}return db['SquareOdbc'][_0x0e69('0x40')]({'where':{'id':_0xb0636d[_0x0e69('0x3e')]['id']}})[_0x0e69('0x1c')](handleEntityNotFound(_0x38c2a5,null))[_0x0e69('0x1c')](saveUpdates(_0xb0636d[_0x0e69('0x42')],null))[_0x0e69('0x1c')](respondWithResult(_0x38c2a5,null))[_0x0e69('0x3d')](handleError(_0x38c2a5,null));};exports[_0x0e69('0x1d')]=function(_0x2a1bdb,_0x357790){return db[_0x0e69('0x24')][_0x0e69('0x40')]({'where':{'id':_0x2a1bdb[_0x0e69('0x3e')]['id']}})['then'](handleEntityNotFound(_0x357790,null))[_0x0e69('0x1c')](removeEntity(_0x357790,null))['catch'](handleError(_0x357790,null));};exports[_0x0e69('0x4a')]=function(_0x551222,_0x506487,_0xf17a32){var _0x191bf8;return db['SquareOdbc'][_0x0e69('0x40')]({'where':{'id':_0x551222[_0x0e69('0x3e')]['id']},'attributes':['id',_0x0e69('0x4b')]})[_0x0e69('0x1c')](handleEntityNotFound(_0x506487,null))['then'](function(_0x20193a){if(_0x20193a){var _0x2fbb87=require(_0x0e69('0x4c'))();_0x2fbb87[_0x0e69('0x4d')](_0x20193a[_0x0e69('0x4b')]);_0x2fbb87[_0x0e69('0x4e')]();return _0x20193a;}})[_0x0e69('0x1c')](respondWithResult(_0x506487,null))[_0x0e69('0x3d')](handleError(_0x506487,null));};