Built motion from commit (unavailable).|2.5.21
[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 _0x51b9=['nolimit','limit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','findAll','rows','show','include','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','find','autoAssociation','update','params','dsn','openSync','closeSync','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','count','offset','Content-Range','json','apply','save','then','get','ODBC','UserProfileResource','destroy','error','name','send','index','map','SquareOdbc','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty'];(function(_0x2b1389,_0x1a40f7){var _0x398996=function(_0x379434){while(--_0x379434){_0x2b1389['push'](_0x2b1389['shift']());}};_0x398996(++_0x1a40f7);}(_0x51b9,0x17d));var _0x951b=function(_0x42711a,_0x50df0d){_0x42711a=_0x42711a-0x0;var _0x5d912a=_0x51b9[_0x42711a];return _0x5d912a;};'use strict';var pdf=require(_0x951b('0x0'));var emlformat=require(_0x951b('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x951b('0x2'));var jsonpatch=require(_0x951b('0x3'));var rp=require(_0x951b('0x4'));var moment=require(_0x951b('0x5'));var BPromise=require(_0x951b('0x6'));var Mustache=require(_0x951b('0x7'));var util=require(_0x951b('0x8'));var path=require(_0x951b('0x9'));var sox=require('sox');var csv=require(_0x951b('0xa'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x951b('0xb'));var squel=require(_0x951b('0xc'));var crypto=require(_0x951b('0xd'));var jsforce=require(_0x951b('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x951b('0xa'));var querystring=require(_0x951b('0xf'));var Papa=require(_0x951b('0x10'));var Redis=require(_0x951b('0x11'));var authService=require(_0x951b('0x12'));var qs=require(_0x951b('0x13'));var as=require(_0x951b('0x14'));var hardwareService=require(_0x951b('0x15'));var logger=require(_0x951b('0x16'))(_0x951b('0x17'));var utils=require(_0x951b('0x18'));var config=require('../../config/environment');var licenseUtil=require(_0x951b('0x19'));var db=require(_0x951b('0x1a'))['db'];function respondWithStatusCode(_0x47cbcd,_0x476426){_0x476426=_0x476426||0xcc;return function(_0x1d300b){if(_0x1d300b){return _0x47cbcd[_0x951b('0x1b')](_0x476426);}return _0x47cbcd[_0x951b('0x1c')](_0x476426)[_0x951b('0x1d')]();};}function respondWithResult(_0x321591,_0x554926){_0x554926=_0x554926||0xc8;return function(_0x896040){if(_0x896040){return _0x321591[_0x951b('0x1c')](_0x554926)['json'](_0x896040);}};}function respondWithFilteredResult(_0x2fe48d,_0x2aba42){return function(_0x129fdf){if(_0x129fdf){var _0xe5a59d=_0x129fdf[_0x951b('0x1e')],_0x4b0ad6=_0x2aba42['offset'],_0x4aa600=_0x2aba42[_0x951b('0x1f')]+_0x2aba42['limit'],_0x20d162;if(_0x4aa600>=_0xe5a59d){_0x4aa600=_0xe5a59d;_0x20d162=0xc8;}else{_0x20d162=0xce;}_0x2fe48d[_0x951b('0x1c')](_0x20d162);return _0x2fe48d['set'](_0x951b('0x20'),_0x4b0ad6+'-'+_0x4aa600+'/'+_0xe5a59d)[_0x951b('0x21')](_0x129fdf);}return null;};}function patchUpdates(_0x26933b){return function(_0xc242f4){try{jsonpatch[_0x951b('0x22')](_0xc242f4,_0x26933b,!![]);}catch(_0x1ee11d){return BPromise['reject'](_0x1ee11d);}return _0xc242f4[_0x951b('0x23')]();};}function saveUpdates(_0x143647,_0x29938d){return function(_0x2261b6){if(_0x2261b6){return _0x2261b6['update'](_0x143647)[_0x951b('0x24')](function(_0x2fbeca){return _0x2fbeca;});}return null;};}function removeEntity(_0x58429d,_0x4d3c08){return function(_0x29370b){if(_0x29370b){return _0x29370b['destroy']()[_0x951b('0x24')](function(){var _0x4a20cb=_0x29370b[_0x951b('0x25')]({'plain':!![]});var _0x67df4=_0x951b('0x26');return db[_0x951b('0x27')][_0x951b('0x28')]({'where':{'type':_0x67df4,'resourceId':_0x4a20cb['id']}})['then'](function(){return _0x29370b;});})[_0x951b('0x24')](function(){_0x58429d['status'](0xcc)[_0x951b('0x1d')]();});}};}function handleEntityNotFound(_0x42f670,_0x33e424){return function(_0x5c28db){if(!_0x5c28db){_0x42f670[_0x951b('0x1b')](0x194);}return _0x5c28db;};}function handleError(_0x2271fd,_0x4563b2){_0x4563b2=_0x4563b2||0x1f4;return function(_0x5191c8){logger[_0x951b('0x29')](_0x5191c8['stack']);if(_0x5191c8[_0x951b('0x2a')]){delete _0x5191c8[_0x951b('0x2a')];}_0x2271fd[_0x951b('0x1c')](_0x4563b2)[_0x951b('0x2b')](_0x5191c8);};}exports[_0x951b('0x2c')]=function(_0x1aa0fb,_0x290159){var _0x28d830={},_0x44886e={},_0x41c458={'count':0x0,'rows':[]};var _0x361e36=_[_0x951b('0x2d')](db[_0x951b('0x2e')]['rawAttributes'],function(_0x2b46fd){return{'name':_0x2b46fd[_0x951b('0x2f')],'type':_0x2b46fd[_0x951b('0x30')][_0x951b('0x31')]};});_0x44886e[_0x951b('0x32')]=_[_0x951b('0x2d')](_0x361e36,_0x951b('0x2a'));_0x44886e[_0x951b('0x33')]=_[_0x951b('0x34')](_0x1aa0fb[_0x951b('0x33')]);_0x44886e[_0x951b('0x35')]=_[_0x951b('0x36')](_0x44886e[_0x951b('0x32')],_0x44886e['query']);_0x28d830[_0x951b('0x37')]=_[_0x951b('0x36')](_0x44886e[_0x951b('0x32')],qs[_0x951b('0x38')](_0x1aa0fb[_0x951b('0x33')][_0x951b('0x38')]));_0x28d830[_0x951b('0x37')]=_0x28d830[_0x951b('0x37')][_0x951b('0x39')]?_0x28d830['attributes']:_0x44886e[_0x951b('0x32')];if(!_0x1aa0fb['query'][_0x951b('0x3a')](_0x951b('0x3b'))){_0x28d830[_0x951b('0x3c')]=qs[_0x951b('0x3c')](_0x1aa0fb['query'][_0x951b('0x3c')]);_0x28d830[_0x951b('0x1f')]=qs[_0x951b('0x1f')](_0x1aa0fb[_0x951b('0x33')][_0x951b('0x1f')]);}_0x28d830[_0x951b('0x3d')]=qs[_0x951b('0x3e')](_0x1aa0fb[_0x951b('0x33')]['sort']);_0x28d830[_0x951b('0x3f')]=qs[_0x951b('0x35')](_[_0x951b('0x40')](_0x1aa0fb['query'],_0x44886e[_0x951b('0x35')]),_0x361e36);if(_0x1aa0fb['query'][_0x951b('0x41')]){_0x28d830[_0x951b('0x3f')]=_[_0x951b('0x42')](_0x28d830[_0x951b('0x3f')],{'$or':_[_0x951b('0x2d')](_0x361e36,function(_0x48e1b8){if(_0x48e1b8[_0x951b('0x30')]!==_0x951b('0x43')){var _0x3e496b={};_0x3e496b[_0x48e1b8[_0x951b('0x2a')]]={'$like':'%'+_0x1aa0fb['query'][_0x951b('0x41')]+'%'};return _0x3e496b;}})});}_0x28d830=_[_0x951b('0x42')]({},_0x28d830,_0x1aa0fb[_0x951b('0x44')]);var _0x4ca61d={'where':_0x28d830[_0x951b('0x3f')]};return db[_0x951b('0x2e')]['count'](_0x4ca61d)[_0x951b('0x24')](function(_0x525f66){_0x41c458[_0x951b('0x1e')]=_0x525f66;if(_0x1aa0fb[_0x951b('0x33')][_0x951b('0x45')]){_0x28d830['include']=[{'all':!![]}];}return db[_0x951b('0x2e')][_0x951b('0x46')](_0x28d830);})[_0x951b('0x24')](function(_0x3b0b0f){_0x41c458[_0x951b('0x47')]=_0x3b0b0f;return _0x41c458;})[_0x951b('0x24')](respondWithFilteredResult(_0x290159,_0x28d830))['catch'](handleError(_0x290159,null));};exports[_0x951b('0x48')]=function(_0x10ac21,_0x4e6ccb){var _0x5e0b17={'raw':!![],'where':{'id':_0x10ac21['params']['id']}},_0x1c8dc6={};_0x1c8dc6[_0x951b('0x32')]=_[_0x951b('0x34')](db['SquareOdbc']['rawAttributes']);_0x1c8dc6[_0x951b('0x33')]=_[_0x951b('0x34')](_0x10ac21[_0x951b('0x33')]);_0x1c8dc6[_0x951b('0x35')]=_[_0x951b('0x36')](_0x1c8dc6['model'],_0x1c8dc6['query']);_0x5e0b17['attributes']=_['intersection'](_0x1c8dc6[_0x951b('0x32')],qs[_0x951b('0x38')](_0x10ac21[_0x951b('0x33')]['fields']));_0x5e0b17[_0x951b('0x37')]=_0x5e0b17[_0x951b('0x37')]['length']?_0x5e0b17['attributes']:_0x1c8dc6[_0x951b('0x32')];if(_0x10ac21[_0x951b('0x33')]['includeAll']){_0x5e0b17[_0x951b('0x49')]=[{'all':!![]}];}_0x5e0b17=_[_0x951b('0x42')]({},_0x5e0b17,_0x10ac21[_0x951b('0x44')]);return db[_0x951b('0x2e')]['find'](_0x5e0b17)[_0x951b('0x24')](handleEntityNotFound(_0x4e6ccb,null))[_0x951b('0x24')](respondWithResult(_0x4e6ccb,null))[_0x951b('0x4a')](handleError(_0x4e6ccb,null));};exports[_0x951b('0x4b')]=function(_0x5e6d3f,_0x19109f){return db[_0x951b('0x2e')][_0x951b('0x4b')](_0x5e6d3f[_0x951b('0x4c')],{})[_0x951b('0x24')](function(_0x27ad16){var _0x56cd53=_0x5e6d3f[_0x951b('0x4d')]['get']({'plain':!![]});if(!_0x56cd53)throw new Error(_0x951b('0x4e'));if(_0x56cd53[_0x951b('0x4f')]===_0x951b('0x4d')){var _0x12b02a=_0x27ad16[_0x951b('0x25')]({'plain':!![]});var _0x5c1fd1=_0x951b('0x26');return db[_0x951b('0x50')][_0x951b('0x51')]({'where':{'name':_0x5c1fd1,'userProfileId':_0x56cd53['userProfileId']},'raw':!![]})[_0x951b('0x24')](function(_0x268441){if(_0x268441&&_0x268441[_0x951b('0x52')]===0x0){return db[_0x951b('0x27')][_0x951b('0x4b')]({'name':_0x12b02a[_0x951b('0x2a')],'resourceId':_0x12b02a['id'],'type':_0x268441[_0x951b('0x2a')],'sectionId':_0x268441['id']},{})[_0x951b('0x24')](function(){return _0x27ad16;});}else{return _0x27ad16;}})[_0x951b('0x4a')](function(_0x500422){logger[_0x951b('0x29')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x500422);throw _0x500422;});}return _0x27ad16;})['then'](respondWithResult(_0x19109f,0xc9))['catch'](handleError(_0x19109f,null));};exports[_0x951b('0x53')]=function(_0x2fe9e8,_0x536ffd){if(_0x2fe9e8[_0x951b('0x4c')]['id']){delete _0x2fe9e8[_0x951b('0x4c')]['id'];}return db[_0x951b('0x2e')][_0x951b('0x51')]({'where':{'id':_0x2fe9e8[_0x951b('0x54')]['id']}})[_0x951b('0x24')](handleEntityNotFound(_0x536ffd,null))[_0x951b('0x24')](saveUpdates(_0x2fe9e8[_0x951b('0x4c')],null))[_0x951b('0x24')](respondWithResult(_0x536ffd,null))[_0x951b('0x4a')](handleError(_0x536ffd,null));};exports[_0x951b('0x28')]=function(_0xcdd8a3,_0x1e8135){return db[_0x951b('0x2e')][_0x951b('0x51')]({'where':{'id':_0xcdd8a3[_0x951b('0x54')]['id']}})[_0x951b('0x24')](handleEntityNotFound(_0x1e8135,null))[_0x951b('0x24')](removeEntity(_0x1e8135,null))['catch'](handleError(_0x1e8135,null));};exports['test']=function(_0x1fa38a,_0x57f8e7,_0x19bd4f){var _0x32bd42;return db['SquareOdbc']['find']({'where':{'id':_0x1fa38a[_0x951b('0x54')]['id']},'attributes':['id',_0x951b('0x55')]})['then'](handleEntityNotFound(_0x57f8e7,null))[_0x951b('0x24')](function(_0x35488e){if(_0x35488e){var _0x12f050=require('odbc')();_0x12f050[_0x951b('0x56')](_0x35488e[_0x951b('0x55')]);_0x12f050[_0x951b('0x57')]();return _0x35488e;}})[_0x951b('0x24')](respondWithResult(_0x57f8e7,null))[_0x951b('0x4a')](handleError(_0x57f8e7,null));};