8ebc57631dafd67fa8376a1c94cb8e47f6d68315
[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 _0x409e=['../../mysqldb','status','end','limit','undefined','count','set','Content-Range','json','apply','save','then','destroy','error','stack','name','send','map','SquareReport','fieldName','key','query','keys','filters','intersection','model','attributes','hasOwnProperty','nolimit','offset','sort','filter','where','type','options','includeAll','findAll','rows','catch','show','fields','length','include','merge','find','create','body','update','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','util','path','sox','to-csv','crypto','desk.js','papaparse','../../config/license/hardware','../../config/utils','../../config/environment','../../config/license/util'];(function(_0x4791b7,_0x33898c){var _0x49068a=function(_0x31a160){while(--_0x31a160){_0x4791b7['push'](_0x4791b7['shift']());}};_0x49068a(++_0x33898c);}(_0x409e,0x1bd));var _0xe409=function(_0x27fcf0,_0x2abcbe){_0x27fcf0=_0x27fcf0-0x0;var _0x47ab65=_0x409e[_0x27fcf0];return _0x47ab65;};'use strict';var emlformat=require(_0xe409('0x0'));var rimraf=require(_0xe409('0x1'));var zipdir=require(_0xe409('0x2'));var jsonpatch=require(_0xe409('0x3'));var rp=require(_0xe409('0x4'));var moment=require(_0xe409('0x5'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xe409('0x6'));var path=require(_0xe409('0x7'));var sox=require(_0xe409('0x8'));var csv=require(_0xe409('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require('squel');var crypto=require(_0xe409('0xa'));var jsforce=require('jsforce');var deskjs=require(_0xe409('0xb'));var toCsv=require(_0xe409('0x9'));var querystring=require('querystring');var Papa=require(_0xe409('0xc'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xe409('0xd'));var logger=require('../../config/logger')('api');var utils=require(_0xe409('0xe'));var config=require(_0xe409('0xf'));var licenseUtil=require(_0xe409('0x10'));var db=require(_0xe409('0x11'))['db'];function respondWithStatusCode(_0x3636ce,_0x187f24){_0x187f24=_0x187f24||0xcc;return function(_0x104fe9){if(_0x104fe9){return _0x3636ce['sendStatus'](_0x187f24);}return _0x3636ce[_0xe409('0x12')](_0x187f24)[_0xe409('0x13')]();};}function respondWithResult(_0x2fe234,_0x13b3a4){_0x13b3a4=_0x13b3a4||0xc8;return function(_0x516362){if(_0x516362){return _0x2fe234[_0xe409('0x12')](_0x13b3a4)['json'](_0x516362);}};}function respondWithFilteredResult(_0x3249bc,_0x37ef50){return function(_0x5adeea){if(_0x5adeea){var _0x3f6fdd=typeof _0x37ef50['offset']==='undefined'&&typeof _0x37ef50[_0xe409('0x14')]===_0xe409('0x15');var _0x22a458=_0x5adeea[_0xe409('0x16')];var _0x2d128a=_0x3f6fdd?0x0:_0x37ef50['offset'];var _0x2191f5=_0x3f6fdd?_0x5adeea[_0xe409('0x16')]:_0x37ef50['offset']+_0x37ef50[_0xe409('0x14')];var _0x19b6ce;if(_0x2191f5>=_0x22a458){_0x2191f5=_0x22a458;_0x19b6ce=0xc8;}else{_0x19b6ce=0xce;}_0x3249bc['status'](_0x19b6ce);return _0x3249bc[_0xe409('0x17')](_0xe409('0x18'),_0x2d128a+'-'+_0x2191f5+'/'+_0x22a458)[_0xe409('0x19')](_0x5adeea);}return null;};}function patchUpdates(_0x1f4e2a){return function(_0x3db69e){try{jsonpatch[_0xe409('0x1a')](_0x3db69e,_0x1f4e2a,!![]);}catch(_0x3c16dd){return BPromise['reject'](_0x3c16dd);}return _0x3db69e[_0xe409('0x1b')]();};}function saveUpdates(_0x15abd4,_0x3dac17){return function(_0xa705fc){if(_0xa705fc){return _0xa705fc['update'](_0x15abd4)[_0xe409('0x1c')](function(_0x9f4bc2){return _0x9f4bc2;});}return null;};}function removeEntity(_0x7fd2a,_0x53e2fd){return function(_0x57a7e4){if(_0x57a7e4){return _0x57a7e4[_0xe409('0x1d')]()[_0xe409('0x1c')](function(){_0x7fd2a[_0xe409('0x12')](0xcc)['end']();});}};}function handleEntityNotFound(_0x142898,_0x1e73cf){return function(_0x263de3){if(!_0x263de3){_0x142898['sendStatus'](0x194);}return _0x263de3;};}function handleError(_0x5508d4,_0x5c6427){_0x5c6427=_0x5c6427||0x1f4;return function(_0xf517be){logger[_0xe409('0x1e')](_0xf517be[_0xe409('0x1f')]);if(_0xf517be[_0xe409('0x20')]){delete _0xf517be['name'];}_0x5508d4[_0xe409('0x12')](_0x5c6427)[_0xe409('0x21')](_0xf517be);};}exports['index']=function(_0x28b63b,_0x1eb3b2){var _0x1c087a={},_0x15a7df={},_0xc686de={'count':0x0,'rows':[]};var _0x116296=_[_0xe409('0x22')](db[_0xe409('0x23')]['rawAttributes'],function(_0x395182){return{'name':_0x395182[_0xe409('0x24')],'type':_0x395182['type'][_0xe409('0x25')]};});_0x15a7df['model']=_[_0xe409('0x22')](_0x116296,_0xe409('0x20'));_0x15a7df[_0xe409('0x26')]=_[_0xe409('0x27')](_0x28b63b[_0xe409('0x26')]);_0x15a7df[_0xe409('0x28')]=_[_0xe409('0x29')](_0x15a7df[_0xe409('0x2a')],_0x15a7df[_0xe409('0x26')]);_0x1c087a[_0xe409('0x2b')]=_[_0xe409('0x29')](_0x15a7df[_0xe409('0x2a')],qs['fields'](_0x28b63b[_0xe409('0x26')]['fields']));_0x1c087a[_0xe409('0x2b')]=_0x1c087a['attributes']['length']?_0x1c087a[_0xe409('0x2b')]:_0x15a7df[_0xe409('0x2a')];if(!_0x28b63b['query'][_0xe409('0x2c')](_0xe409('0x2d'))){_0x1c087a[_0xe409('0x14')]=qs['limit'](_0x28b63b[_0xe409('0x26')][_0xe409('0x14')]);_0x1c087a[_0xe409('0x2e')]=qs[_0xe409('0x2e')](_0x28b63b[_0xe409('0x26')]['offset']);}_0x1c087a['order']=qs[_0xe409('0x2f')](_0x28b63b['query'][_0xe409('0x2f')]);_0x1c087a['where']=qs[_0xe409('0x28')](_['pick'](_0x28b63b[_0xe409('0x26')],_0x15a7df[_0xe409('0x28')]),_0x116296);if(_0x28b63b[_0xe409('0x26')][_0xe409('0x30')]){_0x1c087a['where']=_['merge'](_0x1c087a[_0xe409('0x31')],{'$or':_[_0xe409('0x22')](_0x116296,function(_0x5c7583){if(_0x5c7583[_0xe409('0x32')]!=='VIRTUAL'){var _0x423583={};_0x423583[_0x5c7583[_0xe409('0x20')]]={'$like':'%'+_0x28b63b[_0xe409('0x26')][_0xe409('0x30')]+'%'};return _0x423583;}})});}_0x1c087a=_['merge']({},_0x1c087a,_0x28b63b[_0xe409('0x33')]);var _0x5142ab={'where':_0x1c087a[_0xe409('0x31')]};return db[_0xe409('0x23')][_0xe409('0x16')](_0x5142ab)[_0xe409('0x1c')](function(_0x15b870){_0xc686de[_0xe409('0x16')]=_0x15b870;if(_0x28b63b[_0xe409('0x26')][_0xe409('0x34')]){_0x1c087a['include']=[{'all':!![]}];}return db[_0xe409('0x23')][_0xe409('0x35')](_0x1c087a);})[_0xe409('0x1c')](function(_0x3cdd36){_0xc686de[_0xe409('0x36')]=_0x3cdd36;return _0xc686de;})[_0xe409('0x1c')](respondWithFilteredResult(_0x1eb3b2,_0x1c087a))[_0xe409('0x37')](handleError(_0x1eb3b2,null));};exports[_0xe409('0x38')]=function(_0x3b9789,_0x590a1d){var _0x3d7a3b={'raw':!![],'where':{'id':_0x3b9789['params']['id']}},_0x12c919={};_0x12c919[_0xe409('0x2a')]=_[_0xe409('0x27')](db[_0xe409('0x23')]['rawAttributes']);_0x12c919['query']=_[_0xe409('0x27')](_0x3b9789[_0xe409('0x26')]);_0x12c919[_0xe409('0x28')]=_['intersection'](_0x12c919[_0xe409('0x2a')],_0x12c919[_0xe409('0x26')]);_0x3d7a3b[_0xe409('0x2b')]=_[_0xe409('0x29')](_0x12c919[_0xe409('0x2a')],qs['fields'](_0x3b9789['query'][_0xe409('0x39')]));_0x3d7a3b['attributes']=_0x3d7a3b['attributes'][_0xe409('0x3a')]?_0x3d7a3b['attributes']:_0x12c919[_0xe409('0x2a')];if(_0x3b9789[_0xe409('0x26')][_0xe409('0x34')]){_0x3d7a3b[_0xe409('0x3b')]=[{'all':!![]}];}_0x3d7a3b=_[_0xe409('0x3c')]({},_0x3d7a3b,_0x3b9789[_0xe409('0x33')]);return db[_0xe409('0x23')][_0xe409('0x3d')](_0x3d7a3b)[_0xe409('0x1c')](handleEntityNotFound(_0x590a1d,null))[_0xe409('0x1c')](respondWithResult(_0x590a1d,null))[_0xe409('0x37')](handleError(_0x590a1d,null));};exports[_0xe409('0x3e')]=function(_0x3a7a2f,_0x102e6f){return db[_0xe409('0x23')][_0xe409('0x3e')](_0x3a7a2f[_0xe409('0x3f')],{})[_0xe409('0x1c')](respondWithResult(_0x102e6f,0xc9))[_0xe409('0x37')](handleError(_0x102e6f,null));};exports[_0xe409('0x40')]=function(_0x7f466,_0x149a62){if(_0x7f466['body']['id']){delete _0x7f466[_0xe409('0x3f')]['id'];}return db[_0xe409('0x23')][_0xe409('0x3d')]({'where':{'id':_0x7f466['params']['id']}})['then'](handleEntityNotFound(_0x149a62,null))['then'](saveUpdates(_0x7f466['body'],null))[_0xe409('0x1c')](respondWithResult(_0x149a62,null))[_0xe409('0x37')](handleError(_0x149a62,null));};exports[_0xe409('0x1d')]=function(_0x1fef60,_0x4da53a){return db[_0xe409('0x23')][_0xe409('0x3d')]({'where':{'id':_0x1fef60['params']['id']}})[_0xe409('0x1c')](handleEntityNotFound(_0x4da53a,null))['then'](removeEntity(_0x4da53a,null))[_0xe409('0x37')](handleError(_0x4da53a,null));};exports[_0xe409('0x41')]=function(_0x1bf10e,_0xb07e37){return db['SquareReport'][_0xe409('0x41')]()['then'](respondWithResult(_0xb07e37,null))[_0xe409('0x37')](handleError(_0xb07e37,null));};