Built motion from commit 0900f080.|2.5.45
[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 _0xda48=['catch','create','body','describe','zip-dir','fast-json-patch','moment','mustache','util','path','ejs','fs-extra','lodash','squel','jsforce','desk.js','to-csv','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','undefined','limit','offset','count','Content-Range','apply','reject','save','update','then','destroy','stack','name','send','index','map','SquareReport','fieldName','type','key','query','intersection','model','attributes','fields','length','nolimit','order','sort','where','filters','pick','filter','merge','VIRTUAL','include','findAll','params','keys','rawAttributes','includeAll','find'];(function(_0x17356a,_0x2a88a5){var _0xb5d0ac=function(_0x194194){while(--_0x194194){_0x17356a['push'](_0x17356a['shift']());}};_0xb5d0ac(++_0x2a88a5);}(_0xda48,0x94));var _0x8da4=function(_0xc2120b,_0x439d09){_0xc2120b=_0xc2120b-0x0;var _0x10e35d=_0xda48[_0xc2120b];return _0x10e35d;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x8da4('0x0'));var jsonpatch=require(_0x8da4('0x1'));var rp=require('request-promise');var moment=require(_0x8da4('0x2'));var BPromise=require('bluebird');var Mustache=require(_0x8da4('0x3'));var util=require(_0x8da4('0x4'));var path=require(_0x8da4('0x5'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x8da4('0x6'));var fs=require('fs');var fs_extra=require(_0x8da4('0x7'));var _=require(_0x8da4('0x8'));var squel=require(_0x8da4('0x9'));var crypto=require('crypto');var jsforce=require(_0x8da4('0xa'));var deskjs=require(_0x8da4('0xb'));var toCsv=require(_0x8da4('0xc'));var querystring=require(_0x8da4('0xd'));var Papa=require(_0x8da4('0xe'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x8da4('0xf'));var as=require(_0x8da4('0x10'));var hardwareService=require(_0x8da4('0x11'));var logger=require('../../config/logger')(_0x8da4('0x12'));var utils=require(_0x8da4('0x13'));var config=require(_0x8da4('0x14'));var licenseUtil=require('../../config/license/util');var db=require(_0x8da4('0x15'))['db'];function respondWithStatusCode(_0xb32628,_0x9fdf3b){_0x9fdf3b=_0x9fdf3b||0xcc;return function(_0x5ca2f0){if(_0x5ca2f0){return _0xb32628[_0x8da4('0x16')](_0x9fdf3b);}return _0xb32628[_0x8da4('0x17')](_0x9fdf3b)[_0x8da4('0x18')]();};}function respondWithResult(_0x1ccc7f,_0x4ee334){_0x4ee334=_0x4ee334||0xc8;return function(_0x218e93){if(_0x218e93){return _0x1ccc7f[_0x8da4('0x17')](_0x4ee334)[_0x8da4('0x19')](_0x218e93);}};}function respondWithFilteredResult(_0x40952a,_0x969392){return function(_0x57e88a){if(_0x57e88a){var _0x308477=typeof _0x969392['offset']===_0x8da4('0x1a')&&typeof _0x969392[_0x8da4('0x1b')]===_0x8da4('0x1a');var _0x46cec2=_0x57e88a['count'];var _0x2b46da=_0x308477?0x0:_0x969392[_0x8da4('0x1c')];var _0x4fd0dd=_0x308477?_0x57e88a[_0x8da4('0x1d')]:_0x969392['offset']+_0x969392[_0x8da4('0x1b')];var _0x36fdd5;if(_0x4fd0dd>=_0x46cec2){_0x4fd0dd=_0x46cec2;_0x36fdd5=0xc8;}else{_0x36fdd5=0xce;}_0x40952a['status'](_0x36fdd5);return _0x40952a['set'](_0x8da4('0x1e'),_0x2b46da+'-'+_0x4fd0dd+'/'+_0x46cec2)[_0x8da4('0x19')](_0x57e88a);}return null;};}function patchUpdates(_0x4064bd){return function(_0x3574fa){try{jsonpatch[_0x8da4('0x1f')](_0x3574fa,_0x4064bd,!![]);}catch(_0x3fbf65){return BPromise[_0x8da4('0x20')](_0x3fbf65);}return _0x3574fa[_0x8da4('0x21')]();};}function saveUpdates(_0x54007d,_0x1cf33b){return function(_0x58c4ac){if(_0x58c4ac){return _0x58c4ac[_0x8da4('0x22')](_0x54007d)[_0x8da4('0x23')](function(_0xc994d0){return _0xc994d0;});}return null;};}function removeEntity(_0x32228d,_0x2993ad){return function(_0x4139f3){if(_0x4139f3){return _0x4139f3[_0x8da4('0x24')]()[_0x8da4('0x23')](function(){_0x32228d[_0x8da4('0x17')](0xcc)[_0x8da4('0x18')]();});}};}function handleEntityNotFound(_0x374079,_0x2f85fe){return function(_0xeb11bc){if(!_0xeb11bc){_0x374079['sendStatus'](0x194);}return _0xeb11bc;};}function handleError(_0x4bcc1e,_0x1646e1){_0x1646e1=_0x1646e1||0x1f4;return function(_0x442989){logger['error'](_0x442989[_0x8da4('0x25')]);if(_0x442989[_0x8da4('0x26')]){delete _0x442989[_0x8da4('0x26')];}_0x4bcc1e['status'](_0x1646e1)[_0x8da4('0x27')](_0x442989);};}exports[_0x8da4('0x28')]=function(_0x259323,_0x199dbc){var _0x4f1719={},_0x5cd89c={},_0x3d23ab={'count':0x0,'rows':[]};var _0x30c9b0=_[_0x8da4('0x29')](db[_0x8da4('0x2a')]['rawAttributes'],function(_0x274a57){return{'name':_0x274a57[_0x8da4('0x2b')],'type':_0x274a57[_0x8da4('0x2c')][_0x8da4('0x2d')]};});_0x5cd89c['model']=_[_0x8da4('0x29')](_0x30c9b0,_0x8da4('0x26'));_0x5cd89c[_0x8da4('0x2e')]=_['keys'](_0x259323[_0x8da4('0x2e')]);_0x5cd89c['filters']=_[_0x8da4('0x2f')](_0x5cd89c[_0x8da4('0x30')],_0x5cd89c[_0x8da4('0x2e')]);_0x4f1719[_0x8da4('0x31')]=_[_0x8da4('0x2f')](_0x5cd89c[_0x8da4('0x30')],qs[_0x8da4('0x32')](_0x259323[_0x8da4('0x2e')][_0x8da4('0x32')]));_0x4f1719['attributes']=_0x4f1719[_0x8da4('0x31')][_0x8da4('0x33')]?_0x4f1719[_0x8da4('0x31')]:_0x5cd89c[_0x8da4('0x30')];if(!_0x259323[_0x8da4('0x2e')]['hasOwnProperty'](_0x8da4('0x34'))){_0x4f1719[_0x8da4('0x1b')]=qs[_0x8da4('0x1b')](_0x259323[_0x8da4('0x2e')][_0x8da4('0x1b')]);_0x4f1719['offset']=qs[_0x8da4('0x1c')](_0x259323['query'][_0x8da4('0x1c')]);}_0x4f1719[_0x8da4('0x35')]=qs[_0x8da4('0x36')](_0x259323[_0x8da4('0x2e')][_0x8da4('0x36')]);_0x4f1719[_0x8da4('0x37')]=qs[_0x8da4('0x38')](_[_0x8da4('0x39')](_0x259323[_0x8da4('0x2e')],_0x5cd89c['filters']),_0x30c9b0);if(_0x259323['query'][_0x8da4('0x3a')]){_0x4f1719['where']=_[_0x8da4('0x3b')](_0x4f1719['where'],{'$or':_[_0x8da4('0x29')](_0x30c9b0,function(_0x3106c9){if(_0x3106c9[_0x8da4('0x2c')]!==_0x8da4('0x3c')){var _0x4537fb={};_0x4537fb[_0x3106c9[_0x8da4('0x26')]]={'$like':'%'+_0x259323[_0x8da4('0x2e')][_0x8da4('0x3a')]+'%'};return _0x4537fb;}})});}_0x4f1719=_[_0x8da4('0x3b')]({},_0x4f1719,_0x259323['options']);var _0x492818={'where':_0x4f1719[_0x8da4('0x37')]};return db[_0x8da4('0x2a')]['count'](_0x492818)['then'](function(_0x1472fb){_0x3d23ab[_0x8da4('0x1d')]=_0x1472fb;if(_0x259323[_0x8da4('0x2e')]['includeAll']){_0x4f1719[_0x8da4('0x3d')]=[{'all':!![]}];}return db['SquareReport'][_0x8da4('0x3e')](_0x4f1719);})[_0x8da4('0x23')](function(_0x1b43ef){_0x3d23ab['rows']=_0x1b43ef;return _0x3d23ab;})['then'](respondWithFilteredResult(_0x199dbc,_0x4f1719))['catch'](handleError(_0x199dbc,null));};exports['show']=function(_0x2b4e05,_0x169106){var _0x3b1f87={'raw':!![],'where':{'id':_0x2b4e05[_0x8da4('0x3f')]['id']}},_0x54e591={};_0x54e591[_0x8da4('0x30')]=_[_0x8da4('0x40')](db[_0x8da4('0x2a')][_0x8da4('0x41')]);_0x54e591[_0x8da4('0x2e')]=_[_0x8da4('0x40')](_0x2b4e05[_0x8da4('0x2e')]);_0x54e591[_0x8da4('0x38')]=_[_0x8da4('0x2f')](_0x54e591['model'],_0x54e591['query']);_0x3b1f87[_0x8da4('0x31')]=_[_0x8da4('0x2f')](_0x54e591[_0x8da4('0x30')],qs[_0x8da4('0x32')](_0x2b4e05[_0x8da4('0x2e')]['fields']));_0x3b1f87[_0x8da4('0x31')]=_0x3b1f87[_0x8da4('0x31')][_0x8da4('0x33')]?_0x3b1f87['attributes']:_0x54e591[_0x8da4('0x30')];if(_0x2b4e05[_0x8da4('0x2e')][_0x8da4('0x42')]){_0x3b1f87[_0x8da4('0x3d')]=[{'all':!![]}];}_0x3b1f87=_[_0x8da4('0x3b')]({},_0x3b1f87,_0x2b4e05['options']);return db[_0x8da4('0x2a')][_0x8da4('0x43')](_0x3b1f87)[_0x8da4('0x23')](handleEntityNotFound(_0x169106,null))[_0x8da4('0x23')](respondWithResult(_0x169106,null))[_0x8da4('0x44')](handleError(_0x169106,null));};exports[_0x8da4('0x45')]=function(_0x9889d1,_0x3149bf){return db['SquareReport']['create'](_0x9889d1['body'],{})[_0x8da4('0x23')](respondWithResult(_0x3149bf,0xc9))[_0x8da4('0x44')](handleError(_0x3149bf,null));};exports[_0x8da4('0x22')]=function(_0x308dd0,_0x21f0e4){if(_0x308dd0[_0x8da4('0x46')]['id']){delete _0x308dd0[_0x8da4('0x46')]['id'];}return db[_0x8da4('0x2a')][_0x8da4('0x43')]({'where':{'id':_0x308dd0['params']['id']}})['then'](handleEntityNotFound(_0x21f0e4,null))['then'](saveUpdates(_0x308dd0[_0x8da4('0x46')],null))[_0x8da4('0x23')](respondWithResult(_0x21f0e4,null))[_0x8da4('0x44')](handleError(_0x21f0e4,null));};exports[_0x8da4('0x24')]=function(_0xab1db0,_0x457c94){return db[_0x8da4('0x2a')][_0x8da4('0x43')]({'where':{'id':_0xab1db0[_0x8da4('0x3f')]['id']}})['then'](handleEntityNotFound(_0x457c94,null))[_0x8da4('0x23')](removeEntity(_0x457c94,null))['catch'](handleError(_0x457c94,null));};exports[_0x8da4('0x47')]=function(_0xe4da87,_0x493af2){return db[_0x8da4('0x2a')]['describe']()[_0x8da4('0x23')](respondWithResult(_0x493af2,null))['catch'](handleError(_0x493af2,null));};