0c9a40f8580344b5240bf171f70336f62b916fa9
[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 _0x4c1c=['path','sox','ejs','lodash','squel','crypto','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','count','offset','limit','Content-Range','apply','reject','save','update','destroy','then','get','UserProfileResource','sendStatus','error','stack','name','send','index','map','SquareOdbc','rawAttributes','fieldName','type','key','query','keys','filters','intersection','attributes','model','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','options','includeAll','include','findAll','catch','params','length','merge','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','ODBC','UserProfileSection','find','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','test','dsn','odbc','openSync','closeSync','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util'];(function(_0x2211ed,_0x1bca0b){var _0x4d78cc=function(_0x467b59){while(--_0x467b59){_0x2211ed['push'](_0x2211ed['shift']());}};_0x4d78cc(++_0x1bca0b);}(_0x4c1c,0x105));var _0xc4c1=function(_0x2473bd,_0x2e41e7){_0x2473bd=_0x2473bd-0x0;var _0x65630f=_0x4c1c[_0x2473bd];return _0x65630f;};'use strict';var pdf=require(_0xc4c1('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xc4c1('0x1'));var zipdir=require(_0xc4c1('0x2'));var jsonpatch=require(_0xc4c1('0x3'));var rp=require(_0xc4c1('0x4'));var moment=require(_0xc4c1('0x5'));var BPromise=require(_0xc4c1('0x6'));var Mustache=require(_0xc4c1('0x7'));var util=require(_0xc4c1('0x8'));var path=require(_0xc4c1('0x9'));var sox=require(_0xc4c1('0xa'));var csv=require('to-csv');var ejs=require(_0xc4c1('0xb'));var fs=require('fs');var _=require(_0xc4c1('0xc'));var squel=require(_0xc4c1('0xd'));var crypto=require(_0xc4c1('0xe'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xc4c1('0xf'));var querystring=require(_0xc4c1('0x10'));var Papa=require(_0xc4c1('0x11'));var Redis=require(_0xc4c1('0x12'));var authService=require(_0xc4c1('0x13'));var qs=require(_0xc4c1('0x14'));var as=require(_0xc4c1('0x15'));var hardwareService=require(_0xc4c1('0x16'));var logger=require('../../config/logger')(_0xc4c1('0x17'));var utils=require('../../config/utils');var config=require(_0xc4c1('0x18'));var licenseUtil=require(_0xc4c1('0x19'));var db=require(_0xc4c1('0x1a'))['db'];function respondWithStatusCode(_0x4a6387,_0x6fe2a3){_0x6fe2a3=_0x6fe2a3||0xcc;return function(_0x534e8b){if(_0x534e8b){return _0x4a6387['sendStatus'](_0x6fe2a3);}return _0x4a6387[_0xc4c1('0x1b')](_0x6fe2a3)[_0xc4c1('0x1c')]();};}function respondWithResult(_0x118883,_0xab6859){_0xab6859=_0xab6859||0xc8;return function(_0xcec6ac){if(_0xcec6ac){return _0x118883[_0xc4c1('0x1b')](_0xab6859)[_0xc4c1('0x1d')](_0xcec6ac);}};}function respondWithFilteredResult(_0x46358d,_0x45f81c){return function(_0x287c93){if(_0x287c93){var _0x43cbd7=_0x287c93[_0xc4c1('0x1e')],_0xa5a867=_0x45f81c[_0xc4c1('0x1f')],_0x25b889=_0x45f81c[_0xc4c1('0x1f')]+_0x45f81c[_0xc4c1('0x20')],_0x463969;if(_0x25b889>=_0x43cbd7){_0x25b889=_0x43cbd7;_0x463969=0xc8;}else{_0x463969=0xce;}_0x46358d[_0xc4c1('0x1b')](_0x463969);return _0x46358d['set'](_0xc4c1('0x21'),_0xa5a867+'-'+_0x25b889+'/'+_0x43cbd7)['json'](_0x287c93);}return null;};}function patchUpdates(_0x4428ff){return function(_0xe63e06){try{jsonpatch[_0xc4c1('0x22')](_0xe63e06,_0x4428ff,!![]);}catch(_0x1ed37b){return BPromise[_0xc4c1('0x23')](_0x1ed37b);}return _0xe63e06[_0xc4c1('0x24')]();};}function saveUpdates(_0x305e2d,_0x32e9f7){return function(_0x2eceb2){if(_0x2eceb2){return _0x2eceb2[_0xc4c1('0x25')](_0x305e2d)['then'](function(_0x1ee692){return _0x1ee692;});}return null;};}function removeEntity(_0x1ac87b,_0x2da8e4){return function(_0x3e5c17){if(_0x3e5c17){return _0x3e5c17[_0xc4c1('0x26')]()[_0xc4c1('0x27')](function(){var _0x275714=_0x3e5c17[_0xc4c1('0x28')]({'plain':!![]});var _0x23204a='ODBC';return db[_0xc4c1('0x29')][_0xc4c1('0x26')]({'where':{'type':_0x23204a,'resourceId':_0x275714['id']}})['then'](function(){return _0x3e5c17;});})[_0xc4c1('0x27')](function(){_0x1ac87b[_0xc4c1('0x1b')](0xcc)[_0xc4c1('0x1c')]();});}};}function handleEntityNotFound(_0x1d6374,_0x584566){return function(_0x1f6ef2){if(!_0x1f6ef2){_0x1d6374[_0xc4c1('0x2a')](0x194);}return _0x1f6ef2;};}function handleError(_0x5ae08a,_0x558db1){_0x558db1=_0x558db1||0x1f4;return function(_0x6ade5e){logger[_0xc4c1('0x2b')](_0x6ade5e[_0xc4c1('0x2c')]);if(_0x6ade5e[_0xc4c1('0x2d')]){delete _0x6ade5e[_0xc4c1('0x2d')];}_0x5ae08a[_0xc4c1('0x1b')](_0x558db1)[_0xc4c1('0x2e')](_0x6ade5e);};}exports[_0xc4c1('0x2f')]=function(_0x2d7ba5,_0x5e0701){var _0x14c872={},_0x47fe5f={},_0xf8f495={'count':0x0,'rows':[]};var _0x4214df=_[_0xc4c1('0x30')](db[_0xc4c1('0x31')][_0xc4c1('0x32')],function(_0x1538f4){return{'name':_0x1538f4[_0xc4c1('0x33')],'type':_0x1538f4[_0xc4c1('0x34')][_0xc4c1('0x35')]};});_0x47fe5f['model']=_[_0xc4c1('0x30')](_0x4214df,_0xc4c1('0x2d'));_0x47fe5f[_0xc4c1('0x36')]=_[_0xc4c1('0x37')](_0x2d7ba5[_0xc4c1('0x36')]);_0x47fe5f[_0xc4c1('0x38')]=_[_0xc4c1('0x39')](_0x47fe5f['model'],_0x47fe5f[_0xc4c1('0x36')]);_0x14c872[_0xc4c1('0x3a')]=_[_0xc4c1('0x39')](_0x47fe5f[_0xc4c1('0x3b')],qs['fields'](_0x2d7ba5['query'][_0xc4c1('0x3c')]));_0x14c872[_0xc4c1('0x3a')]=_0x14c872[_0xc4c1('0x3a')]['length']?_0x14c872[_0xc4c1('0x3a')]:_0x47fe5f[_0xc4c1('0x3b')];if(!_0x2d7ba5['query'][_0xc4c1('0x3d')](_0xc4c1('0x3e'))){_0x14c872['limit']=qs[_0xc4c1('0x20')](_0x2d7ba5[_0xc4c1('0x36')]['limit']);_0x14c872[_0xc4c1('0x1f')]=qs[_0xc4c1('0x1f')](_0x2d7ba5[_0xc4c1('0x36')][_0xc4c1('0x1f')]);}_0x14c872[_0xc4c1('0x3f')]=qs[_0xc4c1('0x40')](_0x2d7ba5[_0xc4c1('0x36')][_0xc4c1('0x40')]);_0x14c872[_0xc4c1('0x41')]=qs[_0xc4c1('0x38')](_[_0xc4c1('0x42')](_0x2d7ba5[_0xc4c1('0x36')],_0x47fe5f[_0xc4c1('0x38')]),_0x4214df);if(_0x2d7ba5[_0xc4c1('0x36')][_0xc4c1('0x43')]){_0x14c872[_0xc4c1('0x41')]=_['merge'](_0x14c872[_0xc4c1('0x41')],{'$or':_[_0xc4c1('0x30')](_0x4214df,function(_0x288207){if(_0x288207[_0xc4c1('0x34')]!=='VIRTUAL'){var _0x2dd13b={};_0x2dd13b[_0x288207[_0xc4c1('0x2d')]]={'$like':'%'+_0x2d7ba5[_0xc4c1('0x36')]['filter']+'%'};return _0x2dd13b;}})});}_0x14c872=_['merge']({},_0x14c872,_0x2d7ba5[_0xc4c1('0x44')]);var _0x850203={'where':_0x14c872[_0xc4c1('0x41')]};return db[_0xc4c1('0x31')][_0xc4c1('0x1e')](_0x850203)[_0xc4c1('0x27')](function(_0x590484){_0xf8f495[_0xc4c1('0x1e')]=_0x590484;if(_0x2d7ba5[_0xc4c1('0x36')][_0xc4c1('0x45')]){_0x14c872[_0xc4c1('0x46')]=[{'all':!![]}];}return db['SquareOdbc'][_0xc4c1('0x47')](_0x14c872);})[_0xc4c1('0x27')](function(_0x1abffd){_0xf8f495['rows']=_0x1abffd;return _0xf8f495;})[_0xc4c1('0x27')](respondWithFilteredResult(_0x5e0701,_0x14c872))[_0xc4c1('0x48')](handleError(_0x5e0701,null));};exports['show']=function(_0x1af2d9,_0x4bba1e){var _0xf05d78={'raw':!![],'where':{'id':_0x1af2d9[_0xc4c1('0x49')]['id']}},_0x114c2c={};_0x114c2c[_0xc4c1('0x3b')]=_[_0xc4c1('0x37')](db[_0xc4c1('0x31')][_0xc4c1('0x32')]);_0x114c2c['query']=_[_0xc4c1('0x37')](_0x1af2d9[_0xc4c1('0x36')]);_0x114c2c[_0xc4c1('0x38')]=_[_0xc4c1('0x39')](_0x114c2c['model'],_0x114c2c['query']);_0xf05d78[_0xc4c1('0x3a')]=_[_0xc4c1('0x39')](_0x114c2c[_0xc4c1('0x3b')],qs[_0xc4c1('0x3c')](_0x1af2d9[_0xc4c1('0x36')]['fields']));_0xf05d78[_0xc4c1('0x3a')]=_0xf05d78[_0xc4c1('0x3a')][_0xc4c1('0x4a')]?_0xf05d78['attributes']:_0x114c2c[_0xc4c1('0x3b')];if(_0x1af2d9[_0xc4c1('0x36')]['includeAll']){_0xf05d78['include']=[{'all':!![]}];}_0xf05d78=_[_0xc4c1('0x4b')]({},_0xf05d78,_0x1af2d9['options']);return db[_0xc4c1('0x31')]['find'](_0xf05d78)['then'](handleEntityNotFound(_0x4bba1e,null))[_0xc4c1('0x27')](respondWithResult(_0x4bba1e,null))[_0xc4c1('0x48')](handleError(_0x4bba1e,null));};exports[_0xc4c1('0x4c')]=function(_0x2aeb55,_0x51c477){return db['SquareOdbc']['create'](_0x2aeb55[_0xc4c1('0x4d')],{})[_0xc4c1('0x27')](function(_0x29b007){var _0x42e2d0=_0x2aeb55[_0xc4c1('0x4e')][_0xc4c1('0x28')]({'plain':!![]});if(!_0x42e2d0)throw new Error(_0xc4c1('0x4f'));if(_0x42e2d0['role']===_0xc4c1('0x4e')){var _0x2785e4=_0x29b007[_0xc4c1('0x28')]({'plain':!![]});var _0x5e2e45=_0xc4c1('0x50');return db[_0xc4c1('0x51')][_0xc4c1('0x52')]({'where':{'name':_0x5e2e45,'userProfileId':_0x42e2d0[_0xc4c1('0x53')]},'raw':!![]})['then'](function(_0x5b2574){if(_0x5b2574&&_0x5b2574['autoAssociation']===0x0){return db['UserProfileResource'][_0xc4c1('0x4c')]({'name':_0x2785e4[_0xc4c1('0x2d')],'resourceId':_0x2785e4['id'],'type':_0x5b2574[_0xc4c1('0x2d')],'sectionId':_0x5b2574['id']},{})[_0xc4c1('0x27')](function(){return _0x29b007;});}else{return _0x29b007;}})[_0xc4c1('0x48')](function(_0xea71f8){logger[_0xc4c1('0x2b')](_0xc4c1('0x54'),_0xea71f8);throw _0xea71f8;});}return _0x29b007;})['then'](respondWithResult(_0x51c477,0xc9))['catch'](handleError(_0x51c477,null));};exports[_0xc4c1('0x25')]=function(_0x1d45f8,_0x7e20aa){if(_0x1d45f8[_0xc4c1('0x4d')]['id']){delete _0x1d45f8['body']['id'];}return db[_0xc4c1('0x31')][_0xc4c1('0x52')]({'where':{'id':_0x1d45f8[_0xc4c1('0x49')]['id']}})[_0xc4c1('0x27')](handleEntityNotFound(_0x7e20aa,null))[_0xc4c1('0x27')](saveUpdates(_0x1d45f8[_0xc4c1('0x4d')],null))[_0xc4c1('0x27')](respondWithResult(_0x7e20aa,null))[_0xc4c1('0x48')](handleError(_0x7e20aa,null));};exports[_0xc4c1('0x26')]=function(_0x3d477c,_0x4dbc5c){return db[_0xc4c1('0x31')][_0xc4c1('0x52')]({'where':{'id':_0x3d477c[_0xc4c1('0x49')]['id']}})[_0xc4c1('0x27')](handleEntityNotFound(_0x4dbc5c,null))[_0xc4c1('0x27')](removeEntity(_0x4dbc5c,null))['catch'](handleError(_0x4dbc5c,null));};exports[_0xc4c1('0x55')]=function(_0x169d4b,_0x2143e6,_0x1d482c){var _0x558d6d;return db[_0xc4c1('0x31')][_0xc4c1('0x52')]({'where':{'id':_0x169d4b[_0xc4c1('0x49')]['id']},'attributes':['id',_0xc4c1('0x56')]})[_0xc4c1('0x27')](handleEntityNotFound(_0x2143e6,null))[_0xc4c1('0x27')](function(_0x2f2822){if(_0x2f2822){var _0x9b19d1=require(_0xc4c1('0x57'))();_0x9b19d1[_0xc4c1('0x58')](_0x2f2822[_0xc4c1('0x56')]);_0x9b19d1[_0xc4c1('0x59')]();return _0x2f2822;}})[_0xc4c1('0x27')](respondWithResult(_0x2143e6,null))[_0xc4c1('0x48')](handleError(_0x2143e6,null));};