Built motion from commit (unavailable).|2.5.31
[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 _0x0fcd=['limit','order','sort','where','filters','pick','filter','VIRTUAL','include','rows','catch','show','params','SquareOdbc','length','options','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','autoAssociation','test','dsn','odbc','closeSync','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','fs-extra','crypto','desk.js','querystring','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','sendStatus','status','undefined','count','offset','set','Content-Range','json','apply','save','update','then','destroy','get','ODBC','UserProfileResource','end','error','stack','name','send','render','merge','body','contact','message','agent','account','index','map','rawAttributes','fieldName','type','key','model','keys','query','attributes','intersection','fields','hasOwnProperty','nolimit'];(function(_0x443bc3,_0x566a36){var _0x20f799=function(_0x19f031){while(--_0x19f031){_0x443bc3['push'](_0x443bc3['shift']());}};_0x20f799(++_0x566a36);}(_0x0fcd,0x129));var _0xd0fc=function(_0xaba8c1,_0x3c6ad7){_0xaba8c1=_0xaba8c1-0x0;var _0x3cbe20=_0x0fcd[_0xaba8c1];return _0x3cbe20;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xd0fc('0x0'));var zipdir=require(_0xd0fc('0x1'));var jsonpatch=require(_0xd0fc('0x2'));var rp=require(_0xd0fc('0x3'));var moment=require(_0xd0fc('0x4'));var BPromise=require(_0xd0fc('0x5'));var Mustache=require('mustache');var util=require(_0xd0fc('0x6'));var path=require(_0xd0fc('0x7'));var sox=require(_0xd0fc('0x8'));var csv=require(_0xd0fc('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xd0fc('0xa'));var _=require('lodash');var squel=require('squel');var crypto=require(_0xd0fc('0xb'));var jsforce=require('jsforce');var deskjs=require(_0xd0fc('0xc'));var toCsv=require(_0xd0fc('0x9'));var querystring=require(_0xd0fc('0xd'));var Papa=require('papaparse');var Redis=require(_0xd0fc('0xe'));var authService=require(_0xd0fc('0xf'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xd0fc('0x10'));var logger=require(_0xd0fc('0x11'))(_0xd0fc('0x12'));var utils=require('../../config/utils');var config=require(_0xd0fc('0x13'));var licenseUtil=require('../../config/license/util');var db=require(_0xd0fc('0x14'))['db'];function respondWithStatusCode(_0xe6df1f,_0x478b90){_0x478b90=_0x478b90||0xcc;return function(_0x2ccc68){if(_0x2ccc68){return _0xe6df1f[_0xd0fc('0x15')](_0x478b90);}return _0xe6df1f[_0xd0fc('0x16')](_0x478b90)['end']();};}function respondWithResult(_0x2f5405,_0x3f2e1f){_0x3f2e1f=_0x3f2e1f||0xc8;return function(_0x34492c){if(_0x34492c){return _0x2f5405['status'](_0x3f2e1f)['json'](_0x34492c);}};}function respondWithFilteredResult(_0x3f7fde,_0xd4f6a1){return function(_0x4304b0){if(_0x4304b0){var _0x4f7fe1=typeof _0xd4f6a1['offset']==='undefined'&&typeof _0xd4f6a1['limit']===_0xd0fc('0x17');var _0x4ced92=_0x4304b0[_0xd0fc('0x18')];var _0x5703f1=_0x4f7fe1?0x0:_0xd4f6a1[_0xd0fc('0x19')];var _0x20849d=_0x4f7fe1?_0x4304b0[_0xd0fc('0x18')]:_0xd4f6a1['offset']+_0xd4f6a1['limit'];var _0x53ac93;if(_0x20849d>=_0x4ced92){_0x20849d=_0x4ced92;_0x53ac93=0xc8;}else{_0x53ac93=0xce;}_0x3f7fde['status'](_0x53ac93);return _0x3f7fde[_0xd0fc('0x1a')](_0xd0fc('0x1b'),_0x5703f1+'-'+_0x20849d+'/'+_0x4ced92)[_0xd0fc('0x1c')](_0x4304b0);}return null;};}function patchUpdates(_0xb5c2fc){return function(_0x43d092){try{jsonpatch[_0xd0fc('0x1d')](_0x43d092,_0xb5c2fc,!![]);}catch(_0x10e8bd){return BPromise['reject'](_0x10e8bd);}return _0x43d092[_0xd0fc('0x1e')]();};}function saveUpdates(_0x25eb91,_0x4e914c){return function(_0x57d302){if(_0x57d302){return _0x57d302[_0xd0fc('0x1f')](_0x25eb91)[_0xd0fc('0x20')](function(_0x3b5491){return _0x3b5491;});}return null;};}function removeEntity(_0x2633f0,_0x1cdb25){return function(_0x3c24ae){if(_0x3c24ae){return _0x3c24ae[_0xd0fc('0x21')]()[_0xd0fc('0x20')](function(){var _0x11e6cb=_0x3c24ae[_0xd0fc('0x22')]({'plain':!![]});var _0x57d598=_0xd0fc('0x23');return db[_0xd0fc('0x24')][_0xd0fc('0x21')]({'where':{'type':_0x57d598,'resourceId':_0x11e6cb['id']}})[_0xd0fc('0x20')](function(){return _0x3c24ae;});})[_0xd0fc('0x20')](function(){_0x2633f0[_0xd0fc('0x16')](0xcc)[_0xd0fc('0x25')]();});}};}function handleEntityNotFound(_0x1890e1,_0x30bb0b){return function(_0x4389a8){if(!_0x4389a8){_0x1890e1[_0xd0fc('0x15')](0x194);}return _0x4389a8;};}function handleError(_0x161311,_0x111700){_0x111700=_0x111700||0x1f4;return function(_0x739792){logger[_0xd0fc('0x26')](_0x739792[_0xd0fc('0x27')]);if(_0x739792[_0xd0fc('0x28')]){delete _0x739792[_0xd0fc('0x28')];}_0x161311[_0xd0fc('0x16')](_0x111700)[_0xd0fc('0x29')](_0x739792);};}function getMustacheRender(_0x4c1805,_0x35e8c9){return Mustache[_0xd0fc('0x2a')](_0x4c1805,_[_0xd0fc('0x2b')](_0x35e8c9[_0xd0fc('0x2c')],{'contact':_0x35e8c9[_0xd0fc('0x2d')],'message':_0x35e8c9[_0xd0fc('0x2e')],'agent':_0x35e8c9[_0xd0fc('0x2f')],'interaction':_0x35e8c9['interaction'],'account':_0x35e8c9[_0xd0fc('0x30')]}))||'';}exports[_0xd0fc('0x31')]=function(_0x5935fb,_0x4ac7b9){var _0x3d5a2c={},_0x124509={},_0x38fbd8={'count':0x0,'rows':[]};var _0x1bfdd3=_[_0xd0fc('0x32')](db['SquareOdbc'][_0xd0fc('0x33')],function(_0x2f0163){return{'name':_0x2f0163[_0xd0fc('0x34')],'type':_0x2f0163[_0xd0fc('0x35')][_0xd0fc('0x36')]};});_0x124509[_0xd0fc('0x37')]=_[_0xd0fc('0x32')](_0x1bfdd3,_0xd0fc('0x28'));_0x124509['query']=_[_0xd0fc('0x38')](_0x5935fb['query']);_0x124509['filters']=_['intersection'](_0x124509['model'],_0x124509[_0xd0fc('0x39')]);_0x3d5a2c[_0xd0fc('0x3a')]=_[_0xd0fc('0x3b')](_0x124509[_0xd0fc('0x37')],qs[_0xd0fc('0x3c')](_0x5935fb[_0xd0fc('0x39')][_0xd0fc('0x3c')]));_0x3d5a2c[_0xd0fc('0x3a')]=_0x3d5a2c[_0xd0fc('0x3a')]['length']?_0x3d5a2c[_0xd0fc('0x3a')]:_0x124509['model'];if(!_0x5935fb['query'][_0xd0fc('0x3d')](_0xd0fc('0x3e'))){_0x3d5a2c['limit']=qs[_0xd0fc('0x3f')](_0x5935fb[_0xd0fc('0x39')][_0xd0fc('0x3f')]);_0x3d5a2c[_0xd0fc('0x19')]=qs[_0xd0fc('0x19')](_0x5935fb[_0xd0fc('0x39')][_0xd0fc('0x19')]);}_0x3d5a2c[_0xd0fc('0x40')]=qs[_0xd0fc('0x41')](_0x5935fb[_0xd0fc('0x39')][_0xd0fc('0x41')]);_0x3d5a2c[_0xd0fc('0x42')]=qs[_0xd0fc('0x43')](_[_0xd0fc('0x44')](_0x5935fb['query'],_0x124509[_0xd0fc('0x43')]),_0x1bfdd3);if(_0x5935fb[_0xd0fc('0x39')][_0xd0fc('0x45')]){_0x3d5a2c[_0xd0fc('0x42')]=_['merge'](_0x3d5a2c[_0xd0fc('0x42')],{'$or':_[_0xd0fc('0x32')](_0x1bfdd3,function(_0x54f813){if(_0x54f813[_0xd0fc('0x35')]!==_0xd0fc('0x46')){var _0x370b45={};_0x370b45[_0x54f813[_0xd0fc('0x28')]]={'$like':'%'+_0x5935fb['query'][_0xd0fc('0x45')]+'%'};return _0x370b45;}})});}_0x3d5a2c=_[_0xd0fc('0x2b')]({},_0x3d5a2c,_0x5935fb['options']);var _0x1f23a7={'where':_0x3d5a2c['where']};return db['SquareOdbc'][_0xd0fc('0x18')](_0x1f23a7)[_0xd0fc('0x20')](function(_0x358477){_0x38fbd8[_0xd0fc('0x18')]=_0x358477;if(_0x5935fb[_0xd0fc('0x39')]['includeAll']){_0x3d5a2c[_0xd0fc('0x47')]=[{'all':!![]}];}return db['SquareOdbc']['findAll'](_0x3d5a2c);})[_0xd0fc('0x20')](function(_0x2131b0){_0x38fbd8[_0xd0fc('0x48')]=_0x2131b0;return _0x38fbd8;})['then'](respondWithFilteredResult(_0x4ac7b9,_0x3d5a2c))[_0xd0fc('0x49')](handleError(_0x4ac7b9,null));};exports[_0xd0fc('0x4a')]=function(_0x40bc70,_0x5c7255){var _0x548f71={'raw':!![],'where':{'id':_0x40bc70[_0xd0fc('0x4b')]['id']}},_0x1a6cad={};_0x1a6cad[_0xd0fc('0x37')]=_['keys'](db[_0xd0fc('0x4c')][_0xd0fc('0x33')]);_0x1a6cad[_0xd0fc('0x39')]=_[_0xd0fc('0x38')](_0x40bc70[_0xd0fc('0x39')]);_0x1a6cad['filters']=_['intersection'](_0x1a6cad['model'],_0x1a6cad[_0xd0fc('0x39')]);_0x548f71[_0xd0fc('0x3a')]=_[_0xd0fc('0x3b')](_0x1a6cad[_0xd0fc('0x37')],qs[_0xd0fc('0x3c')](_0x40bc70['query'][_0xd0fc('0x3c')]));_0x548f71['attributes']=_0x548f71['attributes'][_0xd0fc('0x4d')]?_0x548f71[_0xd0fc('0x3a')]:_0x1a6cad['model'];if(_0x40bc70[_0xd0fc('0x39')]['includeAll']){_0x548f71[_0xd0fc('0x47')]=[{'all':!![]}];}_0x548f71=_[_0xd0fc('0x2b')]({},_0x548f71,_0x40bc70[_0xd0fc('0x4e')]);return db[_0xd0fc('0x4c')][_0xd0fc('0x4f')](_0x548f71)[_0xd0fc('0x20')](handleEntityNotFound(_0x5c7255,null))['then'](respondWithResult(_0x5c7255,null))[_0xd0fc('0x49')](handleError(_0x5c7255,null));};exports[_0xd0fc('0x50')]=function(_0x35dd02,_0x12cb68){return db[_0xd0fc('0x4c')]['create'](_0x35dd02['body'],{})[_0xd0fc('0x20')](function(_0x24ce47){var _0x45b212=_0x35dd02[_0xd0fc('0x51')][_0xd0fc('0x22')]({'plain':!![]});if(!_0x45b212)throw new Error(_0xd0fc('0x52'));if(_0x45b212[_0xd0fc('0x53')]===_0xd0fc('0x51')){var _0x5913b6=_0x24ce47[_0xd0fc('0x22')]({'plain':!![]});var _0x5986a2='ODBC';return db[_0xd0fc('0x54')][_0xd0fc('0x4f')]({'where':{'name':_0x5986a2,'userProfileId':_0x45b212['userProfileId']},'raw':!![]})[_0xd0fc('0x20')](function(_0x5d7511){if(_0x5d7511&&_0x5d7511[_0xd0fc('0x55')]===0x0){return db['UserProfileResource'][_0xd0fc('0x50')]({'name':_0x5913b6[_0xd0fc('0x28')],'resourceId':_0x5913b6['id'],'type':_0x5d7511[_0xd0fc('0x28')],'sectionId':_0x5d7511['id']},{})['then'](function(){return _0x24ce47;});}else{return _0x24ce47;}})[_0xd0fc('0x49')](function(_0x35b509){logger[_0xd0fc('0x26')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x35b509);throw _0x35b509;});}return _0x24ce47;})[_0xd0fc('0x20')](respondWithResult(_0x12cb68,0xc9))['catch'](handleError(_0x12cb68,null));};exports[_0xd0fc('0x1f')]=function(_0x594e5d,_0x55e7cd){if(_0x594e5d[_0xd0fc('0x2c')]['id']){delete _0x594e5d[_0xd0fc('0x2c')]['id'];}return db[_0xd0fc('0x4c')][_0xd0fc('0x4f')]({'where':{'id':_0x594e5d[_0xd0fc('0x4b')]['id']}})[_0xd0fc('0x20')](handleEntityNotFound(_0x55e7cd,null))['then'](saveUpdates(_0x594e5d[_0xd0fc('0x2c')],null))[_0xd0fc('0x20')](respondWithResult(_0x55e7cd,null))[_0xd0fc('0x49')](handleError(_0x55e7cd,null));};exports['destroy']=function(_0x269dc6,_0x1ea4e3){return db[_0xd0fc('0x4c')][_0xd0fc('0x4f')]({'where':{'id':_0x269dc6['params']['id']}})['then'](handleEntityNotFound(_0x1ea4e3,null))[_0xd0fc('0x20')](removeEntity(_0x1ea4e3,null))[_0xd0fc('0x49')](handleError(_0x1ea4e3,null));};exports[_0xd0fc('0x56')]=function(_0x4fac95,_0x38ecbf,_0x725624){var _0x1cd713;return db[_0xd0fc('0x4c')][_0xd0fc('0x4f')]({'where':{'id':_0x4fac95[_0xd0fc('0x4b')]['id']},'attributes':['id',_0xd0fc('0x57')]})[_0xd0fc('0x20')](handleEntityNotFound(_0x38ecbf,null))['then'](function(_0x5953af){if(_0x5953af){var _0x9f4e71=require(_0xd0fc('0x58'))();_0x9f4e71['openSync'](_0x5953af[_0xd0fc('0x57')]);_0x9f4e71[_0xd0fc('0x59')]();return _0x5953af;}})[_0xd0fc('0x20')](respondWithResult(_0x38ecbf,null))['catch'](handleError(_0x38ecbf,null));};