f670de9ccfb3be099bdeb21cc453abec5771c496
[motion2.git] / server / api / squareReportDetail / squareReportDetail.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 _0xd2ff=['path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','../../components/auth/service','../../components/parsers/advancedSearch','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','offset','undefined','limit','count','set','Content-Range','json','apply','reject','save','then','destroy','error','stack','name','SquareDetailsReport','rawAttributes','fieldName','type','map','query','filters','intersection','model','attributes','fields','length','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','show','params','keys','find','create','body','catch','describe','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util'];(function(_0x2a534f,_0x23705b){var _0x23d365=function(_0x2f5849){while(--_0x2f5849){_0x2a534f['push'](_0x2a534f['shift']());}};_0x23d365(++_0x23705b);}(_0xd2ff,0x1e2));var _0xfd2f=function(_0x4d8dc9,_0x544834){_0x4d8dc9=_0x4d8dc9-0x0;var _0x349d02=_0xd2ff[_0x4d8dc9];return _0x349d02;};'use strict';var emlformat=require(_0xfd2f('0x0'));var rimraf=require(_0xfd2f('0x1'));var zipdir=require(_0xfd2f('0x2'));var jsonpatch=require(_0xfd2f('0x3'));var rp=require('request-promise');var moment=require(_0xfd2f('0x4'));var BPromise=require(_0xfd2f('0x5'));var Mustache=require(_0xfd2f('0x6'));var util=require(_0xfd2f('0x7'));var path=require(_0xfd2f('0x8'));var sox=require(_0xfd2f('0x9'));var csv=require(_0xfd2f('0xa'));var ejs=require(_0xfd2f('0xb'));var fs=require('fs');var fs_extra=require(_0xfd2f('0xc'));var _=require(_0xfd2f('0xd'));var squel=require('squel');var crypto=require(_0xfd2f('0xe'));var jsforce=require(_0xfd2f('0xf'));var deskjs=require('desk.js');var toCsv=require(_0xfd2f('0xa'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xfd2f('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0xfd2f('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require(_0xfd2f('0x12'));var config=require(_0xfd2f('0x13'));var licenseUtil=require('../../config/license/util');var db=require(_0xfd2f('0x14'))['db'];function respondWithStatusCode(_0x152687,_0x4c7aa1){_0x4c7aa1=_0x4c7aa1||0xcc;return function(_0x45dfd7){if(_0x45dfd7){return _0x152687[_0xfd2f('0x15')](_0x4c7aa1);}return _0x152687[_0xfd2f('0x16')](_0x4c7aa1)[_0xfd2f('0x17')]();};}function respondWithResult(_0x3ad5cc,_0x2552ca){_0x2552ca=_0x2552ca||0xc8;return function(_0x5c269b){if(_0x5c269b){return _0x3ad5cc[_0xfd2f('0x16')](_0x2552ca)['json'](_0x5c269b);}};}function respondWithFilteredResult(_0x1435f3,_0x564377){return function(_0x7d038a){if(_0x7d038a){var _0x521690=typeof _0x564377[_0xfd2f('0x18')]===_0xfd2f('0x19')&&typeof _0x564377[_0xfd2f('0x1a')]===_0xfd2f('0x19');var _0x2193a5=_0x7d038a[_0xfd2f('0x1b')];var _0x111dfa=_0x521690?0x0:_0x564377[_0xfd2f('0x18')];var _0x12992a=_0x521690?_0x7d038a[_0xfd2f('0x1b')]:_0x564377['offset']+_0x564377[_0xfd2f('0x1a')];var _0x2c38a3;if(_0x12992a>=_0x2193a5){_0x12992a=_0x2193a5;_0x2c38a3=0xc8;}else{_0x2c38a3=0xce;}_0x1435f3[_0xfd2f('0x16')](_0x2c38a3);return _0x1435f3[_0xfd2f('0x1c')](_0xfd2f('0x1d'),_0x111dfa+'-'+_0x12992a+'/'+_0x2193a5)[_0xfd2f('0x1e')](_0x7d038a);}return null;};}function patchUpdates(_0x252fa4){return function(_0x4d5ec1){try{jsonpatch[_0xfd2f('0x1f')](_0x4d5ec1,_0x252fa4,!![]);}catch(_0x246848){return BPromise[_0xfd2f('0x20')](_0x246848);}return _0x4d5ec1[_0xfd2f('0x21')]();};}function saveUpdates(_0x25ad8c,_0x30a5ce){return function(_0x3a58bd){if(_0x3a58bd){return _0x3a58bd['update'](_0x25ad8c)[_0xfd2f('0x22')](function(_0x47ba69){return _0x47ba69;});}return null;};}function removeEntity(_0xd9380e,_0x159008){return function(_0x3facfd){if(_0x3facfd){return _0x3facfd[_0xfd2f('0x23')]()[_0xfd2f('0x22')](function(){_0xd9380e['status'](0xcc)[_0xfd2f('0x17')]();});}};}function handleEntityNotFound(_0x13f492,_0x3b611d){return function(_0x3df5cb){if(!_0x3df5cb){_0x13f492[_0xfd2f('0x15')](0x194);}return _0x3df5cb;};}function handleError(_0x340cd9,_0x577ac6){_0x577ac6=_0x577ac6||0x1f4;return function(_0x4b0a90){logger[_0xfd2f('0x24')](_0x4b0a90[_0xfd2f('0x25')]);if(_0x4b0a90[_0xfd2f('0x26')]){delete _0x4b0a90[_0xfd2f('0x26')];}_0x340cd9[_0xfd2f('0x16')](_0x577ac6)['send'](_0x4b0a90);};}exports['index']=function(_0x35b378,_0x25c43e){var _0x12004b={},_0x4d1346={},_0x2ae2f1={'count':0x0,'rows':[]};var _0x5e6f41=_['map'](db[_0xfd2f('0x27')][_0xfd2f('0x28')],function(_0x2f1fce){return{'name':_0x2f1fce[_0xfd2f('0x29')],'type':_0x2f1fce[_0xfd2f('0x2a')]['key']};});_0x4d1346['model']=_[_0xfd2f('0x2b')](_0x5e6f41,_0xfd2f('0x26'));_0x4d1346[_0xfd2f('0x2c')]=_['keys'](_0x35b378[_0xfd2f('0x2c')]);_0x4d1346[_0xfd2f('0x2d')]=_[_0xfd2f('0x2e')](_0x4d1346[_0xfd2f('0x2f')],_0x4d1346[_0xfd2f('0x2c')]);_0x12004b[_0xfd2f('0x30')]=_['intersection'](_0x4d1346[_0xfd2f('0x2f')],qs[_0xfd2f('0x31')](_0x35b378[_0xfd2f('0x2c')][_0xfd2f('0x31')]));_0x12004b[_0xfd2f('0x30')]=_0x12004b[_0xfd2f('0x30')][_0xfd2f('0x32')]?_0x12004b[_0xfd2f('0x30')]:_0x4d1346[_0xfd2f('0x2f')];if(!_0x35b378[_0xfd2f('0x2c')]['hasOwnProperty']('nolimit')){_0x12004b['limit']=qs[_0xfd2f('0x1a')](_0x35b378[_0xfd2f('0x2c')][_0xfd2f('0x1a')]);_0x12004b[_0xfd2f('0x18')]=qs['offset'](_0x35b378['query'][_0xfd2f('0x18')]);}_0x12004b[_0xfd2f('0x33')]=qs[_0xfd2f('0x34')](_0x35b378[_0xfd2f('0x2c')][_0xfd2f('0x34')]);_0x12004b[_0xfd2f('0x35')]=qs[_0xfd2f('0x2d')](_[_0xfd2f('0x36')](_0x35b378[_0xfd2f('0x2c')],_0x4d1346[_0xfd2f('0x2d')]),_0x5e6f41);if(_0x35b378[_0xfd2f('0x2c')][_0xfd2f('0x37')]){_0x12004b[_0xfd2f('0x35')]=_[_0xfd2f('0x38')](_0x12004b[_0xfd2f('0x35')],{'$or':_[_0xfd2f('0x2b')](_0x5e6f41,function(_0x2c3fc1){if(_0x2c3fc1[_0xfd2f('0x2a')]!==_0xfd2f('0x39')){var _0x511c5d={};_0x511c5d[_0x2c3fc1[_0xfd2f('0x26')]]={'$like':'%'+_0x35b378[_0xfd2f('0x2c')][_0xfd2f('0x37')]+'%'};return _0x511c5d;}})});}_0x12004b=_[_0xfd2f('0x38')]({},_0x12004b,_0x35b378[_0xfd2f('0x3a')]);var _0x235cbe={'where':_0x12004b[_0xfd2f('0x35')]};return db[_0xfd2f('0x27')][_0xfd2f('0x1b')](_0x235cbe)['then'](function(_0x724bb7){_0x2ae2f1[_0xfd2f('0x1b')]=_0x724bb7;if(_0x35b378[_0xfd2f('0x2c')][_0xfd2f('0x3b')]){_0x12004b[_0xfd2f('0x3c')]=[{'all':!![]}];}return db['SquareDetailsReport'][_0xfd2f('0x3d')](_0x12004b);})[_0xfd2f('0x22')](function(_0x172593){_0x2ae2f1['rows']=_0x172593;return _0x2ae2f1;})[_0xfd2f('0x22')](respondWithFilteredResult(_0x25c43e,_0x12004b))['catch'](handleError(_0x25c43e,null));};exports[_0xfd2f('0x3e')]=function(_0xd94de0,_0x309dd7){var _0x55054b={'raw':!![],'where':{'id':_0xd94de0[_0xfd2f('0x3f')]['id']}},_0x134c0b={};_0x134c0b['model']=_[_0xfd2f('0x40')](db[_0xfd2f('0x27')]['rawAttributes']);_0x134c0b['query']=_['keys'](_0xd94de0[_0xfd2f('0x2c')]);_0x134c0b[_0xfd2f('0x2d')]=_[_0xfd2f('0x2e')](_0x134c0b[_0xfd2f('0x2f')],_0x134c0b[_0xfd2f('0x2c')]);_0x55054b[_0xfd2f('0x30')]=_[_0xfd2f('0x2e')](_0x134c0b[_0xfd2f('0x2f')],qs['fields'](_0xd94de0[_0xfd2f('0x2c')][_0xfd2f('0x31')]));_0x55054b[_0xfd2f('0x30')]=_0x55054b[_0xfd2f('0x30')][_0xfd2f('0x32')]?_0x55054b[_0xfd2f('0x30')]:_0x134c0b[_0xfd2f('0x2f')];if(_0xd94de0[_0xfd2f('0x2c')][_0xfd2f('0x3b')]){_0x55054b[_0xfd2f('0x3c')]=[{'all':!![]}];}_0x55054b=_[_0xfd2f('0x38')]({},_0x55054b,_0xd94de0['options']);return db['SquareDetailsReport'][_0xfd2f('0x41')](_0x55054b)[_0xfd2f('0x22')](handleEntityNotFound(_0x309dd7,null))[_0xfd2f('0x22')](respondWithResult(_0x309dd7,null))['catch'](handleError(_0x309dd7,null));};exports[_0xfd2f('0x42')]=function(_0x5357d3,_0x3e6477){return db[_0xfd2f('0x27')][_0xfd2f('0x42')](_0x5357d3[_0xfd2f('0x43')],{})[_0xfd2f('0x22')](respondWithResult(_0x3e6477,0xc9))['catch'](handleError(_0x3e6477,null));};exports['update']=function(_0x4e656f,_0x1a82a3){if(_0x4e656f[_0xfd2f('0x43')]['id']){delete _0x4e656f[_0xfd2f('0x43')]['id'];}return db[_0xfd2f('0x27')][_0xfd2f('0x41')]({'where':{'id':_0x4e656f['params']['id']}})['then'](handleEntityNotFound(_0x1a82a3,null))[_0xfd2f('0x22')](saveUpdates(_0x4e656f[_0xfd2f('0x43')],null))[_0xfd2f('0x22')](respondWithResult(_0x1a82a3,null))[_0xfd2f('0x44')](handleError(_0x1a82a3,null));};exports[_0xfd2f('0x23')]=function(_0x272c29,_0x10d211){return db[_0xfd2f('0x27')][_0xfd2f('0x41')]({'where':{'id':_0x272c29[_0xfd2f('0x3f')]['id']}})[_0xfd2f('0x22')](handleEntityNotFound(_0x10d211,null))[_0xfd2f('0x22')](removeEntity(_0x10d211,null))[_0xfd2f('0x44')](handleError(_0x10d211,null));};exports[_0xfd2f('0x45')]=function(_0x26345c,_0x16afe1){return db[_0xfd2f('0x27')][_0xfd2f('0x45')]()[_0xfd2f('0x22')](respondWithResult(_0x16afe1,null))[_0xfd2f('0x44')](handleError(_0x16afe1,null));};