Built motion from commit 9e1399f3.|2.5.37
[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 _0x1abd=['ODBC','end','error','send','index','map','SquareOdbc','rawAttributes','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','order','sort','filters','pick','filter','merge','where','type','VIRTUAL','name','options','findAll','rows','catch','show','includeAll','include','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','odbc','openSync','dsn','closeSync','eml-format','zip-dir','bluebird','mustache','util','sox','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','sendStatus','status','json','offset','undefined','limit','count','set','Content-Range','reject','save','update','then','destroy','get'];(function(_0x2d385e,_0x2615d9){var _0x207c11=function(_0x273f4b){while(--_0x273f4b){_0x2d385e['push'](_0x2d385e['shift']());}};_0x207c11(++_0x2615d9);}(_0x1abd,0x1cf));var _0xd1ab=function(_0x2300c7,_0x255f74){_0x2300c7=_0x2300c7-0x0;var _0x23f720=_0x1abd[_0x2300c7];return _0x23f720;};'use strict';var emlformat=require(_0xd1ab('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xd1ab('0x1'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xd1ab('0x2'));var Mustache=require(_0xd1ab('0x3'));var util=require(_0xd1ab('0x4'));var path=require('path');var sox=require(_0xd1ab('0x5'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xd1ab('0x6'));var _=require(_0xd1ab('0x7'));var squel=require(_0xd1ab('0x8'));var crypto=require(_0xd1ab('0x9'));var jsforce=require(_0xd1ab('0xa'));var deskjs=require(_0xd1ab('0xb'));var toCsv=require(_0xd1ab('0xc'));var querystring=require(_0xd1ab('0xd'));var Papa=require(_0xd1ab('0xe'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xd1ab('0xf'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xd1ab('0x10'))(_0xd1ab('0x11'));var utils=require(_0xd1ab('0x12'));var config=require(_0xd1ab('0x13'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x23b050,_0x26be09){_0x26be09=_0x26be09||0xcc;return function(_0x1edd7c){if(_0x1edd7c){return _0x23b050[_0xd1ab('0x14')](_0x26be09);}return _0x23b050[_0xd1ab('0x15')](_0x26be09)['end']();};}function respondWithResult(_0x131df0,_0x2836b8){_0x2836b8=_0x2836b8||0xc8;return function(_0x45334c){if(_0x45334c){return _0x131df0['status'](_0x2836b8)[_0xd1ab('0x16')](_0x45334c);}};}function respondWithFilteredResult(_0x21eba0,_0x6fa37e){return function(_0x1a2dfb){if(_0x1a2dfb){var _0x2f77b3=typeof _0x6fa37e[_0xd1ab('0x17')]===_0xd1ab('0x18')&&typeof _0x6fa37e[_0xd1ab('0x19')]==='undefined';var _0x4cda27=_0x1a2dfb[_0xd1ab('0x1a')];var _0x39ec10=_0x2f77b3?0x0:_0x6fa37e[_0xd1ab('0x17')];var _0x3a1d6c=_0x2f77b3?_0x1a2dfb[_0xd1ab('0x1a')]:_0x6fa37e[_0xd1ab('0x17')]+_0x6fa37e['limit'];var _0x284b36;if(_0x3a1d6c>=_0x4cda27){_0x3a1d6c=_0x4cda27;_0x284b36=0xc8;}else{_0x284b36=0xce;}_0x21eba0['status'](_0x284b36);return _0x21eba0[_0xd1ab('0x1b')](_0xd1ab('0x1c'),_0x39ec10+'-'+_0x3a1d6c+'/'+_0x4cda27)[_0xd1ab('0x16')](_0x1a2dfb);}return null;};}function patchUpdates(_0x279149){return function(_0x257ad5){try{jsonpatch['apply'](_0x257ad5,_0x279149,!![]);}catch(_0x4e1b83){return BPromise[_0xd1ab('0x1d')](_0x4e1b83);}return _0x257ad5[_0xd1ab('0x1e')]();};}function saveUpdates(_0x140187,_0x2f9680){return function(_0x515e07){if(_0x515e07){return _0x515e07[_0xd1ab('0x1f')](_0x140187)[_0xd1ab('0x20')](function(_0x1b3385){return _0x1b3385;});}return null;};}function removeEntity(_0x2843a0,_0x4e00e9){return function(_0x24961c){if(_0x24961c){return _0x24961c[_0xd1ab('0x21')]()[_0xd1ab('0x20')](function(){var _0x38bb4b=_0x24961c[_0xd1ab('0x22')]({'plain':!![]});var _0x20f50b=_0xd1ab('0x23');return db['UserProfileResource'][_0xd1ab('0x21')]({'where':{'type':_0x20f50b,'resourceId':_0x38bb4b['id']}})['then'](function(){return _0x24961c;});})[_0xd1ab('0x20')](function(){_0x2843a0['status'](0xcc)[_0xd1ab('0x24')]();});}};}function handleEntityNotFound(_0x161e74,_0x529b71){return function(_0x1d7903){if(!_0x1d7903){_0x161e74[_0xd1ab('0x14')](0x194);}return _0x1d7903;};}function handleError(_0xd17108,_0x266e6b){_0x266e6b=_0x266e6b||0x1f4;return function(_0x110b41){logger[_0xd1ab('0x25')](_0x110b41['stack']);if(_0x110b41['name']){delete _0x110b41['name'];}_0xd17108[_0xd1ab('0x15')](_0x266e6b)[_0xd1ab('0x26')](_0x110b41);};}exports[_0xd1ab('0x27')]=function(_0x179064,_0x5ddee5){var _0x433dcc={},_0xdc6583={},_0x4e5b87={'count':0x0,'rows':[]};var _0x59ee6c=_[_0xd1ab('0x28')](db[_0xd1ab('0x29')][_0xd1ab('0x2a')],function(_0x131d2a){return{'name':_0x131d2a['fieldName'],'type':_0x131d2a['type'][_0xd1ab('0x2b')]};});_0xdc6583[_0xd1ab('0x2c')]=_[_0xd1ab('0x28')](_0x59ee6c,'name');_0xdc6583[_0xd1ab('0x2d')]=_[_0xd1ab('0x2e')](_0x179064[_0xd1ab('0x2d')]);_0xdc6583['filters']=_[_0xd1ab('0x2f')](_0xdc6583['model'],_0xdc6583[_0xd1ab('0x2d')]);_0x433dcc[_0xd1ab('0x30')]=_[_0xd1ab('0x2f')](_0xdc6583[_0xd1ab('0x2c')],qs['fields'](_0x179064['query'][_0xd1ab('0x31')]));_0x433dcc['attributes']=_0x433dcc[_0xd1ab('0x30')][_0xd1ab('0x32')]?_0x433dcc[_0xd1ab('0x30')]:_0xdc6583[_0xd1ab('0x2c')];if(!_0x179064['query'][_0xd1ab('0x33')]('nolimit')){_0x433dcc[_0xd1ab('0x19')]=qs['limit'](_0x179064['query'][_0xd1ab('0x19')]);_0x433dcc['offset']=qs[_0xd1ab('0x17')](_0x179064['query'][_0xd1ab('0x17')]);}_0x433dcc[_0xd1ab('0x34')]=qs[_0xd1ab('0x35')](_0x179064[_0xd1ab('0x2d')][_0xd1ab('0x35')]);_0x433dcc['where']=qs[_0xd1ab('0x36')](_[_0xd1ab('0x37')](_0x179064[_0xd1ab('0x2d')],_0xdc6583[_0xd1ab('0x36')]),_0x59ee6c);if(_0x179064[_0xd1ab('0x2d')][_0xd1ab('0x38')]){_0x433dcc['where']=_[_0xd1ab('0x39')](_0x433dcc[_0xd1ab('0x3a')],{'$or':_[_0xd1ab('0x28')](_0x59ee6c,function(_0x59732d){if(_0x59732d[_0xd1ab('0x3b')]!==_0xd1ab('0x3c')){var _0x2103f5={};_0x2103f5[_0x59732d[_0xd1ab('0x3d')]]={'$like':'%'+_0x179064[_0xd1ab('0x2d')][_0xd1ab('0x38')]+'%'};return _0x2103f5;}})});}_0x433dcc=_[_0xd1ab('0x39')]({},_0x433dcc,_0x179064[_0xd1ab('0x3e')]);var _0x480d37={'where':_0x433dcc['where']};return db[_0xd1ab('0x29')][_0xd1ab('0x1a')](_0x480d37)[_0xd1ab('0x20')](function(_0x20427c){_0x4e5b87['count']=_0x20427c;if(_0x179064[_0xd1ab('0x2d')]['includeAll']){_0x433dcc['include']=[{'all':!![]}];}return db[_0xd1ab('0x29')][_0xd1ab('0x3f')](_0x433dcc);})['then'](function(_0x375acf){_0x4e5b87[_0xd1ab('0x40')]=_0x375acf;return _0x4e5b87;})[_0xd1ab('0x20')](respondWithFilteredResult(_0x5ddee5,_0x433dcc))[_0xd1ab('0x41')](handleError(_0x5ddee5,null));};exports[_0xd1ab('0x42')]=function(_0x47e623,_0x1172db){var _0x10c2c6={'raw':!![],'where':{'id':_0x47e623['params']['id']}},_0x2b28bd={};_0x2b28bd[_0xd1ab('0x2c')]=_[_0xd1ab('0x2e')](db[_0xd1ab('0x29')][_0xd1ab('0x2a')]);_0x2b28bd[_0xd1ab('0x2d')]=_[_0xd1ab('0x2e')](_0x47e623['query']);_0x2b28bd[_0xd1ab('0x36')]=_['intersection'](_0x2b28bd['model'],_0x2b28bd[_0xd1ab('0x2d')]);_0x10c2c6['attributes']=_[_0xd1ab('0x2f')](_0x2b28bd['model'],qs[_0xd1ab('0x31')](_0x47e623['query'][_0xd1ab('0x31')]));_0x10c2c6[_0xd1ab('0x30')]=_0x10c2c6['attributes'][_0xd1ab('0x32')]?_0x10c2c6['attributes']:_0x2b28bd['model'];if(_0x47e623[_0xd1ab('0x2d')][_0xd1ab('0x43')]){_0x10c2c6[_0xd1ab('0x44')]=[{'all':!![]}];}_0x10c2c6=_[_0xd1ab('0x39')]({},_0x10c2c6,_0x47e623['options']);return db[_0xd1ab('0x29')][_0xd1ab('0x45')](_0x10c2c6)[_0xd1ab('0x20')](handleEntityNotFound(_0x1172db,null))['then'](respondWithResult(_0x1172db,null))[_0xd1ab('0x41')](handleError(_0x1172db,null));};exports[_0xd1ab('0x46')]=function(_0x4b9d27,_0x19233b){return db[_0xd1ab('0x29')][_0xd1ab('0x46')](_0x4b9d27[_0xd1ab('0x47')],{})[_0xd1ab('0x20')](function(_0x1bb23a){var _0x8d01f2=_0x4b9d27[_0xd1ab('0x48')][_0xd1ab('0x22')]({'plain':!![]});if(!_0x8d01f2)throw new Error(_0xd1ab('0x49'));if(_0x8d01f2['role']===_0xd1ab('0x48')){var _0x339982=_0x1bb23a['get']({'plain':!![]});var _0x2a4ea0=_0xd1ab('0x23');return db[_0xd1ab('0x4a')][_0xd1ab('0x45')]({'where':{'name':_0x2a4ea0,'userProfileId':_0x8d01f2[_0xd1ab('0x4b')]},'raw':!![]})[_0xd1ab('0x20')](function(_0x2e5495){if(_0x2e5495&&_0x2e5495['autoAssociation']===0x0){return db[_0xd1ab('0x4c')][_0xd1ab('0x46')]({'name':_0x339982[_0xd1ab('0x3d')],'resourceId':_0x339982['id'],'type':_0x2e5495[_0xd1ab('0x3d')],'sectionId':_0x2e5495['id']},{})[_0xd1ab('0x20')](function(){return _0x1bb23a;});}else{return _0x1bb23a;}})[_0xd1ab('0x41')](function(_0x386fa9){logger['error'](_0xd1ab('0x4d'),_0x386fa9);throw _0x386fa9;});}return _0x1bb23a;})[_0xd1ab('0x20')](respondWithResult(_0x19233b,0xc9))['catch'](handleError(_0x19233b,null));};exports[_0xd1ab('0x1f')]=function(_0x185c0e,_0x11de23){if(_0x185c0e[_0xd1ab('0x47')]['id']){delete _0x185c0e[_0xd1ab('0x47')]['id'];}return db[_0xd1ab('0x29')][_0xd1ab('0x45')]({'where':{'id':_0x185c0e[_0xd1ab('0x4e')]['id']}})['then'](handleEntityNotFound(_0x11de23,null))[_0xd1ab('0x20')](saveUpdates(_0x185c0e['body'],null))[_0xd1ab('0x20')](respondWithResult(_0x11de23,null))[_0xd1ab('0x41')](handleError(_0x11de23,null));};exports[_0xd1ab('0x21')]=function(_0x8272f1,_0x22cede){return db['SquareOdbc'][_0xd1ab('0x45')]({'where':{'id':_0x8272f1[_0xd1ab('0x4e')]['id']}})[_0xd1ab('0x20')](handleEntityNotFound(_0x22cede,null))[_0xd1ab('0x20')](removeEntity(_0x22cede,null))[_0xd1ab('0x41')](handleError(_0x22cede,null));};exports['test']=function(_0x17b829,_0x2c2911,_0x57660b){var _0x1eac79;return db[_0xd1ab('0x29')][_0xd1ab('0x45')]({'where':{'id':_0x17b829[_0xd1ab('0x4e')]['id']},'attributes':['id','dsn']})[_0xd1ab('0x20')](handleEntityNotFound(_0x2c2911,null))[_0xd1ab('0x20')](function(_0x111eb0){if(_0x111eb0){var _0x4d05ec=require(_0xd1ab('0x4f'))();_0x4d05ec[_0xd1ab('0x50')](_0x111eb0[_0xd1ab('0x51')]);_0x4d05ec[_0xd1ab('0x52')]();return _0x111eb0;}})['then'](respondWithResult(_0x2c2911,null))[_0xd1ab('0x41')](handleError(_0x2c2911,null));};