9ec3b3e738dc6a1c9978eb587ef25279619cdd54
[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 _0xd6c4=['destroy','then','end','sendStatus','error','stack','name','map','fieldName','type','model','keys','filters','intersection','query','attributes','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','options','includeAll','SquareReport','findAll','rows','catch','show','rawAttributes','fields','include','create','body','update','params','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','querystring','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','offset','undefined','limit','count','set','json','apply','reject','save'];(function(_0x33d23a,_0x52c7fa){var _0x1f2761=function(_0x3d5c31){while(--_0x3d5c31){_0x33d23a['push'](_0x33d23a['shift']());}};_0x1f2761(++_0x52c7fa);}(_0xd6c4,0x198));var _0x4d6c=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0xd6c4[_0x3dd15e];return _0x231fd0;};'use strict';var emlformat=require(_0x4d6c('0x0'));var rimraf=require(_0x4d6c('0x1'));var zipdir=require(_0x4d6c('0x2'));var jsonpatch=require(_0x4d6c('0x3'));var rp=require(_0x4d6c('0x4'));var moment=require(_0x4d6c('0x5'));var BPromise=require(_0x4d6c('0x6'));var Mustache=require('mustache');var util=require(_0x4d6c('0x7'));var path=require(_0x4d6c('0x8'));var sox=require('sox');var csv=require(_0x4d6c('0x9'));var ejs=require(_0x4d6c('0xa'));var fs=require('fs');var fs_extra=require(_0x4d6c('0xb'));var _=require(_0x4d6c('0xc'));var squel=require(_0x4d6c('0xd'));var crypto=require('crypto');var jsforce=require(_0x4d6c('0xe'));var deskjs=require(_0x4d6c('0xf'));var toCsv=require(_0x4d6c('0x9'));var querystring=require(_0x4d6c('0x10'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x4d6c('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0x4d6c('0x12'));var hardwareService=require(_0x4d6c('0x13'));var logger=require(_0x4d6c('0x14'))(_0x4d6c('0x15'));var utils=require(_0x4d6c('0x16'));var config=require(_0x4d6c('0x17'));var licenseUtil=require(_0x4d6c('0x18'));var db=require(_0x4d6c('0x19'))['db'];function respondWithStatusCode(_0xd86380,_0x4c348f){_0x4c348f=_0x4c348f||0xcc;return function(_0x49f586){if(_0x49f586){return _0xd86380['sendStatus'](_0x4c348f);}return _0xd86380[_0x4d6c('0x1a')](_0x4c348f)['end']();};}function respondWithResult(_0x2beafd,_0x57da23){_0x57da23=_0x57da23||0xc8;return function(_0x12f98d){if(_0x12f98d){return _0x2beafd['status'](_0x57da23)['json'](_0x12f98d);}};}function respondWithFilteredResult(_0x14a4b6,_0x287f79){return function(_0x3e5089){if(_0x3e5089){var _0x2bbf4e=typeof _0x287f79[_0x4d6c('0x1b')]===_0x4d6c('0x1c')&&typeof _0x287f79[_0x4d6c('0x1d')]==='undefined';var _0x3b3176=_0x3e5089[_0x4d6c('0x1e')];var _0x3d2d69=_0x2bbf4e?0x0:_0x287f79[_0x4d6c('0x1b')];var _0x4a46ad=_0x2bbf4e?_0x3e5089['count']:_0x287f79[_0x4d6c('0x1b')]+_0x287f79[_0x4d6c('0x1d')];var _0x26d224;if(_0x4a46ad>=_0x3b3176){_0x4a46ad=_0x3b3176;_0x26d224=0xc8;}else{_0x26d224=0xce;}_0x14a4b6[_0x4d6c('0x1a')](_0x26d224);return _0x14a4b6[_0x4d6c('0x1f')]('Content-Range',_0x3d2d69+'-'+_0x4a46ad+'/'+_0x3b3176)[_0x4d6c('0x20')](_0x3e5089);}return null;};}function patchUpdates(_0x26bd65){return function(_0x4b16eb){try{jsonpatch[_0x4d6c('0x21')](_0x4b16eb,_0x26bd65,!![]);}catch(_0x149407){return BPromise[_0x4d6c('0x22')](_0x149407);}return _0x4b16eb[_0x4d6c('0x23')]();};}function saveUpdates(_0x211369,_0x248766){return function(_0x15efc8){if(_0x15efc8){return _0x15efc8['update'](_0x211369)['then'](function(_0x76c9a0){return _0x76c9a0;});}return null;};}function removeEntity(_0x9427e6,_0x24187b){return function(_0x8ea936){if(_0x8ea936){return _0x8ea936[_0x4d6c('0x24')]()[_0x4d6c('0x25')](function(){_0x9427e6['status'](0xcc)[_0x4d6c('0x26')]();});}};}function handleEntityNotFound(_0x420d2d,_0x440662){return function(_0x1f9ef8){if(!_0x1f9ef8){_0x420d2d[_0x4d6c('0x27')](0x194);}return _0x1f9ef8;};}function handleError(_0x2464fe,_0x2a68a8){_0x2a68a8=_0x2a68a8||0x1f4;return function(_0x2c291f){logger[_0x4d6c('0x28')](_0x2c291f[_0x4d6c('0x29')]);if(_0x2c291f[_0x4d6c('0x2a')]){delete _0x2c291f['name'];}_0x2464fe[_0x4d6c('0x1a')](_0x2a68a8)['send'](_0x2c291f);};}exports['index']=function(_0x158d76,_0x3aa6dd){var _0x2d6a52={},_0x45dc09={},_0x3e16e6={'count':0x0,'rows':[]};var _0x3bea70=_[_0x4d6c('0x2b')](db['SquareReport']['rawAttributes'],function(_0x1d89c9){return{'name':_0x1d89c9[_0x4d6c('0x2c')],'type':_0x1d89c9[_0x4d6c('0x2d')]['key']};});_0x45dc09[_0x4d6c('0x2e')]=_[_0x4d6c('0x2b')](_0x3bea70,_0x4d6c('0x2a'));_0x45dc09['query']=_[_0x4d6c('0x2f')](_0x158d76['query']);_0x45dc09[_0x4d6c('0x30')]=_[_0x4d6c('0x31')](_0x45dc09[_0x4d6c('0x2e')],_0x45dc09[_0x4d6c('0x32')]);_0x2d6a52['attributes']=_[_0x4d6c('0x31')](_0x45dc09['model'],qs['fields'](_0x158d76['query']['fields']));_0x2d6a52[_0x4d6c('0x33')]=_0x2d6a52[_0x4d6c('0x33')][_0x4d6c('0x34')]?_0x2d6a52[_0x4d6c('0x33')]:_0x45dc09[_0x4d6c('0x2e')];if(!_0x158d76[_0x4d6c('0x32')][_0x4d6c('0x35')](_0x4d6c('0x36'))){_0x2d6a52[_0x4d6c('0x1d')]=qs[_0x4d6c('0x1d')](_0x158d76[_0x4d6c('0x32')][_0x4d6c('0x1d')]);_0x2d6a52[_0x4d6c('0x1b')]=qs['offset'](_0x158d76['query'][_0x4d6c('0x1b')]);}_0x2d6a52[_0x4d6c('0x37')]=qs[_0x4d6c('0x38')](_0x158d76[_0x4d6c('0x32')][_0x4d6c('0x38')]);_0x2d6a52[_0x4d6c('0x39')]=qs['filters'](_['pick'](_0x158d76['query'],_0x45dc09['filters']),_0x3bea70);if(_0x158d76[_0x4d6c('0x32')][_0x4d6c('0x3a')]){_0x2d6a52['where']=_[_0x4d6c('0x3b')](_0x2d6a52[_0x4d6c('0x39')],{'$or':_[_0x4d6c('0x2b')](_0x3bea70,function(_0x1d9287){if(_0x1d9287['type']!=='VIRTUAL'){var _0x2cdd52={};_0x2cdd52[_0x1d9287[_0x4d6c('0x2a')]]={'$like':'%'+_0x158d76['query'][_0x4d6c('0x3a')]+'%'};return _0x2cdd52;}})});}_0x2d6a52=_[_0x4d6c('0x3b')]({},_0x2d6a52,_0x158d76[_0x4d6c('0x3c')]);var _0x29f592={'where':_0x2d6a52[_0x4d6c('0x39')]};return db['SquareReport'][_0x4d6c('0x1e')](_0x29f592)['then'](function(_0x458091){_0x3e16e6[_0x4d6c('0x1e')]=_0x458091;if(_0x158d76['query'][_0x4d6c('0x3d')]){_0x2d6a52['include']=[{'all':!![]}];}return db[_0x4d6c('0x3e')][_0x4d6c('0x3f')](_0x2d6a52);})[_0x4d6c('0x25')](function(_0x5655ed){_0x3e16e6[_0x4d6c('0x40')]=_0x5655ed;return _0x3e16e6;})[_0x4d6c('0x25')](respondWithFilteredResult(_0x3aa6dd,_0x2d6a52))[_0x4d6c('0x41')](handleError(_0x3aa6dd,null));};exports[_0x4d6c('0x42')]=function(_0x45f67b,_0x48f0e5){var _0x1112fe={'raw':!![],'where':{'id':_0x45f67b['params']['id']}},_0x588fa8={};_0x588fa8[_0x4d6c('0x2e')]=_['keys'](db[_0x4d6c('0x3e')][_0x4d6c('0x43')]);_0x588fa8['query']=_[_0x4d6c('0x2f')](_0x45f67b[_0x4d6c('0x32')]);_0x588fa8['filters']=_[_0x4d6c('0x31')](_0x588fa8[_0x4d6c('0x2e')],_0x588fa8[_0x4d6c('0x32')]);_0x1112fe[_0x4d6c('0x33')]=_[_0x4d6c('0x31')](_0x588fa8[_0x4d6c('0x2e')],qs['fields'](_0x45f67b[_0x4d6c('0x32')][_0x4d6c('0x44')]));_0x1112fe['attributes']=_0x1112fe[_0x4d6c('0x33')][_0x4d6c('0x34')]?_0x1112fe[_0x4d6c('0x33')]:_0x588fa8['model'];if(_0x45f67b[_0x4d6c('0x32')][_0x4d6c('0x3d')]){_0x1112fe[_0x4d6c('0x45')]=[{'all':!![]}];}_0x1112fe=_[_0x4d6c('0x3b')]({},_0x1112fe,_0x45f67b[_0x4d6c('0x3c')]);return db[_0x4d6c('0x3e')]['find'](_0x1112fe)['then'](handleEntityNotFound(_0x48f0e5,null))[_0x4d6c('0x25')](respondWithResult(_0x48f0e5,null))[_0x4d6c('0x41')](handleError(_0x48f0e5,null));};exports[_0x4d6c('0x46')]=function(_0x54dc14,_0x4e2c1f){return db[_0x4d6c('0x3e')][_0x4d6c('0x46')](_0x54dc14[_0x4d6c('0x47')],{})['then'](respondWithResult(_0x4e2c1f,0xc9))['catch'](handleError(_0x4e2c1f,null));};exports[_0x4d6c('0x48')]=function(_0x3d2729,_0x536299){if(_0x3d2729[_0x4d6c('0x47')]['id']){delete _0x3d2729[_0x4d6c('0x47')]['id'];}return db[_0x4d6c('0x3e')]['find']({'where':{'id':_0x3d2729['params']['id']}})[_0x4d6c('0x25')](handleEntityNotFound(_0x536299,null))[_0x4d6c('0x25')](saveUpdates(_0x3d2729['body'],null))[_0x4d6c('0x25')](respondWithResult(_0x536299,null))['catch'](handleError(_0x536299,null));};exports['destroy']=function(_0x50f422,_0x15f619){return db['SquareReport']['find']({'where':{'id':_0x50f422[_0x4d6c('0x49')]['id']}})[_0x4d6c('0x25')](handleEntityNotFound(_0x15f619,null))[_0x4d6c('0x25')](removeEntity(_0x15f619,null))[_0x4d6c('0x41')](handleError(_0x15f619,null));};exports['describe']=function(_0x179045,_0x2a4342){return db[_0x4d6c('0x3e')]['describe']()['then'](respondWithResult(_0x2a4342,null))['catch'](handleError(_0x2a4342,null));};