Built motion from commit e8d9bd62.|2.6.25
[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 _0xd4df=['set','Content-Range','apply','save','update','then','destroy','ODBC','UserProfileResource','error','stack','name','send','index','map','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','nolimit','order','sort','where','pick','merge','VIRTUAL','filter','SquareOdbc','includeAll','include','findAll','rows','catch','show','params','keys','length','options','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','get','UserProfileSection','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','dsn','openSync','closeSync','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','ejs','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','end','status','json','offset','limit','count'];(function(_0x2485ea,_0x46a9b7){var _0xe26838=function(_0x3aa3d6){while(--_0x3aa3d6){_0x2485ea['push'](_0x2485ea['shift']());}};_0xe26838(++_0x46a9b7);}(_0xd4df,0x90));var _0xfd4d=function(_0x14add3,_0x13ce8d){_0x14add3=_0x14add3-0x0;var _0x4a174f=_0xd4df[_0x14add3];return _0x4a174f;};'use strict';var emlformat=require(_0xfd4d('0x0'));var rimraf=require(_0xfd4d('0x1'));var zipdir=require(_0xfd4d('0x2'));var jsonpatch=require(_0xfd4d('0x3'));var rp=require(_0xfd4d('0x4'));var moment=require(_0xfd4d('0x5'));var BPromise=require(_0xfd4d('0x6'));var Mustache=require('mustache');var util=require(_0xfd4d('0x7'));var path=require(_0xfd4d('0x8'));var sox=require(_0xfd4d('0x9'));var csv=require('to-csv');var ejs=require(_0xfd4d('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require('squel');var crypto=require(_0xfd4d('0xb'));var jsforce=require(_0xfd4d('0xc'));var deskjs=require(_0xfd4d('0xd'));var toCsv=require(_0xfd4d('0xe'));var querystring=require(_0xfd4d('0xf'));var Papa=require(_0xfd4d('0x10'));var Redis=require(_0xfd4d('0x11'));var authService=require(_0xfd4d('0x12'));var qs=require(_0xfd4d('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xfd4d('0x14'));var logger=require('../../config/logger')(_0xfd4d('0x15'));var utils=require(_0xfd4d('0x16'));var config=require(_0xfd4d('0x17'));var licenseUtil=require(_0xfd4d('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x5c152b,_0x280408){_0x280408=_0x280408||0xcc;return function(_0x37baf7){if(_0x37baf7){return _0x5c152b[_0xfd4d('0x19')](_0x280408);}return _0x5c152b['status'](_0x280408)[_0xfd4d('0x1a')]();};}function respondWithResult(_0x302e85,_0x119804){_0x119804=_0x119804||0xc8;return function(_0x2fb88a){if(_0x2fb88a){return _0x302e85[_0xfd4d('0x1b')](_0x119804)[_0xfd4d('0x1c')](_0x2fb88a);}};}function respondWithFilteredResult(_0x3fa2f8,_0x1edf9f){return function(_0x365326){if(_0x365326){var _0x243863=typeof _0x1edf9f[_0xfd4d('0x1d')]==='undefined'&&typeof _0x1edf9f[_0xfd4d('0x1e')]==='undefined';var _0x283022=_0x365326[_0xfd4d('0x1f')];var _0x596ced=_0x243863?0x0:_0x1edf9f[_0xfd4d('0x1d')];var _0x45f035=_0x243863?_0x365326[_0xfd4d('0x1f')]:_0x1edf9f[_0xfd4d('0x1d')]+_0x1edf9f['limit'];var _0x563494;if(_0x45f035>=_0x283022){_0x45f035=_0x283022;_0x563494=0xc8;}else{_0x563494=0xce;}_0x3fa2f8[_0xfd4d('0x1b')](_0x563494);return _0x3fa2f8[_0xfd4d('0x20')](_0xfd4d('0x21'),_0x596ced+'-'+_0x45f035+'/'+_0x283022)['json'](_0x365326);}return null;};}function patchUpdates(_0x9ca88d){return function(_0xdf1317){try{jsonpatch[_0xfd4d('0x22')](_0xdf1317,_0x9ca88d,!![]);}catch(_0x5a2398){return BPromise['reject'](_0x5a2398);}return _0xdf1317[_0xfd4d('0x23')]();};}function saveUpdates(_0x1d1d1a,_0x69942){return function(_0x5ac0e7){if(_0x5ac0e7){return _0x5ac0e7[_0xfd4d('0x24')](_0x1d1d1a)[_0xfd4d('0x25')](function(_0x160414){return _0x160414;});}return null;};}function removeEntity(_0x21606d,_0x1c0db9){return function(_0x1484b6){if(_0x1484b6){return _0x1484b6[_0xfd4d('0x26')]()[_0xfd4d('0x25')](function(){var _0x1c7af3=_0x1484b6['get']({'plain':!![]});var _0x45e2ae=_0xfd4d('0x27');return db[_0xfd4d('0x28')]['destroy']({'where':{'type':_0x45e2ae,'resourceId':_0x1c7af3['id']}})[_0xfd4d('0x25')](function(){return _0x1484b6;});})['then'](function(){_0x21606d[_0xfd4d('0x1b')](0xcc)['end']();});}};}function handleEntityNotFound(_0x12dcde,_0x4964fe){return function(_0x2b2013){if(!_0x2b2013){_0x12dcde['sendStatus'](0x194);}return _0x2b2013;};}function handleError(_0x12f10e,_0x486a94){_0x486a94=_0x486a94||0x1f4;return function(_0x1f77d2){logger[_0xfd4d('0x29')](_0x1f77d2[_0xfd4d('0x2a')]);if(_0x1f77d2['name']){delete _0x1f77d2[_0xfd4d('0x2b')];}_0x12f10e[_0xfd4d('0x1b')](_0x486a94)[_0xfd4d('0x2c')](_0x1f77d2);};}exports[_0xfd4d('0x2d')]=function(_0x13d092,_0x42e5da){var _0x4080e5={},_0x3b14e0={},_0x46b4de={'count':0x0,'rows':[]};var _0x2a74a4=_[_0xfd4d('0x2e')](db['SquareOdbc'][_0xfd4d('0x2f')],function(_0x532b48){return{'name':_0x532b48[_0xfd4d('0x30')],'type':_0x532b48[_0xfd4d('0x31')][_0xfd4d('0x32')]};});_0x3b14e0[_0xfd4d('0x33')]=_['map'](_0x2a74a4,'name');_0x3b14e0[_0xfd4d('0x34')]=_['keys'](_0x13d092['query']);_0x3b14e0[_0xfd4d('0x35')]=_[_0xfd4d('0x36')](_0x3b14e0[_0xfd4d('0x33')],_0x3b14e0[_0xfd4d('0x34')]);_0x4080e5[_0xfd4d('0x37')]=_[_0xfd4d('0x36')](_0x3b14e0[_0xfd4d('0x33')],qs[_0xfd4d('0x38')](_0x13d092['query'][_0xfd4d('0x38')]));_0x4080e5[_0xfd4d('0x37')]=_0x4080e5[_0xfd4d('0x37')]['length']?_0x4080e5[_0xfd4d('0x37')]:_0x3b14e0[_0xfd4d('0x33')];if(!_0x13d092[_0xfd4d('0x34')]['hasOwnProperty'](_0xfd4d('0x39'))){_0x4080e5[_0xfd4d('0x1e')]=qs['limit'](_0x13d092['query'][_0xfd4d('0x1e')]);_0x4080e5[_0xfd4d('0x1d')]=qs[_0xfd4d('0x1d')](_0x13d092[_0xfd4d('0x34')][_0xfd4d('0x1d')]);}_0x4080e5[_0xfd4d('0x3a')]=qs[_0xfd4d('0x3b')](_0x13d092[_0xfd4d('0x34')][_0xfd4d('0x3b')]);_0x4080e5[_0xfd4d('0x3c')]=qs['filters'](_[_0xfd4d('0x3d')](_0x13d092[_0xfd4d('0x34')],_0x3b14e0[_0xfd4d('0x35')]),_0x2a74a4);if(_0x13d092[_0xfd4d('0x34')]['filter']){_0x4080e5[_0xfd4d('0x3c')]=_[_0xfd4d('0x3e')](_0x4080e5[_0xfd4d('0x3c')],{'$or':_['map'](_0x2a74a4,function(_0x47036f){if(_0x47036f['type']!==_0xfd4d('0x3f')){var _0x31d85a={};_0x31d85a[_0x47036f['name']]={'$like':'%'+_0x13d092[_0xfd4d('0x34')][_0xfd4d('0x40')]+'%'};return _0x31d85a;}})});}_0x4080e5=_[_0xfd4d('0x3e')]({},_0x4080e5,_0x13d092['options']);var _0x1330c1={'where':_0x4080e5[_0xfd4d('0x3c')]};return db[_0xfd4d('0x41')][_0xfd4d('0x1f')](_0x1330c1)[_0xfd4d('0x25')](function(_0x563c6a){_0x46b4de[_0xfd4d('0x1f')]=_0x563c6a;if(_0x13d092[_0xfd4d('0x34')][_0xfd4d('0x42')]){_0x4080e5[_0xfd4d('0x43')]=[{'all':!![]}];}return db[_0xfd4d('0x41')][_0xfd4d('0x44')](_0x4080e5);})[_0xfd4d('0x25')](function(_0x3e48db){_0x46b4de[_0xfd4d('0x45')]=_0x3e48db;return _0x46b4de;})[_0xfd4d('0x25')](respondWithFilteredResult(_0x42e5da,_0x4080e5))[_0xfd4d('0x46')](handleError(_0x42e5da,null));};exports[_0xfd4d('0x47')]=function(_0x96ab20,_0x199f69){var _0x37f654={'raw':!![],'where':{'id':_0x96ab20[_0xfd4d('0x48')]['id']}},_0x49cf93={};_0x49cf93['model']=_[_0xfd4d('0x49')](db[_0xfd4d('0x41')][_0xfd4d('0x2f')]);_0x49cf93['query']=_[_0xfd4d('0x49')](_0x96ab20[_0xfd4d('0x34')]);_0x49cf93[_0xfd4d('0x35')]=_[_0xfd4d('0x36')](_0x49cf93[_0xfd4d('0x33')],_0x49cf93[_0xfd4d('0x34')]);_0x37f654[_0xfd4d('0x37')]=_[_0xfd4d('0x36')](_0x49cf93[_0xfd4d('0x33')],qs[_0xfd4d('0x38')](_0x96ab20['query']['fields']));_0x37f654['attributes']=_0x37f654[_0xfd4d('0x37')][_0xfd4d('0x4a')]?_0x37f654[_0xfd4d('0x37')]:_0x49cf93['model'];if(_0x96ab20[_0xfd4d('0x34')][_0xfd4d('0x42')]){_0x37f654[_0xfd4d('0x43')]=[{'all':!![]}];}_0x37f654=_[_0xfd4d('0x3e')]({},_0x37f654,_0x96ab20[_0xfd4d('0x4b')]);return db[_0xfd4d('0x41')][_0xfd4d('0x4c')](_0x37f654)[_0xfd4d('0x25')](handleEntityNotFound(_0x199f69,null))[_0xfd4d('0x25')](respondWithResult(_0x199f69,null))[_0xfd4d('0x46')](handleError(_0x199f69,null));};exports[_0xfd4d('0x4d')]=function(_0x1fa219,_0x47c8a4){return db[_0xfd4d('0x41')][_0xfd4d('0x4d')](_0x1fa219[_0xfd4d('0x4e')],{})[_0xfd4d('0x25')](function(_0x11d183){var _0x1f1c07=_0x1fa219[_0xfd4d('0x4f')]['get']({'plain':!![]});if(!_0x1f1c07)throw new Error(_0xfd4d('0x50'));if(_0x1f1c07[_0xfd4d('0x51')]==='user'){var _0xa59a9f=_0x11d183[_0xfd4d('0x52')]({'plain':!![]});var _0x24fc41=_0xfd4d('0x27');return db[_0xfd4d('0x53')][_0xfd4d('0x4c')]({'where':{'name':_0x24fc41,'userProfileId':_0x1f1c07['userProfileId']},'raw':!![]})[_0xfd4d('0x25')](function(_0x255dc2){if(_0x255dc2&&_0x255dc2['autoAssociation']===0x0){return db[_0xfd4d('0x28')][_0xfd4d('0x4d')]({'name':_0xa59a9f[_0xfd4d('0x2b')],'resourceId':_0xa59a9f['id'],'type':_0x255dc2['name'],'sectionId':_0x255dc2['id']},{})[_0xfd4d('0x25')](function(){return _0x11d183;});}else{return _0x11d183;}})[_0xfd4d('0x46')](function(_0x2f5d07){logger[_0xfd4d('0x29')](_0xfd4d('0x54'),_0x2f5d07);throw _0x2f5d07;});}return _0x11d183;})[_0xfd4d('0x25')](respondWithResult(_0x47c8a4,0xc9))['catch'](handleError(_0x47c8a4,null));};exports[_0xfd4d('0x24')]=function(_0x24f199,_0x2d6bb7){if(_0x24f199[_0xfd4d('0x4e')]['id']){delete _0x24f199['body']['id'];}return db[_0xfd4d('0x41')][_0xfd4d('0x4c')]({'where':{'id':_0x24f199['params']['id']}})[_0xfd4d('0x25')](handleEntityNotFound(_0x2d6bb7,null))[_0xfd4d('0x25')](saveUpdates(_0x24f199[_0xfd4d('0x4e')],null))[_0xfd4d('0x25')](respondWithResult(_0x2d6bb7,null))[_0xfd4d('0x46')](handleError(_0x2d6bb7,null));};exports[_0xfd4d('0x26')]=function(_0x19a927,_0x25213b){return db[_0xfd4d('0x41')][_0xfd4d('0x4c')]({'where':{'id':_0x19a927[_0xfd4d('0x48')]['id']}})[_0xfd4d('0x25')](handleEntityNotFound(_0x25213b,null))[_0xfd4d('0x25')](removeEntity(_0x25213b,null))[_0xfd4d('0x46')](handleError(_0x25213b,null));};exports['test']=function(_0xe4ea4d,_0x46e391,_0x3dcdeb){var _0x56d652;return db['SquareOdbc'][_0xfd4d('0x4c')]({'where':{'id':_0xe4ea4d[_0xfd4d('0x48')]['id']},'attributes':['id',_0xfd4d('0x55')]})[_0xfd4d('0x25')](handleEntityNotFound(_0x46e391,null))[_0xfd4d('0x25')](function(_0x4dfb93){if(_0x4dfb93){var _0x61e38c=require('odbc')();_0x61e38c[_0xfd4d('0x56')](_0x4dfb93[_0xfd4d('0x55')]);_0x61e38c[_0xfd4d('0x57')]();return _0x4dfb93;}})[_0xfd4d('0x25')](respondWithResult(_0x46e391,null))[_0xfd4d('0x46')](handleError(_0x46e391,null));};