Built motion from commit 9d1906d1.|2.5.40
[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 _0x1cef=['model','query','keys','filters','intersection','attributes','fields','length','nolimit','order','sort','where','pick','filter','VIRTUAL','merge','options','SquareReport','rows','show','includeAll','include','find','create','body','catch','params','describe','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','sox','to-csv','fs-extra','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','end','status','offset','limit','undefined','count','set','Content-Range','json','apply','reject','update','then','destroy','stack','name','send','map','rawAttributes','fieldName'];(function(_0x21a9d9,_0x4d5ac8){var _0x46adce=function(_0xfdd336){while(--_0xfdd336){_0x21a9d9['push'](_0x21a9d9['shift']());}};_0x46adce(++_0x4d5ac8);}(_0x1cef,0x1c6));var _0xf1ce=function(_0x4ed1d4,_0x512d9a){_0x4ed1d4=_0x4ed1d4-0x0;var _0x28e363=_0x1cef[_0x4ed1d4];return _0x28e363;};'use strict';var emlformat=require(_0xf1ce('0x0'));var rimraf=require(_0xf1ce('0x1'));var zipdir=require(_0xf1ce('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xf1ce('0x3'));var moment=require(_0xf1ce('0x4'));var BPromise=require(_0xf1ce('0x5'));var Mustache=require(_0xf1ce('0x6'));var util=require('util');var path=require('path');var sox=require(_0xf1ce('0x7'));var csv=require(_0xf1ce('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xf1ce('0x9'));var _=require('lodash');var squel=require(_0xf1ce('0xa'));var crypto=require(_0xf1ce('0xb'));var jsforce=require(_0xf1ce('0xc'));var deskjs=require(_0xf1ce('0xd'));var toCsv=require(_0xf1ce('0x8'));var querystring=require('querystring');var Papa=require(_0xf1ce('0xe'));var Redis=require(_0xf1ce('0xf'));var authService=require(_0xf1ce('0x10'));var qs=require(_0xf1ce('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0xf1ce('0x12'));var utils=require(_0xf1ce('0x13'));var config=require(_0xf1ce('0x14'));var licenseUtil=require('../../config/license/util');var db=require(_0xf1ce('0x15'))['db'];function respondWithStatusCode(_0x5a93a9,_0x193360){_0x193360=_0x193360||0xcc;return function(_0x5ed0b9){if(_0x5ed0b9){return _0x5a93a9[_0xf1ce('0x16')](_0x193360);}return _0x5a93a9['status'](_0x193360)[_0xf1ce('0x17')]();};}function respondWithResult(_0x560cfc,_0x4f631e){_0x4f631e=_0x4f631e||0xc8;return function(_0x5cb1cb){if(_0x5cb1cb){return _0x560cfc[_0xf1ce('0x18')](_0x4f631e)['json'](_0x5cb1cb);}};}function respondWithFilteredResult(_0x1e5f3b,_0x5cc35f){return function(_0x27737f){if(_0x27737f){var _0x1fcce0=typeof _0x5cc35f[_0xf1ce('0x19')]==='undefined'&&typeof _0x5cc35f[_0xf1ce('0x1a')]===_0xf1ce('0x1b');var _0x3e2629=_0x27737f[_0xf1ce('0x1c')];var _0x381988=_0x1fcce0?0x0:_0x5cc35f[_0xf1ce('0x19')];var _0x4c5798=_0x1fcce0?_0x27737f[_0xf1ce('0x1c')]:_0x5cc35f[_0xf1ce('0x19')]+_0x5cc35f[_0xf1ce('0x1a')];var _0x128c13;if(_0x4c5798>=_0x3e2629){_0x4c5798=_0x3e2629;_0x128c13=0xc8;}else{_0x128c13=0xce;}_0x1e5f3b[_0xf1ce('0x18')](_0x128c13);return _0x1e5f3b[_0xf1ce('0x1d')](_0xf1ce('0x1e'),_0x381988+'-'+_0x4c5798+'/'+_0x3e2629)[_0xf1ce('0x1f')](_0x27737f);}return null;};}function patchUpdates(_0x24ec1c){return function(_0x2ffe72){try{jsonpatch[_0xf1ce('0x20')](_0x2ffe72,_0x24ec1c,!![]);}catch(_0x136891){return BPromise[_0xf1ce('0x21')](_0x136891);}return _0x2ffe72['save']();};}function saveUpdates(_0x53e24f,_0x28b5ee){return function(_0x4a9921){if(_0x4a9921){return _0x4a9921[_0xf1ce('0x22')](_0x53e24f)[_0xf1ce('0x23')](function(_0x186253){return _0x186253;});}return null;};}function removeEntity(_0x1598b6,_0xbb54c4){return function(_0x4559f8){if(_0x4559f8){return _0x4559f8[_0xf1ce('0x24')]()[_0xf1ce('0x23')](function(){_0x1598b6[_0xf1ce('0x18')](0xcc)[_0xf1ce('0x17')]();});}};}function handleEntityNotFound(_0x10dbc4,_0x5311b7){return function(_0x226bfd){if(!_0x226bfd){_0x10dbc4[_0xf1ce('0x16')](0x194);}return _0x226bfd;};}function handleError(_0x50dd67,_0x54249c){_0x54249c=_0x54249c||0x1f4;return function(_0x1df194){logger['error'](_0x1df194[_0xf1ce('0x25')]);if(_0x1df194[_0xf1ce('0x26')]){delete _0x1df194['name'];}_0x50dd67[_0xf1ce('0x18')](_0x54249c)[_0xf1ce('0x27')](_0x1df194);};}exports['index']=function(_0x5ad716,_0x10041c){var _0x1d8421={},_0x57f43c={},_0x5a6c31={'count':0x0,'rows':[]};var _0x3701fd=_[_0xf1ce('0x28')](db['SquareReport'][_0xf1ce('0x29')],function(_0x2e0c46){return{'name':_0x2e0c46[_0xf1ce('0x2a')],'type':_0x2e0c46['type']['key']};});_0x57f43c[_0xf1ce('0x2b')]=_[_0xf1ce('0x28')](_0x3701fd,'name');_0x57f43c[_0xf1ce('0x2c')]=_[_0xf1ce('0x2d')](_0x5ad716[_0xf1ce('0x2c')]);_0x57f43c[_0xf1ce('0x2e')]=_[_0xf1ce('0x2f')](_0x57f43c[_0xf1ce('0x2b')],_0x57f43c[_0xf1ce('0x2c')]);_0x1d8421[_0xf1ce('0x30')]=_[_0xf1ce('0x2f')](_0x57f43c[_0xf1ce('0x2b')],qs[_0xf1ce('0x31')](_0x5ad716['query']['fields']));_0x1d8421[_0xf1ce('0x30')]=_0x1d8421['attributes'][_0xf1ce('0x32')]?_0x1d8421[_0xf1ce('0x30')]:_0x57f43c[_0xf1ce('0x2b')];if(!_0x5ad716[_0xf1ce('0x2c')]['hasOwnProperty'](_0xf1ce('0x33'))){_0x1d8421['limit']=qs[_0xf1ce('0x1a')](_0x5ad716[_0xf1ce('0x2c')][_0xf1ce('0x1a')]);_0x1d8421[_0xf1ce('0x19')]=qs['offset'](_0x5ad716[_0xf1ce('0x2c')][_0xf1ce('0x19')]);}_0x1d8421[_0xf1ce('0x34')]=qs[_0xf1ce('0x35')](_0x5ad716[_0xf1ce('0x2c')][_0xf1ce('0x35')]);_0x1d8421[_0xf1ce('0x36')]=qs[_0xf1ce('0x2e')](_[_0xf1ce('0x37')](_0x5ad716[_0xf1ce('0x2c')],_0x57f43c['filters']),_0x3701fd);if(_0x5ad716[_0xf1ce('0x2c')][_0xf1ce('0x38')]){_0x1d8421[_0xf1ce('0x36')]=_['merge'](_0x1d8421[_0xf1ce('0x36')],{'$or':_[_0xf1ce('0x28')](_0x3701fd,function(_0x4da74a){if(_0x4da74a['type']!==_0xf1ce('0x39')){var _0x33fdb4={};_0x33fdb4[_0x4da74a[_0xf1ce('0x26')]]={'$like':'%'+_0x5ad716[_0xf1ce('0x2c')][_0xf1ce('0x38')]+'%'};return _0x33fdb4;}})});}_0x1d8421=_[_0xf1ce('0x3a')]({},_0x1d8421,_0x5ad716[_0xf1ce('0x3b')]);var _0x8ed4d1={'where':_0x1d8421['where']};return db[_0xf1ce('0x3c')][_0xf1ce('0x1c')](_0x8ed4d1)['then'](function(_0x1d9d0e){_0x5a6c31[_0xf1ce('0x1c')]=_0x1d9d0e;if(_0x5ad716['query']['includeAll']){_0x1d8421['include']=[{'all':!![]}];}return db[_0xf1ce('0x3c')]['findAll'](_0x1d8421);})['then'](function(_0x31cca7){_0x5a6c31[_0xf1ce('0x3d')]=_0x31cca7;return _0x5a6c31;})[_0xf1ce('0x23')](respondWithFilteredResult(_0x10041c,_0x1d8421))['catch'](handleError(_0x10041c,null));};exports[_0xf1ce('0x3e')]=function(_0x154d9c,_0x27dbf9){var _0x1a7c71={'raw':!![],'where':{'id':_0x154d9c['params']['id']}},_0x25d421={};_0x25d421[_0xf1ce('0x2b')]=_[_0xf1ce('0x2d')](db['SquareReport'][_0xf1ce('0x29')]);_0x25d421[_0xf1ce('0x2c')]=_['keys'](_0x154d9c['query']);_0x25d421[_0xf1ce('0x2e')]=_['intersection'](_0x25d421[_0xf1ce('0x2b')],_0x25d421[_0xf1ce('0x2c')]);_0x1a7c71[_0xf1ce('0x30')]=_[_0xf1ce('0x2f')](_0x25d421['model'],qs['fields'](_0x154d9c[_0xf1ce('0x2c')][_0xf1ce('0x31')]));_0x1a7c71[_0xf1ce('0x30')]=_0x1a7c71[_0xf1ce('0x30')][_0xf1ce('0x32')]?_0x1a7c71[_0xf1ce('0x30')]:_0x25d421['model'];if(_0x154d9c[_0xf1ce('0x2c')][_0xf1ce('0x3f')]){_0x1a7c71[_0xf1ce('0x40')]=[{'all':!![]}];}_0x1a7c71=_['merge']({},_0x1a7c71,_0x154d9c[_0xf1ce('0x3b')]);return db[_0xf1ce('0x3c')][_0xf1ce('0x41')](_0x1a7c71)[_0xf1ce('0x23')](handleEntityNotFound(_0x27dbf9,null))[_0xf1ce('0x23')](respondWithResult(_0x27dbf9,null))['catch'](handleError(_0x27dbf9,null));};exports[_0xf1ce('0x42')]=function(_0x3aa366,_0x3f3cc1){return db['SquareReport'][_0xf1ce('0x42')](_0x3aa366[_0xf1ce('0x43')],{})[_0xf1ce('0x23')](respondWithResult(_0x3f3cc1,0xc9))[_0xf1ce('0x44')](handleError(_0x3f3cc1,null));};exports['update']=function(_0x3baae3,_0x169b88){if(_0x3baae3[_0xf1ce('0x43')]['id']){delete _0x3baae3[_0xf1ce('0x43')]['id'];}return db[_0xf1ce('0x3c')]['find']({'where':{'id':_0x3baae3[_0xf1ce('0x45')]['id']}})[_0xf1ce('0x23')](handleEntityNotFound(_0x169b88,null))[_0xf1ce('0x23')](saveUpdates(_0x3baae3['body'],null))[_0xf1ce('0x23')](respondWithResult(_0x169b88,null))[_0xf1ce('0x44')](handleError(_0x169b88,null));};exports[_0xf1ce('0x24')]=function(_0x929c5e,_0xb1280){return db[_0xf1ce('0x3c')][_0xf1ce('0x41')]({'where':{'id':_0x929c5e[_0xf1ce('0x45')]['id']}})['then'](handleEntityNotFound(_0xb1280,null))[_0xf1ce('0x23')](removeEntity(_0xb1280,null))[_0xf1ce('0x44')](handleError(_0xb1280,null));};exports[_0xf1ce('0x46')]=function(_0x3c4533,_0xa469d6){return db[_0xf1ce('0x3c')][_0xf1ce('0x46')]()[_0xf1ce('0x23')](respondWithResult(_0xa469d6,null))[_0xf1ce('0x44')](handleError(_0xa469d6,null));};