Built motion from commit (unavailable).|2.5.9
[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 _0x5596=['querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/environment','../../config/license/util','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','update','then','get','ODBC','UserProfileResource','destroy','error','stack','send','index','map','SquareOdbc','rawAttributes','key','query','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','merge','type','VIRTUAL','includeAll','include','findAll','rows','catch','show','keys','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','name','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','test','odbc','openSync','dsn','closeSync','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','moment','mustache','util','sox','to-csv','lodash','squel','crypto','jsforce'];(function(_0x3fdf1a,_0x5aca53){var _0x5e68ab=function(_0x59abff){while(--_0x59abff){_0x3fdf1a['push'](_0x3fdf1a['shift']());}};_0x5e68ab(++_0x5aca53);}(_0x5596,0x156));var _0x6559=function(_0x2d985a,_0x16571e){_0x2d985a=_0x2d985a-0x0;var _0x2411d0=_0x5596[_0x2d985a];return _0x2411d0;};'use strict';var pdf=require(_0x6559('0x0'));var emlformat=require(_0x6559('0x1'));var rimraf=require(_0x6559('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0x6559('0x3'));var rp=require(_0x6559('0x4'));var moment=require(_0x6559('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x6559('0x6'));var util=require(_0x6559('0x7'));var path=require('path');var sox=require(_0x6559('0x8'));var csv=require(_0x6559('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x6559('0xa'));var squel=require(_0x6559('0xb'));var crypto=require(_0x6559('0xc'));var jsforce=require(_0x6559('0xd'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x6559('0xe'));var Papa=require(_0x6559('0xf'));var Redis=require(_0x6559('0x10'));var authService=require(_0x6559('0x11'));var qs=require(_0x6559('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x6559('0x13'));var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require(_0x6559('0x14'));var licenseUtil=require(_0x6559('0x15'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x20f051,_0x5bcfc7){_0x5bcfc7=_0x5bcfc7||0xcc;return function(_0x9357d1){if(_0x9357d1){return _0x20f051[_0x6559('0x16')](_0x5bcfc7);}return _0x20f051[_0x6559('0x17')](_0x5bcfc7)[_0x6559('0x18')]();};}function respondWithResult(_0x41183d,_0x293a26){_0x293a26=_0x293a26||0xc8;return function(_0x14cec0){if(_0x14cec0){return _0x41183d['status'](_0x293a26)[_0x6559('0x19')](_0x14cec0);}};}function respondWithFilteredResult(_0x24e759,_0x3b3d1e){return function(_0x288074){if(_0x288074){var _0x36a2cf=_0x288074[_0x6559('0x1a')],_0x56c793=_0x3b3d1e[_0x6559('0x1b')],_0xd4b69=_0x3b3d1e[_0x6559('0x1b')]+_0x3b3d1e[_0x6559('0x1c')],_0x40fbd1;if(_0xd4b69>=_0x36a2cf){_0xd4b69=_0x36a2cf;_0x40fbd1=0xc8;}else{_0x40fbd1=0xce;}_0x24e759[_0x6559('0x17')](_0x40fbd1);return _0x24e759[_0x6559('0x1d')](_0x6559('0x1e'),_0x56c793+'-'+_0xd4b69+'/'+_0x36a2cf)['json'](_0x288074);}return null;};}function patchUpdates(_0x447687){return function(_0x5df715){try{jsonpatch[_0x6559('0x1f')](_0x5df715,_0x447687,!![]);}catch(_0x3bfa2f){return BPromise[_0x6559('0x20')](_0x3bfa2f);}return _0x5df715[_0x6559('0x21')]();};}function saveUpdates(_0x2b8559,_0x3af254){return function(_0x4ba4d7){if(_0x4ba4d7){return _0x4ba4d7[_0x6559('0x22')](_0x2b8559)[_0x6559('0x23')](function(_0x16e703){return _0x16e703;});}return null;};}function removeEntity(_0x156284,_0x449c4b){return function(_0x1ff3f5){if(_0x1ff3f5){return _0x1ff3f5['destroy']()[_0x6559('0x23')](function(){var _0x368c60=_0x1ff3f5[_0x6559('0x24')]({'plain':!![]});var _0x4b49b3=_0x6559('0x25');return db[_0x6559('0x26')][_0x6559('0x27')]({'where':{'type':_0x4b49b3,'resourceId':_0x368c60['id']}})['then'](function(){return _0x1ff3f5;});})[_0x6559('0x23')](function(){_0x156284[_0x6559('0x17')](0xcc)[_0x6559('0x18')]();});}};}function handleEntityNotFound(_0x4dcea2,_0xe31f55){return function(_0x3b6b3d){if(!_0x3b6b3d){_0x4dcea2[_0x6559('0x16')](0x194);}return _0x3b6b3d;};}function handleError(_0x47763d,_0x3b6ac6){_0x3b6ac6=_0x3b6ac6||0x1f4;return function(_0x307ec3){logger[_0x6559('0x28')](_0x307ec3[_0x6559('0x29')]);if(_0x307ec3['name']){delete _0x307ec3['name'];}_0x47763d[_0x6559('0x17')](_0x3b6ac6)[_0x6559('0x2a')](_0x307ec3);};}exports[_0x6559('0x2b')]=function(_0x41a71b,_0x16def1){var _0x1ad43b={},_0x198993={},_0x5477d0={'count':0x0,'rows':[]};var _0x3997aa=_[_0x6559('0x2c')](db[_0x6559('0x2d')][_0x6559('0x2e')],function(_0x801f2e){return{'name':_0x801f2e['fieldName'],'type':_0x801f2e['type'][_0x6559('0x2f')]};});_0x198993['model']=_['map'](_0x3997aa,'name');_0x198993[_0x6559('0x30')]=_['keys'](_0x41a71b[_0x6559('0x30')]);_0x198993['filters']=_[_0x6559('0x31')](_0x198993[_0x6559('0x32')],_0x198993[_0x6559('0x30')]);_0x1ad43b[_0x6559('0x33')]=_[_0x6559('0x31')](_0x198993[_0x6559('0x32')],qs['fields'](_0x41a71b[_0x6559('0x30')][_0x6559('0x34')]));_0x1ad43b['attributes']=_0x1ad43b[_0x6559('0x33')][_0x6559('0x35')]?_0x1ad43b[_0x6559('0x33')]:_0x198993['model'];if(!_0x41a71b[_0x6559('0x30')][_0x6559('0x36')](_0x6559('0x37'))){_0x1ad43b[_0x6559('0x1c')]=qs[_0x6559('0x1c')](_0x41a71b[_0x6559('0x30')][_0x6559('0x1c')]);_0x1ad43b[_0x6559('0x1b')]=qs[_0x6559('0x1b')](_0x41a71b[_0x6559('0x30')][_0x6559('0x1b')]);}_0x1ad43b[_0x6559('0x38')]=qs['sort'](_0x41a71b['query'][_0x6559('0x39')]);_0x1ad43b[_0x6559('0x3a')]=qs[_0x6559('0x3b')](_[_0x6559('0x3c')](_0x41a71b[_0x6559('0x30')],_0x198993['filters']),_0x3997aa);if(_0x41a71b[_0x6559('0x30')][_0x6559('0x3d')]){_0x1ad43b[_0x6559('0x3a')]=_[_0x6559('0x3e')](_0x1ad43b['where'],{'$or':_[_0x6559('0x2c')](_0x3997aa,function(_0x39f9b9){if(_0x39f9b9[_0x6559('0x3f')]!==_0x6559('0x40')){var _0x5e1c57={};_0x5e1c57[_0x39f9b9['name']]={'$like':'%'+_0x41a71b['query'][_0x6559('0x3d')]+'%'};return _0x5e1c57;}})});}_0x1ad43b=_[_0x6559('0x3e')]({},_0x1ad43b,_0x41a71b['options']);var _0x1e4b1a={'where':_0x1ad43b[_0x6559('0x3a')]};return db['SquareOdbc'][_0x6559('0x1a')](_0x1e4b1a)[_0x6559('0x23')](function(_0x3da5aa){_0x5477d0[_0x6559('0x1a')]=_0x3da5aa;if(_0x41a71b[_0x6559('0x30')][_0x6559('0x41')]){_0x1ad43b[_0x6559('0x42')]=[{'all':!![]}];}return db['SquareOdbc'][_0x6559('0x43')](_0x1ad43b);})[_0x6559('0x23')](function(_0x389ed0){_0x5477d0[_0x6559('0x44')]=_0x389ed0;return _0x5477d0;})['then'](respondWithFilteredResult(_0x16def1,_0x1ad43b))[_0x6559('0x45')](handleError(_0x16def1,null));};exports[_0x6559('0x46')]=function(_0x58c6b6,_0x280f3d){var _0x273f42={'raw':!![],'where':{'id':_0x58c6b6['params']['id']}},_0x3284a5={};_0x3284a5[_0x6559('0x32')]=_[_0x6559('0x47')](db[_0x6559('0x2d')]['rawAttributes']);_0x3284a5[_0x6559('0x30')]=_[_0x6559('0x47')](_0x58c6b6[_0x6559('0x30')]);_0x3284a5[_0x6559('0x3b')]=_['intersection'](_0x3284a5[_0x6559('0x32')],_0x3284a5[_0x6559('0x30')]);_0x273f42[_0x6559('0x33')]=_['intersection'](_0x3284a5['model'],qs[_0x6559('0x34')](_0x58c6b6['query'][_0x6559('0x34')]));_0x273f42[_0x6559('0x33')]=_0x273f42[_0x6559('0x33')][_0x6559('0x35')]?_0x273f42[_0x6559('0x33')]:_0x3284a5['model'];if(_0x58c6b6[_0x6559('0x30')][_0x6559('0x41')]){_0x273f42['include']=[{'all':!![]}];}_0x273f42=_[_0x6559('0x3e')]({},_0x273f42,_0x58c6b6['options']);return db[_0x6559('0x2d')][_0x6559('0x48')](_0x273f42)[_0x6559('0x23')](handleEntityNotFound(_0x280f3d,null))[_0x6559('0x23')](respondWithResult(_0x280f3d,null))[_0x6559('0x45')](handleError(_0x280f3d,null));};exports[_0x6559('0x49')]=function(_0x3de582,_0x1e33b4){return db['SquareOdbc'][_0x6559('0x49')](_0x3de582[_0x6559('0x4a')],{})[_0x6559('0x23')](function(_0x1a3f27){var _0x485b1c=_0x3de582[_0x6559('0x4b')][_0x6559('0x24')]({'plain':!![]});if(!_0x485b1c)throw new Error(_0x6559('0x4c'));if(_0x485b1c[_0x6559('0x4d')]==='user'){var _0x282848=_0x1a3f27[_0x6559('0x24')]({'plain':!![]});var _0x84c8f6='ODBC';return db[_0x6559('0x4e')][_0x6559('0x48')]({'where':{'name':_0x84c8f6,'userProfileId':_0x485b1c[_0x6559('0x4f')]},'raw':!![]})[_0x6559('0x23')](function(_0x2b5f18){if(_0x2b5f18&&_0x2b5f18[_0x6559('0x50')]===0x0){return db[_0x6559('0x26')][_0x6559('0x49')]({'name':_0x282848['name'],'resourceId':_0x282848['id'],'type':_0x2b5f18[_0x6559('0x51')],'sectionId':_0x2b5f18['id']},{})['then'](function(){return _0x1a3f27;});}else{return _0x1a3f27;}})[_0x6559('0x45')](function(_0x295353){logger[_0x6559('0x28')](_0x6559('0x52'),_0x295353);throw _0x295353;});}return _0x1a3f27;})[_0x6559('0x23')](respondWithResult(_0x1e33b4,0xc9))[_0x6559('0x45')](handleError(_0x1e33b4,null));};exports[_0x6559('0x22')]=function(_0x218bb8,_0x44244a){if(_0x218bb8[_0x6559('0x4a')]['id']){delete _0x218bb8['body']['id'];}return db['SquareOdbc']['find']({'where':{'id':_0x218bb8[_0x6559('0x53')]['id']}})['then'](handleEntityNotFound(_0x44244a,null))[_0x6559('0x23')](saveUpdates(_0x218bb8[_0x6559('0x4a')],null))['then'](respondWithResult(_0x44244a,null))[_0x6559('0x45')](handleError(_0x44244a,null));};exports[_0x6559('0x27')]=function(_0x3a38d3,_0x2763aa){return db['SquareOdbc'][_0x6559('0x48')]({'where':{'id':_0x3a38d3[_0x6559('0x53')]['id']}})['then'](handleEntityNotFound(_0x2763aa,null))[_0x6559('0x23')](removeEntity(_0x2763aa,null))[_0x6559('0x45')](handleError(_0x2763aa,null));};exports[_0x6559('0x54')]=function(_0x933230,_0xaa7577,_0x2acf30){var _0x28870b;return db[_0x6559('0x2d')][_0x6559('0x48')]({'where':{'id':_0x933230[_0x6559('0x53')]['id']},'attributes':['id','dsn']})[_0x6559('0x23')](handleEntityNotFound(_0xaa7577,null))[_0x6559('0x23')](function(_0x129f97){if(_0x129f97){var _0x272439=require(_0x6559('0x55'))();_0x272439[_0x6559('0x56')](_0x129f97[_0x6559('0x57')]);_0x272439[_0x6559('0x58')]();return _0x129f97;}})[_0x6559('0x23')](respondWithResult(_0xaa7577,null))[_0x6559('0x45')](handleError(_0xaa7577,null));};