Built motion from commit (unavailable).|2.5.18
[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 _0x4461=['keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','merge','filter','options','include','findAll','catch','params','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','find','test','openSync','dsn','closeSync','html-pdf','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','update','then','destroy','get','ODBC','sendStatus','error','stack','name','send','index','map','SquareOdbc','rawAttributes','fieldName','type','key','model'];(function(_0x109695,_0x5b5aed){var _0x325ba9=function(_0x999d08){while(--_0x999d08){_0x109695['push'](_0x109695['shift']());}};_0x325ba9(++_0x5b5aed);}(_0x4461,0xd8));var _0x1446=function(_0x3c3dbf,_0x212c58){_0x3c3dbf=_0x3c3dbf-0x0;var _0xe989d1=_0x4461[_0x3c3dbf];return _0xe989d1;};'use strict';var pdf=require(_0x1446('0x0'));var emlformat=require(_0x1446('0x1'));var rimraf=require(_0x1446('0x2'));var zipdir=require(_0x1446('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0x1446('0x4'));var moment=require(_0x1446('0x5'));var BPromise=require(_0x1446('0x6'));var Mustache=require(_0x1446('0x7'));var util=require('util');var path=require(_0x1446('0x8'));var sox=require(_0x1446('0x9'));var csv=require(_0x1446('0xa'));var ejs=require(_0x1446('0xb'));var fs=require('fs');var _=require(_0x1446('0xc'));var squel=require(_0x1446('0xd'));var crypto=require(_0x1446('0xe'));var jsforce=require(_0x1446('0xf'));var deskjs=require(_0x1446('0x10'));var toCsv=require(_0x1446('0xa'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x1446('0x11'));var authService=require(_0x1446('0x12'));var qs=require(_0x1446('0x13'));var as=require(_0x1446('0x14'));var hardwareService=require(_0x1446('0x15'));var logger=require(_0x1446('0x16'))(_0x1446('0x17'));var utils=require(_0x1446('0x18'));var config=require(_0x1446('0x19'));var licenseUtil=require(_0x1446('0x1a'));var db=require(_0x1446('0x1b'))['db'];function respondWithStatusCode(_0x1dec15,_0x841de9){_0x841de9=_0x841de9||0xcc;return function(_0x3b4027){if(_0x3b4027){return _0x1dec15['sendStatus'](_0x841de9);}return _0x1dec15[_0x1446('0x1c')](_0x841de9)[_0x1446('0x1d')]();};}function respondWithResult(_0x32a706,_0x866b2f){_0x866b2f=_0x866b2f||0xc8;return function(_0x4b7426){if(_0x4b7426){return _0x32a706[_0x1446('0x1c')](_0x866b2f)[_0x1446('0x1e')](_0x4b7426);}};}function respondWithFilteredResult(_0x4cf31e,_0x153f30){return function(_0x50df11){if(_0x50df11){var _0x16b1d0=_0x50df11[_0x1446('0x1f')],_0x237323=_0x153f30[_0x1446('0x20')],_0x77a6d8=_0x153f30[_0x1446('0x20')]+_0x153f30[_0x1446('0x21')],_0x3f1110;if(_0x77a6d8>=_0x16b1d0){_0x77a6d8=_0x16b1d0;_0x3f1110=0xc8;}else{_0x3f1110=0xce;}_0x4cf31e[_0x1446('0x1c')](_0x3f1110);return _0x4cf31e[_0x1446('0x22')](_0x1446('0x23'),_0x237323+'-'+_0x77a6d8+'/'+_0x16b1d0)[_0x1446('0x1e')](_0x50df11);}return null;};}function patchUpdates(_0x4edeea){return function(_0x374e6f){try{jsonpatch[_0x1446('0x24')](_0x374e6f,_0x4edeea,!![]);}catch(_0x237850){return BPromise[_0x1446('0x25')](_0x237850);}return _0x374e6f[_0x1446('0x26')]();};}function saveUpdates(_0xfe3ce6,_0xb6b067){return function(_0x4d73a0){if(_0x4d73a0){return _0x4d73a0[_0x1446('0x27')](_0xfe3ce6)[_0x1446('0x28')](function(_0x22ced8){return _0x22ced8;});}return null;};}function removeEntity(_0x2052ca,_0x349f63){return function(_0x4f5045){if(_0x4f5045){return _0x4f5045[_0x1446('0x29')]()[_0x1446('0x28')](function(){var _0x5653ae=_0x4f5045[_0x1446('0x2a')]({'plain':!![]});var _0x343c75=_0x1446('0x2b');return db['UserProfileResource'][_0x1446('0x29')]({'where':{'type':_0x343c75,'resourceId':_0x5653ae['id']}})['then'](function(){return _0x4f5045;});})[_0x1446('0x28')](function(){_0x2052ca[_0x1446('0x1c')](0xcc)[_0x1446('0x1d')]();});}};}function handleEntityNotFound(_0x41b83f,_0x108cff){return function(_0x2f40ec){if(!_0x2f40ec){_0x41b83f[_0x1446('0x2c')](0x194);}return _0x2f40ec;};}function handleError(_0x29b2ed,_0xf9ab05){_0xf9ab05=_0xf9ab05||0x1f4;return function(_0x27a088){logger[_0x1446('0x2d')](_0x27a088[_0x1446('0x2e')]);if(_0x27a088[_0x1446('0x2f')]){delete _0x27a088[_0x1446('0x2f')];}_0x29b2ed['status'](_0xf9ab05)[_0x1446('0x30')](_0x27a088);};}exports[_0x1446('0x31')]=function(_0xab7c21,_0x9f8ecf){var _0x3debc1={},_0x54e96a={},_0x25a821={'count':0x0,'rows':[]};var _0x403f4e=_[_0x1446('0x32')](db[_0x1446('0x33')][_0x1446('0x34')],function(_0x2aa5c5){return{'name':_0x2aa5c5[_0x1446('0x35')],'type':_0x2aa5c5[_0x1446('0x36')][_0x1446('0x37')]};});_0x54e96a[_0x1446('0x38')]=_[_0x1446('0x32')](_0x403f4e,_0x1446('0x2f'));_0x54e96a['query']=_[_0x1446('0x39')](_0xab7c21[_0x1446('0x3a')]);_0x54e96a[_0x1446('0x3b')]=_[_0x1446('0x3c')](_0x54e96a[_0x1446('0x38')],_0x54e96a['query']);_0x3debc1[_0x1446('0x3d')]=_[_0x1446('0x3c')](_0x54e96a[_0x1446('0x38')],qs[_0x1446('0x3e')](_0xab7c21[_0x1446('0x3a')][_0x1446('0x3e')]));_0x3debc1['attributes']=_0x3debc1['attributes'][_0x1446('0x3f')]?_0x3debc1['attributes']:_0x54e96a[_0x1446('0x38')];if(!_0xab7c21[_0x1446('0x3a')][_0x1446('0x40')](_0x1446('0x41'))){_0x3debc1[_0x1446('0x21')]=qs[_0x1446('0x21')](_0xab7c21[_0x1446('0x3a')][_0x1446('0x21')]);_0x3debc1[_0x1446('0x20')]=qs[_0x1446('0x20')](_0xab7c21[_0x1446('0x3a')]['offset']);}_0x3debc1[_0x1446('0x42')]=qs[_0x1446('0x43')](_0xab7c21['query'][_0x1446('0x43')]);_0x3debc1[_0x1446('0x44')]=qs['filters'](_['pick'](_0xab7c21[_0x1446('0x3a')],_0x54e96a[_0x1446('0x3b')]),_0x403f4e);if(_0xab7c21['query']['filter']){_0x3debc1[_0x1446('0x44')]=_[_0x1446('0x45')](_0x3debc1[_0x1446('0x44')],{'$or':_[_0x1446('0x32')](_0x403f4e,function(_0x35d8bb){if(_0x35d8bb[_0x1446('0x36')]!=='VIRTUAL'){var _0x62297b={};_0x62297b[_0x35d8bb['name']]={'$like':'%'+_0xab7c21[_0x1446('0x3a')][_0x1446('0x46')]+'%'};return _0x62297b;}})});}_0x3debc1=_[_0x1446('0x45')]({},_0x3debc1,_0xab7c21[_0x1446('0x47')]);var _0x48f93e={'where':_0x3debc1['where']};return db['SquareOdbc'][_0x1446('0x1f')](_0x48f93e)[_0x1446('0x28')](function(_0x5d9479){_0x25a821['count']=_0x5d9479;if(_0xab7c21[_0x1446('0x3a')]['includeAll']){_0x3debc1[_0x1446('0x48')]=[{'all':!![]}];}return db[_0x1446('0x33')][_0x1446('0x49')](_0x3debc1);})[_0x1446('0x28')](function(_0x86c393){_0x25a821['rows']=_0x86c393;return _0x25a821;})[_0x1446('0x28')](respondWithFilteredResult(_0x9f8ecf,_0x3debc1))[_0x1446('0x4a')](handleError(_0x9f8ecf,null));};exports['show']=function(_0x17da40,_0x5acf85){var _0x3e5556={'raw':!![],'where':{'id':_0x17da40[_0x1446('0x4b')]['id']}},_0x4d61f7={};_0x4d61f7[_0x1446('0x38')]=_['keys'](db[_0x1446('0x33')][_0x1446('0x34')]);_0x4d61f7['query']=_[_0x1446('0x39')](_0x17da40[_0x1446('0x3a')]);_0x4d61f7[_0x1446('0x3b')]=_[_0x1446('0x3c')](_0x4d61f7[_0x1446('0x38')],_0x4d61f7[_0x1446('0x3a')]);_0x3e5556[_0x1446('0x3d')]=_[_0x1446('0x3c')](_0x4d61f7[_0x1446('0x38')],qs[_0x1446('0x3e')](_0x17da40[_0x1446('0x3a')][_0x1446('0x3e')]));_0x3e5556[_0x1446('0x3d')]=_0x3e5556[_0x1446('0x3d')][_0x1446('0x3f')]?_0x3e5556[_0x1446('0x3d')]:_0x4d61f7[_0x1446('0x38')];if(_0x17da40[_0x1446('0x3a')]['includeAll']){_0x3e5556[_0x1446('0x48')]=[{'all':!![]}];}_0x3e5556=_[_0x1446('0x45')]({},_0x3e5556,_0x17da40[_0x1446('0x47')]);return db[_0x1446('0x33')]['find'](_0x3e5556)[_0x1446('0x28')](handleEntityNotFound(_0x5acf85,null))[_0x1446('0x28')](respondWithResult(_0x5acf85,null))[_0x1446('0x4a')](handleError(_0x5acf85,null));};exports['create']=function(_0x594592,_0x26fbe6){return db[_0x1446('0x33')][_0x1446('0x4c')](_0x594592['body'],{})[_0x1446('0x28')](function(_0x4309b0){var _0x47ac9a=_0x594592[_0x1446('0x4d')][_0x1446('0x2a')]({'plain':!![]});if(!_0x47ac9a)throw new Error(_0x1446('0x4e'));if(_0x47ac9a[_0x1446('0x4f')]==='user'){var _0x50714d=_0x4309b0['get']({'plain':!![]});var _0x287ef7=_0x1446('0x2b');return db[_0x1446('0x50')]['find']({'where':{'name':_0x287ef7,'userProfileId':_0x47ac9a[_0x1446('0x51')]},'raw':!![]})[_0x1446('0x28')](function(_0x4a1a93){if(_0x4a1a93&&_0x4a1a93[_0x1446('0x52')]===0x0){return db[_0x1446('0x53')][_0x1446('0x4c')]({'name':_0x50714d['name'],'resourceId':_0x50714d['id'],'type':_0x4a1a93[_0x1446('0x2f')],'sectionId':_0x4a1a93['id']},{})[_0x1446('0x28')](function(){return _0x4309b0;});}else{return _0x4309b0;}})['catch'](function(_0x1b3c5e){logger['error'](_0x1446('0x54'),_0x1b3c5e);throw _0x1b3c5e;});}return _0x4309b0;})[_0x1446('0x28')](respondWithResult(_0x26fbe6,0xc9))[_0x1446('0x4a')](handleError(_0x26fbe6,null));};exports[_0x1446('0x27')]=function(_0x51b9cd,_0x1e5d8b){if(_0x51b9cd[_0x1446('0x55')]['id']){delete _0x51b9cd[_0x1446('0x55')]['id'];}return db[_0x1446('0x33')][_0x1446('0x56')]({'where':{'id':_0x51b9cd['params']['id']}})[_0x1446('0x28')](handleEntityNotFound(_0x1e5d8b,null))['then'](saveUpdates(_0x51b9cd[_0x1446('0x55')],null))[_0x1446('0x28')](respondWithResult(_0x1e5d8b,null))[_0x1446('0x4a')](handleError(_0x1e5d8b,null));};exports[_0x1446('0x29')]=function(_0x481261,_0x39699e){return db[_0x1446('0x33')][_0x1446('0x56')]({'where':{'id':_0x481261[_0x1446('0x4b')]['id']}})[_0x1446('0x28')](handleEntityNotFound(_0x39699e,null))[_0x1446('0x28')](removeEntity(_0x39699e,null))[_0x1446('0x4a')](handleError(_0x39699e,null));};exports[_0x1446('0x57')]=function(_0x565f78,_0x4ebd27,_0x2fbbec){var _0x28a6be;return db[_0x1446('0x33')][_0x1446('0x56')]({'where':{'id':_0x565f78[_0x1446('0x4b')]['id']},'attributes':['id','dsn']})[_0x1446('0x28')](handleEntityNotFound(_0x4ebd27,null))[_0x1446('0x28')](function(_0x3897c2){if(_0x3897c2){var _0x58b7c4=require('odbc')();_0x58b7c4[_0x1446('0x58')](_0x3897c2[_0x1446('0x59')]);_0x58b7c4[_0x1446('0x5a')]();return _0x3897c2;}})['then'](respondWithResult(_0x4ebd27,null))['catch'](handleError(_0x4ebd27,null));};