Built motion from commit (unavailable).|2.4.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 _0x0fe1=['role','ODBC','autoAssociation','dsn','odbc','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','sox','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','json','count','offset','limit','set','apply','save','update','destroy','then','get','UserProfileResource','end','error','stack','name','send','index','map','SquareOdbc','fieldName','type','key','query','keys','filters','attributes','model','fields','length','hasOwnProperty','nolimit','sort','where','pick','merge','filter','options','includeAll','include','findAll','catch','show','params','rawAttributes','intersection','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user'];(function(_0x20cb5d,_0x5b6ec7){var _0x33dd23=function(_0x5918a9){while(--_0x5918a9){_0x20cb5d['push'](_0x20cb5d['shift']());}};_0x33dd23(++_0x5b6ec7);}(_0x0fe1,0x19f));var _0x10fe=function(_0x3c3a4d,_0x309438){_0x3c3a4d=_0x3c3a4d-0x0;var _0x251598=_0x0fe1[_0x3c3a4d];return _0x251598;};'use strict';var pdf=require(_0x10fe('0x0'));var emlformat=require(_0x10fe('0x1'));var rimraf=require(_0x10fe('0x2'));var zipdir=require(_0x10fe('0x3'));var jsonpatch=require(_0x10fe('0x4'));var rp=require(_0x10fe('0x5'));var moment=require(_0x10fe('0x6'));var BPromise=require('bluebird');var Mustache=require(_0x10fe('0x7'));var util=require(_0x10fe('0x8'));var path=require('path');var sox=require(_0x10fe('0x9'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0x10fe('0xa'));var squel=require(_0x10fe('0xb'));var crypto=require(_0x10fe('0xc'));var jsforce=require(_0x10fe('0xd'));var deskjs=require(_0x10fe('0xe'));var toCsv=require(_0x10fe('0xf'));var querystring=require(_0x10fe('0x10'));var Papa=require(_0x10fe('0x11'));var Redis=require('ioredis');var authService=require(_0x10fe('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0x10fe('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x10fe('0x14'))('api');var utils=require(_0x10fe('0x15'));var config=require(_0x10fe('0x16'));var db=require(_0x10fe('0x17'))['db'];function respondWithStatusCode(_0x2ec859,_0x5b05d1){_0x5b05d1=_0x5b05d1||0xcc;return function(_0x55b068){if(_0x55b068){return _0x2ec859[_0x10fe('0x18')](_0x5b05d1);}return _0x2ec859[_0x10fe('0x19')](_0x5b05d1)['end']();};}function respondWithResult(_0x2ee526,_0x564542){_0x564542=_0x564542||0xc8;return function(_0x132edb){if(_0x132edb){return _0x2ee526[_0x10fe('0x19')](_0x564542)[_0x10fe('0x1a')](_0x132edb);}};}function respondWithFilteredResult(_0xd49542,_0x592a17){return function(_0x58fd25){if(_0x58fd25){var _0x221d1f=_0x58fd25[_0x10fe('0x1b')],_0x4959c8=_0x592a17[_0x10fe('0x1c')],_0x434677=_0x592a17[_0x10fe('0x1c')]+_0x592a17[_0x10fe('0x1d')],_0x4bf788;if(_0x434677>=_0x221d1f){_0x434677=_0x221d1f;_0x4bf788=0xc8;}else{_0x4bf788=0xce;}_0xd49542[_0x10fe('0x19')](_0x4bf788);return _0xd49542[_0x10fe('0x1e')]('Content-Range',_0x4959c8+'-'+_0x434677+'/'+_0x221d1f)['json'](_0x58fd25);}return null;};}function patchUpdates(_0x3759e3){return function(_0x2fba34){try{jsonpatch[_0x10fe('0x1f')](_0x2fba34,_0x3759e3,!![]);}catch(_0x49b597){return BPromise['reject'](_0x49b597);}return _0x2fba34[_0x10fe('0x20')]();};}function saveUpdates(_0x43e855,_0x5a28ee){return function(_0x213184){if(_0x213184){return _0x213184[_0x10fe('0x21')](_0x43e855)['then'](function(_0x1856da){return _0x1856da;});}return null;};}function removeEntity(_0x49ceed,_0x3ecf20){return function(_0x30eb3d){if(_0x30eb3d){return _0x30eb3d[_0x10fe('0x22')]()[_0x10fe('0x23')](function(){var _0x2e1993=_0x30eb3d[_0x10fe('0x24')]({'plain':!![]});var _0x2eb4c2='ODBC';return db[_0x10fe('0x25')]['destroy']({'where':{'type':_0x2eb4c2,'resourceId':_0x2e1993['id']}})[_0x10fe('0x23')](function(){return _0x30eb3d;});})[_0x10fe('0x23')](function(){_0x49ceed[_0x10fe('0x19')](0xcc)[_0x10fe('0x26')]();});}};}function handleEntityNotFound(_0x279eb1,_0xdae5b0){return function(_0x2ccc61){if(!_0x2ccc61){_0x279eb1[_0x10fe('0x18')](0x194);}return _0x2ccc61;};}function handleError(_0x17bcdb,_0x41b61c){_0x41b61c=_0x41b61c||0x1f4;return function(_0x292fbb){logger[_0x10fe('0x27')](_0x292fbb[_0x10fe('0x28')]);if(_0x292fbb['name']){delete _0x292fbb[_0x10fe('0x29')];}_0x17bcdb[_0x10fe('0x19')](_0x41b61c)[_0x10fe('0x2a')](_0x292fbb);};}exports[_0x10fe('0x2b')]=function(_0x16fd7d,_0x19b1da){var _0x4705c0={},_0x33c82f={},_0xbbbdf0={'count':0x0,'rows':[]};var _0x60da64=_[_0x10fe('0x2c')](db[_0x10fe('0x2d')]['rawAttributes'],function(_0x3b85e8){return{'name':_0x3b85e8[_0x10fe('0x2e')],'type':_0x3b85e8[_0x10fe('0x2f')][_0x10fe('0x30')]};});_0x33c82f['model']=_['map'](_0x60da64,_0x10fe('0x29'));_0x33c82f[_0x10fe('0x31')]=_[_0x10fe('0x32')](_0x16fd7d[_0x10fe('0x31')]);_0x33c82f[_0x10fe('0x33')]=_['intersection'](_0x33c82f['model'],_0x33c82f[_0x10fe('0x31')]);_0x4705c0[_0x10fe('0x34')]=_['intersection'](_0x33c82f[_0x10fe('0x35')],qs[_0x10fe('0x36')](_0x16fd7d[_0x10fe('0x31')][_0x10fe('0x36')]));_0x4705c0[_0x10fe('0x34')]=_0x4705c0['attributes'][_0x10fe('0x37')]?_0x4705c0['attributes']:_0x33c82f[_0x10fe('0x35')];if(!_0x16fd7d[_0x10fe('0x31')][_0x10fe('0x38')](_0x10fe('0x39'))){_0x4705c0[_0x10fe('0x1d')]=qs[_0x10fe('0x1d')](_0x16fd7d[_0x10fe('0x31')][_0x10fe('0x1d')]);_0x4705c0[_0x10fe('0x1c')]=qs[_0x10fe('0x1c')](_0x16fd7d[_0x10fe('0x31')][_0x10fe('0x1c')]);}_0x4705c0['order']=qs[_0x10fe('0x3a')](_0x16fd7d['query'][_0x10fe('0x3a')]);_0x4705c0[_0x10fe('0x3b')]=qs[_0x10fe('0x33')](_[_0x10fe('0x3c')](_0x16fd7d[_0x10fe('0x31')],_0x33c82f['filters']));if(_0x16fd7d['query']['filter']){_0x4705c0[_0x10fe('0x3b')]=_[_0x10fe('0x3d')](_0x4705c0[_0x10fe('0x3b')],{'$or':_['map'](_0x60da64,function(_0x4e9f34){if(_0x4e9f34[_0x10fe('0x2f')]!=='VIRTUAL'){var _0x551be5={};_0x551be5[_0x4e9f34[_0x10fe('0x29')]]={'$like':'%'+_0x16fd7d[_0x10fe('0x31')][_0x10fe('0x3e')]+'%'};return _0x551be5;}})});}_0x4705c0=_[_0x10fe('0x3d')]({},_0x4705c0,_0x16fd7d[_0x10fe('0x3f')]);var _0x54c116={'where':_0x4705c0['where']};return db[_0x10fe('0x2d')][_0x10fe('0x1b')](_0x54c116)['then'](function(_0x11fc08){_0xbbbdf0[_0x10fe('0x1b')]=_0x11fc08;if(_0x16fd7d[_0x10fe('0x31')][_0x10fe('0x40')]){_0x4705c0[_0x10fe('0x41')]=[{'all':!![]}];}return db[_0x10fe('0x2d')][_0x10fe('0x42')](_0x4705c0);})[_0x10fe('0x23')](function(_0x47b363){_0xbbbdf0['rows']=_0x47b363;return _0xbbbdf0;})[_0x10fe('0x23')](respondWithFilteredResult(_0x19b1da,_0x4705c0))[_0x10fe('0x43')](handleError(_0x19b1da,null));};exports[_0x10fe('0x44')]=function(_0x8d9f71,_0x98c6d1){var _0x30a2d9={'raw':!![],'where':{'id':_0x8d9f71[_0x10fe('0x45')]['id']}},_0x8ef0e9={};_0x8ef0e9[_0x10fe('0x35')]=_[_0x10fe('0x32')](db[_0x10fe('0x2d')][_0x10fe('0x46')]);_0x8ef0e9[_0x10fe('0x31')]=_[_0x10fe('0x32')](_0x8d9f71['query']);_0x8ef0e9[_0x10fe('0x33')]=_[_0x10fe('0x47')](_0x8ef0e9[_0x10fe('0x35')],_0x8ef0e9[_0x10fe('0x31')]);_0x30a2d9['attributes']=_[_0x10fe('0x47')](_0x8ef0e9['model'],qs[_0x10fe('0x36')](_0x8d9f71[_0x10fe('0x31')]['fields']));_0x30a2d9[_0x10fe('0x34')]=_0x30a2d9[_0x10fe('0x34')][_0x10fe('0x37')]?_0x30a2d9[_0x10fe('0x34')]:_0x8ef0e9[_0x10fe('0x35')];if(_0x8d9f71['query'][_0x10fe('0x40')]){_0x30a2d9[_0x10fe('0x41')]=[{'all':!![]}];}_0x30a2d9=_['merge']({},_0x30a2d9,_0x8d9f71[_0x10fe('0x3f')]);return db['SquareOdbc'][_0x10fe('0x48')](_0x30a2d9)[_0x10fe('0x23')](handleEntityNotFound(_0x98c6d1,null))[_0x10fe('0x23')](respondWithResult(_0x98c6d1,null))['catch'](handleError(_0x98c6d1,null));};exports[_0x10fe('0x49')]=function(_0x6b44ad,_0x4807e5){return db[_0x10fe('0x2d')][_0x10fe('0x49')](_0x6b44ad[_0x10fe('0x4a')],{})[_0x10fe('0x23')](function(_0x19f1d1){var _0x3ca2dd=_0x6b44ad[_0x10fe('0x4b')]['get']({'plain':!![]});if(!_0x3ca2dd)throw new Error(_0x10fe('0x4c'));if(_0x3ca2dd[_0x10fe('0x4d')]===_0x10fe('0x4b')){var _0x1da034=_0x19f1d1[_0x10fe('0x24')]({'plain':!![]});var _0x2866d6=_0x10fe('0x4e');return db['UserProfileSection']['find']({'where':{'name':_0x2866d6,'userProfileId':_0x3ca2dd['userProfileId']},'raw':!![]})[_0x10fe('0x23')](function(_0x45353c){if(_0x45353c&&_0x45353c[_0x10fe('0x4f')]===0x0){return db['UserProfileResource'][_0x10fe('0x49')]({'name':_0x1da034[_0x10fe('0x29')],'resourceId':_0x1da034['id'],'type':_0x45353c[_0x10fe('0x29')],'sectionId':_0x45353c['id']},{})[_0x10fe('0x23')](function(){return _0x19f1d1;});}else{return _0x19f1d1;}})[_0x10fe('0x43')](function(_0x38b140){logger[_0x10fe('0x27')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x38b140);throw _0x38b140;});}return _0x19f1d1;})[_0x10fe('0x23')](respondWithResult(_0x4807e5,0xc9))[_0x10fe('0x43')](handleError(_0x4807e5,null));};exports[_0x10fe('0x21')]=function(_0x3d7640,_0x4ba22c){if(_0x3d7640[_0x10fe('0x4a')]['id']){delete _0x3d7640[_0x10fe('0x4a')]['id'];}return db['SquareOdbc'][_0x10fe('0x48')]({'where':{'id':_0x3d7640[_0x10fe('0x45')]['id']}})[_0x10fe('0x23')](handleEntityNotFound(_0x4ba22c,null))['then'](saveUpdates(_0x3d7640['body'],null))[_0x10fe('0x23')](respondWithResult(_0x4ba22c,null))['catch'](handleError(_0x4ba22c,null));};exports[_0x10fe('0x22')]=function(_0x449f61,_0xed42){return db[_0x10fe('0x2d')][_0x10fe('0x48')]({'where':{'id':_0x449f61[_0x10fe('0x45')]['id']}})['then'](handleEntityNotFound(_0xed42,null))[_0x10fe('0x23')](removeEntity(_0xed42,null))['catch'](handleError(_0xed42,null));};exports['test']=function(_0x4c060e,_0x4d33d7,_0x1c84f9){var _0x335f59;return db['SquareOdbc'][_0x10fe('0x48')]({'where':{'id':_0x4c060e[_0x10fe('0x45')]['id']},'attributes':['id',_0x10fe('0x50')]})[_0x10fe('0x23')](handleEntityNotFound(_0x4d33d7,null))['then'](function(_0x365a23){if(_0x365a23){var _0x26e612=require(_0x10fe('0x51'))();_0x26e612['openSync'](_0x365a23['dsn']);_0x26e612['closeSync']();return _0x365a23;}})[_0x10fe('0x23')](respondWithResult(_0x4d33d7,null))[_0x10fe('0x43')](handleError(_0x4d33d7,null));};