Built motion from commit (unavailable).|2.4.17
[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 _0x541e=['jsforce','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../mysqldb','status','json','count','offset','limit','set','Content-Range','apply','reject','save','update','then','ODBC','UserProfileResource','destroy','end','error','stack','name','send','index','map','SquareOdbc','rawAttributes','type','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','order','sort','where','pick','filter','VIRTUAL','merge','options','includeAll','include','rows','show','params','find','create','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','autoAssociation','catch','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','dsn','openSync','html-pdf','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','lodash','crypto'];(function(_0x45b0c7,_0x2b257b){var _0x4f4e45=function(_0x285dac){while(--_0x285dac){_0x45b0c7['push'](_0x45b0c7['shift']());}};_0x4f4e45(++_0x2b257b);}(_0x541e,0xeb));var _0xe541=function(_0x3e4504,_0x524739){_0x3e4504=_0x3e4504-0x0;var _0x2727a1=_0x541e[_0x3e4504];return _0x2727a1;};'use strict';var pdf=require(_0xe541('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xe541('0x1'));var rp=require('request-promise');var moment=require(_0xe541('0x2'));var BPromise=require(_0xe541('0x3'));var Mustache=require(_0xe541('0x4'));var util=require(_0xe541('0x5'));var path=require(_0xe541('0x6'));var sox=require(_0xe541('0x7'));var csv=require(_0xe541('0x8'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xe541('0x9'));var squel=require('squel');var crypto=require(_0xe541('0xa'));var jsforce=require(_0xe541('0xb'));var deskjs=require('desk.js');var toCsv=require(_0xe541('0x8'));var querystring=require(_0xe541('0xc'));var Papa=require('papaparse');var Redis=require(_0xe541('0xd'));var authService=require(_0xe541('0xe'));var qs=require(_0xe541('0xf'));var as=require(_0xe541('0x10'));var hardwareService=require(_0xe541('0x11'));var logger=require(_0xe541('0x12'))('api');var utils=require('../../config/utils');var config=require(_0xe541('0x13'));var db=require(_0xe541('0x14'))['db'];function respondWithStatusCode(_0x5d88ae,_0x14a618){_0x14a618=_0x14a618||0xcc;return function(_0x576852){if(_0x576852){return _0x5d88ae['sendStatus'](_0x14a618);}return _0x5d88ae[_0xe541('0x15')](_0x14a618)['end']();};}function respondWithResult(_0xd2ac7a,_0x2817bf){_0x2817bf=_0x2817bf||0xc8;return function(_0x1dd7f5){if(_0x1dd7f5){return _0xd2ac7a['status'](_0x2817bf)[_0xe541('0x16')](_0x1dd7f5);}};}function respondWithFilteredResult(_0x1368c3,_0x1cf014){return function(_0x2e89a2){if(_0x2e89a2){var _0x15c04a=_0x2e89a2[_0xe541('0x17')],_0x30c2cd=_0x1cf014[_0xe541('0x18')],_0x16d5fb=_0x1cf014[_0xe541('0x18')]+_0x1cf014[_0xe541('0x19')],_0x2b84d3;if(_0x16d5fb>=_0x15c04a){_0x16d5fb=_0x15c04a;_0x2b84d3=0xc8;}else{_0x2b84d3=0xce;}_0x1368c3['status'](_0x2b84d3);return _0x1368c3[_0xe541('0x1a')](_0xe541('0x1b'),_0x30c2cd+'-'+_0x16d5fb+'/'+_0x15c04a)[_0xe541('0x16')](_0x2e89a2);}return null;};}function patchUpdates(_0x5f0d13){return function(_0x7d9d9a){try{jsonpatch[_0xe541('0x1c')](_0x7d9d9a,_0x5f0d13,!![]);}catch(_0x5f226b){return BPromise[_0xe541('0x1d')](_0x5f226b);}return _0x7d9d9a[_0xe541('0x1e')]();};}function saveUpdates(_0x59f818,_0x1f9ccd){return function(_0x409080){if(_0x409080){return _0x409080[_0xe541('0x1f')](_0x59f818)[_0xe541('0x20')](function(_0xba84d6){return _0xba84d6;});}return null;};}function removeEntity(_0x57efb7,_0x14b6f5){return function(_0x1f8a2b){if(_0x1f8a2b){return _0x1f8a2b['destroy']()[_0xe541('0x20')](function(){var _0x1dfc1f=_0x1f8a2b['get']({'plain':!![]});var _0x1f3f38=_0xe541('0x21');return db[_0xe541('0x22')][_0xe541('0x23')]({'where':{'type':_0x1f3f38,'resourceId':_0x1dfc1f['id']}})[_0xe541('0x20')](function(){return _0x1f8a2b;});})[_0xe541('0x20')](function(){_0x57efb7['status'](0xcc)[_0xe541('0x24')]();});}};}function handleEntityNotFound(_0x43691d,_0x3fabf7){return function(_0xfc2bf2){if(!_0xfc2bf2){_0x43691d['sendStatus'](0x194);}return _0xfc2bf2;};}function handleError(_0x45e453,_0x459a0c){_0x459a0c=_0x459a0c||0x1f4;return function(_0x4fdd09){logger[_0xe541('0x25')](_0x4fdd09[_0xe541('0x26')]);if(_0x4fdd09[_0xe541('0x27')]){delete _0x4fdd09[_0xe541('0x27')];}_0x45e453['status'](_0x459a0c)[_0xe541('0x28')](_0x4fdd09);};}exports[_0xe541('0x29')]=function(_0x22a870,_0x57f7d8){var _0x29bdde={},_0x473220={},_0x5df81a={'count':0x0,'rows':[]};var _0x4fe934=_[_0xe541('0x2a')](db[_0xe541('0x2b')][_0xe541('0x2c')],function(_0x4bf930){return{'name':_0x4bf930['fieldName'],'type':_0x4bf930[_0xe541('0x2d')][_0xe541('0x2e')]};});_0x473220[_0xe541('0x2f')]=_['map'](_0x4fe934,_0xe541('0x27'));_0x473220[_0xe541('0x30')]=_[_0xe541('0x31')](_0x22a870[_0xe541('0x30')]);_0x473220[_0xe541('0x32')]=_[_0xe541('0x33')](_0x473220[_0xe541('0x2f')],_0x473220['query']);_0x29bdde['attributes']=_[_0xe541('0x33')](_0x473220[_0xe541('0x2f')],qs[_0xe541('0x34')](_0x22a870[_0xe541('0x30')][_0xe541('0x34')]));_0x29bdde['attributes']=_0x29bdde[_0xe541('0x35')][_0xe541('0x36')]?_0x29bdde[_0xe541('0x35')]:_0x473220['model'];if(!_0x22a870['query'][_0xe541('0x37')]('nolimit')){_0x29bdde[_0xe541('0x19')]=qs['limit'](_0x22a870[_0xe541('0x30')]['limit']);_0x29bdde[_0xe541('0x18')]=qs['offset'](_0x22a870[_0xe541('0x30')][_0xe541('0x18')]);}_0x29bdde[_0xe541('0x38')]=qs[_0xe541('0x39')](_0x22a870['query'][_0xe541('0x39')]);_0x29bdde[_0xe541('0x3a')]=qs[_0xe541('0x32')](_[_0xe541('0x3b')](_0x22a870[_0xe541('0x30')],_0x473220[_0xe541('0x32')]));if(_0x22a870['query'][_0xe541('0x3c')]){_0x29bdde[_0xe541('0x3a')]=_['merge'](_0x29bdde['where'],{'$or':_[_0xe541('0x2a')](_0x4fe934,function(_0x297ec0){if(_0x297ec0[_0xe541('0x2d')]!==_0xe541('0x3d')){var _0x1da7b1={};_0x1da7b1[_0x297ec0[_0xe541('0x27')]]={'$like':'%'+_0x22a870[_0xe541('0x30')][_0xe541('0x3c')]+'%'};return _0x1da7b1;}})});}_0x29bdde=_[_0xe541('0x3e')]({},_0x29bdde,_0x22a870[_0xe541('0x3f')]);var _0x39dc8c={'where':_0x29bdde[_0xe541('0x3a')]};return db[_0xe541('0x2b')][_0xe541('0x17')](_0x39dc8c)[_0xe541('0x20')](function(_0x21ec70){_0x5df81a[_0xe541('0x17')]=_0x21ec70;if(_0x22a870[_0xe541('0x30')][_0xe541('0x40')]){_0x29bdde[_0xe541('0x41')]=[{'all':!![]}];}return db['SquareOdbc']['findAll'](_0x29bdde);})['then'](function(_0x3c7faa){_0x5df81a[_0xe541('0x42')]=_0x3c7faa;return _0x5df81a;})[_0xe541('0x20')](respondWithFilteredResult(_0x57f7d8,_0x29bdde))['catch'](handleError(_0x57f7d8,null));};exports[_0xe541('0x43')]=function(_0x3cd96a,_0x4dd9ae){var _0x4252d6={'raw':!![],'where':{'id':_0x3cd96a[_0xe541('0x44')]['id']}},_0x43c607={};_0x43c607[_0xe541('0x2f')]=_[_0xe541('0x31')](db['SquareOdbc']['rawAttributes']);_0x43c607['query']=_['keys'](_0x3cd96a[_0xe541('0x30')]);_0x43c607[_0xe541('0x32')]=_[_0xe541('0x33')](_0x43c607[_0xe541('0x2f')],_0x43c607[_0xe541('0x30')]);_0x4252d6[_0xe541('0x35')]=_[_0xe541('0x33')](_0x43c607[_0xe541('0x2f')],qs[_0xe541('0x34')](_0x3cd96a[_0xe541('0x30')][_0xe541('0x34')]));_0x4252d6[_0xe541('0x35')]=_0x4252d6[_0xe541('0x35')][_0xe541('0x36')]?_0x4252d6[_0xe541('0x35')]:_0x43c607[_0xe541('0x2f')];if(_0x3cd96a['query'][_0xe541('0x40')]){_0x4252d6[_0xe541('0x41')]=[{'all':!![]}];}_0x4252d6=_[_0xe541('0x3e')]({},_0x4252d6,_0x3cd96a['options']);return db[_0xe541('0x2b')][_0xe541('0x45')](_0x4252d6)[_0xe541('0x20')](handleEntityNotFound(_0x4dd9ae,null))[_0xe541('0x20')](respondWithResult(_0x4dd9ae,null))['catch'](handleError(_0x4dd9ae,null));};exports[_0xe541('0x46')]=function(_0x2f4527,_0xda0dab){return db[_0xe541('0x2b')]['create'](_0x2f4527['body'],{})[_0xe541('0x20')](function(_0x5bafed){var _0x413383=_0x2f4527[_0xe541('0x47')][_0xe541('0x48')]({'plain':!![]});if(!_0x413383)throw new Error(_0xe541('0x49'));if(_0x413383[_0xe541('0x4a')]===_0xe541('0x47')){var _0x47252d=_0x5bafed['get']({'plain':!![]});var _0x83bd90=_0xe541('0x21');return db[_0xe541('0x4b')]['find']({'where':{'name':_0x83bd90,'userProfileId':_0x413383['userProfileId']},'raw':!![]})[_0xe541('0x20')](function(_0x2dcf0e){if(_0x2dcf0e&&_0x2dcf0e[_0xe541('0x4c')]===0x0){return db[_0xe541('0x22')][_0xe541('0x46')]({'name':_0x47252d[_0xe541('0x27')],'resourceId':_0x47252d['id'],'type':_0x2dcf0e[_0xe541('0x27')],'sectionId':_0x2dcf0e['id']},{})[_0xe541('0x20')](function(){return _0x5bafed;});}else{return _0x5bafed;}})[_0xe541('0x4d')](function(_0x5d2931){logger[_0xe541('0x25')](_0xe541('0x4e'),_0x5d2931);throw _0x5d2931;});}return _0x5bafed;})['then'](respondWithResult(_0xda0dab,0xc9))[_0xe541('0x4d')](handleError(_0xda0dab,null));};exports[_0xe541('0x1f')]=function(_0xe3d360,_0x30a45f){if(_0xe3d360[_0xe541('0x4f')]['id']){delete _0xe3d360['body']['id'];}return db['SquareOdbc']['find']({'where':{'id':_0xe3d360[_0xe541('0x44')]['id']}})[_0xe541('0x20')](handleEntityNotFound(_0x30a45f,null))[_0xe541('0x20')](saveUpdates(_0xe3d360[_0xe541('0x4f')],null))[_0xe541('0x20')](respondWithResult(_0x30a45f,null))[_0xe541('0x4d')](handleError(_0x30a45f,null));};exports['destroy']=function(_0x128711,_0x56063f){return db['SquareOdbc'][_0xe541('0x45')]({'where':{'id':_0x128711[_0xe541('0x44')]['id']}})[_0xe541('0x20')](handleEntityNotFound(_0x56063f,null))[_0xe541('0x20')](removeEntity(_0x56063f,null))[_0xe541('0x4d')](handleError(_0x56063f,null));};exports['test']=function(_0x479c9a,_0x33c864,_0xcea7fe){var _0x3fc94c;return db[_0xe541('0x2b')][_0xe541('0x45')]({'where':{'id':_0x479c9a[_0xe541('0x44')]['id']},'attributes':['id',_0xe541('0x50')]})['then'](handleEntityNotFound(_0x33c864,null))[_0xe541('0x20')](function(_0x174bb4){if(_0x174bb4){var _0x465628=require('odbc')();_0x465628[_0xe541('0x51')](_0x174bb4['dsn']);_0x465628['closeSync']();return _0x174bb4;}})[_0xe541('0x20')](respondWithResult(_0x33c864,null))[_0xe541('0x4d')](handleError(_0x33c864,null));};