Built motion from commit (unavailable).|2.5.22
[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 _0xf34f=['fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','limit','set','Content-Range','apply','then','destroy','get','ODBC','UserProfileResource','error','name','send','index','map','SquareOdbc','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','order','where','pick','filter','merge','VIRTUAL','options','count','includeAll','include','findAll','rows','catch','show','params','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','autoAssociation','update','dsn','html-pdf','eml-format','rimraf','zip-dir'];(function(_0x812cf2,_0x1db171){var _0x19a552=function(_0x45c3d8){while(--_0x45c3d8){_0x812cf2['push'](_0x812cf2['shift']());}};_0x19a552(++_0x1db171);}(_0xf34f,0x1a5));var _0xff34=function(_0x100f1a,_0x4e35f9){_0x100f1a=_0x100f1a-0x0;var _0x2f5fa3=_0xf34f[_0x100f1a];return _0x2f5fa3;};'use strict';var pdf=require(_0xff34('0x0'));var emlformat=require(_0xff34('0x1'));var rimraf=require(_0xff34('0x2'));var zipdir=require(_0xff34('0x3'));var jsonpatch=require(_0xff34('0x4'));var rp=require(_0xff34('0x5'));var moment=require(_0xff34('0x6'));var BPromise=require('bluebird');var Mustache=require(_0xff34('0x7'));var util=require(_0xff34('0x8'));var path=require(_0xff34('0x9'));var sox=require(_0xff34('0xa'));var csv=require(_0xff34('0xb'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xff34('0xc'));var squel=require(_0xff34('0xd'));var crypto=require(_0xff34('0xe'));var jsforce=require(_0xff34('0xf'));var deskjs=require(_0xff34('0x10'));var toCsv=require(_0xff34('0xb'));var querystring=require(_0xff34('0x11'));var Papa=require(_0xff34('0x12'));var Redis=require(_0xff34('0x13'));var authService=require(_0xff34('0x14'));var qs=require(_0xff34('0x15'));var as=require(_0xff34('0x16'));var hardwareService=require(_0xff34('0x17'));var logger=require('../../config/logger')(_0xff34('0x18'));var utils=require('../../config/utils');var config=require(_0xff34('0x19'));var licenseUtil=require(_0xff34('0x1a'));var db=require(_0xff34('0x1b'))['db'];function respondWithStatusCode(_0x1fb3b2,_0x555d44){_0x555d44=_0x555d44||0xcc;return function(_0x33eb9f){if(_0x33eb9f){return _0x1fb3b2[_0xff34('0x1c')](_0x555d44);}return _0x1fb3b2[_0xff34('0x1d')](_0x555d44)[_0xff34('0x1e')]();};}function respondWithResult(_0x1f38ae,_0x357990){_0x357990=_0x357990||0xc8;return function(_0x1e255b){if(_0x1e255b){return _0x1f38ae[_0xff34('0x1d')](_0x357990)[_0xff34('0x1f')](_0x1e255b);}};}function respondWithFilteredResult(_0xc774a6,_0x2f3757){return function(_0x22203f){if(_0x22203f){var _0x4ca787=_0x22203f['count'],_0x3e10f8=_0x2f3757['offset'],_0x34164c=_0x2f3757[_0xff34('0x20')]+_0x2f3757[_0xff34('0x21')],_0x39ceca;if(_0x34164c>=_0x4ca787){_0x34164c=_0x4ca787;_0x39ceca=0xc8;}else{_0x39ceca=0xce;}_0xc774a6[_0xff34('0x1d')](_0x39ceca);return _0xc774a6[_0xff34('0x22')](_0xff34('0x23'),_0x3e10f8+'-'+_0x34164c+'/'+_0x4ca787)[_0xff34('0x1f')](_0x22203f);}return null;};}function patchUpdates(_0x2496c2){return function(_0x6d83a){try{jsonpatch[_0xff34('0x24')](_0x6d83a,_0x2496c2,!![]);}catch(_0x55800e){return BPromise['reject'](_0x55800e);}return _0x6d83a['save']();};}function saveUpdates(_0x3858bb,_0x1bf4aa){return function(_0x2e97eb){if(_0x2e97eb){return _0x2e97eb['update'](_0x3858bb)[_0xff34('0x25')](function(_0x24a598){return _0x24a598;});}return null;};}function removeEntity(_0x26724f,_0x29d688){return function(_0x517054){if(_0x517054){return _0x517054[_0xff34('0x26')]()['then'](function(){var _0x5bfc95=_0x517054[_0xff34('0x27')]({'plain':!![]});var _0x2c5415=_0xff34('0x28');return db[_0xff34('0x29')][_0xff34('0x26')]({'where':{'type':_0x2c5415,'resourceId':_0x5bfc95['id']}})[_0xff34('0x25')](function(){return _0x517054;});})['then'](function(){_0x26724f[_0xff34('0x1d')](0xcc)['end']();});}};}function handleEntityNotFound(_0x547827,_0x3fe177){return function(_0x4be62e){if(!_0x4be62e){_0x547827[_0xff34('0x1c')](0x194);}return _0x4be62e;};}function handleError(_0x402c6d,_0x449fda){_0x449fda=_0x449fda||0x1f4;return function(_0x3ce456){logger[_0xff34('0x2a')](_0x3ce456['stack']);if(_0x3ce456[_0xff34('0x2b')]){delete _0x3ce456[_0xff34('0x2b')];}_0x402c6d[_0xff34('0x1d')](_0x449fda)[_0xff34('0x2c')](_0x3ce456);};}exports[_0xff34('0x2d')]=function(_0x44be8a,_0x378eed){var _0x32d9b6={},_0x4d9346={},_0x2df0d0={'count':0x0,'rows':[]};var _0x8802c7=_[_0xff34('0x2e')](db[_0xff34('0x2f')][_0xff34('0x30')],function(_0x4de3ab){return{'name':_0x4de3ab[_0xff34('0x31')],'type':_0x4de3ab[_0xff34('0x32')][_0xff34('0x33')]};});_0x4d9346[_0xff34('0x34')]=_[_0xff34('0x2e')](_0x8802c7,_0xff34('0x2b'));_0x4d9346[_0xff34('0x35')]=_[_0xff34('0x36')](_0x44be8a[_0xff34('0x35')]);_0x4d9346[_0xff34('0x37')]=_[_0xff34('0x38')](_0x4d9346[_0xff34('0x34')],_0x4d9346[_0xff34('0x35')]);_0x32d9b6[_0xff34('0x39')]=_[_0xff34('0x38')](_0x4d9346[_0xff34('0x34')],qs[_0xff34('0x3a')](_0x44be8a[_0xff34('0x35')][_0xff34('0x3a')]));_0x32d9b6[_0xff34('0x39')]=_0x32d9b6[_0xff34('0x39')][_0xff34('0x3b')]?_0x32d9b6[_0xff34('0x39')]:_0x4d9346[_0xff34('0x34')];if(!_0x44be8a['query']['hasOwnProperty']('nolimit')){_0x32d9b6[_0xff34('0x21')]=qs[_0xff34('0x21')](_0x44be8a['query']['limit']);_0x32d9b6[_0xff34('0x20')]=qs['offset'](_0x44be8a[_0xff34('0x35')][_0xff34('0x20')]);}_0x32d9b6[_0xff34('0x3c')]=qs['sort'](_0x44be8a[_0xff34('0x35')]['sort']);_0x32d9b6[_0xff34('0x3d')]=qs[_0xff34('0x37')](_[_0xff34('0x3e')](_0x44be8a[_0xff34('0x35')],_0x4d9346[_0xff34('0x37')]),_0x8802c7);if(_0x44be8a[_0xff34('0x35')][_0xff34('0x3f')]){_0x32d9b6[_0xff34('0x3d')]=_[_0xff34('0x40')](_0x32d9b6[_0xff34('0x3d')],{'$or':_[_0xff34('0x2e')](_0x8802c7,function(_0x4309eb){if(_0x4309eb[_0xff34('0x32')]!==_0xff34('0x41')){var _0x2527e9={};_0x2527e9[_0x4309eb[_0xff34('0x2b')]]={'$like':'%'+_0x44be8a[_0xff34('0x35')][_0xff34('0x3f')]+'%'};return _0x2527e9;}})});}_0x32d9b6=_[_0xff34('0x40')]({},_0x32d9b6,_0x44be8a[_0xff34('0x42')]);var _0x638135={'where':_0x32d9b6[_0xff34('0x3d')]};return db[_0xff34('0x2f')][_0xff34('0x43')](_0x638135)['then'](function(_0x1484f4){_0x2df0d0[_0xff34('0x43')]=_0x1484f4;if(_0x44be8a[_0xff34('0x35')][_0xff34('0x44')]){_0x32d9b6[_0xff34('0x45')]=[{'all':!![]}];}return db['SquareOdbc'][_0xff34('0x46')](_0x32d9b6);})[_0xff34('0x25')](function(_0x4d0716){_0x2df0d0[_0xff34('0x47')]=_0x4d0716;return _0x2df0d0;})[_0xff34('0x25')](respondWithFilteredResult(_0x378eed,_0x32d9b6))[_0xff34('0x48')](handleError(_0x378eed,null));};exports[_0xff34('0x49')]=function(_0x52f61f,_0x3e5956){var _0x3114f7={'raw':!![],'where':{'id':_0x52f61f[_0xff34('0x4a')]['id']}},_0x445cef={};_0x445cef[_0xff34('0x34')]=_[_0xff34('0x36')](db[_0xff34('0x2f')][_0xff34('0x30')]);_0x445cef[_0xff34('0x35')]=_[_0xff34('0x36')](_0x52f61f[_0xff34('0x35')]);_0x445cef[_0xff34('0x37')]=_['intersection'](_0x445cef[_0xff34('0x34')],_0x445cef[_0xff34('0x35')]);_0x3114f7[_0xff34('0x39')]=_['intersection'](_0x445cef[_0xff34('0x34')],qs[_0xff34('0x3a')](_0x52f61f[_0xff34('0x35')][_0xff34('0x3a')]));_0x3114f7[_0xff34('0x39')]=_0x3114f7['attributes'][_0xff34('0x3b')]?_0x3114f7[_0xff34('0x39')]:_0x445cef[_0xff34('0x34')];if(_0x52f61f[_0xff34('0x35')][_0xff34('0x44')]){_0x3114f7[_0xff34('0x45')]=[{'all':!![]}];}_0x3114f7=_['merge']({},_0x3114f7,_0x52f61f[_0xff34('0x42')]);return db[_0xff34('0x2f')][_0xff34('0x4b')](_0x3114f7)[_0xff34('0x25')](handleEntityNotFound(_0x3e5956,null))[_0xff34('0x25')](respondWithResult(_0x3e5956,null))['catch'](handleError(_0x3e5956,null));};exports[_0xff34('0x4c')]=function(_0x413bb,_0x330492){return db[_0xff34('0x2f')][_0xff34('0x4c')](_0x413bb[_0xff34('0x4d')],{})[_0xff34('0x25')](function(_0x4da902){var _0x4503b9=_0x413bb[_0xff34('0x4e')][_0xff34('0x27')]({'plain':!![]});if(!_0x4503b9)throw new Error(_0xff34('0x4f'));if(_0x4503b9['role']===_0xff34('0x4e')){var _0x4a754d=_0x4da902[_0xff34('0x27')]({'plain':!![]});var _0xf8957a=_0xff34('0x28');return db[_0xff34('0x50')][_0xff34('0x4b')]({'where':{'name':_0xf8957a,'userProfileId':_0x4503b9[_0xff34('0x51')]},'raw':!![]})['then'](function(_0x25e84b){if(_0x25e84b&&_0x25e84b[_0xff34('0x52')]===0x0){return db['UserProfileResource'][_0xff34('0x4c')]({'name':_0x4a754d['name'],'resourceId':_0x4a754d['id'],'type':_0x25e84b['name'],'sectionId':_0x25e84b['id']},{})[_0xff34('0x25')](function(){return _0x4da902;});}else{return _0x4da902;}})[_0xff34('0x48')](function(_0x3be212){logger[_0xff34('0x2a')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x3be212);throw _0x3be212;});}return _0x4da902;})[_0xff34('0x25')](respondWithResult(_0x330492,0xc9))[_0xff34('0x48')](handleError(_0x330492,null));};exports[_0xff34('0x53')]=function(_0x1750af,_0x32d0f6){if(_0x1750af[_0xff34('0x4d')]['id']){delete _0x1750af['body']['id'];}return db[_0xff34('0x2f')]['find']({'where':{'id':_0x1750af[_0xff34('0x4a')]['id']}})[_0xff34('0x25')](handleEntityNotFound(_0x32d0f6,null))[_0xff34('0x25')](saveUpdates(_0x1750af[_0xff34('0x4d')],null))[_0xff34('0x25')](respondWithResult(_0x32d0f6,null))[_0xff34('0x48')](handleError(_0x32d0f6,null));};exports[_0xff34('0x26')]=function(_0x51415e,_0x45ca7c){return db[_0xff34('0x2f')][_0xff34('0x4b')]({'where':{'id':_0x51415e[_0xff34('0x4a')]['id']}})['then'](handleEntityNotFound(_0x45ca7c,null))[_0xff34('0x25')](removeEntity(_0x45ca7c,null))['catch'](handleError(_0x45ca7c,null));};exports['test']=function(_0x1d27e0,_0x61ed6,_0x414f73){var _0x2932d7;return db[_0xff34('0x2f')][_0xff34('0x4b')]({'where':{'id':_0x1d27e0[_0xff34('0x4a')]['id']},'attributes':['id',_0xff34('0x54')]})[_0xff34('0x25')](handleEntityNotFound(_0x61ed6,null))[_0xff34('0x25')](function(_0x5d3c8d){if(_0x5d3c8d){var _0x989395=require('odbc')();_0x989395['openSync'](_0x5d3c8d['dsn']);_0x989395['closeSync']();return _0x5d3c8d;}})[_0xff34('0x25')](respondWithResult(_0x61ed6,null))[_0xff34('0x48')](handleError(_0x61ed6,null));};