137c451ee9ff8d181fff8d01d5b34ce0cb76b1f4
[motion2.git] / server / api / squareReport / squareReport.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 _0x55d0=['request-promise','moment','bluebird','mustache','path','to-csv','ejs','lodash','squel','crypto','desk.js','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','status','end','count','offset','set','json','apply','update','then','destroy','sendStatus','stack','name','send','index','SquareReport','rawAttributes','model','keys','query','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','limit','order','sort','where','pick','filter','merge','type','key','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','create','body','find','params','describe','html-pdf','eml-format','rimraf','zip-dir'];(function(_0x8c43de,_0x90ff31){var _0xa6591b=function(_0x469716){while(--_0x469716){_0x8c43de['push'](_0x8c43de['shift']());}};_0xa6591b(++_0x90ff31);}(_0x55d0,0x164));var _0x055d=function(_0x54e6f5,_0x4f4e99){_0x54e6f5=_0x54e6f5-0x0;var _0x5e8794=_0x55d0[_0x54e6f5];return _0x5e8794;};'use strict';var pdf=require(_0x055d('0x0'));var emlformat=require(_0x055d('0x1'));var rimraf=require(_0x055d('0x2'));var zipdir=require(_0x055d('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0x055d('0x4'));var moment=require(_0x055d('0x5'));var BPromise=require(_0x055d('0x6'));var Mustache=require(_0x055d('0x7'));var util=require('util');var path=require(_0x055d('0x8'));var sox=require('sox');var csv=require(_0x055d('0x9'));var ejs=require(_0x055d('0xa'));var fs=require('fs');var _=require(_0x055d('0xb'));var squel=require(_0x055d('0xc'));var crypto=require(_0x055d('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x055d('0xe'));var toCsv=require(_0x055d('0x9'));var querystring=require('querystring');var Papa=require(_0x055d('0xf'));var Redis=require('ioredis');var authService=require(_0x055d('0x10'));var qs=require(_0x055d('0x11'));var hardwareService=require(_0x055d('0x12'));var logger=require(_0x055d('0x13'))(_0x055d('0x14'));var utils=require(_0x055d('0x15'));var config=require(_0x055d('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x22e570,_0x7413b4){_0x7413b4=_0x7413b4||0xcc;return function(_0x5cdd82){if(_0x5cdd82){return _0x22e570['sendStatus'](_0x7413b4);}return _0x22e570[_0x055d('0x17')](_0x7413b4)[_0x055d('0x18')]();};}function respondWithResult(_0x155c44,_0x2d88f7){_0x2d88f7=_0x2d88f7||0xc8;return function(_0x1088af){if(_0x1088af){return _0x155c44[_0x055d('0x17')](_0x2d88f7)['json'](_0x1088af);}};}function respondWithFilteredResult(_0x3ab44a,_0x383ab2){return function(_0x1769a4){if(_0x1769a4){var _0x3e1883=_0x1769a4[_0x055d('0x19')],_0x22867a=_0x383ab2[_0x055d('0x1a')],_0x283c83=_0x383ab2[_0x055d('0x1a')]+_0x383ab2['limit'],_0x4e0650;if(_0x283c83>=_0x3e1883){_0x283c83=_0x3e1883;_0x4e0650=0xc8;}else{_0x4e0650=0xce;}_0x3ab44a[_0x055d('0x17')](_0x4e0650);return _0x3ab44a[_0x055d('0x1b')]('Content-Range',_0x22867a+'-'+_0x283c83+'/'+_0x3e1883)[_0x055d('0x1c')](_0x1769a4);}return null;};}function patchUpdates(_0x427ec5){return function(_0x5aa3b9){try{jsonpatch[_0x055d('0x1d')](_0x5aa3b9,_0x427ec5,!![]);}catch(_0x553559){return BPromise['reject'](_0x553559);}return _0x5aa3b9['save']();};}function saveUpdates(_0x3f38b6,_0xa383b2){return function(_0x341f24){if(_0x341f24){return _0x341f24[_0x055d('0x1e')](_0x3f38b6)[_0x055d('0x1f')](function(_0x286f48){return _0x286f48;});}return null;};}function removeEntity(_0x22722e,_0x4d241d){return function(_0x3904af){if(_0x3904af){return _0x3904af[_0x055d('0x20')]()[_0x055d('0x1f')](function(){_0x22722e[_0x055d('0x17')](0xcc)[_0x055d('0x18')]();});}};}function handleEntityNotFound(_0x157455,_0x3ce9d8){return function(_0x53e50c){if(!_0x53e50c){_0x157455[_0x055d('0x21')](0x194);}return _0x53e50c;};}function handleError(_0x3bc303,_0x589a13){_0x589a13=_0x589a13||0x1f4;return function(_0x21afd0){logger['error'](_0x21afd0[_0x055d('0x22')]);if(_0x21afd0['name']){delete _0x21afd0[_0x055d('0x23')];}_0x3bc303[_0x055d('0x17')](_0x589a13)[_0x055d('0x24')](_0x21afd0);};}exports[_0x055d('0x25')]=function(_0x215d2d,_0xaea803){var _0x51e70e={},_0x22ee55={},_0x3b4b19={'count':0x0,'rows':[]};var _0x406c19=db[_0x055d('0x26')][_0x055d('0x27')];_0x22ee55[_0x055d('0x28')]=_[_0x055d('0x29')](_0x406c19);_0x22ee55[_0x055d('0x2a')]=_[_0x055d('0x29')](_0x215d2d[_0x055d('0x2a')]);_0x22ee55[_0x055d('0x2b')]=_['intersection'](_0x22ee55[_0x055d('0x28')],_0x22ee55[_0x055d('0x2a')]);_0x51e70e[_0x055d('0x2c')]=_[_0x055d('0x2d')](_0x22ee55[_0x055d('0x28')],qs[_0x055d('0x2e')](_0x215d2d[_0x055d('0x2a')][_0x055d('0x2e')]));_0x51e70e['attributes']=_0x51e70e['attributes'][_0x055d('0x2f')]?_0x51e70e[_0x055d('0x2c')]:_0x22ee55[_0x055d('0x28')];if(!_0x215d2d[_0x055d('0x2a')][_0x055d('0x30')](_0x055d('0x31'))){_0x51e70e['limit']=qs[_0x055d('0x32')](_0x215d2d[_0x055d('0x2a')][_0x055d('0x32')]);_0x51e70e[_0x055d('0x1a')]=qs[_0x055d('0x1a')](_0x215d2d[_0x055d('0x2a')][_0x055d('0x1a')]);}_0x51e70e[_0x055d('0x33')]=qs['sort'](_0x215d2d[_0x055d('0x2a')][_0x055d('0x34')]);_0x51e70e[_0x055d('0x35')]=qs['filters'](_[_0x055d('0x36')](_0x215d2d[_0x055d('0x2a')],_0x22ee55[_0x055d('0x2b')]));if(_0x215d2d[_0x055d('0x2a')][_0x055d('0x37')]){_0x51e70e[_0x055d('0x35')]=_[_0x055d('0x38')](_0x51e70e[_0x055d('0x35')],{'$or':_['map'](_0x406c19,function(_0x5ba204){if(_0x5ba204[_0x055d('0x39')][_0x055d('0x3a')]!==_0x055d('0x3b')){var _0x49257b={};_0x49257b[_0x5ba204['field']]={'$like':'%'+_0x215d2d[_0x055d('0x2a')][_0x055d('0x37')]+'%'};return _0x49257b;}})});}_0x51e70e=_[_0x055d('0x38')]({},_0x51e70e,_0x215d2d[_0x055d('0x3c')]);var _0x40ba4f={'where':_0x51e70e[_0x055d('0x35')]};return db['SquareReport'][_0x055d('0x19')](_0x40ba4f)[_0x055d('0x1f')](function(_0x34c2b3){_0x3b4b19[_0x055d('0x19')]=_0x34c2b3;if(_0x215d2d[_0x055d('0x2a')][_0x055d('0x3d')]){_0x51e70e[_0x055d('0x3e')]=[{'all':!![]}];}return db['SquareReport'][_0x055d('0x3f')](_0x51e70e);})['then'](function(_0x5b58d6){_0x3b4b19[_0x055d('0x40')]=_0x5b58d6;return _0x3b4b19;})['then'](respondWithFilteredResult(_0xaea803,_0x51e70e))[_0x055d('0x41')](handleError(_0xaea803,null));};exports[_0x055d('0x42')]=function(_0x116cff,_0x5bc703){var _0x5703c7={'raw':!![],'where':{'id':_0x116cff['params']['id']}},_0x1a97a1={};_0x1a97a1['model']=_['keys'](db['SquareReport'][_0x055d('0x27')]);_0x1a97a1[_0x055d('0x2a')]=_[_0x055d('0x29')](_0x116cff[_0x055d('0x2a')]);_0x1a97a1[_0x055d('0x2b')]=_['intersection'](_0x1a97a1[_0x055d('0x28')],_0x1a97a1['query']);_0x5703c7[_0x055d('0x2c')]=_[_0x055d('0x2d')](_0x1a97a1[_0x055d('0x28')],qs[_0x055d('0x2e')](_0x116cff['query']['fields']));_0x5703c7[_0x055d('0x2c')]=_0x5703c7[_0x055d('0x2c')][_0x055d('0x2f')]?_0x5703c7[_0x055d('0x2c')]:_0x1a97a1[_0x055d('0x28')];if(_0x116cff[_0x055d('0x2a')][_0x055d('0x3d')]){_0x5703c7[_0x055d('0x3e')]=[{'all':!![]}];}_0x5703c7=_[_0x055d('0x38')]({},_0x5703c7,_0x116cff['options']);return db[_0x055d('0x26')]['find'](_0x5703c7)[_0x055d('0x1f')](handleEntityNotFound(_0x5bc703,null))[_0x055d('0x1f')](respondWithResult(_0x5bc703,null))[_0x055d('0x41')](handleError(_0x5bc703,null));};exports[_0x055d('0x43')]=function(_0x112c61,_0x56de84){return db[_0x055d('0x26')]['create'](_0x112c61[_0x055d('0x44')],{})[_0x055d('0x1f')](respondWithResult(_0x56de84,0xc9))[_0x055d('0x41')](handleError(_0x56de84,null));};exports[_0x055d('0x1e')]=function(_0x1c8199,_0x4c88be){if(_0x1c8199[_0x055d('0x44')]['id']){delete _0x1c8199[_0x055d('0x44')]['id'];}return db['SquareReport'][_0x055d('0x45')]({'where':{'id':_0x1c8199[_0x055d('0x46')]['id']}})[_0x055d('0x1f')](handleEntityNotFound(_0x4c88be,null))[_0x055d('0x1f')](saveUpdates(_0x1c8199['body'],null))[_0x055d('0x1f')](respondWithResult(_0x4c88be,null))[_0x055d('0x41')](handleError(_0x4c88be,null));};exports[_0x055d('0x20')]=function(_0x353f56,_0x5e8582){return db[_0x055d('0x26')]['find']({'where':{'id':_0x353f56[_0x055d('0x46')]['id']}})[_0x055d('0x1f')](handleEntityNotFound(_0x5e8582,null))['then'](removeEntity(_0x5e8582,null))[_0x055d('0x41')](handleError(_0x5e8582,null));};exports[_0x055d('0x47')]=function(_0x4a22d3,_0x5d9ed3){return db[_0x055d('0x26')][_0x055d('0x47')]()[_0x055d('0x1f')](respondWithResult(_0x5d9ed3,null))[_0x055d('0x41')](handleError(_0x5d9ed3,null));};