Built motion from commit (unavailable).|2.5.10
[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 _0x7801=['json','reject','save','update','then','get','stack','name','index','map','SquareOdbc','rawAttributes','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','offset','order','sort','where','pick','filter','merge','type','VIRTUAL','options','count','includeAll','include','findAll','show','params','keys','find','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','ODBC','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','error','test','openSync','dsn','closeSync','html-pdf','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','limit','set','Content-Range'];(function(_0x22b1af,_0x116f79){var _0x3c1553=function(_0x3a133b){while(--_0x3a133b){_0x22b1af['push'](_0x22b1af['shift']());}};_0x3c1553(++_0x116f79);}(_0x7801,0x193));var _0x1780=function(_0x3ab51d,_0x2fa01d){_0x3ab51d=_0x3ab51d-0x0;var _0x29a04e=_0x7801[_0x3ab51d];return _0x29a04e;};'use strict';var pdf=require(_0x1780('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x1780('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x1780('0x2'));var rp=require(_0x1780('0x3'));var moment=require(_0x1780('0x4'));var BPromise=require(_0x1780('0x5'));var Mustache=require(_0x1780('0x6'));var util=require(_0x1780('0x7'));var path=require('path');var sox=require(_0x1780('0x8'));var csv=require(_0x1780('0x9'));var ejs=require(_0x1780('0xa'));var fs=require('fs');var _=require(_0x1780('0xb'));var squel=require('squel');var crypto=require(_0x1780('0xc'));var jsforce=require(_0x1780('0xd'));var deskjs=require(_0x1780('0xe'));var toCsv=require('to-csv');var querystring=require(_0x1780('0xf'));var Papa=require(_0x1780('0x10'));var Redis=require(_0x1780('0x11'));var authService=require(_0x1780('0x12'));var qs=require(_0x1780('0x13'));var as=require(_0x1780('0x14'));var hardwareService=require(_0x1780('0x15'));var logger=require(_0x1780('0x16'))('api');var utils=require(_0x1780('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0x1780('0x18'));var db=require(_0x1780('0x19'))['db'];function respondWithStatusCode(_0x2f7de7,_0x2ed6e7){_0x2ed6e7=_0x2ed6e7||0xcc;return function(_0x115cb8){if(_0x115cb8){return _0x2f7de7[_0x1780('0x1a')](_0x2ed6e7);}return _0x2f7de7[_0x1780('0x1b')](_0x2ed6e7)[_0x1780('0x1c')]();};}function respondWithResult(_0xdcbdc6,_0x2197a8){_0x2197a8=_0x2197a8||0xc8;return function(_0x5a6886){if(_0x5a6886){return _0xdcbdc6[_0x1780('0x1b')](_0x2197a8)['json'](_0x5a6886);}};}function respondWithFilteredResult(_0x3a1f94,_0x43927d){return function(_0x229115){if(_0x229115){var _0x237d53=_0x229115['count'],_0x2e6656=_0x43927d['offset'],_0x2fee74=_0x43927d['offset']+_0x43927d[_0x1780('0x1d')],_0x4124db;if(_0x2fee74>=_0x237d53){_0x2fee74=_0x237d53;_0x4124db=0xc8;}else{_0x4124db=0xce;}_0x3a1f94[_0x1780('0x1b')](_0x4124db);return _0x3a1f94[_0x1780('0x1e')](_0x1780('0x1f'),_0x2e6656+'-'+_0x2fee74+'/'+_0x237d53)[_0x1780('0x20')](_0x229115);}return null;};}function patchUpdates(_0x3245fc){return function(_0x2d2b5d){try{jsonpatch['apply'](_0x2d2b5d,_0x3245fc,!![]);}catch(_0x4cb334){return BPromise[_0x1780('0x21')](_0x4cb334);}return _0x2d2b5d[_0x1780('0x22')]();};}function saveUpdates(_0x4c3143,_0x1c4cd2){return function(_0x1f0f4b){if(_0x1f0f4b){return _0x1f0f4b[_0x1780('0x23')](_0x4c3143)[_0x1780('0x24')](function(_0x5f5d46){return _0x5f5d46;});}return null;};}function removeEntity(_0x155abc,_0x34efed){return function(_0xd7a1cf){if(_0xd7a1cf){return _0xd7a1cf['destroy']()[_0x1780('0x24')](function(){var _0x528632=_0xd7a1cf[_0x1780('0x25')]({'plain':!![]});var _0x39197d='ODBC';return db['UserProfileResource']['destroy']({'where':{'type':_0x39197d,'resourceId':_0x528632['id']}})[_0x1780('0x24')](function(){return _0xd7a1cf;});})['then'](function(){_0x155abc[_0x1780('0x1b')](0xcc)[_0x1780('0x1c')]();});}};}function handleEntityNotFound(_0x17afcb,_0xf4ef9b){return function(_0x4d3dd2){if(!_0x4d3dd2){_0x17afcb[_0x1780('0x1a')](0x194);}return _0x4d3dd2;};}function handleError(_0x1ac3d4,_0x395e1b){_0x395e1b=_0x395e1b||0x1f4;return function(_0xb30393){logger['error'](_0xb30393[_0x1780('0x26')]);if(_0xb30393[_0x1780('0x27')]){delete _0xb30393['name'];}_0x1ac3d4[_0x1780('0x1b')](_0x395e1b)['send'](_0xb30393);};}exports[_0x1780('0x28')]=function(_0x5ee510,_0x344690){var _0x270216={},_0x487ece={},_0x264dba={'count':0x0,'rows':[]};var _0x107bb2=_[_0x1780('0x29')](db[_0x1780('0x2a')][_0x1780('0x2b')],function(_0x2a7402){return{'name':_0x2a7402['fieldName'],'type':_0x2a7402['type']['key']};});_0x487ece[_0x1780('0x2c')]=_[_0x1780('0x29')](_0x107bb2,'name');_0x487ece[_0x1780('0x2d')]=_['keys'](_0x5ee510['query']);_0x487ece[_0x1780('0x2e')]=_[_0x1780('0x2f')](_0x487ece[_0x1780('0x2c')],_0x487ece[_0x1780('0x2d')]);_0x270216[_0x1780('0x30')]=_[_0x1780('0x2f')](_0x487ece[_0x1780('0x2c')],qs[_0x1780('0x31')](_0x5ee510[_0x1780('0x2d')][_0x1780('0x31')]));_0x270216[_0x1780('0x30')]=_0x270216[_0x1780('0x30')][_0x1780('0x32')]?_0x270216[_0x1780('0x30')]:_0x487ece[_0x1780('0x2c')];if(!_0x5ee510[_0x1780('0x2d')][_0x1780('0x33')](_0x1780('0x34'))){_0x270216[_0x1780('0x1d')]=qs[_0x1780('0x1d')](_0x5ee510[_0x1780('0x2d')][_0x1780('0x1d')]);_0x270216[_0x1780('0x35')]=qs[_0x1780('0x35')](_0x5ee510[_0x1780('0x2d')][_0x1780('0x35')]);}_0x270216[_0x1780('0x36')]=qs[_0x1780('0x37')](_0x5ee510[_0x1780('0x2d')][_0x1780('0x37')]);_0x270216[_0x1780('0x38')]=qs[_0x1780('0x2e')](_[_0x1780('0x39')](_0x5ee510[_0x1780('0x2d')],_0x487ece[_0x1780('0x2e')]),_0x107bb2);if(_0x5ee510['query'][_0x1780('0x3a')]){_0x270216[_0x1780('0x38')]=_[_0x1780('0x3b')](_0x270216[_0x1780('0x38')],{'$or':_[_0x1780('0x29')](_0x107bb2,function(_0x484078){if(_0x484078[_0x1780('0x3c')]!==_0x1780('0x3d')){var _0x19726b={};_0x19726b[_0x484078[_0x1780('0x27')]]={'$like':'%'+_0x5ee510[_0x1780('0x2d')]['filter']+'%'};return _0x19726b;}})});}_0x270216=_[_0x1780('0x3b')]({},_0x270216,_0x5ee510[_0x1780('0x3e')]);var _0x5dc891={'where':_0x270216[_0x1780('0x38')]};return db[_0x1780('0x2a')][_0x1780('0x3f')](_0x5dc891)[_0x1780('0x24')](function(_0xa6011b){_0x264dba[_0x1780('0x3f')]=_0xa6011b;if(_0x5ee510[_0x1780('0x2d')][_0x1780('0x40')]){_0x270216[_0x1780('0x41')]=[{'all':!![]}];}return db[_0x1780('0x2a')][_0x1780('0x42')](_0x270216);})[_0x1780('0x24')](function(_0xa6a0ab){_0x264dba['rows']=_0xa6a0ab;return _0x264dba;})[_0x1780('0x24')](respondWithFilteredResult(_0x344690,_0x270216))['catch'](handleError(_0x344690,null));};exports[_0x1780('0x43')]=function(_0x2e5fe3,_0x3ef5f3){var _0x4246cb={'raw':!![],'where':{'id':_0x2e5fe3[_0x1780('0x44')]['id']}},_0x2065f1={};_0x2065f1[_0x1780('0x2c')]=_[_0x1780('0x45')](db[_0x1780('0x2a')]['rawAttributes']);_0x2065f1[_0x1780('0x2d')]=_[_0x1780('0x45')](_0x2e5fe3['query']);_0x2065f1[_0x1780('0x2e')]=_[_0x1780('0x2f')](_0x2065f1[_0x1780('0x2c')],_0x2065f1[_0x1780('0x2d')]);_0x4246cb[_0x1780('0x30')]=_[_0x1780('0x2f')](_0x2065f1[_0x1780('0x2c')],qs[_0x1780('0x31')](_0x2e5fe3[_0x1780('0x2d')]['fields']));_0x4246cb[_0x1780('0x30')]=_0x4246cb['attributes'][_0x1780('0x32')]?_0x4246cb[_0x1780('0x30')]:_0x2065f1[_0x1780('0x2c')];if(_0x2e5fe3[_0x1780('0x2d')][_0x1780('0x40')]){_0x4246cb[_0x1780('0x41')]=[{'all':!![]}];}_0x4246cb=_[_0x1780('0x3b')]({},_0x4246cb,_0x2e5fe3[_0x1780('0x3e')]);return db[_0x1780('0x2a')][_0x1780('0x46')](_0x4246cb)[_0x1780('0x24')](handleEntityNotFound(_0x3ef5f3,null))['then'](respondWithResult(_0x3ef5f3,null))[_0x1780('0x47')](handleError(_0x3ef5f3,null));};exports[_0x1780('0x48')]=function(_0x4ed607,_0x144ce5){return db[_0x1780('0x2a')][_0x1780('0x48')](_0x4ed607[_0x1780('0x49')],{})[_0x1780('0x24')](function(_0x4b0a38){var _0x8c1a1e=_0x4ed607[_0x1780('0x4a')][_0x1780('0x25')]({'plain':!![]});if(!_0x8c1a1e)throw new Error(_0x1780('0x4b'));if(_0x8c1a1e[_0x1780('0x4c')]==='user'){var _0x297efd=_0x4b0a38[_0x1780('0x25')]({'plain':!![]});var _0x238b18=_0x1780('0x4d');return db[_0x1780('0x4e')][_0x1780('0x46')]({'where':{'name':_0x238b18,'userProfileId':_0x8c1a1e[_0x1780('0x4f')]},'raw':!![]})[_0x1780('0x24')](function(_0x481ea5){if(_0x481ea5&&_0x481ea5[_0x1780('0x50')]===0x0){return db[_0x1780('0x51')][_0x1780('0x48')]({'name':_0x297efd['name'],'resourceId':_0x297efd['id'],'type':_0x481ea5[_0x1780('0x27')],'sectionId':_0x481ea5['id']},{})[_0x1780('0x24')](function(){return _0x4b0a38;});}else{return _0x4b0a38;}})[_0x1780('0x47')](function(_0x45f1a0){logger[_0x1780('0x52')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x45f1a0);throw _0x45f1a0;});}return _0x4b0a38;})[_0x1780('0x24')](respondWithResult(_0x144ce5,0xc9))[_0x1780('0x47')](handleError(_0x144ce5,null));};exports['update']=function(_0x509e97,_0x6784b9){if(_0x509e97[_0x1780('0x49')]['id']){delete _0x509e97[_0x1780('0x49')]['id'];}return db[_0x1780('0x2a')][_0x1780('0x46')]({'where':{'id':_0x509e97['params']['id']}})[_0x1780('0x24')](handleEntityNotFound(_0x6784b9,null))[_0x1780('0x24')](saveUpdates(_0x509e97[_0x1780('0x49')],null))['then'](respondWithResult(_0x6784b9,null))[_0x1780('0x47')](handleError(_0x6784b9,null));};exports['destroy']=function(_0x5dafe1,_0x71d373){return db[_0x1780('0x2a')]['find']({'where':{'id':_0x5dafe1[_0x1780('0x44')]['id']}})[_0x1780('0x24')](handleEntityNotFound(_0x71d373,null))['then'](removeEntity(_0x71d373,null))[_0x1780('0x47')](handleError(_0x71d373,null));};exports[_0x1780('0x53')]=function(_0x1f2449,_0x2da1d5,_0x4b3e3c){var _0x2debcd;return db[_0x1780('0x2a')][_0x1780('0x46')]({'where':{'id':_0x1f2449[_0x1780('0x44')]['id']},'attributes':['id','dsn']})[_0x1780('0x24')](handleEntityNotFound(_0x2da1d5,null))['then'](function(_0x1a3189){if(_0x1a3189){var _0x3e5643=require('odbc')();_0x3e5643[_0x1780('0x54')](_0x1a3189[_0x1780('0x55')]);_0x3e5643[_0x1780('0x56')]();return _0x1a3189;}})['then'](respondWithResult(_0x2da1d5,null))['catch'](handleError(_0x2da1d5,null));};