Built motion from commit (unavailable).|2.5.26
[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 _0x6c50=['../../config/environment','../../config/license/util','../../mysqldb','end','json','count','offset','limit','status','set','Content-Range','apply','save','destroy','then','get','ODBC','UserProfileResource','sendStatus','error','name','send','map','SquareOdbc','fieldName','type','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','merge','VIRTUAL','filter','include','findAll','rows','catch','params','keys','rawAttributes','includeAll','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','autoAssociation','test','odbc','openSync','dsn','closeSync','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','to-csv','ejs','fs-extra','lodash','squel','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger'];(function(_0x6131cd,_0x4c26a1){var _0x47e916=function(_0x1f2bce){while(--_0x1f2bce){_0x6131cd['push'](_0x6131cd['shift']());}};_0x47e916(++_0x4c26a1);}(_0x6c50,0xe2));var _0x06c5=function(_0x830fc6,_0x4a4717){_0x830fc6=_0x830fc6-0x0;var _0xced872=_0x6c50[_0x830fc6];return _0xced872;};'use strict';var emlformat=require(_0x06c5('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x06c5('0x1'));var jsonpatch=require(_0x06c5('0x2'));var rp=require(_0x06c5('0x3'));var moment=require(_0x06c5('0x4'));var BPromise=require(_0x06c5('0x5'));var Mustache=require('mustache');var util=require(_0x06c5('0x6'));var path=require('path');var sox=require('sox');var csv=require(_0x06c5('0x7'));var ejs=require(_0x06c5('0x8'));var fs=require('fs');var fs_extra=require(_0x06c5('0x9'));var _=require(_0x06c5('0xa'));var squel=require(_0x06c5('0xb'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x06c5('0xc'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x06c5('0xd'));var Redis=require(_0x06c5('0xe'));var authService=require(_0x06c5('0xf'));var qs=require(_0x06c5('0x10'));var as=require(_0x06c5('0x11'));var hardwareService=require(_0x06c5('0x12'));var logger=require(_0x06c5('0x13'))('api');var utils=require('../../config/utils');var config=require(_0x06c5('0x14'));var licenseUtil=require(_0x06c5('0x15'));var db=require(_0x06c5('0x16'))['db'];function respondWithStatusCode(_0x3e4432,_0x13b136){_0x13b136=_0x13b136||0xcc;return function(_0x467656){if(_0x467656){return _0x3e4432['sendStatus'](_0x13b136);}return _0x3e4432['status'](_0x13b136)[_0x06c5('0x17')]();};}function respondWithResult(_0xe6b8a4,_0x1dfd94){_0x1dfd94=_0x1dfd94||0xc8;return function(_0x4f563a){if(_0x4f563a){return _0xe6b8a4['status'](_0x1dfd94)[_0x06c5('0x18')](_0x4f563a);}};}function respondWithFilteredResult(_0x30f9c1,_0x5eb3db){return function(_0x3cfc25){if(_0x3cfc25){var _0x2b2f66=_0x3cfc25[_0x06c5('0x19')],_0x221b7b=_0x5eb3db[_0x06c5('0x1a')],_0x1e721b=_0x5eb3db[_0x06c5('0x1a')]+_0x5eb3db[_0x06c5('0x1b')],_0x5754d0;if(_0x1e721b>=_0x2b2f66){_0x1e721b=_0x2b2f66;_0x5754d0=0xc8;}else{_0x5754d0=0xce;}_0x30f9c1[_0x06c5('0x1c')](_0x5754d0);return _0x30f9c1[_0x06c5('0x1d')](_0x06c5('0x1e'),_0x221b7b+'-'+_0x1e721b+'/'+_0x2b2f66)[_0x06c5('0x18')](_0x3cfc25);}return null;};}function patchUpdates(_0x216b39){return function(_0x576de9){try{jsonpatch[_0x06c5('0x1f')](_0x576de9,_0x216b39,!![]);}catch(_0xf1b1a4){return BPromise['reject'](_0xf1b1a4);}return _0x576de9[_0x06c5('0x20')]();};}function saveUpdates(_0x4c3eb8,_0x42c3f7){return function(_0x569624){if(_0x569624){return _0x569624['update'](_0x4c3eb8)['then'](function(_0x446eb5){return _0x446eb5;});}return null;};}function removeEntity(_0x42340f,_0xb50eb4){return function(_0xa5f82){if(_0xa5f82){return _0xa5f82[_0x06c5('0x21')]()[_0x06c5('0x22')](function(){var _0x135e3b=_0xa5f82[_0x06c5('0x23')]({'plain':!![]});var _0x4b7e83=_0x06c5('0x24');return db[_0x06c5('0x25')]['destroy']({'where':{'type':_0x4b7e83,'resourceId':_0x135e3b['id']}})[_0x06c5('0x22')](function(){return _0xa5f82;});})['then'](function(){_0x42340f[_0x06c5('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4842cf,_0xf89639){return function(_0x41c486){if(!_0x41c486){_0x4842cf[_0x06c5('0x26')](0x194);}return _0x41c486;};}function handleError(_0x2b38f7,_0x576040){_0x576040=_0x576040||0x1f4;return function(_0x33e4a8){logger[_0x06c5('0x27')](_0x33e4a8['stack']);if(_0x33e4a8[_0x06c5('0x28')]){delete _0x33e4a8[_0x06c5('0x28')];}_0x2b38f7['status'](_0x576040)[_0x06c5('0x29')](_0x33e4a8);};}exports['index']=function(_0x18c960,_0x565a64){var _0x16a8eb={},_0x20939f={},_0x2bdea8={'count':0x0,'rows':[]};var _0x104582=_[_0x06c5('0x2a')](db[_0x06c5('0x2b')]['rawAttributes'],function(_0x597dbf){return{'name':_0x597dbf[_0x06c5('0x2c')],'type':_0x597dbf[_0x06c5('0x2d')][_0x06c5('0x2e')]};});_0x20939f[_0x06c5('0x2f')]=_['map'](_0x104582,_0x06c5('0x28'));_0x20939f[_0x06c5('0x30')]=_['keys'](_0x18c960[_0x06c5('0x30')]);_0x20939f[_0x06c5('0x31')]=_[_0x06c5('0x32')](_0x20939f[_0x06c5('0x2f')],_0x20939f['query']);_0x16a8eb[_0x06c5('0x33')]=_[_0x06c5('0x32')](_0x20939f[_0x06c5('0x2f')],qs[_0x06c5('0x34')](_0x18c960[_0x06c5('0x30')][_0x06c5('0x34')]));_0x16a8eb['attributes']=_0x16a8eb['attributes'][_0x06c5('0x35')]?_0x16a8eb['attributes']:_0x20939f[_0x06c5('0x2f')];if(!_0x18c960['query'][_0x06c5('0x36')](_0x06c5('0x37'))){_0x16a8eb[_0x06c5('0x1b')]=qs[_0x06c5('0x1b')](_0x18c960[_0x06c5('0x30')][_0x06c5('0x1b')]);_0x16a8eb[_0x06c5('0x1a')]=qs[_0x06c5('0x1a')](_0x18c960['query'][_0x06c5('0x1a')]);}_0x16a8eb['order']=qs[_0x06c5('0x38')](_0x18c960[_0x06c5('0x30')]['sort']);_0x16a8eb[_0x06c5('0x39')]=qs[_0x06c5('0x31')](_[_0x06c5('0x3a')](_0x18c960[_0x06c5('0x30')],_0x20939f[_0x06c5('0x31')]),_0x104582);if(_0x18c960['query']['filter']){_0x16a8eb[_0x06c5('0x39')]=_[_0x06c5('0x3b')](_0x16a8eb[_0x06c5('0x39')],{'$or':_[_0x06c5('0x2a')](_0x104582,function(_0x42f408){if(_0x42f408[_0x06c5('0x2d')]!==_0x06c5('0x3c')){var _0x4da3ab={};_0x4da3ab[_0x42f408['name']]={'$like':'%'+_0x18c960[_0x06c5('0x30')][_0x06c5('0x3d')]+'%'};return _0x4da3ab;}})});}_0x16a8eb=_['merge']({},_0x16a8eb,_0x18c960['options']);var _0x59dfe8={'where':_0x16a8eb[_0x06c5('0x39')]};return db['SquareOdbc'][_0x06c5('0x19')](_0x59dfe8)[_0x06c5('0x22')](function(_0x5c039a){_0x2bdea8[_0x06c5('0x19')]=_0x5c039a;if(_0x18c960[_0x06c5('0x30')]['includeAll']){_0x16a8eb[_0x06c5('0x3e')]=[{'all':!![]}];}return db[_0x06c5('0x2b')][_0x06c5('0x3f')](_0x16a8eb);})[_0x06c5('0x22')](function(_0x504105){_0x2bdea8[_0x06c5('0x40')]=_0x504105;return _0x2bdea8;})[_0x06c5('0x22')](respondWithFilteredResult(_0x565a64,_0x16a8eb))[_0x06c5('0x41')](handleError(_0x565a64,null));};exports['show']=function(_0x49ea74,_0x177960){var _0x48f377={'raw':!![],'where':{'id':_0x49ea74[_0x06c5('0x42')]['id']}},_0x2611ee={};_0x2611ee[_0x06c5('0x2f')]=_[_0x06c5('0x43')](db[_0x06c5('0x2b')][_0x06c5('0x44')]);_0x2611ee[_0x06c5('0x30')]=_['keys'](_0x49ea74[_0x06c5('0x30')]);_0x2611ee['filters']=_[_0x06c5('0x32')](_0x2611ee[_0x06c5('0x2f')],_0x2611ee[_0x06c5('0x30')]);_0x48f377[_0x06c5('0x33')]=_[_0x06c5('0x32')](_0x2611ee['model'],qs[_0x06c5('0x34')](_0x49ea74[_0x06c5('0x30')][_0x06c5('0x34')]));_0x48f377['attributes']=_0x48f377[_0x06c5('0x33')][_0x06c5('0x35')]?_0x48f377['attributes']:_0x2611ee[_0x06c5('0x2f')];if(_0x49ea74[_0x06c5('0x30')][_0x06c5('0x45')]){_0x48f377[_0x06c5('0x3e')]=[{'all':!![]}];}_0x48f377=_[_0x06c5('0x3b')]({},_0x48f377,_0x49ea74['options']);return db[_0x06c5('0x2b')][_0x06c5('0x46')](_0x48f377)['then'](handleEntityNotFound(_0x177960,null))['then'](respondWithResult(_0x177960,null))['catch'](handleError(_0x177960,null));};exports[_0x06c5('0x47')]=function(_0x2368a8,_0x36ef95){return db[_0x06c5('0x2b')][_0x06c5('0x47')](_0x2368a8[_0x06c5('0x48')],{})[_0x06c5('0x22')](function(_0x2d41c3){var _0x423c3f=_0x2368a8[_0x06c5('0x49')][_0x06c5('0x23')]({'plain':!![]});if(!_0x423c3f)throw new Error(_0x06c5('0x4a'));if(_0x423c3f[_0x06c5('0x4b')]===_0x06c5('0x49')){var _0x2aaaa9=_0x2d41c3['get']({'plain':!![]});var _0x2f0417='ODBC';return db['UserProfileSection'][_0x06c5('0x46')]({'where':{'name':_0x2f0417,'userProfileId':_0x423c3f['userProfileId']},'raw':!![]})[_0x06c5('0x22')](function(_0x60814){if(_0x60814&&_0x60814[_0x06c5('0x4c')]===0x0){return db[_0x06c5('0x25')][_0x06c5('0x47')]({'name':_0x2aaaa9[_0x06c5('0x28')],'resourceId':_0x2aaaa9['id'],'type':_0x60814[_0x06c5('0x28')],'sectionId':_0x60814['id']},{})[_0x06c5('0x22')](function(){return _0x2d41c3;});}else{return _0x2d41c3;}})[_0x06c5('0x41')](function(_0x3946e1){logger[_0x06c5('0x27')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x3946e1);throw _0x3946e1;});}return _0x2d41c3;})[_0x06c5('0x22')](respondWithResult(_0x36ef95,0xc9))['catch'](handleError(_0x36ef95,null));};exports['update']=function(_0x50e154,_0x53dea7){if(_0x50e154[_0x06c5('0x48')]['id']){delete _0x50e154['body']['id'];}return db[_0x06c5('0x2b')][_0x06c5('0x46')]({'where':{'id':_0x50e154[_0x06c5('0x42')]['id']}})['then'](handleEntityNotFound(_0x53dea7,null))['then'](saveUpdates(_0x50e154['body'],null))[_0x06c5('0x22')](respondWithResult(_0x53dea7,null))[_0x06c5('0x41')](handleError(_0x53dea7,null));};exports[_0x06c5('0x21')]=function(_0x1e97da,_0x276b4f){return db[_0x06c5('0x2b')][_0x06c5('0x46')]({'where':{'id':_0x1e97da[_0x06c5('0x42')]['id']}})[_0x06c5('0x22')](handleEntityNotFound(_0x276b4f,null))['then'](removeEntity(_0x276b4f,null))[_0x06c5('0x41')](handleError(_0x276b4f,null));};exports[_0x06c5('0x4d')]=function(_0x44e7ad,_0x39bb28,_0x3d5353){var _0x22f220;return db[_0x06c5('0x2b')]['find']({'where':{'id':_0x44e7ad[_0x06c5('0x42')]['id']},'attributes':['id','dsn']})['then'](handleEntityNotFound(_0x39bb28,null))[_0x06c5('0x22')](function(_0x724898){if(_0x724898){var _0x38c16d=require(_0x06c5('0x4e'))();_0x38c16d[_0x06c5('0x4f')](_0x724898[_0x06c5('0x50')]);_0x38c16d[_0x06c5('0x51')]();return _0x724898;}})[_0x06c5('0x22')](respondWithResult(_0x39bb28,null))['catch'](handleError(_0x39bb28,null));};