176681188a4d9f65af8b63c9a8a2f8f4dd6ac7dc
[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 _0xa7ee=['mustache','path','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','set','save','then','destroy','error','name','send','index','map','SquareReport','fieldName','type','key','model','query','filters','attributes','intersection','fields','length','hasOwnProperty','limit','order','sort','where','pick','filter','merge','options','count','includeAll','findAll','rows','catch','show','params','keys','rawAttributes','include','find','body','update','describe','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise'];(function(_0x315924,_0x29a05a){var _0x54622c=function(_0x2b5061){while(--_0x2b5061){_0x315924['push'](_0x315924['shift']());}};_0x54622c(++_0x29a05a);}(_0xa7ee,0x159));var _0xea7e=function(_0x25b4a4,_0x2e081b){_0x25b4a4=_0x25b4a4-0x0;var _0x707267=_0xa7ee[_0x25b4a4];return _0x707267;};'use strict';var pdf=require(_0xea7e('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xea7e('0x1'));var zipdir=require(_0xea7e('0x2'));var jsonpatch=require(_0xea7e('0x3'));var rp=require(_0xea7e('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xea7e('0x5'));var util=require('util');var path=require(_0xea7e('0x6'));var sox=require(_0xea7e('0x7'));var csv=require(_0xea7e('0x8'));var ejs=require(_0xea7e('0x9'));var fs=require('fs');var _=require('lodash');var squel=require(_0xea7e('0xa'));var crypto=require(_0xea7e('0xb'));var jsforce=require(_0xea7e('0xc'));var deskjs=require(_0xea7e('0xd'));var toCsv=require(_0xea7e('0x8'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xea7e('0xe'));var authService=require('../../components/auth/service');var qs=require(_0xea7e('0xf'));var as=require(_0xea7e('0x10'));var hardwareService=require(_0xea7e('0x11'));var logger=require(_0xea7e('0x12'))('api');var utils=require(_0xea7e('0x13'));var config=require('../../config/environment');var licenseUtil=require(_0xea7e('0x14'));var db=require(_0xea7e('0x15'))['db'];function respondWithStatusCode(_0x138555,_0x1d2702){_0x1d2702=_0x1d2702||0xcc;return function(_0x97ec09){if(_0x97ec09){return _0x138555[_0xea7e('0x16')](_0x1d2702);}return _0x138555[_0xea7e('0x17')](_0x1d2702)[_0xea7e('0x18')]();};}function respondWithResult(_0x4c5137,_0x25317c){_0x25317c=_0x25317c||0xc8;return function(_0x3ef916){if(_0x3ef916){return _0x4c5137[_0xea7e('0x17')](_0x25317c)[_0xea7e('0x19')](_0x3ef916);}};}function respondWithFilteredResult(_0x57d27e,_0x18f7f0){return function(_0x4d3796){if(_0x4d3796){var _0x5c7466=_0x4d3796['count'],_0x3cd795=_0x18f7f0['offset'],_0x2d5794=_0x18f7f0[_0xea7e('0x1a')]+_0x18f7f0['limit'],_0x162c47;if(_0x2d5794>=_0x5c7466){_0x2d5794=_0x5c7466;_0x162c47=0xc8;}else{_0x162c47=0xce;}_0x57d27e[_0xea7e('0x17')](_0x162c47);return _0x57d27e[_0xea7e('0x1b')]('Content-Range',_0x3cd795+'-'+_0x2d5794+'/'+_0x5c7466)['json'](_0x4d3796);}return null;};}function patchUpdates(_0x408887){return function(_0x59e8d8){try{jsonpatch['apply'](_0x59e8d8,_0x408887,!![]);}catch(_0x406aff){return BPromise['reject'](_0x406aff);}return _0x59e8d8[_0xea7e('0x1c')]();};}function saveUpdates(_0x1def2a,_0x5c8d42){return function(_0x37c489){if(_0x37c489){return _0x37c489['update'](_0x1def2a)[_0xea7e('0x1d')](function(_0x387bc8){return _0x387bc8;});}return null;};}function removeEntity(_0xf779ad,_0xd441f8){return function(_0x372b9d){if(_0x372b9d){return _0x372b9d[_0xea7e('0x1e')]()['then'](function(){_0xf779ad[_0xea7e('0x17')](0xcc)[_0xea7e('0x18')]();});}};}function handleEntityNotFound(_0x4e8b96,_0xb8149f){return function(_0x344ec6){if(!_0x344ec6){_0x4e8b96[_0xea7e('0x16')](0x194);}return _0x344ec6;};}function handleError(_0x542a9b,_0x296b2a){_0x296b2a=_0x296b2a||0x1f4;return function(_0x400125){logger[_0xea7e('0x1f')](_0x400125['stack']);if(_0x400125[_0xea7e('0x20')]){delete _0x400125[_0xea7e('0x20')];}_0x542a9b[_0xea7e('0x17')](_0x296b2a)[_0xea7e('0x21')](_0x400125);};}exports[_0xea7e('0x22')]=function(_0x789f9e,_0x31871e){var _0x25b5a4={},_0x1067cd={},_0x10bbc1={'count':0x0,'rows':[]};var _0x4a23a9=_[_0xea7e('0x23')](db[_0xea7e('0x24')]['rawAttributes'],function(_0x2a1753){return{'name':_0x2a1753[_0xea7e('0x25')],'type':_0x2a1753[_0xea7e('0x26')][_0xea7e('0x27')]};});_0x1067cd[_0xea7e('0x28')]=_['map'](_0x4a23a9,_0xea7e('0x20'));_0x1067cd[_0xea7e('0x29')]=_['keys'](_0x789f9e[_0xea7e('0x29')]);_0x1067cd[_0xea7e('0x2a')]=_['intersection'](_0x1067cd[_0xea7e('0x28')],_0x1067cd['query']);_0x25b5a4[_0xea7e('0x2b')]=_[_0xea7e('0x2c')](_0x1067cd[_0xea7e('0x28')],qs[_0xea7e('0x2d')](_0x789f9e[_0xea7e('0x29')][_0xea7e('0x2d')]));_0x25b5a4['attributes']=_0x25b5a4[_0xea7e('0x2b')][_0xea7e('0x2e')]?_0x25b5a4[_0xea7e('0x2b')]:_0x1067cd[_0xea7e('0x28')];if(!_0x789f9e[_0xea7e('0x29')][_0xea7e('0x2f')]('nolimit')){_0x25b5a4['limit']=qs[_0xea7e('0x30')](_0x789f9e[_0xea7e('0x29')][_0xea7e('0x30')]);_0x25b5a4['offset']=qs[_0xea7e('0x1a')](_0x789f9e[_0xea7e('0x29')][_0xea7e('0x1a')]);}_0x25b5a4[_0xea7e('0x31')]=qs[_0xea7e('0x32')](_0x789f9e[_0xea7e('0x29')][_0xea7e('0x32')]);_0x25b5a4[_0xea7e('0x33')]=qs[_0xea7e('0x2a')](_[_0xea7e('0x34')](_0x789f9e[_0xea7e('0x29')],_0x1067cd[_0xea7e('0x2a')]),_0x4a23a9);if(_0x789f9e[_0xea7e('0x29')][_0xea7e('0x35')]){_0x25b5a4[_0xea7e('0x33')]=_['merge'](_0x25b5a4[_0xea7e('0x33')],{'$or':_[_0xea7e('0x23')](_0x4a23a9,function(_0x3f3b2f){if(_0x3f3b2f[_0xea7e('0x26')]!=='VIRTUAL'){var _0x165024={};_0x165024[_0x3f3b2f['name']]={'$like':'%'+_0x789f9e[_0xea7e('0x29')]['filter']+'%'};return _0x165024;}})});}_0x25b5a4=_[_0xea7e('0x36')]({},_0x25b5a4,_0x789f9e[_0xea7e('0x37')]);var _0x468606={'where':_0x25b5a4[_0xea7e('0x33')]};return db[_0xea7e('0x24')][_0xea7e('0x38')](_0x468606)['then'](function(_0x100f9a){_0x10bbc1[_0xea7e('0x38')]=_0x100f9a;if(_0x789f9e['query'][_0xea7e('0x39')]){_0x25b5a4['include']=[{'all':!![]}];}return db[_0xea7e('0x24')][_0xea7e('0x3a')](_0x25b5a4);})['then'](function(_0x232b0b){_0x10bbc1[_0xea7e('0x3b')]=_0x232b0b;return _0x10bbc1;})[_0xea7e('0x1d')](respondWithFilteredResult(_0x31871e,_0x25b5a4))[_0xea7e('0x3c')](handleError(_0x31871e,null));};exports[_0xea7e('0x3d')]=function(_0x14e4d3,_0x2db099){var _0x673162={'raw':!![],'where':{'id':_0x14e4d3[_0xea7e('0x3e')]['id']}},_0x2238b3={};_0x2238b3[_0xea7e('0x28')]=_[_0xea7e('0x3f')](db[_0xea7e('0x24')][_0xea7e('0x40')]);_0x2238b3['query']=_['keys'](_0x14e4d3['query']);_0x2238b3['filters']=_['intersection'](_0x2238b3['model'],_0x2238b3[_0xea7e('0x29')]);_0x673162['attributes']=_[_0xea7e('0x2c')](_0x2238b3[_0xea7e('0x28')],qs['fields'](_0x14e4d3['query'][_0xea7e('0x2d')]));_0x673162[_0xea7e('0x2b')]=_0x673162[_0xea7e('0x2b')][_0xea7e('0x2e')]?_0x673162['attributes']:_0x2238b3['model'];if(_0x14e4d3[_0xea7e('0x29')]['includeAll']){_0x673162[_0xea7e('0x41')]=[{'all':!![]}];}_0x673162=_[_0xea7e('0x36')]({},_0x673162,_0x14e4d3['options']);return db[_0xea7e('0x24')][_0xea7e('0x42')](_0x673162)['then'](handleEntityNotFound(_0x2db099,null))[_0xea7e('0x1d')](respondWithResult(_0x2db099,null))[_0xea7e('0x3c')](handleError(_0x2db099,null));};exports['create']=function(_0x5111a6,_0x231e67){return db[_0xea7e('0x24')]['create'](_0x5111a6[_0xea7e('0x43')],{})[_0xea7e('0x1d')](respondWithResult(_0x231e67,0xc9))['catch'](handleError(_0x231e67,null));};exports[_0xea7e('0x44')]=function(_0x1675ff,_0x42446c){if(_0x1675ff[_0xea7e('0x43')]['id']){delete _0x1675ff[_0xea7e('0x43')]['id'];}return db[_0xea7e('0x24')][_0xea7e('0x42')]({'where':{'id':_0x1675ff['params']['id']}})[_0xea7e('0x1d')](handleEntityNotFound(_0x42446c,null))[_0xea7e('0x1d')](saveUpdates(_0x1675ff[_0xea7e('0x43')],null))[_0xea7e('0x1d')](respondWithResult(_0x42446c,null))[_0xea7e('0x3c')](handleError(_0x42446c,null));};exports[_0xea7e('0x1e')]=function(_0x5d4528,_0x4404e5){return db[_0xea7e('0x24')][_0xea7e('0x42')]({'where':{'id':_0x5d4528[_0xea7e('0x3e')]['id']}})[_0xea7e('0x1d')](handleEntityNotFound(_0x4404e5,null))[_0xea7e('0x1d')](removeEntity(_0x4404e5,null))['catch'](handleError(_0x4404e5,null));};exports[_0xea7e('0x45')]=function(_0x44beca,_0x3e7264){return db['SquareReport'][_0xea7e('0x45')]()[_0xea7e('0x1d')](respondWithResult(_0x3e7264,null))['catch'](handleError(_0x3e7264,null));};