Built motion from commit 538092ac.|2.6.10
[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 _0x2e18=['querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','limit','Content-Range','reject','save','update','then','error','stack','name','send','index','map','SquareReport','rawAttributes','fieldName','key','query','filters','model','attributes','fields','length','hasOwnProperty','sort','where','pick','filter','merge','type','VIRTUAL','includeAll','rows','show','params','keys','intersection','include','options','find','catch','create','body','destroy','describe','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','jsforce'];(function(_0x3007d8,_0x19454b){var _0x5ad0ff=function(_0x21c9fd){while(--_0x21c9fd){_0x3007d8['push'](_0x3007d8['shift']());}};_0x5ad0ff(++_0x19454b);}(_0x2e18,0x126));var _0x82e1=function(_0xfa634c,_0x414e0e){_0xfa634c=_0xfa634c-0x0;var _0x73e478=_0x2e18[_0xfa634c];return _0x73e478;};'use strict';var emlformat=require(_0x82e1('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x82e1('0x1'));var jsonpatch=require(_0x82e1('0x2'));var rp=require(_0x82e1('0x3'));var moment=require(_0x82e1('0x4'));var BPromise=require(_0x82e1('0x5'));var Mustache=require(_0x82e1('0x6'));var util=require(_0x82e1('0x7'));var path=require(_0x82e1('0x8'));var sox=require(_0x82e1('0x9'));var csv=require(_0x82e1('0xa'));var ejs=require(_0x82e1('0xb'));var fs=require('fs');var fs_extra=require(_0x82e1('0xc'));var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x82e1('0xd'));var deskjs=require('desk.js');var toCsv=require(_0x82e1('0xa'));var querystring=require(_0x82e1('0xe'));var Papa=require(_0x82e1('0xf'));var Redis=require(_0x82e1('0x10'));var authService=require(_0x82e1('0x11'));var qs=require(_0x82e1('0x12'));var as=require(_0x82e1('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x82e1('0x14'))(_0x82e1('0x15'));var utils=require(_0x82e1('0x16'));var config=require(_0x82e1('0x17'));var licenseUtil=require(_0x82e1('0x18'));var db=require(_0x82e1('0x19'))['db'];function respondWithStatusCode(_0x2f4ce4,_0x1b9780){_0x1b9780=_0x1b9780||0xcc;return function(_0x17ee89){if(_0x17ee89){return _0x2f4ce4[_0x82e1('0x1a')](_0x1b9780);}return _0x2f4ce4[_0x82e1('0x1b')](_0x1b9780)[_0x82e1('0x1c')]();};}function respondWithResult(_0x1c66e8,_0xb3a4e6){_0xb3a4e6=_0xb3a4e6||0xc8;return function(_0x74ff3f){if(_0x74ff3f){return _0x1c66e8[_0x82e1('0x1b')](_0xb3a4e6)[_0x82e1('0x1d')](_0x74ff3f);}};}function respondWithFilteredResult(_0x799434,_0x569540){return function(_0x5ba512){if(_0x5ba512){var _0x3f3c54=typeof _0x569540[_0x82e1('0x1e')]==='undefined'&&typeof _0x569540['limit']===_0x82e1('0x1f');var _0xc9aeca=_0x5ba512[_0x82e1('0x20')];var _0x11af5c=_0x3f3c54?0x0:_0x569540[_0x82e1('0x1e')];var _0x5bd61b=_0x3f3c54?_0x5ba512[_0x82e1('0x20')]:_0x569540['offset']+_0x569540[_0x82e1('0x21')];var _0x432400;if(_0x5bd61b>=_0xc9aeca){_0x5bd61b=_0xc9aeca;_0x432400=0xc8;}else{_0x432400=0xce;}_0x799434['status'](_0x432400);return _0x799434['set'](_0x82e1('0x22'),_0x11af5c+'-'+_0x5bd61b+'/'+_0xc9aeca)['json'](_0x5ba512);}return null;};}function patchUpdates(_0x31e7b5){return function(_0x24e54e){try{jsonpatch['apply'](_0x24e54e,_0x31e7b5,!![]);}catch(_0x370fda){return BPromise[_0x82e1('0x23')](_0x370fda);}return _0x24e54e[_0x82e1('0x24')]();};}function saveUpdates(_0x3e66f7,_0x2dd317){return function(_0x416f89){if(_0x416f89){return _0x416f89[_0x82e1('0x25')](_0x3e66f7)[_0x82e1('0x26')](function(_0x2bb90a){return _0x2bb90a;});}return null;};}function removeEntity(_0x228659,_0x4f4418){return function(_0x4783b2){if(_0x4783b2){return _0x4783b2['destroy']()[_0x82e1('0x26')](function(){_0x228659[_0x82e1('0x1b')](0xcc)['end']();});}};}function handleEntityNotFound(_0x10d266,_0x379aa1){return function(_0x2a9d32){if(!_0x2a9d32){_0x10d266['sendStatus'](0x194);}return _0x2a9d32;};}function handleError(_0x1a1d53,_0x38a3b8){_0x38a3b8=_0x38a3b8||0x1f4;return function(_0x5a4c1f){logger[_0x82e1('0x27')](_0x5a4c1f[_0x82e1('0x28')]);if(_0x5a4c1f[_0x82e1('0x29')]){delete _0x5a4c1f[_0x82e1('0x29')];}_0x1a1d53[_0x82e1('0x1b')](_0x38a3b8)[_0x82e1('0x2a')](_0x5a4c1f);};}exports[_0x82e1('0x2b')]=function(_0x4d9e3a,_0x30e574){var _0x174316={},_0x12186c={},_0x216b9d={'count':0x0,'rows':[]};var _0x1bedab=_[_0x82e1('0x2c')](db[_0x82e1('0x2d')][_0x82e1('0x2e')],function(_0x5516c8){return{'name':_0x5516c8[_0x82e1('0x2f')],'type':_0x5516c8['type'][_0x82e1('0x30')]};});_0x12186c['model']=_[_0x82e1('0x2c')](_0x1bedab,_0x82e1('0x29'));_0x12186c[_0x82e1('0x31')]=_['keys'](_0x4d9e3a[_0x82e1('0x31')]);_0x12186c[_0x82e1('0x32')]=_['intersection'](_0x12186c[_0x82e1('0x33')],_0x12186c[_0x82e1('0x31')]);_0x174316[_0x82e1('0x34')]=_['intersection'](_0x12186c['model'],qs[_0x82e1('0x35')](_0x4d9e3a[_0x82e1('0x31')][_0x82e1('0x35')]));_0x174316[_0x82e1('0x34')]=_0x174316[_0x82e1('0x34')][_0x82e1('0x36')]?_0x174316[_0x82e1('0x34')]:_0x12186c['model'];if(!_0x4d9e3a[_0x82e1('0x31')][_0x82e1('0x37')]('nolimit')){_0x174316[_0x82e1('0x21')]=qs[_0x82e1('0x21')](_0x4d9e3a[_0x82e1('0x31')]['limit']);_0x174316[_0x82e1('0x1e')]=qs[_0x82e1('0x1e')](_0x4d9e3a[_0x82e1('0x31')][_0x82e1('0x1e')]);}_0x174316['order']=qs[_0x82e1('0x38')](_0x4d9e3a[_0x82e1('0x31')][_0x82e1('0x38')]);_0x174316[_0x82e1('0x39')]=qs[_0x82e1('0x32')](_[_0x82e1('0x3a')](_0x4d9e3a[_0x82e1('0x31')],_0x12186c[_0x82e1('0x32')]),_0x1bedab);if(_0x4d9e3a[_0x82e1('0x31')][_0x82e1('0x3b')]){_0x174316[_0x82e1('0x39')]=_[_0x82e1('0x3c')](_0x174316['where'],{'$or':_[_0x82e1('0x2c')](_0x1bedab,function(_0x43aa23){if(_0x43aa23[_0x82e1('0x3d')]!==_0x82e1('0x3e')){var _0x2d9498={};_0x2d9498[_0x43aa23[_0x82e1('0x29')]]={'$like':'%'+_0x4d9e3a[_0x82e1('0x31')][_0x82e1('0x3b')]+'%'};return _0x2d9498;}})});}_0x174316=_['merge']({},_0x174316,_0x4d9e3a['options']);var _0x2a6804={'where':_0x174316[_0x82e1('0x39')]};return db[_0x82e1('0x2d')][_0x82e1('0x20')](_0x2a6804)['then'](function(_0x1d69a2){_0x216b9d['count']=_0x1d69a2;if(_0x4d9e3a[_0x82e1('0x31')][_0x82e1('0x3f')]){_0x174316['include']=[{'all':!![]}];}return db[_0x82e1('0x2d')]['findAll'](_0x174316);})[_0x82e1('0x26')](function(_0x148721){_0x216b9d[_0x82e1('0x40')]=_0x148721;return _0x216b9d;})['then'](respondWithFilteredResult(_0x30e574,_0x174316))['catch'](handleError(_0x30e574,null));};exports[_0x82e1('0x41')]=function(_0x3f1e91,_0x15590b){var _0xf3e13={'raw':!![],'where':{'id':_0x3f1e91[_0x82e1('0x42')]['id']}},_0xbb192f={};_0xbb192f[_0x82e1('0x33')]=_[_0x82e1('0x43')](db[_0x82e1('0x2d')]['rawAttributes']);_0xbb192f[_0x82e1('0x31')]=_[_0x82e1('0x43')](_0x3f1e91[_0x82e1('0x31')]);_0xbb192f[_0x82e1('0x32')]=_[_0x82e1('0x44')](_0xbb192f[_0x82e1('0x33')],_0xbb192f[_0x82e1('0x31')]);_0xf3e13[_0x82e1('0x34')]=_[_0x82e1('0x44')](_0xbb192f['model'],qs[_0x82e1('0x35')](_0x3f1e91[_0x82e1('0x31')][_0x82e1('0x35')]));_0xf3e13['attributes']=_0xf3e13[_0x82e1('0x34')][_0x82e1('0x36')]?_0xf3e13[_0x82e1('0x34')]:_0xbb192f[_0x82e1('0x33')];if(_0x3f1e91[_0x82e1('0x31')]['includeAll']){_0xf3e13[_0x82e1('0x45')]=[{'all':!![]}];}_0xf3e13=_[_0x82e1('0x3c')]({},_0xf3e13,_0x3f1e91[_0x82e1('0x46')]);return db[_0x82e1('0x2d')][_0x82e1('0x47')](_0xf3e13)['then'](handleEntityNotFound(_0x15590b,null))[_0x82e1('0x26')](respondWithResult(_0x15590b,null))[_0x82e1('0x48')](handleError(_0x15590b,null));};exports[_0x82e1('0x49')]=function(_0x22fe1c,_0xdbe13f){return db[_0x82e1('0x2d')]['create'](_0x22fe1c['body'],{})[_0x82e1('0x26')](respondWithResult(_0xdbe13f,0xc9))[_0x82e1('0x48')](handleError(_0xdbe13f,null));};exports[_0x82e1('0x25')]=function(_0xb9a611,_0x733ebd){if(_0xb9a611[_0x82e1('0x4a')]['id']){delete _0xb9a611[_0x82e1('0x4a')]['id'];}return db[_0x82e1('0x2d')][_0x82e1('0x47')]({'where':{'id':_0xb9a611[_0x82e1('0x42')]['id']}})[_0x82e1('0x26')](handleEntityNotFound(_0x733ebd,null))['then'](saveUpdates(_0xb9a611[_0x82e1('0x4a')],null))[_0x82e1('0x26')](respondWithResult(_0x733ebd,null))[_0x82e1('0x48')](handleError(_0x733ebd,null));};exports[_0x82e1('0x4b')]=function(_0x18c8cf,_0x5f3292){return db[_0x82e1('0x2d')][_0x82e1('0x47')]({'where':{'id':_0x18c8cf['params']['id']}})[_0x82e1('0x26')](handleEntityNotFound(_0x5f3292,null))[_0x82e1('0x26')](removeEntity(_0x5f3292,null))['catch'](handleError(_0x5f3292,null));};exports[_0x82e1('0x4c')]=function(_0x43815b,_0x3c4691){return db['SquareReport']['describe']()[_0x82e1('0x26')](respondWithResult(_0x3c4691,null))[_0x82e1('0x48')](handleError(_0x3c4691,null));};