Built motion from commit (unavailable).|2.5.5
[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 _0x430c=['openSync','closeSync','html-pdf','zip-dir','fast-json-patch','request-promise','path','sox','ejs','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','Content-Range','reject','save','update','then','get','UserProfileResource','destroy','error','stack','name','send','index','map','SquareOdbc','rawAttributes','fieldName','type','key','model','query','attributes','intersection','fields','hasOwnProperty','limit','order','sort','where','filters','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','params','keys','length','find','catch','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','ODBC','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','test','dsn'];(function(_0x38a298,_0x3c14ca){var _0xc75494=function(_0x561465){while(--_0x561465){_0x38a298['push'](_0x38a298['shift']());}};_0xc75494(++_0x3c14ca);}(_0x430c,0x1a1));var _0xc430=function(_0x87b0ff,_0x314389){_0x87b0ff=_0x87b0ff-0x0;var _0x3bc0b2=_0x430c[_0x87b0ff];return _0x3bc0b2;};'use strict';var pdf=require(_0xc430('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xc430('0x1'));var jsonpatch=require(_0xc430('0x2'));var rp=require(_0xc430('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require('util');var path=require(_0xc430('0x4'));var sox=require(_0xc430('0x5'));var csv=require('to-csv');var ejs=require(_0xc430('0x6'));var fs=require('fs');var _=require('lodash');var squel=require(_0xc430('0x7'));var crypto=require(_0xc430('0x8'));var jsforce=require(_0xc430('0x9'));var deskjs=require(_0xc430('0xa'));var toCsv=require(_0xc430('0xb'));var querystring=require(_0xc430('0xc'));var Papa=require(_0xc430('0xd'));var Redis=require(_0xc430('0xe'));var authService=require(_0xc430('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0xc430('0x10'));var hardwareService=require(_0xc430('0x11'));var logger=require('../../config/logger')(_0xc430('0x12'));var utils=require('../../config/utils');var config=require(_0xc430('0x13'));var licenseUtil=require('../../config/license/util');var db=require(_0xc430('0x14'))['db'];function respondWithStatusCode(_0x8aa2e6,_0xc5f92){_0xc5f92=_0xc5f92||0xcc;return function(_0x1fb8ce){if(_0x1fb8ce){return _0x8aa2e6[_0xc430('0x15')](_0xc5f92);}return _0x8aa2e6[_0xc430('0x16')](_0xc5f92)[_0xc430('0x17')]();};}function respondWithResult(_0x54d851,_0x4e9134){_0x4e9134=_0x4e9134||0xc8;return function(_0x3f359c){if(_0x3f359c){return _0x54d851[_0xc430('0x16')](_0x4e9134)[_0xc430('0x18')](_0x3f359c);}};}function respondWithFilteredResult(_0x2ef538,_0x31d3b7){return function(_0x55cc6c){if(_0x55cc6c){var _0x111598=_0x55cc6c[_0xc430('0x19')],_0x4aeb72=_0x31d3b7[_0xc430('0x1a')],_0x4bf91f=_0x31d3b7['offset']+_0x31d3b7['limit'],_0x2e7987;if(_0x4bf91f>=_0x111598){_0x4bf91f=_0x111598;_0x2e7987=0xc8;}else{_0x2e7987=0xce;}_0x2ef538[_0xc430('0x16')](_0x2e7987);return _0x2ef538['set'](_0xc430('0x1b'),_0x4aeb72+'-'+_0x4bf91f+'/'+_0x111598)['json'](_0x55cc6c);}return null;};}function patchUpdates(_0x564522){return function(_0x2f3203){try{jsonpatch['apply'](_0x2f3203,_0x564522,!![]);}catch(_0x302926){return BPromise[_0xc430('0x1c')](_0x302926);}return _0x2f3203[_0xc430('0x1d')]();};}function saveUpdates(_0x1f90bb,_0x2a1ea1){return function(_0x5af282){if(_0x5af282){return _0x5af282[_0xc430('0x1e')](_0x1f90bb)['then'](function(_0x4d2d43){return _0x4d2d43;});}return null;};}function removeEntity(_0x3b7c3d,_0x2ea352){return function(_0x3c7afa){if(_0x3c7afa){return _0x3c7afa['destroy']()[_0xc430('0x1f')](function(){var _0x57d26e=_0x3c7afa[_0xc430('0x20')]({'plain':!![]});var _0x22ebfb='ODBC';return db[_0xc430('0x21')][_0xc430('0x22')]({'where':{'type':_0x22ebfb,'resourceId':_0x57d26e['id']}})['then'](function(){return _0x3c7afa;});})[_0xc430('0x1f')](function(){_0x3b7c3d['status'](0xcc)[_0xc430('0x17')]();});}};}function handleEntityNotFound(_0x4b5280,_0x3db397){return function(_0x21e28a){if(!_0x21e28a){_0x4b5280['sendStatus'](0x194);}return _0x21e28a;};}function handleError(_0x33433f,_0x2ec021){_0x2ec021=_0x2ec021||0x1f4;return function(_0x2c0422){logger[_0xc430('0x23')](_0x2c0422[_0xc430('0x24')]);if(_0x2c0422['name']){delete _0x2c0422[_0xc430('0x25')];}_0x33433f[_0xc430('0x16')](_0x2ec021)[_0xc430('0x26')](_0x2c0422);};}exports[_0xc430('0x27')]=function(_0x542cba,_0x1f8086){var _0x4cf56c={},_0x1d65ee={},_0x4ad29e={'count':0x0,'rows':[]};var _0x6b263b=_[_0xc430('0x28')](db[_0xc430('0x29')][_0xc430('0x2a')],function(_0x49977b){return{'name':_0x49977b[_0xc430('0x2b')],'type':_0x49977b[_0xc430('0x2c')][_0xc430('0x2d')]};});_0x1d65ee[_0xc430('0x2e')]=_['map'](_0x6b263b,_0xc430('0x25'));_0x1d65ee[_0xc430('0x2f')]=_['keys'](_0x542cba[_0xc430('0x2f')]);_0x1d65ee['filters']=_['intersection'](_0x1d65ee[_0xc430('0x2e')],_0x1d65ee[_0xc430('0x2f')]);_0x4cf56c[_0xc430('0x30')]=_[_0xc430('0x31')](_0x1d65ee[_0xc430('0x2e')],qs[_0xc430('0x32')](_0x542cba[_0xc430('0x2f')][_0xc430('0x32')]));_0x4cf56c['attributes']=_0x4cf56c[_0xc430('0x30')]['length']?_0x4cf56c[_0xc430('0x30')]:_0x1d65ee[_0xc430('0x2e')];if(!_0x542cba[_0xc430('0x2f')][_0xc430('0x33')]('nolimit')){_0x4cf56c[_0xc430('0x34')]=qs['limit'](_0x542cba['query'][_0xc430('0x34')]);_0x4cf56c[_0xc430('0x1a')]=qs['offset'](_0x542cba[_0xc430('0x2f')][_0xc430('0x1a')]);}_0x4cf56c[_0xc430('0x35')]=qs[_0xc430('0x36')](_0x542cba[_0xc430('0x2f')][_0xc430('0x36')]);_0x4cf56c[_0xc430('0x37')]=qs[_0xc430('0x38')](_[_0xc430('0x39')](_0x542cba[_0xc430('0x2f')],_0x1d65ee[_0xc430('0x38')]),_0x6b263b);if(_0x542cba[_0xc430('0x2f')][_0xc430('0x3a')]){_0x4cf56c[_0xc430('0x37')]=_[_0xc430('0x3b')](_0x4cf56c['where'],{'$or':_[_0xc430('0x28')](_0x6b263b,function(_0x2e91e9){if(_0x2e91e9[_0xc430('0x2c')]!==_0xc430('0x3c')){var _0x5a05d8={};_0x5a05d8[_0x2e91e9[_0xc430('0x25')]]={'$like':'%'+_0x542cba[_0xc430('0x2f')][_0xc430('0x3a')]+'%'};return _0x5a05d8;}})});}_0x4cf56c=_[_0xc430('0x3b')]({},_0x4cf56c,_0x542cba[_0xc430('0x3d')]);var _0x393f49={'where':_0x4cf56c['where']};return db[_0xc430('0x29')][_0xc430('0x19')](_0x393f49)[_0xc430('0x1f')](function(_0x1efaf5){_0x4ad29e[_0xc430('0x19')]=_0x1efaf5;if(_0x542cba[_0xc430('0x2f')][_0xc430('0x3e')]){_0x4cf56c[_0xc430('0x3f')]=[{'all':!![]}];}return db[_0xc430('0x29')][_0xc430('0x40')](_0x4cf56c);})[_0xc430('0x1f')](function(_0xc9ad7d){_0x4ad29e[_0xc430('0x41')]=_0xc9ad7d;return _0x4ad29e;})[_0xc430('0x1f')](respondWithFilteredResult(_0x1f8086,_0x4cf56c))['catch'](handleError(_0x1f8086,null));};exports['show']=function(_0x4983e0,_0x262063){var _0x254611={'raw':!![],'where':{'id':_0x4983e0[_0xc430('0x42')]['id']}},_0x438020={};_0x438020[_0xc430('0x2e')]=_[_0xc430('0x43')](db[_0xc430('0x29')][_0xc430('0x2a')]);_0x438020[_0xc430('0x2f')]=_[_0xc430('0x43')](_0x4983e0[_0xc430('0x2f')]);_0x438020[_0xc430('0x38')]=_[_0xc430('0x31')](_0x438020[_0xc430('0x2e')],_0x438020[_0xc430('0x2f')]);_0x254611[_0xc430('0x30')]=_['intersection'](_0x438020[_0xc430('0x2e')],qs[_0xc430('0x32')](_0x4983e0[_0xc430('0x2f')][_0xc430('0x32')]));_0x254611[_0xc430('0x30')]=_0x254611[_0xc430('0x30')][_0xc430('0x44')]?_0x254611[_0xc430('0x30')]:_0x438020['model'];if(_0x4983e0[_0xc430('0x2f')]['includeAll']){_0x254611[_0xc430('0x3f')]=[{'all':!![]}];}_0x254611=_[_0xc430('0x3b')]({},_0x254611,_0x4983e0['options']);return db['SquareOdbc'][_0xc430('0x45')](_0x254611)['then'](handleEntityNotFound(_0x262063,null))['then'](respondWithResult(_0x262063,null))[_0xc430('0x46')](handleError(_0x262063,null));};exports['create']=function(_0x175f3f,_0x364788){return db[_0xc430('0x29')]['create'](_0x175f3f[_0xc430('0x47')],{})[_0xc430('0x1f')](function(_0x19e563){var _0x549400=_0x175f3f[_0xc430('0x48')][_0xc430('0x20')]({'plain':!![]});if(!_0x549400)throw new Error(_0xc430('0x49'));if(_0x549400[_0xc430('0x4a')]===_0xc430('0x48')){var _0x3b85f6=_0x19e563[_0xc430('0x20')]({'plain':!![]});var _0x4ab31e=_0xc430('0x4b');return db[_0xc430('0x4c')][_0xc430('0x45')]({'where':{'name':_0x4ab31e,'userProfileId':_0x549400['userProfileId']},'raw':!![]})[_0xc430('0x1f')](function(_0x4178d7){if(_0x4178d7&&_0x4178d7[_0xc430('0x4d')]===0x0){return db[_0xc430('0x21')]['create']({'name':_0x3b85f6[_0xc430('0x25')],'resourceId':_0x3b85f6['id'],'type':_0x4178d7['name'],'sectionId':_0x4178d7['id']},{})[_0xc430('0x1f')](function(){return _0x19e563;});}else{return _0x19e563;}})[_0xc430('0x46')](function(_0x2a5143){logger[_0xc430('0x23')](_0xc430('0x4e'),_0x2a5143);throw _0x2a5143;});}return _0x19e563;})[_0xc430('0x1f')](respondWithResult(_0x364788,0xc9))['catch'](handleError(_0x364788,null));};exports[_0xc430('0x1e')]=function(_0x654bed,_0x4c0959){if(_0x654bed[_0xc430('0x47')]['id']){delete _0x654bed[_0xc430('0x47')]['id'];}return db[_0xc430('0x29')][_0xc430('0x45')]({'where':{'id':_0x654bed['params']['id']}})[_0xc430('0x1f')](handleEntityNotFound(_0x4c0959,null))['then'](saveUpdates(_0x654bed[_0xc430('0x47')],null))[_0xc430('0x1f')](respondWithResult(_0x4c0959,null))[_0xc430('0x46')](handleError(_0x4c0959,null));};exports[_0xc430('0x22')]=function(_0x532d98,_0x12c624){return db[_0xc430('0x29')]['find']({'where':{'id':_0x532d98['params']['id']}})[_0xc430('0x1f')](handleEntityNotFound(_0x12c624,null))[_0xc430('0x1f')](removeEntity(_0x12c624,null))[_0xc430('0x46')](handleError(_0x12c624,null));};exports[_0xc430('0x4f')]=function(_0x2d71d5,_0x40ed6f,_0x2065d0){var _0x4db6dc;return db[_0xc430('0x29')]['find']({'where':{'id':_0x2d71d5[_0xc430('0x42')]['id']},'attributes':['id',_0xc430('0x50')]})[_0xc430('0x1f')](handleEntityNotFound(_0x40ed6f,null))[_0xc430('0x1f')](function(_0x19e84f){if(_0x19e84f){var _0x12b6f2=require('odbc')();_0x12b6f2[_0xc430('0x51')](_0x19e84f[_0xc430('0x50')]);_0x12b6f2[_0xc430('0x52')]();return _0x19e84f;}})[_0xc430('0x1f')](respondWithResult(_0x40ed6f,null))[_0xc430('0x46')](handleError(_0x40ed6f,null));};