Built motion from commit 87cd5f02.|2.5.48
[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 _0xb129=['index','map','fieldName','key','model','keys','filters','intersection','query','attributes','fields','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','type','VIRTUAL','options','then','SquareReport','rows','catch','show','params','includeAll','include','find','create','body','describe','eml-format','zip-dir','request-promise','bluebird','util','path','sox','ejs','fs-extra','lodash','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','sendStatus','status','json','undefined','count','offset','limit','set','Content-Range','apply','reject','save','update','destroy','end','error','stack','name','send'];(function(_0x52bc99,_0x43dc0f){var _0x36b366=function(_0x5b63c4){while(--_0x5b63c4){_0x52bc99['push'](_0x52bc99['shift']());}};_0x36b366(++_0x43dc0f);}(_0xb129,0x1a3));var _0x9b12=function(_0x8843db,_0x5cf237){_0x8843db=_0x8843db-0x0;var _0x5ba909=_0xb129[_0x8843db];return _0x5ba909;};'use strict';var emlformat=require(_0x9b12('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x9b12('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x9b12('0x2'));var moment=require('moment');var BPromise=require(_0x9b12('0x3'));var Mustache=require('mustache');var util=require(_0x9b12('0x4'));var path=require(_0x9b12('0x5'));var sox=require(_0x9b12('0x6'));var csv=require('to-csv');var ejs=require(_0x9b12('0x7'));var fs=require('fs');var fs_extra=require(_0x9b12('0x8'));var _=require(_0x9b12('0x9'));var squel=require('squel');var crypto=require(_0x9b12('0xa'));var jsforce=require(_0x9b12('0xb'));var deskjs=require(_0x9b12('0xc'));var toCsv=require(_0x9b12('0xd'));var querystring=require(_0x9b12('0xe'));var Papa=require(_0x9b12('0xf'));var Redis=require(_0x9b12('0x10'));var authService=require(_0x9b12('0x11'));var qs=require(_0x9b12('0x12'));var as=require(_0x9b12('0x13'));var hardwareService=require(_0x9b12('0x14'));var logger=require('../../config/logger')(_0x9b12('0x15'));var utils=require(_0x9b12('0x16'));var config=require(_0x9b12('0x17'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x3a736e,_0x3ede5c){_0x3ede5c=_0x3ede5c||0xcc;return function(_0x373ebe){if(_0x373ebe){return _0x3a736e[_0x9b12('0x18')](_0x3ede5c);}return _0x3a736e[_0x9b12('0x19')](_0x3ede5c)['end']();};}function respondWithResult(_0x314260,_0x5aa05f){_0x5aa05f=_0x5aa05f||0xc8;return function(_0x3b6c81){if(_0x3b6c81){return _0x314260[_0x9b12('0x19')](_0x5aa05f)[_0x9b12('0x1a')](_0x3b6c81);}};}function respondWithFilteredResult(_0x2ccf6b,_0x1d13ab){return function(_0x556c9d){if(_0x556c9d){var _0x5c7259=typeof _0x1d13ab['offset']===_0x9b12('0x1b')&&typeof _0x1d13ab['limit']==='undefined';var _0x3b67ee=_0x556c9d[_0x9b12('0x1c')];var _0x952a7e=_0x5c7259?0x0:_0x1d13ab[_0x9b12('0x1d')];var _0x411ead=_0x5c7259?_0x556c9d[_0x9b12('0x1c')]:_0x1d13ab[_0x9b12('0x1d')]+_0x1d13ab[_0x9b12('0x1e')];var _0x4a64c4;if(_0x411ead>=_0x3b67ee){_0x411ead=_0x3b67ee;_0x4a64c4=0xc8;}else{_0x4a64c4=0xce;}_0x2ccf6b[_0x9b12('0x19')](_0x4a64c4);return _0x2ccf6b[_0x9b12('0x1f')](_0x9b12('0x20'),_0x952a7e+'-'+_0x411ead+'/'+_0x3b67ee)[_0x9b12('0x1a')](_0x556c9d);}return null;};}function patchUpdates(_0x28a7e3){return function(_0xe8c98e){try{jsonpatch[_0x9b12('0x21')](_0xe8c98e,_0x28a7e3,!![]);}catch(_0x4894b1){return BPromise[_0x9b12('0x22')](_0x4894b1);}return _0xe8c98e[_0x9b12('0x23')]();};}function saveUpdates(_0x41f2d9,_0x2da5ce){return function(_0x193566){if(_0x193566){return _0x193566[_0x9b12('0x24')](_0x41f2d9)['then'](function(_0x20d7c6){return _0x20d7c6;});}return null;};}function removeEntity(_0x168315,_0x1410cf){return function(_0x131724){if(_0x131724){return _0x131724[_0x9b12('0x25')]()['then'](function(){_0x168315[_0x9b12('0x19')](0xcc)[_0x9b12('0x26')]();});}};}function handleEntityNotFound(_0x19f8c9,_0x569cf2){return function(_0x51c806){if(!_0x51c806){_0x19f8c9[_0x9b12('0x18')](0x194);}return _0x51c806;};}function handleError(_0x366c27,_0x264378){_0x264378=_0x264378||0x1f4;return function(_0xf97625){logger[_0x9b12('0x27')](_0xf97625[_0x9b12('0x28')]);if(_0xf97625[_0x9b12('0x29')]){delete _0xf97625[_0x9b12('0x29')];}_0x366c27['status'](_0x264378)[_0x9b12('0x2a')](_0xf97625);};}exports[_0x9b12('0x2b')]=function(_0x13ecb4,_0x42facb){var _0x385b7f={},_0xc7a43d={},_0x36a4ec={'count':0x0,'rows':[]};var _0x220266=_[_0x9b12('0x2c')](db['SquareReport']['rawAttributes'],function(_0x4ef0d2){return{'name':_0x4ef0d2[_0x9b12('0x2d')],'type':_0x4ef0d2['type'][_0x9b12('0x2e')]};});_0xc7a43d[_0x9b12('0x2f')]=_['map'](_0x220266,_0x9b12('0x29'));_0xc7a43d['query']=_[_0x9b12('0x30')](_0x13ecb4['query']);_0xc7a43d[_0x9b12('0x31')]=_[_0x9b12('0x32')](_0xc7a43d[_0x9b12('0x2f')],_0xc7a43d[_0x9b12('0x33')]);_0x385b7f[_0x9b12('0x34')]=_[_0x9b12('0x32')](_0xc7a43d['model'],qs[_0x9b12('0x35')](_0x13ecb4[_0x9b12('0x33')][_0x9b12('0x35')]));_0x385b7f[_0x9b12('0x34')]=_0x385b7f['attributes']['length']?_0x385b7f[_0x9b12('0x34')]:_0xc7a43d[_0x9b12('0x2f')];if(!_0x13ecb4[_0x9b12('0x33')][_0x9b12('0x36')](_0x9b12('0x37'))){_0x385b7f[_0x9b12('0x1e')]=qs[_0x9b12('0x1e')](_0x13ecb4[_0x9b12('0x33')]['limit']);_0x385b7f[_0x9b12('0x1d')]=qs['offset'](_0x13ecb4[_0x9b12('0x33')]['offset']);}_0x385b7f[_0x9b12('0x38')]=qs[_0x9b12('0x39')](_0x13ecb4['query'][_0x9b12('0x39')]);_0x385b7f['where']=qs[_0x9b12('0x31')](_[_0x9b12('0x3a')](_0x13ecb4[_0x9b12('0x33')],_0xc7a43d[_0x9b12('0x31')]),_0x220266);if(_0x13ecb4[_0x9b12('0x33')][_0x9b12('0x3b')]){_0x385b7f[_0x9b12('0x3c')]=_[_0x9b12('0x3d')](_0x385b7f[_0x9b12('0x3c')],{'$or':_[_0x9b12('0x2c')](_0x220266,function(_0x181ccc){if(_0x181ccc[_0x9b12('0x3e')]!==_0x9b12('0x3f')){var _0x14d1a1={};_0x14d1a1[_0x181ccc[_0x9b12('0x29')]]={'$like':'%'+_0x13ecb4['query']['filter']+'%'};return _0x14d1a1;}})});}_0x385b7f=_[_0x9b12('0x3d')]({},_0x385b7f,_0x13ecb4[_0x9b12('0x40')]);var _0xd8d611={'where':_0x385b7f['where']};return db['SquareReport']['count'](_0xd8d611)[_0x9b12('0x41')](function(_0x1b2260){_0x36a4ec[_0x9b12('0x1c')]=_0x1b2260;if(_0x13ecb4[_0x9b12('0x33')]['includeAll']){_0x385b7f['include']=[{'all':!![]}];}return db[_0x9b12('0x42')]['findAll'](_0x385b7f);})['then'](function(_0x554313){_0x36a4ec[_0x9b12('0x43')]=_0x554313;return _0x36a4ec;})[_0x9b12('0x41')](respondWithFilteredResult(_0x42facb,_0x385b7f))[_0x9b12('0x44')](handleError(_0x42facb,null));};exports[_0x9b12('0x45')]=function(_0x29e9c7,_0x21edc1){var _0x11e624={'raw':!![],'where':{'id':_0x29e9c7[_0x9b12('0x46')]['id']}},_0x15e99a={};_0x15e99a['model']=_[_0x9b12('0x30')](db[_0x9b12('0x42')]['rawAttributes']);_0x15e99a[_0x9b12('0x33')]=_[_0x9b12('0x30')](_0x29e9c7['query']);_0x15e99a[_0x9b12('0x31')]=_['intersection'](_0x15e99a['model'],_0x15e99a[_0x9b12('0x33')]);_0x11e624[_0x9b12('0x34')]=_[_0x9b12('0x32')](_0x15e99a[_0x9b12('0x2f')],qs[_0x9b12('0x35')](_0x29e9c7[_0x9b12('0x33')][_0x9b12('0x35')]));_0x11e624[_0x9b12('0x34')]=_0x11e624[_0x9b12('0x34')]['length']?_0x11e624['attributes']:_0x15e99a[_0x9b12('0x2f')];if(_0x29e9c7[_0x9b12('0x33')][_0x9b12('0x47')]){_0x11e624[_0x9b12('0x48')]=[{'all':!![]}];}_0x11e624=_[_0x9b12('0x3d')]({},_0x11e624,_0x29e9c7['options']);return db[_0x9b12('0x42')][_0x9b12('0x49')](_0x11e624)[_0x9b12('0x41')](handleEntityNotFound(_0x21edc1,null))[_0x9b12('0x41')](respondWithResult(_0x21edc1,null))[_0x9b12('0x44')](handleError(_0x21edc1,null));};exports[_0x9b12('0x4a')]=function(_0x23682a,_0x3d4954){return db[_0x9b12('0x42')][_0x9b12('0x4a')](_0x23682a[_0x9b12('0x4b')],{})[_0x9b12('0x41')](respondWithResult(_0x3d4954,0xc9))[_0x9b12('0x44')](handleError(_0x3d4954,null));};exports[_0x9b12('0x24')]=function(_0x5a1ce8,_0x271dc0){if(_0x5a1ce8[_0x9b12('0x4b')]['id']){delete _0x5a1ce8[_0x9b12('0x4b')]['id'];}return db[_0x9b12('0x42')][_0x9b12('0x49')]({'where':{'id':_0x5a1ce8[_0x9b12('0x46')]['id']}})['then'](handleEntityNotFound(_0x271dc0,null))[_0x9b12('0x41')](saveUpdates(_0x5a1ce8[_0x9b12('0x4b')],null))['then'](respondWithResult(_0x271dc0,null))[_0x9b12('0x44')](handleError(_0x271dc0,null));};exports[_0x9b12('0x25')]=function(_0x2da20e,_0x151390){return db[_0x9b12('0x42')][_0x9b12('0x49')]({'where':{'id':_0x2da20e[_0x9b12('0x46')]['id']}})['then'](handleEntityNotFound(_0x151390,null))[_0x9b12('0x41')](removeEntity(_0x151390,null))[_0x9b12('0x44')](handleError(_0x151390,null));};exports[_0x9b12('0x4c')]=function(_0x3f60fa,_0x1ea630){return db['SquareReport'][_0x9b12('0x4c')]()[_0x9b12('0x41')](respondWithResult(_0x1ea630,null))[_0x9b12('0x44')](handleError(_0x1ea630,null));};