1f1eceb575067c6fb817eca99c595f62b0a4346c
[motion2.git] / server / api / squareReportDetail / squareReportDetail.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 _0xce5d=['sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','set','Content-Range','apply','reject','save','update','destroy','then','stack','name','send','index','map','rawAttributes','fieldName','type','key','model','query','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','pick','filters','filter','where','merge','options','count','includeAll','include','SquareDetailsReport','rows','catch','show','params','find','create','body','describe','eml-format','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path'];(function(_0x307d86,_0x9264f2){var _0x361745=function(_0x1b64e1){while(--_0x1b64e1){_0x307d86['push'](_0x307d86['shift']());}};_0x361745(++_0x9264f2);}(_0xce5d,0xe8));var _0xdce5=function(_0x117fb1,_0x4b9774){_0x117fb1=_0x117fb1-0x0;var _0x53db22=_0xce5d[_0x117fb1];return _0x53db22;};'use strict';var emlformat=require(_0xdce5('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xdce5('0x1'));var jsonpatch=require(_0xdce5('0x2'));var rp=require(_0xdce5('0x3'));var moment=require(_0xdce5('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xdce5('0x5'));var util=require(_0xdce5('0x6'));var path=require(_0xdce5('0x7'));var sox=require(_0xdce5('0x8'));var csv=require(_0xdce5('0x9'));var ejs=require(_0xdce5('0xa'));var fs=require('fs');var fs_extra=require(_0xdce5('0xb'));var _=require(_0xdce5('0xc'));var squel=require(_0xdce5('0xd'));var crypto=require(_0xdce5('0xe'));var jsforce=require(_0xdce5('0xf'));var deskjs=require(_0xdce5('0x10'));var toCsv=require(_0xdce5('0x9'));var querystring=require(_0xdce5('0x11'));var Papa=require('papaparse');var Redis=require(_0xdce5('0x12'));var authService=require(_0xdce5('0x13'));var qs=require(_0xdce5('0x14'));var as=require(_0xdce5('0x15'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xdce5('0x16'))(_0xdce5('0x17'));var utils=require(_0xdce5('0x18'));var config=require(_0xdce5('0x19'));var licenseUtil=require(_0xdce5('0x1a'));var db=require(_0xdce5('0x1b'))['db'];function respondWithStatusCode(_0x12cd2f,_0x513058){_0x513058=_0x513058||0xcc;return function(_0x4c893e){if(_0x4c893e){return _0x12cd2f[_0xdce5('0x1c')](_0x513058);}return _0x12cd2f['status'](_0x513058)[_0xdce5('0x1d')]();};}function respondWithResult(_0x2695cd,_0x955d92){_0x955d92=_0x955d92||0xc8;return function(_0x134392){if(_0x134392){return _0x2695cd[_0xdce5('0x1e')](_0x955d92)[_0xdce5('0x1f')](_0x134392);}};}function respondWithFilteredResult(_0x49e842,_0xbba0ee){return function(_0x75ec7c){if(_0x75ec7c){var _0x1aa068=typeof _0xbba0ee[_0xdce5('0x20')]===_0xdce5('0x21')&&typeof _0xbba0ee[_0xdce5('0x22')]===_0xdce5('0x21');var _0x2dbb59=_0x75ec7c['count'];var _0x3ac953=_0x1aa068?0x0:_0xbba0ee['offset'];var _0x4ba445=_0x1aa068?_0x75ec7c['count']:_0xbba0ee[_0xdce5('0x20')]+_0xbba0ee['limit'];var _0x3e22bf;if(_0x4ba445>=_0x2dbb59){_0x4ba445=_0x2dbb59;_0x3e22bf=0xc8;}else{_0x3e22bf=0xce;}_0x49e842[_0xdce5('0x1e')](_0x3e22bf);return _0x49e842[_0xdce5('0x23')](_0xdce5('0x24'),_0x3ac953+'-'+_0x4ba445+'/'+_0x2dbb59)[_0xdce5('0x1f')](_0x75ec7c);}return null;};}function patchUpdates(_0x4a60e2){return function(_0xb689f3){try{jsonpatch[_0xdce5('0x25')](_0xb689f3,_0x4a60e2,!![]);}catch(_0x235125){return BPromise[_0xdce5('0x26')](_0x235125);}return _0xb689f3[_0xdce5('0x27')]();};}function saveUpdates(_0xeff476,_0x14054a){return function(_0x52a8b2){if(_0x52a8b2){return _0x52a8b2[_0xdce5('0x28')](_0xeff476)['then'](function(_0x30b21a){return _0x30b21a;});}return null;};}function removeEntity(_0x58dae8,_0xb8bba7){return function(_0x34dc82){if(_0x34dc82){return _0x34dc82[_0xdce5('0x29')]()[_0xdce5('0x2a')](function(){_0x58dae8['status'](0xcc)[_0xdce5('0x1d')]();});}};}function handleEntityNotFound(_0x17af28,_0x1729da){return function(_0x485321){if(!_0x485321){_0x17af28['sendStatus'](0x194);}return _0x485321;};}function handleError(_0xb9736e,_0x3b83b5){_0x3b83b5=_0x3b83b5||0x1f4;return function(_0xcf4858){logger['error'](_0xcf4858[_0xdce5('0x2b')]);if(_0xcf4858[_0xdce5('0x2c')]){delete _0xcf4858[_0xdce5('0x2c')];}_0xb9736e[_0xdce5('0x1e')](_0x3b83b5)[_0xdce5('0x2d')](_0xcf4858);};}exports[_0xdce5('0x2e')]=function(_0x125472,_0x5ab65c){var _0x20d7f6={},_0x5a1e28={},_0x3e8544={'count':0x0,'rows':[]};var _0x5ae369=_[_0xdce5('0x2f')](db['SquareDetailsReport'][_0xdce5('0x30')],function(_0x8a3f72){return{'name':_0x8a3f72[_0xdce5('0x31')],'type':_0x8a3f72[_0xdce5('0x32')][_0xdce5('0x33')]};});_0x5a1e28[_0xdce5('0x34')]=_[_0xdce5('0x2f')](_0x5ae369,'name');_0x5a1e28[_0xdce5('0x35')]=_['keys'](_0x125472[_0xdce5('0x35')]);_0x5a1e28['filters']=_['intersection'](_0x5a1e28[_0xdce5('0x34')],_0x5a1e28['query']);_0x20d7f6['attributes']=_[_0xdce5('0x36')](_0x5a1e28[_0xdce5('0x34')],qs[_0xdce5('0x37')](_0x125472[_0xdce5('0x35')][_0xdce5('0x37')]));_0x20d7f6[_0xdce5('0x38')]=_0x20d7f6['attributes'][_0xdce5('0x39')]?_0x20d7f6[_0xdce5('0x38')]:_0x5a1e28[_0xdce5('0x34')];if(!_0x125472[_0xdce5('0x35')][_0xdce5('0x3a')](_0xdce5('0x3b'))){_0x20d7f6[_0xdce5('0x22')]=qs['limit'](_0x125472[_0xdce5('0x35')][_0xdce5('0x22')]);_0x20d7f6[_0xdce5('0x20')]=qs[_0xdce5('0x20')](_0x125472['query'][_0xdce5('0x20')]);}_0x20d7f6[_0xdce5('0x3c')]=qs['sort'](_0x125472[_0xdce5('0x35')][_0xdce5('0x3d')]);_0x20d7f6['where']=qs['filters'](_[_0xdce5('0x3e')](_0x125472[_0xdce5('0x35')],_0x5a1e28[_0xdce5('0x3f')]),_0x5ae369);if(_0x125472[_0xdce5('0x35')][_0xdce5('0x40')]){_0x20d7f6[_0xdce5('0x41')]=_[_0xdce5('0x42')](_0x20d7f6[_0xdce5('0x41')],{'$or':_['map'](_0x5ae369,function(_0xb7534b){if(_0xb7534b[_0xdce5('0x32')]!=='VIRTUAL'){var _0x11a9f3={};_0x11a9f3[_0xb7534b[_0xdce5('0x2c')]]={'$like':'%'+_0x125472[_0xdce5('0x35')]['filter']+'%'};return _0x11a9f3;}})});}_0x20d7f6=_[_0xdce5('0x42')]({},_0x20d7f6,_0x125472[_0xdce5('0x43')]);var _0x55a064={'where':_0x20d7f6[_0xdce5('0x41')]};return db['SquareDetailsReport'][_0xdce5('0x44')](_0x55a064)['then'](function(_0x266760){_0x3e8544[_0xdce5('0x44')]=_0x266760;if(_0x125472[_0xdce5('0x35')][_0xdce5('0x45')]){_0x20d7f6[_0xdce5('0x46')]=[{'all':!![]}];}return db[_0xdce5('0x47')]['findAll'](_0x20d7f6);})['then'](function(_0x2f6da1){_0x3e8544[_0xdce5('0x48')]=_0x2f6da1;return _0x3e8544;})[_0xdce5('0x2a')](respondWithFilteredResult(_0x5ab65c,_0x20d7f6))[_0xdce5('0x49')](handleError(_0x5ab65c,null));};exports[_0xdce5('0x4a')]=function(_0x48bb8f,_0x224918){var _0x21b506={'raw':!![],'where':{'id':_0x48bb8f[_0xdce5('0x4b')]['id']}},_0x2478cb={};_0x2478cb[_0xdce5('0x34')]=_['keys'](db[_0xdce5('0x47')]['rawAttributes']);_0x2478cb[_0xdce5('0x35')]=_['keys'](_0x48bb8f[_0xdce5('0x35')]);_0x2478cb['filters']=_[_0xdce5('0x36')](_0x2478cb['model'],_0x2478cb[_0xdce5('0x35')]);_0x21b506[_0xdce5('0x38')]=_[_0xdce5('0x36')](_0x2478cb[_0xdce5('0x34')],qs['fields'](_0x48bb8f[_0xdce5('0x35')][_0xdce5('0x37')]));_0x21b506['attributes']=_0x21b506['attributes'][_0xdce5('0x39')]?_0x21b506[_0xdce5('0x38')]:_0x2478cb[_0xdce5('0x34')];if(_0x48bb8f[_0xdce5('0x35')][_0xdce5('0x45')]){_0x21b506[_0xdce5('0x46')]=[{'all':!![]}];}_0x21b506=_[_0xdce5('0x42')]({},_0x21b506,_0x48bb8f['options']);return db[_0xdce5('0x47')][_0xdce5('0x4c')](_0x21b506)[_0xdce5('0x2a')](handleEntityNotFound(_0x224918,null))['then'](respondWithResult(_0x224918,null))[_0xdce5('0x49')](handleError(_0x224918,null));};exports[_0xdce5('0x4d')]=function(_0x446559,_0xa3b0ba){return db[_0xdce5('0x47')][_0xdce5('0x4d')](_0x446559[_0xdce5('0x4e')],{})['then'](respondWithResult(_0xa3b0ba,0xc9))[_0xdce5('0x49')](handleError(_0xa3b0ba,null));};exports[_0xdce5('0x28')]=function(_0x323eff,_0x42b066){if(_0x323eff[_0xdce5('0x4e')]['id']){delete _0x323eff[_0xdce5('0x4e')]['id'];}return db[_0xdce5('0x47')][_0xdce5('0x4c')]({'where':{'id':_0x323eff['params']['id']}})['then'](handleEntityNotFound(_0x42b066,null))[_0xdce5('0x2a')](saveUpdates(_0x323eff['body'],null))[_0xdce5('0x2a')](respondWithResult(_0x42b066,null))[_0xdce5('0x49')](handleError(_0x42b066,null));};exports[_0xdce5('0x29')]=function(_0x3cccb5,_0x51d47a){return db[_0xdce5('0x47')][_0xdce5('0x4c')]({'where':{'id':_0x3cccb5[_0xdce5('0x4b')]['id']}})[_0xdce5('0x2a')](handleEntityNotFound(_0x51d47a,null))[_0xdce5('0x2a')](removeEntity(_0x51d47a,null))[_0xdce5('0x49')](handleError(_0x51d47a,null));};exports['describe']=function(_0x374381,_0x46ec0c){return db[_0xdce5('0x47')][_0xdce5('0x4f')]()['then'](respondWithResult(_0x46ec0c,null))[_0xdce5('0x49')](handleError(_0x46ec0c,null));};