Built motion from commit 47436d59.|2.6.7
[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 _0x50ca=['fs-extra','lodash','jsforce','desk.js','to-csv','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','index','SquareReport','rawAttributes','fieldName','type','key','model','map','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','findAll','catch','show','create','body','params','find','describe','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','ejs'];(function(_0x34562b,_0x204722){var _0x5735e0=function(_0x2cc5fd){while(--_0x2cc5fd){_0x34562b['push'](_0x34562b['shift']());}};_0x5735e0(++_0x204722);}(_0x50ca,0x8f));var _0xa50c=function(_0x167cc1,_0x56ef5a){_0x167cc1=_0x167cc1-0x0;var _0x10bc4b=_0x50ca[_0x167cc1];return _0x10bc4b;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xa50c('0x0'));var jsonpatch=require(_0xa50c('0x1'));var rp=require(_0xa50c('0x2'));var moment=require(_0xa50c('0x3'));var BPromise=require(_0xa50c('0x4'));var Mustache=require(_0xa50c('0x5'));var util=require(_0xa50c('0x6'));var path=require('path');var sox=require(_0xa50c('0x7'));var csv=require('to-csv');var ejs=require(_0xa50c('0x8'));var fs=require('fs');var fs_extra=require(_0xa50c('0x9'));var _=require(_0xa50c('0xa'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0xa50c('0xb'));var deskjs=require(_0xa50c('0xc'));var toCsv=require(_0xa50c('0xd'));var querystring=require(_0xa50c('0xe'));var Papa=require(_0xa50c('0xf'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xa50c('0x10'));var as=require(_0xa50c('0x11'));var hardwareService=require(_0xa50c('0x12'));var logger=require('../../config/logger')(_0xa50c('0x13'));var utils=require(_0xa50c('0x14'));var config=require(_0xa50c('0x15'));var licenseUtil=require(_0xa50c('0x16'));var db=require(_0xa50c('0x17'))['db'];function respondWithStatusCode(_0x34b258,_0xbdd8fc){_0xbdd8fc=_0xbdd8fc||0xcc;return function(_0x2b3588){if(_0x2b3588){return _0x34b258[_0xa50c('0x18')](_0xbdd8fc);}return _0x34b258[_0xa50c('0x19')](_0xbdd8fc)[_0xa50c('0x1a')]();};}function respondWithResult(_0x3d106e,_0x5f624c){_0x5f624c=_0x5f624c||0xc8;return function(_0x24d847){if(_0x24d847){return _0x3d106e[_0xa50c('0x19')](_0x5f624c)[_0xa50c('0x1b')](_0x24d847);}};}function respondWithFilteredResult(_0x4fc226,_0x5630d4){return function(_0x40c5f7){if(_0x40c5f7){var _0x314041=typeof _0x5630d4[_0xa50c('0x1c')]===_0xa50c('0x1d')&&typeof _0x5630d4[_0xa50c('0x1e')]==='undefined';var _0x2de2bd=_0x40c5f7[_0xa50c('0x1f')];var _0x51df36=_0x314041?0x0:_0x5630d4[_0xa50c('0x1c')];var _0x59fdc3=_0x314041?_0x40c5f7['count']:_0x5630d4['offset']+_0x5630d4[_0xa50c('0x1e')];var _0x157522;if(_0x59fdc3>=_0x2de2bd){_0x59fdc3=_0x2de2bd;_0x157522=0xc8;}else{_0x157522=0xce;}_0x4fc226['status'](_0x157522);return _0x4fc226['set'](_0xa50c('0x20'),_0x51df36+'-'+_0x59fdc3+'/'+_0x2de2bd)['json'](_0x40c5f7);}return null;};}function patchUpdates(_0x590ea8){return function(_0x7d55dd){try{jsonpatch[_0xa50c('0x21')](_0x7d55dd,_0x590ea8,!![]);}catch(_0x1ee18e){return BPromise[_0xa50c('0x22')](_0x1ee18e);}return _0x7d55dd[_0xa50c('0x23')]();};}function saveUpdates(_0x4fc2d9,_0xfc1ae3){return function(_0x4ba343){if(_0x4ba343){return _0x4ba343[_0xa50c('0x24')](_0x4fc2d9)[_0xa50c('0x25')](function(_0x14fdb8){return _0x14fdb8;});}return null;};}function removeEntity(_0x3ddcb7,_0x4b7027){return function(_0x5663cd){if(_0x5663cd){return _0x5663cd[_0xa50c('0x26')]()['then'](function(){_0x3ddcb7[_0xa50c('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x3e4e80,_0x2eeb85){return function(_0x236d0a){if(!_0x236d0a){_0x3e4e80[_0xa50c('0x18')](0x194);}return _0x236d0a;};}function handleError(_0x28524b,_0x43064c){_0x43064c=_0x43064c||0x1f4;return function(_0x5c6e04){logger[_0xa50c('0x27')](_0x5c6e04[_0xa50c('0x28')]);if(_0x5c6e04[_0xa50c('0x29')]){delete _0x5c6e04['name'];}_0x28524b[_0xa50c('0x19')](_0x43064c)['send'](_0x5c6e04);};}exports[_0xa50c('0x2a')]=function(_0x3ad22f,_0x28372f){var _0x2e6321={},_0x37d5a2={},_0xedcb6c={'count':0x0,'rows':[]};var _0x5542e4=_['map'](db[_0xa50c('0x2b')][_0xa50c('0x2c')],function(_0x2088e2){return{'name':_0x2088e2[_0xa50c('0x2d')],'type':_0x2088e2[_0xa50c('0x2e')][_0xa50c('0x2f')]};});_0x37d5a2[_0xa50c('0x30')]=_[_0xa50c('0x31')](_0x5542e4,_0xa50c('0x29'));_0x37d5a2[_0xa50c('0x32')]=_[_0xa50c('0x33')](_0x3ad22f[_0xa50c('0x32')]);_0x37d5a2[_0xa50c('0x34')]=_[_0xa50c('0x35')](_0x37d5a2[_0xa50c('0x30')],_0x37d5a2[_0xa50c('0x32')]);_0x2e6321[_0xa50c('0x36')]=_['intersection'](_0x37d5a2[_0xa50c('0x30')],qs[_0xa50c('0x37')](_0x3ad22f['query']['fields']));_0x2e6321['attributes']=_0x2e6321[_0xa50c('0x36')][_0xa50c('0x38')]?_0x2e6321[_0xa50c('0x36')]:_0x37d5a2['model'];if(!_0x3ad22f[_0xa50c('0x32')][_0xa50c('0x39')](_0xa50c('0x3a'))){_0x2e6321['limit']=qs[_0xa50c('0x1e')](_0x3ad22f[_0xa50c('0x32')]['limit']);_0x2e6321['offset']=qs[_0xa50c('0x1c')](_0x3ad22f[_0xa50c('0x32')][_0xa50c('0x1c')]);}_0x2e6321[_0xa50c('0x3b')]=qs[_0xa50c('0x3c')](_0x3ad22f[_0xa50c('0x32')][_0xa50c('0x3c')]);_0x2e6321[_0xa50c('0x3d')]=qs[_0xa50c('0x34')](_[_0xa50c('0x3e')](_0x3ad22f[_0xa50c('0x32')],_0x37d5a2['filters']),_0x5542e4);if(_0x3ad22f['query'][_0xa50c('0x3f')]){_0x2e6321[_0xa50c('0x3d')]=_[_0xa50c('0x40')](_0x2e6321[_0xa50c('0x3d')],{'$or':_[_0xa50c('0x31')](_0x5542e4,function(_0x149d3a){if(_0x149d3a[_0xa50c('0x2e')]!==_0xa50c('0x41')){var _0x5cd757={};_0x5cd757[_0x149d3a[_0xa50c('0x29')]]={'$like':'%'+_0x3ad22f[_0xa50c('0x32')]['filter']+'%'};return _0x5cd757;}})});}_0x2e6321=_[_0xa50c('0x40')]({},_0x2e6321,_0x3ad22f[_0xa50c('0x42')]);var _0x2bab7f={'where':_0x2e6321['where']};return db[_0xa50c('0x2b')][_0xa50c('0x1f')](_0x2bab7f)[_0xa50c('0x25')](function(_0x2ce84b){_0xedcb6c[_0xa50c('0x1f')]=_0x2ce84b;if(_0x3ad22f[_0xa50c('0x32')][_0xa50c('0x43')]){_0x2e6321['include']=[{'all':!![]}];}return db[_0xa50c('0x2b')][_0xa50c('0x44')](_0x2e6321);})['then'](function(_0x2ca24e){_0xedcb6c['rows']=_0x2ca24e;return _0xedcb6c;})['then'](respondWithFilteredResult(_0x28372f,_0x2e6321))[_0xa50c('0x45')](handleError(_0x28372f,null));};exports[_0xa50c('0x46')]=function(_0x11bb54,_0x118fae){var _0x498b65={'raw':!![],'where':{'id':_0x11bb54['params']['id']}},_0x5327b5={};_0x5327b5[_0xa50c('0x30')]=_['keys'](db['SquareReport'][_0xa50c('0x2c')]);_0x5327b5[_0xa50c('0x32')]=_[_0xa50c('0x33')](_0x11bb54['query']);_0x5327b5[_0xa50c('0x34')]=_[_0xa50c('0x35')](_0x5327b5['model'],_0x5327b5[_0xa50c('0x32')]);_0x498b65['attributes']=_[_0xa50c('0x35')](_0x5327b5['model'],qs['fields'](_0x11bb54['query']['fields']));_0x498b65[_0xa50c('0x36')]=_0x498b65[_0xa50c('0x36')][_0xa50c('0x38')]?_0x498b65[_0xa50c('0x36')]:_0x5327b5[_0xa50c('0x30')];if(_0x11bb54[_0xa50c('0x32')][_0xa50c('0x43')]){_0x498b65['include']=[{'all':!![]}];}_0x498b65=_[_0xa50c('0x40')]({},_0x498b65,_0x11bb54[_0xa50c('0x42')]);return db[_0xa50c('0x2b')]['find'](_0x498b65)[_0xa50c('0x25')](handleEntityNotFound(_0x118fae,null))['then'](respondWithResult(_0x118fae,null))['catch'](handleError(_0x118fae,null));};exports[_0xa50c('0x47')]=function(_0x271ffc,_0x3aef72){return db[_0xa50c('0x2b')]['create'](_0x271ffc['body'],{})[_0xa50c('0x25')](respondWithResult(_0x3aef72,0xc9))[_0xa50c('0x45')](handleError(_0x3aef72,null));};exports['update']=function(_0x25aa41,_0x499d68){if(_0x25aa41[_0xa50c('0x48')]['id']){delete _0x25aa41[_0xa50c('0x48')]['id'];}return db['SquareReport']['find']({'where':{'id':_0x25aa41[_0xa50c('0x49')]['id']}})[_0xa50c('0x25')](handleEntityNotFound(_0x499d68,null))[_0xa50c('0x25')](saveUpdates(_0x25aa41[_0xa50c('0x48')],null))[_0xa50c('0x25')](respondWithResult(_0x499d68,null))['catch'](handleError(_0x499d68,null));};exports[_0xa50c('0x26')]=function(_0x464ea3,_0x3eedcd){return db[_0xa50c('0x2b')][_0xa50c('0x4a')]({'where':{'id':_0x464ea3['params']['id']}})[_0xa50c('0x25')](handleEntityNotFound(_0x3eedcd,null))[_0xa50c('0x25')](removeEntity(_0x3eedcd,null))[_0xa50c('0x45')](handleError(_0x3eedcd,null));};exports['describe']=function(_0x3f7048,_0x557ee0){return db['SquareReport'][_0xa50c('0x4b')]()[_0xa50c('0x25')](respondWithResult(_0x557ee0,null))[_0xa50c('0x45')](handleError(_0x557ee0,null));};