f9fc887d729f707a9e752f963dffe6493293f92d
[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 _0x177c=['count','limit','set','Content-Range','apply','reject','then','stack','name','send','index','SquareReport','fieldName','type','key','model','map','keys','query','filters','intersection','attributes','fields','nolimit','order','where','merge','VIRTUAL','filter','includeAll','include','findAll','rows','catch','show','params','rawAttributes','length','find','create','body','update','describe','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','desk.js','papaparse','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined'];(function(_0x237be9,_0x41c649){var _0x3b5de4=function(_0xf8e225){while(--_0xf8e225){_0x237be9['push'](_0x237be9['shift']());}};_0x3b5de4(++_0x41c649);}(_0x177c,0x1d5));var _0xc177=function(_0x54e6e1,_0x21062b){_0x54e6e1=_0x54e6e1-0x0;var _0x4d985d=_0x177c[_0x54e6e1];return _0x4d985d;};'use strict';var emlformat=require(_0xc177('0x0'));var rimraf=require(_0xc177('0x1'));var zipdir=require(_0xc177('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xc177('0x3'));var moment=require(_0xc177('0x4'));var BPromise=require(_0xc177('0x5'));var Mustache=require(_0xc177('0x6'));var util=require(_0xc177('0x7'));var path=require(_0xc177('0x8'));var sox=require('sox');var csv=require(_0xc177('0x9'));var ejs=require(_0xc177('0xa'));var fs=require('fs');var fs_extra=require(_0xc177('0xb'));var _=require(_0xc177('0xc'));var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0xc177('0xd'));var toCsv=require(_0xc177('0x9'));var querystring=require('querystring');var Papa=require(_0xc177('0xe'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xc177('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xc177('0x10'));var logger=require(_0xc177('0x11'))('api');var utils=require(_0xc177('0x12'));var config=require(_0xc177('0x13'));var licenseUtil=require(_0xc177('0x14'));var db=require(_0xc177('0x15'))['db'];function respondWithStatusCode(_0x450550,_0x4ef865){_0x4ef865=_0x4ef865||0xcc;return function(_0x3a2195){if(_0x3a2195){return _0x450550[_0xc177('0x16')](_0x4ef865);}return _0x450550[_0xc177('0x17')](_0x4ef865)[_0xc177('0x18')]();};}function respondWithResult(_0x570153,_0x406c8f){_0x406c8f=_0x406c8f||0xc8;return function(_0x2b3729){if(_0x2b3729){return _0x570153[_0xc177('0x17')](_0x406c8f)[_0xc177('0x19')](_0x2b3729);}};}function respondWithFilteredResult(_0x49ee09,_0x8ec14e){return function(_0x44885e){if(_0x44885e){var _0x5af1c4=typeof _0x8ec14e[_0xc177('0x1a')]==='undefined'&&typeof _0x8ec14e['limit']===_0xc177('0x1b');var _0x4eb260=_0x44885e[_0xc177('0x1c')];var _0x371328=_0x5af1c4?0x0:_0x8ec14e[_0xc177('0x1a')];var _0x3e1ff6=_0x5af1c4?_0x44885e[_0xc177('0x1c')]:_0x8ec14e[_0xc177('0x1a')]+_0x8ec14e[_0xc177('0x1d')];var _0x4028ef;if(_0x3e1ff6>=_0x4eb260){_0x3e1ff6=_0x4eb260;_0x4028ef=0xc8;}else{_0x4028ef=0xce;}_0x49ee09['status'](_0x4028ef);return _0x49ee09[_0xc177('0x1e')](_0xc177('0x1f'),_0x371328+'-'+_0x3e1ff6+'/'+_0x4eb260)['json'](_0x44885e);}return null;};}function patchUpdates(_0x4aec0b){return function(_0xcae623){try{jsonpatch[_0xc177('0x20')](_0xcae623,_0x4aec0b,!![]);}catch(_0x82cc53){return BPromise[_0xc177('0x21')](_0x82cc53);}return _0xcae623['save']();};}function saveUpdates(_0x284704,_0x12d2fa){return function(_0x50719b){if(_0x50719b){return _0x50719b['update'](_0x284704)[_0xc177('0x22')](function(_0x2f4eca){return _0x2f4eca;});}return null;};}function removeEntity(_0x11ff6b,_0x4f56d5){return function(_0x342129){if(_0x342129){return _0x342129['destroy']()['then'](function(){_0x11ff6b[_0xc177('0x17')](0xcc)[_0xc177('0x18')]();});}};}function handleEntityNotFound(_0x172fb5,_0x4810b4){return function(_0x45194a){if(!_0x45194a){_0x172fb5[_0xc177('0x16')](0x194);}return _0x45194a;};}function handleError(_0x413ba2,_0x510c64){_0x510c64=_0x510c64||0x1f4;return function(_0x5147fc){logger['error'](_0x5147fc[_0xc177('0x23')]);if(_0x5147fc[_0xc177('0x24')]){delete _0x5147fc[_0xc177('0x24')];}_0x413ba2[_0xc177('0x17')](_0x510c64)[_0xc177('0x25')](_0x5147fc);};}exports[_0xc177('0x26')]=function(_0x3644ec,_0xf6c861){var _0xc33090={},_0xae630f={},_0x17d220={'count':0x0,'rows':[]};var _0x255e5c=_['map'](db[_0xc177('0x27')]['rawAttributes'],function(_0x2493d1){return{'name':_0x2493d1[_0xc177('0x28')],'type':_0x2493d1[_0xc177('0x29')][_0xc177('0x2a')]};});_0xae630f[_0xc177('0x2b')]=_[_0xc177('0x2c')](_0x255e5c,'name');_0xae630f['query']=_[_0xc177('0x2d')](_0x3644ec[_0xc177('0x2e')]);_0xae630f[_0xc177('0x2f')]=_[_0xc177('0x30')](_0xae630f[_0xc177('0x2b')],_0xae630f[_0xc177('0x2e')]);_0xc33090[_0xc177('0x31')]=_[_0xc177('0x30')](_0xae630f[_0xc177('0x2b')],qs['fields'](_0x3644ec['query'][_0xc177('0x32')]));_0xc33090[_0xc177('0x31')]=_0xc33090[_0xc177('0x31')]['length']?_0xc33090[_0xc177('0x31')]:_0xae630f[_0xc177('0x2b')];if(!_0x3644ec[_0xc177('0x2e')]['hasOwnProperty'](_0xc177('0x33'))){_0xc33090['limit']=qs[_0xc177('0x1d')](_0x3644ec[_0xc177('0x2e')][_0xc177('0x1d')]);_0xc33090[_0xc177('0x1a')]=qs[_0xc177('0x1a')](_0x3644ec[_0xc177('0x2e')][_0xc177('0x1a')]);}_0xc33090[_0xc177('0x34')]=qs['sort'](_0x3644ec[_0xc177('0x2e')]['sort']);_0xc33090[_0xc177('0x35')]=qs[_0xc177('0x2f')](_['pick'](_0x3644ec[_0xc177('0x2e')],_0xae630f['filters']),_0x255e5c);if(_0x3644ec[_0xc177('0x2e')]['filter']){_0xc33090[_0xc177('0x35')]=_[_0xc177('0x36')](_0xc33090[_0xc177('0x35')],{'$or':_['map'](_0x255e5c,function(_0x326d0c){if(_0x326d0c[_0xc177('0x29')]!==_0xc177('0x37')){var _0x57b018={};_0x57b018[_0x326d0c[_0xc177('0x24')]]={'$like':'%'+_0x3644ec[_0xc177('0x2e')][_0xc177('0x38')]+'%'};return _0x57b018;}})});}_0xc33090=_[_0xc177('0x36')]({},_0xc33090,_0x3644ec['options']);var _0x1449b8={'where':_0xc33090[_0xc177('0x35')]};return db[_0xc177('0x27')][_0xc177('0x1c')](_0x1449b8)['then'](function(_0x5b6940){_0x17d220['count']=_0x5b6940;if(_0x3644ec[_0xc177('0x2e')][_0xc177('0x39')]){_0xc33090[_0xc177('0x3a')]=[{'all':!![]}];}return db[_0xc177('0x27')][_0xc177('0x3b')](_0xc33090);})[_0xc177('0x22')](function(_0x2edbc6){_0x17d220[_0xc177('0x3c')]=_0x2edbc6;return _0x17d220;})[_0xc177('0x22')](respondWithFilteredResult(_0xf6c861,_0xc33090))[_0xc177('0x3d')](handleError(_0xf6c861,null));};exports[_0xc177('0x3e')]=function(_0x25a91e,_0x3819c4){var _0x4aeec3={'raw':!![],'where':{'id':_0x25a91e[_0xc177('0x3f')]['id']}},_0x5d8b89={};_0x5d8b89[_0xc177('0x2b')]=_[_0xc177('0x2d')](db[_0xc177('0x27')][_0xc177('0x40')]);_0x5d8b89['query']=_[_0xc177('0x2d')](_0x25a91e['query']);_0x5d8b89[_0xc177('0x2f')]=_[_0xc177('0x30')](_0x5d8b89[_0xc177('0x2b')],_0x5d8b89[_0xc177('0x2e')]);_0x4aeec3[_0xc177('0x31')]=_[_0xc177('0x30')](_0x5d8b89[_0xc177('0x2b')],qs[_0xc177('0x32')](_0x25a91e[_0xc177('0x2e')][_0xc177('0x32')]));_0x4aeec3['attributes']=_0x4aeec3['attributes'][_0xc177('0x41')]?_0x4aeec3[_0xc177('0x31')]:_0x5d8b89['model'];if(_0x25a91e['query'][_0xc177('0x39')]){_0x4aeec3['include']=[{'all':!![]}];}_0x4aeec3=_[_0xc177('0x36')]({},_0x4aeec3,_0x25a91e['options']);return db[_0xc177('0x27')][_0xc177('0x42')](_0x4aeec3)[_0xc177('0x22')](handleEntityNotFound(_0x3819c4,null))[_0xc177('0x22')](respondWithResult(_0x3819c4,null))[_0xc177('0x3d')](handleError(_0x3819c4,null));};exports['create']=function(_0x204a95,_0x5aedbb){return db[_0xc177('0x27')][_0xc177('0x43')](_0x204a95[_0xc177('0x44')],{})[_0xc177('0x22')](respondWithResult(_0x5aedbb,0xc9))[_0xc177('0x3d')](handleError(_0x5aedbb,null));};exports[_0xc177('0x45')]=function(_0x11247e,_0x2edd76){if(_0x11247e[_0xc177('0x44')]['id']){delete _0x11247e[_0xc177('0x44')]['id'];}return db['SquareReport']['find']({'where':{'id':_0x11247e[_0xc177('0x3f')]['id']}})[_0xc177('0x22')](handleEntityNotFound(_0x2edd76,null))[_0xc177('0x22')](saveUpdates(_0x11247e['body'],null))[_0xc177('0x22')](respondWithResult(_0x2edd76,null))[_0xc177('0x3d')](handleError(_0x2edd76,null));};exports['destroy']=function(_0xc427db,_0x520766){return db['SquareReport'][_0xc177('0x42')]({'where':{'id':_0xc427db[_0xc177('0x3f')]['id']}})[_0xc177('0x22')](handleEntityNotFound(_0x520766,null))[_0xc177('0x22')](removeEntity(_0x520766,null))[_0xc177('0x3d')](handleError(_0x520766,null));};exports[_0xc177('0x46')]=function(_0x14f096,_0x28ddf8){return db[_0xc177('0x27')][_0xc177('0x46')]()[_0xc177('0x22')](respondWithResult(_0x28ddf8,null))['catch'](handleError(_0x28ddf8,null));};