Built motion from commit 14588770.|2.5.38
[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 _0x9d89=['mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','set','reject','update','then','destroy','error','stack','name','index','map','rawAttributes','fieldName','type','key','query','keys','filters','intersection','model','fields','attributes','length','hasOwnProperty','limit','order','sort','where','pick','filter','merge','options','SquareReport','includeAll','include','findAll','rows','catch','params','find','create','body','describe','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird'];(function(_0x3efe9b,_0x5b41a8){var _0x132073=function(_0x34459e){while(--_0x34459e){_0x3efe9b['push'](_0x3efe9b['shift']());}};_0x132073(++_0x5b41a8);}(_0x9d89,0x94));var _0x99d8=function(_0x5e8694,_0x157841){_0x5e8694=_0x5e8694-0x0;var _0x295aaf=_0x9d89[_0x5e8694];return _0x295aaf;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x99d8('0x0'));var zipdir=require(_0x99d8('0x1'));var jsonpatch=require(_0x99d8('0x2'));var rp=require(_0x99d8('0x3'));var moment=require(_0x99d8('0x4'));var BPromise=require(_0x99d8('0x5'));var Mustache=require(_0x99d8('0x6'));var util=require(_0x99d8('0x7'));var path=require(_0x99d8('0x8'));var sox=require(_0x99d8('0x9'));var csv=require(_0x99d8('0xa'));var ejs=require(_0x99d8('0xb'));var fs=require('fs');var fs_extra=require(_0x99d8('0xc'));var _=require(_0x99d8('0xd'));var squel=require(_0x99d8('0xe'));var crypto=require(_0x99d8('0xf'));var jsforce=require(_0x99d8('0x10'));var deskjs=require(_0x99d8('0x11'));var toCsv=require(_0x99d8('0xa'));var querystring=require(_0x99d8('0x12'));var Papa=require(_0x99d8('0x13'));var Redis=require(_0x99d8('0x14'));var authService=require('../../components/auth/service');var qs=require(_0x99d8('0x15'));var as=require(_0x99d8('0x16'));var hardwareService=require(_0x99d8('0x17'));var logger=require('../../config/logger')(_0x99d8('0x18'));var utils=require(_0x99d8('0x19'));var config=require(_0x99d8('0x1a'));var licenseUtil=require('../../config/license/util');var db=require(_0x99d8('0x1b'))['db'];function respondWithStatusCode(_0x4879b7,_0x2a0494){_0x2a0494=_0x2a0494||0xcc;return function(_0x266dc7){if(_0x266dc7){return _0x4879b7[_0x99d8('0x1c')](_0x2a0494);}return _0x4879b7[_0x99d8('0x1d')](_0x2a0494)[_0x99d8('0x1e')]();};}function respondWithResult(_0x4e4a65,_0x33e7a7){_0x33e7a7=_0x33e7a7||0xc8;return function(_0x4f7d96){if(_0x4f7d96){return _0x4e4a65[_0x99d8('0x1d')](_0x33e7a7)[_0x99d8('0x1f')](_0x4f7d96);}};}function respondWithFilteredResult(_0x2d2f4c,_0x4dfa53){return function(_0x754570){if(_0x754570){var _0x195e40=typeof _0x4dfa53[_0x99d8('0x20')]===_0x99d8('0x21')&&typeof _0x4dfa53['limit']==='undefined';var _0x1e51cb=_0x754570[_0x99d8('0x22')];var _0x3d961c=_0x195e40?0x0:_0x4dfa53[_0x99d8('0x20')];var _0x4d9dcd=_0x195e40?_0x754570[_0x99d8('0x22')]:_0x4dfa53['offset']+_0x4dfa53['limit'];var _0x21c8ea;if(_0x4d9dcd>=_0x1e51cb){_0x4d9dcd=_0x1e51cb;_0x21c8ea=0xc8;}else{_0x21c8ea=0xce;}_0x2d2f4c[_0x99d8('0x1d')](_0x21c8ea);return _0x2d2f4c[_0x99d8('0x23')]('Content-Range',_0x3d961c+'-'+_0x4d9dcd+'/'+_0x1e51cb)['json'](_0x754570);}return null;};}function patchUpdates(_0x5418df){return function(_0x909e9b){try{jsonpatch['apply'](_0x909e9b,_0x5418df,!![]);}catch(_0x15c6c6){return BPromise[_0x99d8('0x24')](_0x15c6c6);}return _0x909e9b['save']();};}function saveUpdates(_0x5e1c24,_0x56dab8){return function(_0x45f679){if(_0x45f679){return _0x45f679[_0x99d8('0x25')](_0x5e1c24)[_0x99d8('0x26')](function(_0x297c64){return _0x297c64;});}return null;};}function removeEntity(_0x12dd3d,_0x22adcd){return function(_0x54152e){if(_0x54152e){return _0x54152e[_0x99d8('0x27')]()[_0x99d8('0x26')](function(){_0x12dd3d[_0x99d8('0x1d')](0xcc)[_0x99d8('0x1e')]();});}};}function handleEntityNotFound(_0x4b3289,_0xa5060d){return function(_0x54123f){if(!_0x54123f){_0x4b3289['sendStatus'](0x194);}return _0x54123f;};}function handleError(_0x2c1ebc,_0x18d8cb){_0x18d8cb=_0x18d8cb||0x1f4;return function(_0x4a7364){logger[_0x99d8('0x28')](_0x4a7364[_0x99d8('0x29')]);if(_0x4a7364['name']){delete _0x4a7364[_0x99d8('0x2a')];}_0x2c1ebc[_0x99d8('0x1d')](_0x18d8cb)['send'](_0x4a7364);};}exports[_0x99d8('0x2b')]=function(_0x597f21,_0x475b1e){var _0x3c4494={},_0x3f834a={},_0x7ae12c={'count':0x0,'rows':[]};var _0x4bab1a=_[_0x99d8('0x2c')](db['SquareReport'][_0x99d8('0x2d')],function(_0x351f3a){return{'name':_0x351f3a[_0x99d8('0x2e')],'type':_0x351f3a[_0x99d8('0x2f')][_0x99d8('0x30')]};});_0x3f834a['model']=_['map'](_0x4bab1a,'name');_0x3f834a[_0x99d8('0x31')]=_[_0x99d8('0x32')](_0x597f21['query']);_0x3f834a[_0x99d8('0x33')]=_[_0x99d8('0x34')](_0x3f834a['model'],_0x3f834a['query']);_0x3c4494['attributes']=_['intersection'](_0x3f834a[_0x99d8('0x35')],qs['fields'](_0x597f21['query'][_0x99d8('0x36')]));_0x3c4494[_0x99d8('0x37')]=_0x3c4494[_0x99d8('0x37')][_0x99d8('0x38')]?_0x3c4494[_0x99d8('0x37')]:_0x3f834a[_0x99d8('0x35')];if(!_0x597f21[_0x99d8('0x31')][_0x99d8('0x39')]('nolimit')){_0x3c4494[_0x99d8('0x3a')]=qs['limit'](_0x597f21['query'][_0x99d8('0x3a')]);_0x3c4494['offset']=qs[_0x99d8('0x20')](_0x597f21['query'][_0x99d8('0x20')]);}_0x3c4494[_0x99d8('0x3b')]=qs[_0x99d8('0x3c')](_0x597f21[_0x99d8('0x31')][_0x99d8('0x3c')]);_0x3c4494[_0x99d8('0x3d')]=qs[_0x99d8('0x33')](_[_0x99d8('0x3e')](_0x597f21['query'],_0x3f834a[_0x99d8('0x33')]),_0x4bab1a);if(_0x597f21['query'][_0x99d8('0x3f')]){_0x3c4494[_0x99d8('0x3d')]=_[_0x99d8('0x40')](_0x3c4494[_0x99d8('0x3d')],{'$or':_[_0x99d8('0x2c')](_0x4bab1a,function(_0x4906bb){if(_0x4906bb[_0x99d8('0x2f')]!=='VIRTUAL'){var _0x3c7003={};_0x3c7003[_0x4906bb[_0x99d8('0x2a')]]={'$like':'%'+_0x597f21['query'][_0x99d8('0x3f')]+'%'};return _0x3c7003;}})});}_0x3c4494=_[_0x99d8('0x40')]({},_0x3c4494,_0x597f21[_0x99d8('0x41')]);var _0x313caf={'where':_0x3c4494[_0x99d8('0x3d')]};return db[_0x99d8('0x42')]['count'](_0x313caf)[_0x99d8('0x26')](function(_0x4cb574){_0x7ae12c[_0x99d8('0x22')]=_0x4cb574;if(_0x597f21[_0x99d8('0x31')][_0x99d8('0x43')]){_0x3c4494[_0x99d8('0x44')]=[{'all':!![]}];}return db[_0x99d8('0x42')][_0x99d8('0x45')](_0x3c4494);})['then'](function(_0x29028f){_0x7ae12c[_0x99d8('0x46')]=_0x29028f;return _0x7ae12c;})[_0x99d8('0x26')](respondWithFilteredResult(_0x475b1e,_0x3c4494))[_0x99d8('0x47')](handleError(_0x475b1e,null));};exports['show']=function(_0x26380a,_0x15b9e7){var _0x50f362={'raw':!![],'where':{'id':_0x26380a[_0x99d8('0x48')]['id']}},_0x102307={};_0x102307[_0x99d8('0x35')]=_['keys'](db[_0x99d8('0x42')][_0x99d8('0x2d')]);_0x102307[_0x99d8('0x31')]=_[_0x99d8('0x32')](_0x26380a[_0x99d8('0x31')]);_0x102307[_0x99d8('0x33')]=_[_0x99d8('0x34')](_0x102307['model'],_0x102307[_0x99d8('0x31')]);_0x50f362[_0x99d8('0x37')]=_[_0x99d8('0x34')](_0x102307[_0x99d8('0x35')],qs[_0x99d8('0x36')](_0x26380a[_0x99d8('0x31')][_0x99d8('0x36')]));_0x50f362[_0x99d8('0x37')]=_0x50f362['attributes'][_0x99d8('0x38')]?_0x50f362[_0x99d8('0x37')]:_0x102307['model'];if(_0x26380a[_0x99d8('0x31')][_0x99d8('0x43')]){_0x50f362[_0x99d8('0x44')]=[{'all':!![]}];}_0x50f362=_[_0x99d8('0x40')]({},_0x50f362,_0x26380a[_0x99d8('0x41')]);return db[_0x99d8('0x42')][_0x99d8('0x49')](_0x50f362)['then'](handleEntityNotFound(_0x15b9e7,null))[_0x99d8('0x26')](respondWithResult(_0x15b9e7,null))[_0x99d8('0x47')](handleError(_0x15b9e7,null));};exports[_0x99d8('0x4a')]=function(_0x8b0d6,_0x62fc3b){return db['SquareReport']['create'](_0x8b0d6['body'],{})[_0x99d8('0x26')](respondWithResult(_0x62fc3b,0xc9))[_0x99d8('0x47')](handleError(_0x62fc3b,null));};exports[_0x99d8('0x25')]=function(_0x4dca52,_0xabca6c){if(_0x4dca52['body']['id']){delete _0x4dca52[_0x99d8('0x4b')]['id'];}return db[_0x99d8('0x42')][_0x99d8('0x49')]({'where':{'id':_0x4dca52[_0x99d8('0x48')]['id']}})[_0x99d8('0x26')](handleEntityNotFound(_0xabca6c,null))['then'](saveUpdates(_0x4dca52[_0x99d8('0x4b')],null))[_0x99d8('0x26')](respondWithResult(_0xabca6c,null))['catch'](handleError(_0xabca6c,null));};exports[_0x99d8('0x27')]=function(_0x1e4ae8,_0x1fceea){return db['SquareReport'][_0x99d8('0x49')]({'where':{'id':_0x1e4ae8[_0x99d8('0x48')]['id']}})['then'](handleEntityNotFound(_0x1fceea,null))[_0x99d8('0x26')](removeEntity(_0x1fceea,null))[_0x99d8('0x47')](handleError(_0x1fceea,null));};exports[_0x99d8('0x4c')]=function(_0x3ac057,_0x2710c2){return db[_0x99d8('0x42')]['describe']()[_0x99d8('0x26')](respondWithResult(_0x2710c2,null))[_0x99d8('0x47')](handleError(_0x2710c2,null));};