b63a759ca5922f9f1efb883a8e095f035f5bed30
[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 _0x3e0c=['pick','filter','merge','include','findAll','rows','catch','show','params','includeAll','find','create','body','destroy','describe','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','path','squel','crypto','jsforce','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','status','end','json','count','offset','limit','set','Content-Range','reject','save','update','then','error','stack','name','send','map','SquareReport','rawAttributes','fieldName','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where'];(function(_0x57e818,_0x2436ff){var _0x201001=function(_0x5166f8){while(--_0x5166f8){_0x57e818['push'](_0x57e818['shift']());}};_0x201001(++_0x2436ff);}(_0x3e0c,0x16d));var _0xc3e0=function(_0x539533,_0x59b89b){_0x539533=_0x539533-0x0;var _0x3942f3=_0x3e0c[_0x539533];return _0x3942f3;};'use strict';var pdf=require(_0xc3e0('0x0'));var emlformat=require(_0xc3e0('0x1'));var rimraf=require(_0xc3e0('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0xc3e0('0x3'));var rp=require(_0xc3e0('0x4'));var moment=require(_0xc3e0('0x5'));var BPromise=require(_0xc3e0('0x6'));var Mustache=require(_0xc3e0('0x7'));var util=require('util');var path=require(_0xc3e0('0x8'));var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0xc3e0('0x9'));var crypto=require(_0xc3e0('0xa'));var jsforce=require(_0xc3e0('0xb'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xc3e0('0xc'));var authService=require(_0xc3e0('0xd'));var qs=require(_0xc3e0('0xe'));var as=require(_0xc3e0('0xf'));var hardwareService=require(_0xc3e0('0x10'));var logger=require(_0xc3e0('0x11'))(_0xc3e0('0x12'));var utils=require('../../config/utils');var config=require(_0xc3e0('0x13'));var licenseUtil=require('../../config/license/util');var db=require(_0xc3e0('0x14'))['db'];function respondWithStatusCode(_0x13e297,_0x485fc4){_0x485fc4=_0x485fc4||0xcc;return function(_0x112a9e){if(_0x112a9e){return _0x13e297['sendStatus'](_0x485fc4);}return _0x13e297[_0xc3e0('0x15')](_0x485fc4)[_0xc3e0('0x16')]();};}function respondWithResult(_0x1c5e25,_0x18c9f7){_0x18c9f7=_0x18c9f7||0xc8;return function(_0x31ea6d){if(_0x31ea6d){return _0x1c5e25[_0xc3e0('0x15')](_0x18c9f7)[_0xc3e0('0x17')](_0x31ea6d);}};}function respondWithFilteredResult(_0x507cda,_0x23f3b8){return function(_0x1c53b7){if(_0x1c53b7){var _0x5a1e1a=_0x1c53b7[_0xc3e0('0x18')],_0x453fac=_0x23f3b8[_0xc3e0('0x19')],_0x10aa37=_0x23f3b8[_0xc3e0('0x19')]+_0x23f3b8[_0xc3e0('0x1a')],_0x25891a;if(_0x10aa37>=_0x5a1e1a){_0x10aa37=_0x5a1e1a;_0x25891a=0xc8;}else{_0x25891a=0xce;}_0x507cda[_0xc3e0('0x15')](_0x25891a);return _0x507cda[_0xc3e0('0x1b')](_0xc3e0('0x1c'),_0x453fac+'-'+_0x10aa37+'/'+_0x5a1e1a)[_0xc3e0('0x17')](_0x1c53b7);}return null;};}function patchUpdates(_0x124272){return function(_0x281b7a){try{jsonpatch['apply'](_0x281b7a,_0x124272,!![]);}catch(_0x238f0e){return BPromise[_0xc3e0('0x1d')](_0x238f0e);}return _0x281b7a[_0xc3e0('0x1e')]();};}function saveUpdates(_0x1c73d1,_0x40c7df){return function(_0x58a2e1){if(_0x58a2e1){return _0x58a2e1[_0xc3e0('0x1f')](_0x1c73d1)['then'](function(_0x3118ed){return _0x3118ed;});}return null;};}function removeEntity(_0xcc3fe4,_0x1ff14b){return function(_0x572473){if(_0x572473){return _0x572473['destroy']()[_0xc3e0('0x20')](function(){_0xcc3fe4['status'](0xcc)[_0xc3e0('0x16')]();});}};}function handleEntityNotFound(_0x514488,_0x3c27ef){return function(_0x294b05){if(!_0x294b05){_0x514488['sendStatus'](0x194);}return _0x294b05;};}function handleError(_0x7218b3,_0x4c6b62){_0x4c6b62=_0x4c6b62||0x1f4;return function(_0x278e27){logger[_0xc3e0('0x21')](_0x278e27[_0xc3e0('0x22')]);if(_0x278e27[_0xc3e0('0x23')]){delete _0x278e27['name'];}_0x7218b3[_0xc3e0('0x15')](_0x4c6b62)[_0xc3e0('0x24')](_0x278e27);};}exports['index']=function(_0xe36f13,_0x25ddaf){var _0x429e6d={},_0x2f0b2b={},_0x57ddd5={'count':0x0,'rows':[]};var _0xeca260=_[_0xc3e0('0x25')](db[_0xc3e0('0x26')][_0xc3e0('0x27')],function(_0x36e1ab){return{'name':_0x36e1ab[_0xc3e0('0x28')],'type':_0x36e1ab['type'][_0xc3e0('0x29')]};});_0x2f0b2b[_0xc3e0('0x2a')]=_[_0xc3e0('0x25')](_0xeca260,_0xc3e0('0x23'));_0x2f0b2b[_0xc3e0('0x2b')]=_[_0xc3e0('0x2c')](_0xe36f13[_0xc3e0('0x2b')]);_0x2f0b2b[_0xc3e0('0x2d')]=_[_0xc3e0('0x2e')](_0x2f0b2b[_0xc3e0('0x2a')],_0x2f0b2b[_0xc3e0('0x2b')]);_0x429e6d[_0xc3e0('0x2f')]=_[_0xc3e0('0x2e')](_0x2f0b2b[_0xc3e0('0x2a')],qs['fields'](_0xe36f13[_0xc3e0('0x2b')][_0xc3e0('0x30')]));_0x429e6d[_0xc3e0('0x2f')]=_0x429e6d[_0xc3e0('0x2f')][_0xc3e0('0x31')]?_0x429e6d['attributes']:_0x2f0b2b[_0xc3e0('0x2a')];if(!_0xe36f13['query'][_0xc3e0('0x32')](_0xc3e0('0x33'))){_0x429e6d[_0xc3e0('0x1a')]=qs[_0xc3e0('0x1a')](_0xe36f13[_0xc3e0('0x2b')]['limit']);_0x429e6d[_0xc3e0('0x19')]=qs[_0xc3e0('0x19')](_0xe36f13['query']['offset']);}_0x429e6d[_0xc3e0('0x34')]=qs['sort'](_0xe36f13[_0xc3e0('0x2b')][_0xc3e0('0x35')]);_0x429e6d[_0xc3e0('0x36')]=qs[_0xc3e0('0x2d')](_[_0xc3e0('0x37')](_0xe36f13[_0xc3e0('0x2b')],_0x2f0b2b[_0xc3e0('0x2d')]),_0xeca260);if(_0xe36f13[_0xc3e0('0x2b')][_0xc3e0('0x38')]){_0x429e6d['where']=_[_0xc3e0('0x39')](_0x429e6d['where'],{'$or':_[_0xc3e0('0x25')](_0xeca260,function(_0xa75220){if(_0xa75220['type']!=='VIRTUAL'){var _0x47c5db={};_0x47c5db[_0xa75220[_0xc3e0('0x23')]]={'$like':'%'+_0xe36f13['query'][_0xc3e0('0x38')]+'%'};return _0x47c5db;}})});}_0x429e6d=_[_0xc3e0('0x39')]({},_0x429e6d,_0xe36f13['options']);var _0x3dec8a={'where':_0x429e6d['where']};return db['SquareReport'][_0xc3e0('0x18')](_0x3dec8a)[_0xc3e0('0x20')](function(_0x4df111){_0x57ddd5[_0xc3e0('0x18')]=_0x4df111;if(_0xe36f13['query']['includeAll']){_0x429e6d[_0xc3e0('0x3a')]=[{'all':!![]}];}return db[_0xc3e0('0x26')][_0xc3e0('0x3b')](_0x429e6d);})['then'](function(_0x19a7ec){_0x57ddd5[_0xc3e0('0x3c')]=_0x19a7ec;return _0x57ddd5;})[_0xc3e0('0x20')](respondWithFilteredResult(_0x25ddaf,_0x429e6d))[_0xc3e0('0x3d')](handleError(_0x25ddaf,null));};exports[_0xc3e0('0x3e')]=function(_0x42ef25,_0xb0e953){var _0xdf75ee={'raw':!![],'where':{'id':_0x42ef25[_0xc3e0('0x3f')]['id']}},_0xb84700={};_0xb84700[_0xc3e0('0x2a')]=_[_0xc3e0('0x2c')](db['SquareReport'][_0xc3e0('0x27')]);_0xb84700['query']=_[_0xc3e0('0x2c')](_0x42ef25[_0xc3e0('0x2b')]);_0xb84700[_0xc3e0('0x2d')]=_[_0xc3e0('0x2e')](_0xb84700[_0xc3e0('0x2a')],_0xb84700[_0xc3e0('0x2b')]);_0xdf75ee[_0xc3e0('0x2f')]=_[_0xc3e0('0x2e')](_0xb84700[_0xc3e0('0x2a')],qs[_0xc3e0('0x30')](_0x42ef25[_0xc3e0('0x2b')]['fields']));_0xdf75ee[_0xc3e0('0x2f')]=_0xdf75ee[_0xc3e0('0x2f')][_0xc3e0('0x31')]?_0xdf75ee[_0xc3e0('0x2f')]:_0xb84700[_0xc3e0('0x2a')];if(_0x42ef25['query'][_0xc3e0('0x40')]){_0xdf75ee[_0xc3e0('0x3a')]=[{'all':!![]}];}_0xdf75ee=_['merge']({},_0xdf75ee,_0x42ef25['options']);return db[_0xc3e0('0x26')][_0xc3e0('0x41')](_0xdf75ee)[_0xc3e0('0x20')](handleEntityNotFound(_0xb0e953,null))[_0xc3e0('0x20')](respondWithResult(_0xb0e953,null))[_0xc3e0('0x3d')](handleError(_0xb0e953,null));};exports['create']=function(_0x1c8bd5,_0x15a639){return db[_0xc3e0('0x26')][_0xc3e0('0x42')](_0x1c8bd5[_0xc3e0('0x43')],{})[_0xc3e0('0x20')](respondWithResult(_0x15a639,0xc9))[_0xc3e0('0x3d')](handleError(_0x15a639,null));};exports['update']=function(_0x9f6a4d,_0x906aa7){if(_0x9f6a4d['body']['id']){delete _0x9f6a4d[_0xc3e0('0x43')]['id'];}return db[_0xc3e0('0x26')][_0xc3e0('0x41')]({'where':{'id':_0x9f6a4d['params']['id']}})[_0xc3e0('0x20')](handleEntityNotFound(_0x906aa7,null))[_0xc3e0('0x20')](saveUpdates(_0x9f6a4d['body'],null))['then'](respondWithResult(_0x906aa7,null))['catch'](handleError(_0x906aa7,null));};exports[_0xc3e0('0x44')]=function(_0x142c2d,_0x43b861){return db[_0xc3e0('0x26')][_0xc3e0('0x41')]({'where':{'id':_0x142c2d[_0xc3e0('0x3f')]['id']}})[_0xc3e0('0x20')](handleEntityNotFound(_0x43b861,null))[_0xc3e0('0x20')](removeEntity(_0x43b861,null))['catch'](handleError(_0x43b861,null));};exports[_0xc3e0('0x45')]=function(_0x4daebc,_0x1dbe98){return db[_0xc3e0('0x26')]['describe']()[_0xc3e0('0x20')](respondWithResult(_0x1dbe98,null))[_0xc3e0('0x3d')](handleError(_0x1dbe98,null));};