0ba1d97dbc040f675cf62ebec22836e69f8c78f8
[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 _0xfa67=['name','index','map','rawAttributes','fieldName','type','model','keys','query','filters','intersection','attributes','fields','length','nolimit','limit','order','sort','where','pick','filter','merge','options','SquareReport','include','findAll','rows','show','includeAll','create','body','catch','update','find','params','describe','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','Content-Range','apply','reject','save','destroy','then','error','stack'];(function(_0x2b547b,_0x390c5a){var _0x389905=function(_0x3abbb2){while(--_0x3abbb2){_0x2b547b['push'](_0x2b547b['shift']());}};_0x389905(++_0x390c5a);}(_0xfa67,0x10b));var _0x7fa6=function(_0x50adbf,_0x3d55c9){_0x50adbf=_0x50adbf-0x0;var _0x33c290=_0xfa67[_0x50adbf];return _0x33c290;};'use strict';var emlformat=require(_0x7fa6('0x0'));var rimraf=require(_0x7fa6('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x7fa6('0x2'));var rp=require(_0x7fa6('0x3'));var moment=require(_0x7fa6('0x4'));var BPromise=require(_0x7fa6('0x5'));var Mustache=require(_0x7fa6('0x6'));var util=require(_0x7fa6('0x7'));var path=require(_0x7fa6('0x8'));var sox=require(_0x7fa6('0x9'));var csv=require(_0x7fa6('0xa'));var ejs=require(_0x7fa6('0xb'));var fs=require('fs');var fs_extra=require(_0x7fa6('0xc'));var _=require(_0x7fa6('0xd'));var squel=require(_0x7fa6('0xe'));var crypto=require(_0x7fa6('0xf'));var jsforce=require(_0x7fa6('0x10'));var deskjs=require('desk.js');var toCsv=require(_0x7fa6('0xa'));var querystring=require(_0x7fa6('0x11'));var Papa=require(_0x7fa6('0x12'));var Redis=require(_0x7fa6('0x13'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x7fa6('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x7fa6('0x15'));var utils=require(_0x7fa6('0x16'));var config=require(_0x7fa6('0x17'));var licenseUtil=require(_0x7fa6('0x18'));var db=require(_0x7fa6('0x19'))['db'];function respondWithStatusCode(_0x3b961e,_0x19f506){_0x19f506=_0x19f506||0xcc;return function(_0x5038cc){if(_0x5038cc){return _0x3b961e[_0x7fa6('0x1a')](_0x19f506);}return _0x3b961e[_0x7fa6('0x1b')](_0x19f506)[_0x7fa6('0x1c')]();};}function respondWithResult(_0x5ea346,_0x51297e){_0x51297e=_0x51297e||0xc8;return function(_0x3c5e5b){if(_0x3c5e5b){return _0x5ea346[_0x7fa6('0x1b')](_0x51297e)[_0x7fa6('0x1d')](_0x3c5e5b);}};}function respondWithFilteredResult(_0x13ca9c,_0x33d3f6){return function(_0x2712ef){if(_0x2712ef){var _0x530711=typeof _0x33d3f6[_0x7fa6('0x1e')]===_0x7fa6('0x1f')&&typeof _0x33d3f6['limit']===_0x7fa6('0x1f');var _0x1d212a=_0x2712ef['count'];var _0x3dc02c=_0x530711?0x0:_0x33d3f6[_0x7fa6('0x1e')];var _0x2de759=_0x530711?_0x2712ef[_0x7fa6('0x20')]:_0x33d3f6[_0x7fa6('0x1e')]+_0x33d3f6['limit'];var _0x52990f;if(_0x2de759>=_0x1d212a){_0x2de759=_0x1d212a;_0x52990f=0xc8;}else{_0x52990f=0xce;}_0x13ca9c[_0x7fa6('0x1b')](_0x52990f);return _0x13ca9c['set'](_0x7fa6('0x21'),_0x3dc02c+'-'+_0x2de759+'/'+_0x1d212a)['json'](_0x2712ef);}return null;};}function patchUpdates(_0x2ab76c){return function(_0x19d01f){try{jsonpatch[_0x7fa6('0x22')](_0x19d01f,_0x2ab76c,!![]);}catch(_0x2bb673){return BPromise[_0x7fa6('0x23')](_0x2bb673);}return _0x19d01f[_0x7fa6('0x24')]();};}function saveUpdates(_0x4888f4,_0xb2f3c){return function(_0xbc5765){if(_0xbc5765){return _0xbc5765['update'](_0x4888f4)['then'](function(_0x19c164){return _0x19c164;});}return null;};}function removeEntity(_0xd0da18,_0x47f7fd){return function(_0x341098){if(_0x341098){return _0x341098[_0x7fa6('0x25')]()[_0x7fa6('0x26')](function(){_0xd0da18[_0x7fa6('0x1b')](0xcc)['end']();});}};}function handleEntityNotFound(_0x3b6cc5,_0x278fa7){return function(_0x23682d){if(!_0x23682d){_0x3b6cc5[_0x7fa6('0x1a')](0x194);}return _0x23682d;};}function handleError(_0x355f79,_0x2c1e05){_0x2c1e05=_0x2c1e05||0x1f4;return function(_0x3a2b60){logger[_0x7fa6('0x27')](_0x3a2b60[_0x7fa6('0x28')]);if(_0x3a2b60[_0x7fa6('0x29')]){delete _0x3a2b60['name'];}_0x355f79[_0x7fa6('0x1b')](_0x2c1e05)['send'](_0x3a2b60);};}exports[_0x7fa6('0x2a')]=function(_0x4453b3,_0x2e328d){var _0x427c22={},_0x7b07d8={},_0x2a1ed7={'count':0x0,'rows':[]};var _0x8e8dfb=_[_0x7fa6('0x2b')](db['SquareReport'][_0x7fa6('0x2c')],function(_0x9062bf){return{'name':_0x9062bf[_0x7fa6('0x2d')],'type':_0x9062bf[_0x7fa6('0x2e')]['key']};});_0x7b07d8[_0x7fa6('0x2f')]=_[_0x7fa6('0x2b')](_0x8e8dfb,_0x7fa6('0x29'));_0x7b07d8['query']=_[_0x7fa6('0x30')](_0x4453b3[_0x7fa6('0x31')]);_0x7b07d8[_0x7fa6('0x32')]=_[_0x7fa6('0x33')](_0x7b07d8[_0x7fa6('0x2f')],_0x7b07d8['query']);_0x427c22[_0x7fa6('0x34')]=_[_0x7fa6('0x33')](_0x7b07d8[_0x7fa6('0x2f')],qs[_0x7fa6('0x35')](_0x4453b3[_0x7fa6('0x31')][_0x7fa6('0x35')]));_0x427c22[_0x7fa6('0x34')]=_0x427c22[_0x7fa6('0x34')][_0x7fa6('0x36')]?_0x427c22['attributes']:_0x7b07d8['model'];if(!_0x4453b3[_0x7fa6('0x31')]['hasOwnProperty'](_0x7fa6('0x37'))){_0x427c22[_0x7fa6('0x38')]=qs[_0x7fa6('0x38')](_0x4453b3['query'][_0x7fa6('0x38')]);_0x427c22['offset']=qs[_0x7fa6('0x1e')](_0x4453b3['query']['offset']);}_0x427c22[_0x7fa6('0x39')]=qs['sort'](_0x4453b3[_0x7fa6('0x31')][_0x7fa6('0x3a')]);_0x427c22[_0x7fa6('0x3b')]=qs['filters'](_[_0x7fa6('0x3c')](_0x4453b3[_0x7fa6('0x31')],_0x7b07d8[_0x7fa6('0x32')]),_0x8e8dfb);if(_0x4453b3['query'][_0x7fa6('0x3d')]){_0x427c22[_0x7fa6('0x3b')]=_[_0x7fa6('0x3e')](_0x427c22['where'],{'$or':_[_0x7fa6('0x2b')](_0x8e8dfb,function(_0x2082b9){if(_0x2082b9[_0x7fa6('0x2e')]!=='VIRTUAL'){var _0x2588fc={};_0x2588fc[_0x2082b9[_0x7fa6('0x29')]]={'$like':'%'+_0x4453b3['query']['filter']+'%'};return _0x2588fc;}})});}_0x427c22=_[_0x7fa6('0x3e')]({},_0x427c22,_0x4453b3[_0x7fa6('0x3f')]);var _0x1c5e42={'where':_0x427c22[_0x7fa6('0x3b')]};return db[_0x7fa6('0x40')][_0x7fa6('0x20')](_0x1c5e42)[_0x7fa6('0x26')](function(_0x1fdd6d){_0x2a1ed7[_0x7fa6('0x20')]=_0x1fdd6d;if(_0x4453b3[_0x7fa6('0x31')]['includeAll']){_0x427c22[_0x7fa6('0x41')]=[{'all':!![]}];}return db[_0x7fa6('0x40')][_0x7fa6('0x42')](_0x427c22);})[_0x7fa6('0x26')](function(_0x536371){_0x2a1ed7[_0x7fa6('0x43')]=_0x536371;return _0x2a1ed7;})[_0x7fa6('0x26')](respondWithFilteredResult(_0x2e328d,_0x427c22))['catch'](handleError(_0x2e328d,null));};exports[_0x7fa6('0x44')]=function(_0x201f9b,_0xeff69c){var _0x1910cd={'raw':!![],'where':{'id':_0x201f9b['params']['id']}},_0x432923={};_0x432923[_0x7fa6('0x2f')]=_['keys'](db['SquareReport'][_0x7fa6('0x2c')]);_0x432923[_0x7fa6('0x31')]=_[_0x7fa6('0x30')](_0x201f9b[_0x7fa6('0x31')]);_0x432923['filters']=_[_0x7fa6('0x33')](_0x432923[_0x7fa6('0x2f')],_0x432923[_0x7fa6('0x31')]);_0x1910cd[_0x7fa6('0x34')]=_[_0x7fa6('0x33')](_0x432923[_0x7fa6('0x2f')],qs['fields'](_0x201f9b[_0x7fa6('0x31')][_0x7fa6('0x35')]));_0x1910cd[_0x7fa6('0x34')]=_0x1910cd[_0x7fa6('0x34')]['length']?_0x1910cd[_0x7fa6('0x34')]:_0x432923[_0x7fa6('0x2f')];if(_0x201f9b[_0x7fa6('0x31')][_0x7fa6('0x45')]){_0x1910cd[_0x7fa6('0x41')]=[{'all':!![]}];}_0x1910cd=_['merge']({},_0x1910cd,_0x201f9b[_0x7fa6('0x3f')]);return db[_0x7fa6('0x40')]['find'](_0x1910cd)['then'](handleEntityNotFound(_0xeff69c,null))[_0x7fa6('0x26')](respondWithResult(_0xeff69c,null))['catch'](handleError(_0xeff69c,null));};exports[_0x7fa6('0x46')]=function(_0x153e63,_0x2af245){return db[_0x7fa6('0x40')]['create'](_0x153e63[_0x7fa6('0x47')],{})[_0x7fa6('0x26')](respondWithResult(_0x2af245,0xc9))[_0x7fa6('0x48')](handleError(_0x2af245,null));};exports[_0x7fa6('0x49')]=function(_0x11186f,_0x1373e7){if(_0x11186f[_0x7fa6('0x47')]['id']){delete _0x11186f[_0x7fa6('0x47')]['id'];}return db[_0x7fa6('0x40')][_0x7fa6('0x4a')]({'where':{'id':_0x11186f[_0x7fa6('0x4b')]['id']}})[_0x7fa6('0x26')](handleEntityNotFound(_0x1373e7,null))['then'](saveUpdates(_0x11186f[_0x7fa6('0x47')],null))[_0x7fa6('0x26')](respondWithResult(_0x1373e7,null))['catch'](handleError(_0x1373e7,null));};exports[_0x7fa6('0x25')]=function(_0x4f2a38,_0x28e402){return db[_0x7fa6('0x40')][_0x7fa6('0x4a')]({'where':{'id':_0x4f2a38[_0x7fa6('0x4b')]['id']}})[_0x7fa6('0x26')](handleEntityNotFound(_0x28e402,null))[_0x7fa6('0x26')](removeEntity(_0x28e402,null))[_0x7fa6('0x48')](handleError(_0x28e402,null));};exports[_0x7fa6('0x4c')]=function(_0x1a842f,_0x5cee1b){return db['SquareReport'][_0x7fa6('0x4c')]()[_0x7fa6('0x26')](respondWithResult(_0x5cee1b,null))['catch'](handleError(_0x5cee1b,null));};