2e026ff35329888ba14a8bb30414805ea1a5a133
[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 _0x8b4c=['update','then','destroy','get','ODBC','error','stack','index','map','SquareOdbc','rawAttributes','fieldName','name','query','filters','model','attributes','intersection','fields','hasOwnProperty','nolimit','limit','order','sort','where','pick','merge','type','VIRTUAL','filter','options','includeAll','include','findAll','catch','params','keys','length','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','test','dsn','odbc','openSync','closeSync','html-pdf','rimraf','fast-json-patch','moment','bluebird','util','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','sendStatus','status','end','json','count','offset','set','apply','reject','save'];(function(_0x45bf86,_0x75586e){var _0x1f02b7=function(_0x1ea8a3){while(--_0x1ea8a3){_0x45bf86['push'](_0x45bf86['shift']());}};_0x1f02b7(++_0x75586e);}(_0x8b4c,0x195));var _0xc8b4=function(_0x3b7cd3,_0x5dd811){_0x3b7cd3=_0x3b7cd3-0x0;var _0x3eef40=_0x8b4c[_0x3b7cd3];return _0x3eef40;};'use strict';var pdf=require(_0xc8b4('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xc8b4('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xc8b4('0x2'));var rp=require('request-promise');var moment=require(_0xc8b4('0x3'));var BPromise=require(_0xc8b4('0x4'));var Mustache=require('mustache');var util=require(_0xc8b4('0x5'));var path=require('path');var sox=require(_0xc8b4('0x6'));var csv=require(_0xc8b4('0x7'));var ejs=require(_0xc8b4('0x8'));var fs=require('fs');var _=require(_0xc8b4('0x9'));var squel=require(_0xc8b4('0xa'));var crypto=require(_0xc8b4('0xb'));var jsforce=require(_0xc8b4('0xc'));var deskjs=require(_0xc8b4('0xd'));var toCsv=require('to-csv');var querystring=require(_0xc8b4('0xe'));var Papa=require(_0xc8b4('0xf'));var Redis=require(_0xc8b4('0x10'));var authService=require(_0xc8b4('0x11'));var qs=require(_0xc8b4('0x12'));var as=require(_0xc8b4('0x13'));var hardwareService=require(_0xc8b4('0x14'));var logger=require(_0xc8b4('0x15'))(_0xc8b4('0x16'));var utils=require(_0xc8b4('0x17'));var config=require(_0xc8b4('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x3470b8,_0x2f45ca){_0x2f45ca=_0x2f45ca||0xcc;return function(_0x40650c){if(_0x40650c){return _0x3470b8[_0xc8b4('0x19')](_0x2f45ca);}return _0x3470b8[_0xc8b4('0x1a')](_0x2f45ca)[_0xc8b4('0x1b')]();};}function respondWithResult(_0x464781,_0x22a333){_0x22a333=_0x22a333||0xc8;return function(_0x4e7064){if(_0x4e7064){return _0x464781[_0xc8b4('0x1a')](_0x22a333)[_0xc8b4('0x1c')](_0x4e7064);}};}function respondWithFilteredResult(_0x324642,_0x4e4c50){return function(_0x541170){if(_0x541170){var _0x29a25d=_0x541170[_0xc8b4('0x1d')],_0x4d28ee=_0x4e4c50[_0xc8b4('0x1e')],_0x3a91d6=_0x4e4c50[_0xc8b4('0x1e')]+_0x4e4c50['limit'],_0x5ef91a;if(_0x3a91d6>=_0x29a25d){_0x3a91d6=_0x29a25d;_0x5ef91a=0xc8;}else{_0x5ef91a=0xce;}_0x324642['status'](_0x5ef91a);return _0x324642[_0xc8b4('0x1f')]('Content-Range',_0x4d28ee+'-'+_0x3a91d6+'/'+_0x29a25d)['json'](_0x541170);}return null;};}function patchUpdates(_0x37140c){return function(_0x1f7852){try{jsonpatch[_0xc8b4('0x20')](_0x1f7852,_0x37140c,!![]);}catch(_0x4025f2){return BPromise[_0xc8b4('0x21')](_0x4025f2);}return _0x1f7852[_0xc8b4('0x22')]();};}function saveUpdates(_0x25813d,_0x3e12fa){return function(_0x3cfb0b){if(_0x3cfb0b){return _0x3cfb0b[_0xc8b4('0x23')](_0x25813d)[_0xc8b4('0x24')](function(_0x215e32){return _0x215e32;});}return null;};}function removeEntity(_0x3b0183,_0x30740f){return function(_0x1d2b82){if(_0x1d2b82){return _0x1d2b82[_0xc8b4('0x25')]()[_0xc8b4('0x24')](function(){var _0xbed874=_0x1d2b82[_0xc8b4('0x26')]({'plain':!![]});var _0x49b0c2=_0xc8b4('0x27');return db['UserProfileResource'][_0xc8b4('0x25')]({'where':{'type':_0x49b0c2,'resourceId':_0xbed874['id']}})[_0xc8b4('0x24')](function(){return _0x1d2b82;});})[_0xc8b4('0x24')](function(){_0x3b0183[_0xc8b4('0x1a')](0xcc)[_0xc8b4('0x1b')]();});}};}function handleEntityNotFound(_0x170f25,_0x515c75){return function(_0x352276){if(!_0x352276){_0x170f25[_0xc8b4('0x19')](0x194);}return _0x352276;};}function handleError(_0x1a432c,_0x5c4a48){_0x5c4a48=_0x5c4a48||0x1f4;return function(_0x202e23){logger[_0xc8b4('0x28')](_0x202e23[_0xc8b4('0x29')]);if(_0x202e23['name']){delete _0x202e23['name'];}_0x1a432c['status'](_0x5c4a48)['send'](_0x202e23);};}exports[_0xc8b4('0x2a')]=function(_0x11f05b,_0x3fd4a4){var _0x53cd8f={},_0x5d05fa={},_0x41b575={'count':0x0,'rows':[]};var _0x36171a=_[_0xc8b4('0x2b')](db[_0xc8b4('0x2c')][_0xc8b4('0x2d')],function(_0x339d0a){return{'name':_0x339d0a[_0xc8b4('0x2e')],'type':_0x339d0a['type']['key']};});_0x5d05fa['model']=_[_0xc8b4('0x2b')](_0x36171a,_0xc8b4('0x2f'));_0x5d05fa['query']=_['keys'](_0x11f05b[_0xc8b4('0x30')]);_0x5d05fa[_0xc8b4('0x31')]=_['intersection'](_0x5d05fa[_0xc8b4('0x32')],_0x5d05fa[_0xc8b4('0x30')]);_0x53cd8f[_0xc8b4('0x33')]=_[_0xc8b4('0x34')](_0x5d05fa[_0xc8b4('0x32')],qs['fields'](_0x11f05b[_0xc8b4('0x30')][_0xc8b4('0x35')]));_0x53cd8f[_0xc8b4('0x33')]=_0x53cd8f['attributes']['length']?_0x53cd8f[_0xc8b4('0x33')]:_0x5d05fa[_0xc8b4('0x32')];if(!_0x11f05b[_0xc8b4('0x30')][_0xc8b4('0x36')](_0xc8b4('0x37'))){_0x53cd8f[_0xc8b4('0x38')]=qs[_0xc8b4('0x38')](_0x11f05b[_0xc8b4('0x30')][_0xc8b4('0x38')]);_0x53cd8f['offset']=qs['offset'](_0x11f05b['query'][_0xc8b4('0x1e')]);}_0x53cd8f[_0xc8b4('0x39')]=qs[_0xc8b4('0x3a')](_0x11f05b[_0xc8b4('0x30')]['sort']);_0x53cd8f[_0xc8b4('0x3b')]=qs[_0xc8b4('0x31')](_[_0xc8b4('0x3c')](_0x11f05b[_0xc8b4('0x30')],_0x5d05fa['filters']));if(_0x11f05b[_0xc8b4('0x30')]['filter']){_0x53cd8f['where']=_[_0xc8b4('0x3d')](_0x53cd8f[_0xc8b4('0x3b')],{'$or':_[_0xc8b4('0x2b')](_0x36171a,function(_0x211b31){if(_0x211b31[_0xc8b4('0x3e')]!==_0xc8b4('0x3f')){var _0x594177={};_0x594177[_0x211b31[_0xc8b4('0x2f')]]={'$like':'%'+_0x11f05b[_0xc8b4('0x30')][_0xc8b4('0x40')]+'%'};return _0x594177;}})});}_0x53cd8f=_[_0xc8b4('0x3d')]({},_0x53cd8f,_0x11f05b[_0xc8b4('0x41')]);var _0x2990ea={'where':_0x53cd8f[_0xc8b4('0x3b')]};return db[_0xc8b4('0x2c')]['count'](_0x2990ea)[_0xc8b4('0x24')](function(_0x1b6219){_0x41b575[_0xc8b4('0x1d')]=_0x1b6219;if(_0x11f05b[_0xc8b4('0x30')][_0xc8b4('0x42')]){_0x53cd8f[_0xc8b4('0x43')]=[{'all':!![]}];}return db[_0xc8b4('0x2c')][_0xc8b4('0x44')](_0x53cd8f);})[_0xc8b4('0x24')](function(_0x1bdee6){_0x41b575['rows']=_0x1bdee6;return _0x41b575;})['then'](respondWithFilteredResult(_0x3fd4a4,_0x53cd8f))[_0xc8b4('0x45')](handleError(_0x3fd4a4,null));};exports['show']=function(_0x720b7d,_0x260983){var _0x1080e6={'raw':!![],'where':{'id':_0x720b7d[_0xc8b4('0x46')]['id']}},_0x588f8b={};_0x588f8b[_0xc8b4('0x32')]=_[_0xc8b4('0x47')](db['SquareOdbc'][_0xc8b4('0x2d')]);_0x588f8b[_0xc8b4('0x30')]=_['keys'](_0x720b7d['query']);_0x588f8b[_0xc8b4('0x31')]=_[_0xc8b4('0x34')](_0x588f8b['model'],_0x588f8b[_0xc8b4('0x30')]);_0x1080e6[_0xc8b4('0x33')]=_[_0xc8b4('0x34')](_0x588f8b[_0xc8b4('0x32')],qs['fields'](_0x720b7d[_0xc8b4('0x30')]['fields']));_0x1080e6[_0xc8b4('0x33')]=_0x1080e6[_0xc8b4('0x33')][_0xc8b4('0x48')]?_0x1080e6['attributes']:_0x588f8b[_0xc8b4('0x32')];if(_0x720b7d[_0xc8b4('0x30')][_0xc8b4('0x42')]){_0x1080e6[_0xc8b4('0x43')]=[{'all':!![]}];}_0x1080e6=_[_0xc8b4('0x3d')]({},_0x1080e6,_0x720b7d['options']);return db[_0xc8b4('0x2c')][_0xc8b4('0x49')](_0x1080e6)[_0xc8b4('0x24')](handleEntityNotFound(_0x260983,null))[_0xc8b4('0x24')](respondWithResult(_0x260983,null))['catch'](handleError(_0x260983,null));};exports[_0xc8b4('0x4a')]=function(_0x3905e9,_0x69f51){return db[_0xc8b4('0x2c')][_0xc8b4('0x4a')](_0x3905e9[_0xc8b4('0x4b')],{})[_0xc8b4('0x24')](function(_0x5c3be0){var _0x652576=_0x3905e9[_0xc8b4('0x4c')][_0xc8b4('0x26')]({'plain':!![]});if(!_0x652576)throw new Error(_0xc8b4('0x4d'));if(_0x652576[_0xc8b4('0x4e')]===_0xc8b4('0x4c')){var _0x5950ce=_0x5c3be0[_0xc8b4('0x26')]({'plain':!![]});var _0x38f0b5=_0xc8b4('0x27');return db[_0xc8b4('0x4f')][_0xc8b4('0x49')]({'where':{'name':_0x38f0b5,'userProfileId':_0x652576['userProfileId']},'raw':!![]})[_0xc8b4('0x24')](function(_0x17bafd){if(_0x17bafd&&_0x17bafd[_0xc8b4('0x50')]===0x0){return db[_0xc8b4('0x51')][_0xc8b4('0x4a')]({'name':_0x5950ce[_0xc8b4('0x2f')],'resourceId':_0x5950ce['id'],'type':_0x17bafd['name'],'sectionId':_0x17bafd['id']},{})[_0xc8b4('0x24')](function(){return _0x5c3be0;});}else{return _0x5c3be0;}})[_0xc8b4('0x45')](function(_0x2a798d){logger['error'](_0xc8b4('0x52'),_0x2a798d);throw _0x2a798d;});}return _0x5c3be0;})[_0xc8b4('0x24')](respondWithResult(_0x69f51,0xc9))[_0xc8b4('0x45')](handleError(_0x69f51,null));};exports[_0xc8b4('0x23')]=function(_0x439f6f,_0x1293b8){if(_0x439f6f[_0xc8b4('0x4b')]['id']){delete _0x439f6f[_0xc8b4('0x4b')]['id'];}return db[_0xc8b4('0x2c')][_0xc8b4('0x49')]({'where':{'id':_0x439f6f['params']['id']}})[_0xc8b4('0x24')](handleEntityNotFound(_0x1293b8,null))['then'](saveUpdates(_0x439f6f[_0xc8b4('0x4b')],null))['then'](respondWithResult(_0x1293b8,null))[_0xc8b4('0x45')](handleError(_0x1293b8,null));};exports[_0xc8b4('0x25')]=function(_0x41605a,_0x15e589){return db[_0xc8b4('0x2c')][_0xc8b4('0x49')]({'where':{'id':_0x41605a[_0xc8b4('0x46')]['id']}})[_0xc8b4('0x24')](handleEntityNotFound(_0x15e589,null))[_0xc8b4('0x24')](removeEntity(_0x15e589,null))['catch'](handleError(_0x15e589,null));};exports[_0xc8b4('0x53')]=function(_0x12ea15,_0x53f31d,_0x22d275){var _0x5cc257;return db[_0xc8b4('0x2c')][_0xc8b4('0x49')]({'where':{'id':_0x12ea15[_0xc8b4('0x46')]['id']},'attributes':['id',_0xc8b4('0x54')]})[_0xc8b4('0x24')](handleEntityNotFound(_0x53f31d,null))['then'](function(_0x3da98d){if(_0x3da98d){var _0x1df44d=require(_0xc8b4('0x55'))();_0x1df44d[_0xc8b4('0x56')](_0x3da98d[_0xc8b4('0x54')]);_0x1df44d[_0xc8b4('0x57')]();return _0x3da98d;}})['then'](respondWithResult(_0x53f31d,null))[_0xc8b4('0x45')](handleError(_0x53f31d,null));};