Built motion from commit fe909640.|2.6.8
[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 _0x4514=['ejs','fs-extra','lodash','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../mysqldb','sendStatus','status','end','offset','undefined','limit','count','set','Content-Range','reject','then','stack','name','index','map','rawAttributes','fieldName','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','type','VIRTUAL','options','SquareReport','includeAll','include','rows','catch','params','length','find','create','body','update','destroy','describe','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','to-csv'];(function(_0x4c57ca,_0x418b9c){var _0x22e3ba=function(_0x139099){while(--_0x139099){_0x4c57ca['push'](_0x4c57ca['shift']());}};_0x22e3ba(++_0x418b9c);}(_0x4514,0x15f));var _0x4451=function(_0x55ba7d,_0x1f86cc){_0x55ba7d=_0x55ba7d-0x0;var _0x3e6814=_0x4514[_0x55ba7d];return _0x3e6814;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x4451('0x0'));var zipdir=require(_0x4451('0x1'));var jsonpatch=require(_0x4451('0x2'));var rp=require(_0x4451('0x3'));var moment=require(_0x4451('0x4'));var BPromise=require(_0x4451('0x5'));var Mustache=require(_0x4451('0x6'));var util=require(_0x4451('0x7'));var path=require('path');var sox=require('sox');var csv=require(_0x4451('0x8'));var ejs=require(_0x4451('0x9'));var fs=require('fs');var fs_extra=require(_0x4451('0xa'));var _=require(_0x4451('0xb'));var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x4451('0xc'));var toCsv=require(_0x4451('0x8'));var querystring=require(_0x4451('0xd'));var Papa=require(_0x4451('0xe'));var Redis=require(_0x4451('0xf'));var authService=require(_0x4451('0x10'));var qs=require(_0x4451('0x11'));var as=require(_0x4451('0x12'));var hardwareService=require(_0x4451('0x13'));var logger=require('../../config/logger')(_0x4451('0x14'));var utils=require('../../config/utils');var config=require(_0x4451('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0x4451('0x16'))['db'];function respondWithStatusCode(_0x332cda,_0x110d9a){_0x110d9a=_0x110d9a||0xcc;return function(_0x5662d4){if(_0x5662d4){return _0x332cda[_0x4451('0x17')](_0x110d9a);}return _0x332cda[_0x4451('0x18')](_0x110d9a)[_0x4451('0x19')]();};}function respondWithResult(_0x51d1ba,_0x493852){_0x493852=_0x493852||0xc8;return function(_0x4bf079){if(_0x4bf079){return _0x51d1ba[_0x4451('0x18')](_0x493852)['json'](_0x4bf079);}};}function respondWithFilteredResult(_0x5375c8,_0x2a83e1){return function(_0x3b7fbf){if(_0x3b7fbf){var _0x11b488=typeof _0x2a83e1[_0x4451('0x1a')]===_0x4451('0x1b')&&typeof _0x2a83e1[_0x4451('0x1c')]===_0x4451('0x1b');var _0x534164=_0x3b7fbf[_0x4451('0x1d')];var _0x45927e=_0x11b488?0x0:_0x2a83e1[_0x4451('0x1a')];var _0x56b21c=_0x11b488?_0x3b7fbf['count']:_0x2a83e1[_0x4451('0x1a')]+_0x2a83e1[_0x4451('0x1c')];var _0x26e3f5;if(_0x56b21c>=_0x534164){_0x56b21c=_0x534164;_0x26e3f5=0xc8;}else{_0x26e3f5=0xce;}_0x5375c8[_0x4451('0x18')](_0x26e3f5);return _0x5375c8[_0x4451('0x1e')](_0x4451('0x1f'),_0x45927e+'-'+_0x56b21c+'/'+_0x534164)['json'](_0x3b7fbf);}return null;};}function patchUpdates(_0x11511d){return function(_0x5738b4){try{jsonpatch['apply'](_0x5738b4,_0x11511d,!![]);}catch(_0xf5c4c5){return BPromise[_0x4451('0x20')](_0xf5c4c5);}return _0x5738b4['save']();};}function saveUpdates(_0x5bd3f3,_0x5d1af6){return function(_0x1edebc){if(_0x1edebc){return _0x1edebc['update'](_0x5bd3f3)[_0x4451('0x21')](function(_0x24b13d){return _0x24b13d;});}return null;};}function removeEntity(_0x41e8c1,_0x14a5ef){return function(_0x13e3bd){if(_0x13e3bd){return _0x13e3bd['destroy']()[_0x4451('0x21')](function(){_0x41e8c1[_0x4451('0x18')](0xcc)[_0x4451('0x19')]();});}};}function handleEntityNotFound(_0xbaa0c3,_0x68da7e){return function(_0x40f8c5){if(!_0x40f8c5){_0xbaa0c3[_0x4451('0x17')](0x194);}return _0x40f8c5;};}function handleError(_0x5e4063,_0xb53dcf){_0xb53dcf=_0xb53dcf||0x1f4;return function(_0x4cc8fa){logger['error'](_0x4cc8fa[_0x4451('0x22')]);if(_0x4cc8fa[_0x4451('0x23')]){delete _0x4cc8fa[_0x4451('0x23')];}_0x5e4063['status'](_0xb53dcf)['send'](_0x4cc8fa);};}exports[_0x4451('0x24')]=function(_0x1e8d2a,_0xd62c92){var _0xb8836f={},_0xc561dc={},_0x5412cf={'count':0x0,'rows':[]};var _0x4d2faa=_[_0x4451('0x25')](db['SquareReport'][_0x4451('0x26')],function(_0x3f1b9b){return{'name':_0x3f1b9b[_0x4451('0x27')],'type':_0x3f1b9b['type'][_0x4451('0x28')]};});_0xc561dc[_0x4451('0x29')]=_[_0x4451('0x25')](_0x4d2faa,_0x4451('0x23'));_0xc561dc[_0x4451('0x2a')]=_[_0x4451('0x2b')](_0x1e8d2a[_0x4451('0x2a')]);_0xc561dc[_0x4451('0x2c')]=_[_0x4451('0x2d')](_0xc561dc['model'],_0xc561dc[_0x4451('0x2a')]);_0xb8836f[_0x4451('0x2e')]=_['intersection'](_0xc561dc['model'],qs[_0x4451('0x2f')](_0x1e8d2a[_0x4451('0x2a')][_0x4451('0x2f')]));_0xb8836f[_0x4451('0x2e')]=_0xb8836f['attributes']['length']?_0xb8836f[_0x4451('0x2e')]:_0xc561dc[_0x4451('0x29')];if(!_0x1e8d2a['query'][_0x4451('0x30')](_0x4451('0x31'))){_0xb8836f[_0x4451('0x1c')]=qs[_0x4451('0x1c')](_0x1e8d2a[_0x4451('0x2a')][_0x4451('0x1c')]);_0xb8836f[_0x4451('0x1a')]=qs[_0x4451('0x1a')](_0x1e8d2a['query'][_0x4451('0x1a')]);}_0xb8836f[_0x4451('0x32')]=qs['sort'](_0x1e8d2a[_0x4451('0x2a')][_0x4451('0x33')]);_0xb8836f['where']=qs['filters'](_[_0x4451('0x34')](_0x1e8d2a[_0x4451('0x2a')],_0xc561dc[_0x4451('0x2c')]),_0x4d2faa);if(_0x1e8d2a[_0x4451('0x2a')][_0x4451('0x35')]){_0xb8836f[_0x4451('0x36')]=_[_0x4451('0x37')](_0xb8836f['where'],{'$or':_[_0x4451('0x25')](_0x4d2faa,function(_0x37e39d){if(_0x37e39d[_0x4451('0x38')]!==_0x4451('0x39')){var _0x2e3f02={};_0x2e3f02[_0x37e39d['name']]={'$like':'%'+_0x1e8d2a['query'][_0x4451('0x35')]+'%'};return _0x2e3f02;}})});}_0xb8836f=_['merge']({},_0xb8836f,_0x1e8d2a[_0x4451('0x3a')]);var _0x242635={'where':_0xb8836f[_0x4451('0x36')]};return db[_0x4451('0x3b')][_0x4451('0x1d')](_0x242635)[_0x4451('0x21')](function(_0x14e443){_0x5412cf['count']=_0x14e443;if(_0x1e8d2a[_0x4451('0x2a')][_0x4451('0x3c')]){_0xb8836f[_0x4451('0x3d')]=[{'all':!![]}];}return db[_0x4451('0x3b')]['findAll'](_0xb8836f);})['then'](function(_0x4c5f91){_0x5412cf[_0x4451('0x3e')]=_0x4c5f91;return _0x5412cf;})['then'](respondWithFilteredResult(_0xd62c92,_0xb8836f))[_0x4451('0x3f')](handleError(_0xd62c92,null));};exports['show']=function(_0x2e542b,_0x1cc43c){var _0x28685c={'raw':!![],'where':{'id':_0x2e542b[_0x4451('0x40')]['id']}},_0xec2e10={};_0xec2e10[_0x4451('0x29')]=_[_0x4451('0x2b')](db[_0x4451('0x3b')][_0x4451('0x26')]);_0xec2e10[_0x4451('0x2a')]=_[_0x4451('0x2b')](_0x2e542b[_0x4451('0x2a')]);_0xec2e10[_0x4451('0x2c')]=_[_0x4451('0x2d')](_0xec2e10['model'],_0xec2e10[_0x4451('0x2a')]);_0x28685c[_0x4451('0x2e')]=_[_0x4451('0x2d')](_0xec2e10[_0x4451('0x29')],qs['fields'](_0x2e542b[_0x4451('0x2a')]['fields']));_0x28685c[_0x4451('0x2e')]=_0x28685c['attributes'][_0x4451('0x41')]?_0x28685c[_0x4451('0x2e')]:_0xec2e10[_0x4451('0x29')];if(_0x2e542b['query'][_0x4451('0x3c')]){_0x28685c[_0x4451('0x3d')]=[{'all':!![]}];}_0x28685c=_[_0x4451('0x37')]({},_0x28685c,_0x2e542b['options']);return db[_0x4451('0x3b')][_0x4451('0x42')](_0x28685c)[_0x4451('0x21')](handleEntityNotFound(_0x1cc43c,null))['then'](respondWithResult(_0x1cc43c,null))[_0x4451('0x3f')](handleError(_0x1cc43c,null));};exports[_0x4451('0x43')]=function(_0x26069d,_0x5f251e){return db[_0x4451('0x3b')][_0x4451('0x43')](_0x26069d[_0x4451('0x44')],{})[_0x4451('0x21')](respondWithResult(_0x5f251e,0xc9))['catch'](handleError(_0x5f251e,null));};exports[_0x4451('0x45')]=function(_0x25b87a,_0x1307e1){if(_0x25b87a[_0x4451('0x44')]['id']){delete _0x25b87a[_0x4451('0x44')]['id'];}return db['SquareReport']['find']({'where':{'id':_0x25b87a[_0x4451('0x40')]['id']}})[_0x4451('0x21')](handleEntityNotFound(_0x1307e1,null))[_0x4451('0x21')](saveUpdates(_0x25b87a[_0x4451('0x44')],null))[_0x4451('0x21')](respondWithResult(_0x1307e1,null))[_0x4451('0x3f')](handleError(_0x1307e1,null));};exports[_0x4451('0x46')]=function(_0x466de3,_0x57a9a8){return db[_0x4451('0x3b')][_0x4451('0x42')]({'where':{'id':_0x466de3[_0x4451('0x40')]['id']}})[_0x4451('0x21')](handleEntityNotFound(_0x57a9a8,null))[_0x4451('0x21')](removeEntity(_0x57a9a8,null))[_0x4451('0x3f')](handleError(_0x57a9a8,null));};exports[_0x4451('0x47')]=function(_0x3fe2b5,_0x426553){return db[_0x4451('0x3b')][_0x4451('0x47')]()[_0x4451('0x21')](respondWithResult(_0x426553,null))[_0x4451('0x3f')](handleError(_0x426553,null));};