926cdd1eb8331548e50568fd59b97ddcf5d18ece
[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 _0x124b=['api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','apply','reject','save','update','destroy','then','stack','name','send','index','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','map','VIRTUAL','merge','options','SquareReport','includeAll','findAll','rows','show','length','include','find','create','body','catch','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger'];(function(_0x5af74a,_0x460881){var _0x2e93c3=function(_0x51bca7){while(--_0x51bca7){_0x5af74a['push'](_0x5af74a['shift']());}};_0x2e93c3(++_0x460881);}(_0x124b,0x12d));var _0xb124=function(_0xf4d226,_0x535ac3){_0xf4d226=_0xf4d226-0x0;var _0x4a484b=_0x124b[_0xf4d226];return _0x4a484b;};'use strict';var emlformat=require(_0xb124('0x0'));var rimraf=require(_0xb124('0x1'));var zipdir=require(_0xb124('0x2'));var jsonpatch=require(_0xb124('0x3'));var rp=require(_0xb124('0x4'));var moment=require(_0xb124('0x5'));var BPromise=require(_0xb124('0x6'));var Mustache=require(_0xb124('0x7'));var util=require(_0xb124('0x8'));var path=require(_0xb124('0x9'));var sox=require(_0xb124('0xa'));var csv=require('to-csv');var ejs=require(_0xb124('0xb'));var fs=require('fs');var fs_extra=require(_0xb124('0xc'));var _=require(_0xb124('0xd'));var squel=require(_0xb124('0xe'));var crypto=require(_0xb124('0xf'));var jsforce=require(_0xb124('0x10'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0xb124('0x11'));var Papa=require(_0xb124('0x12'));var Redis=require(_0xb124('0x13'));var authService=require('../../components/auth/service');var qs=require(_0xb124('0x14'));var as=require(_0xb124('0x15'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xb124('0x16'))(_0xb124('0x17'));var utils=require(_0xb124('0x18'));var config=require(_0xb124('0x19'));var licenseUtil=require(_0xb124('0x1a'));var db=require(_0xb124('0x1b'))['db'];function respondWithStatusCode(_0x471e39,_0x2ee846){_0x2ee846=_0x2ee846||0xcc;return function(_0x93d074){if(_0x93d074){return _0x471e39[_0xb124('0x1c')](_0x2ee846);}return _0x471e39[_0xb124('0x1d')](_0x2ee846)[_0xb124('0x1e')]();};}function respondWithResult(_0x3065ac,_0x4a4f73){_0x4a4f73=_0x4a4f73||0xc8;return function(_0x8437ba){if(_0x8437ba){return _0x3065ac[_0xb124('0x1d')](_0x4a4f73)[_0xb124('0x1f')](_0x8437ba);}};}function respondWithFilteredResult(_0x16bbf6,_0x118066){return function(_0x17d386){if(_0x17d386){var _0x18be74=typeof _0x118066[_0xb124('0x20')]===_0xb124('0x21')&&typeof _0x118066[_0xb124('0x22')]===_0xb124('0x21');var _0x1b05da=_0x17d386[_0xb124('0x23')];var _0x32ce81=_0x18be74?0x0:_0x118066[_0xb124('0x20')];var _0xfc3ab5=_0x18be74?_0x17d386['count']:_0x118066[_0xb124('0x20')]+_0x118066['limit'];var _0x56b54d;if(_0xfc3ab5>=_0x1b05da){_0xfc3ab5=_0x1b05da;_0x56b54d=0xc8;}else{_0x56b54d=0xce;}_0x16bbf6['status'](_0x56b54d);return _0x16bbf6[_0xb124('0x24')]('Content-Range',_0x32ce81+'-'+_0xfc3ab5+'/'+_0x1b05da)[_0xb124('0x1f')](_0x17d386);}return null;};}function patchUpdates(_0x4852fc){return function(_0x5aa68e){try{jsonpatch[_0xb124('0x25')](_0x5aa68e,_0x4852fc,!![]);}catch(_0x36f58b){return BPromise[_0xb124('0x26')](_0x36f58b);}return _0x5aa68e[_0xb124('0x27')]();};}function saveUpdates(_0x19287d,_0xc07366){return function(_0x653b1a){if(_0x653b1a){return _0x653b1a[_0xb124('0x28')](_0x19287d)['then'](function(_0x4ca13c){return _0x4ca13c;});}return null;};}function removeEntity(_0x2c684b,_0x112bdf){return function(_0x364e39){if(_0x364e39){return _0x364e39[_0xb124('0x29')]()[_0xb124('0x2a')](function(){_0x2c684b['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x10b860,_0x4bf0dd){return function(_0x105e11){if(!_0x105e11){_0x10b860[_0xb124('0x1c')](0x194);}return _0x105e11;};}function handleError(_0x48c9d4,_0x29b88e){_0x29b88e=_0x29b88e||0x1f4;return function(_0x4a9e2f){logger['error'](_0x4a9e2f[_0xb124('0x2b')]);if(_0x4a9e2f['name']){delete _0x4a9e2f[_0xb124('0x2c')];}_0x48c9d4['status'](_0x29b88e)[_0xb124('0x2d')](_0x4a9e2f);};}exports[_0xb124('0x2e')]=function(_0x414e96,_0x55460b){var _0x4a60bd={},_0x32d8d4={},_0x21700b={'count':0x0,'rows':[]};var _0x412764=_['map'](db['SquareReport'][_0xb124('0x2f')],function(_0x1462b6){return{'name':_0x1462b6[_0xb124('0x30')],'type':_0x1462b6[_0xb124('0x31')][_0xb124('0x32')]};});_0x32d8d4[_0xb124('0x33')]=_['map'](_0x412764,_0xb124('0x2c'));_0x32d8d4[_0xb124('0x34')]=_[_0xb124('0x35')](_0x414e96[_0xb124('0x34')]);_0x32d8d4[_0xb124('0x36')]=_[_0xb124('0x37')](_0x32d8d4['model'],_0x32d8d4[_0xb124('0x34')]);_0x4a60bd[_0xb124('0x38')]=_[_0xb124('0x37')](_0x32d8d4[_0xb124('0x33')],qs[_0xb124('0x39')](_0x414e96[_0xb124('0x34')][_0xb124('0x39')]));_0x4a60bd[_0xb124('0x38')]=_0x4a60bd['attributes']['length']?_0x4a60bd[_0xb124('0x38')]:_0x32d8d4[_0xb124('0x33')];if(!_0x414e96[_0xb124('0x34')][_0xb124('0x3a')](_0xb124('0x3b'))){_0x4a60bd['limit']=qs[_0xb124('0x22')](_0x414e96[_0xb124('0x34')][_0xb124('0x22')]);_0x4a60bd['offset']=qs[_0xb124('0x20')](_0x414e96[_0xb124('0x34')]['offset']);}_0x4a60bd[_0xb124('0x3c')]=qs['sort'](_0x414e96[_0xb124('0x34')][_0xb124('0x3d')]);_0x4a60bd[_0xb124('0x3e')]=qs[_0xb124('0x36')](_[_0xb124('0x3f')](_0x414e96[_0xb124('0x34')],_0x32d8d4[_0xb124('0x36')]),_0x412764);if(_0x414e96[_0xb124('0x34')][_0xb124('0x40')]){_0x4a60bd[_0xb124('0x3e')]=_['merge'](_0x4a60bd[_0xb124('0x3e')],{'$or':_[_0xb124('0x41')](_0x412764,function(_0x1eebcd){if(_0x1eebcd[_0xb124('0x31')]!==_0xb124('0x42')){var _0x577e48={};_0x577e48[_0x1eebcd[_0xb124('0x2c')]]={'$like':'%'+_0x414e96[_0xb124('0x34')][_0xb124('0x40')]+'%'};return _0x577e48;}})});}_0x4a60bd=_[_0xb124('0x43')]({},_0x4a60bd,_0x414e96[_0xb124('0x44')]);var _0x260254={'where':_0x4a60bd[_0xb124('0x3e')]};return db[_0xb124('0x45')][_0xb124('0x23')](_0x260254)[_0xb124('0x2a')](function(_0x218632){_0x21700b[_0xb124('0x23')]=_0x218632;if(_0x414e96[_0xb124('0x34')][_0xb124('0x46')]){_0x4a60bd['include']=[{'all':!![]}];}return db[_0xb124('0x45')][_0xb124('0x47')](_0x4a60bd);})['then'](function(_0x5ec0b2){_0x21700b[_0xb124('0x48')]=_0x5ec0b2;return _0x21700b;})[_0xb124('0x2a')](respondWithFilteredResult(_0x55460b,_0x4a60bd))['catch'](handleError(_0x55460b,null));};exports[_0xb124('0x49')]=function(_0x32478d,_0x4d4caa){var _0x1f2e46={'raw':!![],'where':{'id':_0x32478d['params']['id']}},_0x4b56e2={};_0x4b56e2[_0xb124('0x33')]=_[_0xb124('0x35')](db[_0xb124('0x45')][_0xb124('0x2f')]);_0x4b56e2[_0xb124('0x34')]=_[_0xb124('0x35')](_0x32478d['query']);_0x4b56e2['filters']=_[_0xb124('0x37')](_0x4b56e2[_0xb124('0x33')],_0x4b56e2['query']);_0x1f2e46[_0xb124('0x38')]=_['intersection'](_0x4b56e2[_0xb124('0x33')],qs[_0xb124('0x39')](_0x32478d[_0xb124('0x34')][_0xb124('0x39')]));_0x1f2e46[_0xb124('0x38')]=_0x1f2e46[_0xb124('0x38')][_0xb124('0x4a')]?_0x1f2e46[_0xb124('0x38')]:_0x4b56e2[_0xb124('0x33')];if(_0x32478d[_0xb124('0x34')][_0xb124('0x46')]){_0x1f2e46[_0xb124('0x4b')]=[{'all':!![]}];}_0x1f2e46=_[_0xb124('0x43')]({},_0x1f2e46,_0x32478d[_0xb124('0x44')]);return db['SquareReport'][_0xb124('0x4c')](_0x1f2e46)[_0xb124('0x2a')](handleEntityNotFound(_0x4d4caa,null))['then'](respondWithResult(_0x4d4caa,null))['catch'](handleError(_0x4d4caa,null));};exports[_0xb124('0x4d')]=function(_0x2651e0,_0x43bc6f){return db[_0xb124('0x45')][_0xb124('0x4d')](_0x2651e0[_0xb124('0x4e')],{})[_0xb124('0x2a')](respondWithResult(_0x43bc6f,0xc9))[_0xb124('0x4f')](handleError(_0x43bc6f,null));};exports[_0xb124('0x28')]=function(_0x50b42d,_0x1884ee){if(_0x50b42d[_0xb124('0x4e')]['id']){delete _0x50b42d['body']['id'];}return db[_0xb124('0x45')][_0xb124('0x4c')]({'where':{'id':_0x50b42d['params']['id']}})['then'](handleEntityNotFound(_0x1884ee,null))[_0xb124('0x2a')](saveUpdates(_0x50b42d[_0xb124('0x4e')],null))[_0xb124('0x2a')](respondWithResult(_0x1884ee,null))[_0xb124('0x4f')](handleError(_0x1884ee,null));};exports[_0xb124('0x29')]=function(_0x472176,_0x24dfaf){return db[_0xb124('0x45')][_0xb124('0x4c')]({'where':{'id':_0x472176['params']['id']}})[_0xb124('0x2a')](handleEntityNotFound(_0x24dfaf,null))['then'](removeEntity(_0x24dfaf,null))['catch'](handleError(_0x24dfaf,null));};exports[_0xb124('0x50')]=function(_0x1269b9,_0x1e974b){return db[_0xb124('0x45')][_0xb124('0x50')]()['then'](respondWithResult(_0x1e974b,null))[_0xb124('0x4f')](handleError(_0x1e974b,null));};