c4e8bbf4ba4273f87fb1c3bf3c0fdd49a95615f8
[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 _0x49a3=['save','update','then','error','name','send','index','map','rawAttributes','type','key','model','keys','filters','intersection','query','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','SquareReport','includeAll','include','findAll','rows','catch','show','params','find','create','body','destroy','describe','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','path','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','json','offset','undefined','limit','count','set','apply','reject'];(function(_0x164eca,_0x555e28){var _0x2ce562=function(_0x148ca6){while(--_0x148ca6){_0x164eca['push'](_0x164eca['shift']());}};_0x2ce562(++_0x555e28);}(_0x49a3,0x1b5));var _0x349a=function(_0x5d31b9,_0x2867f9){_0x5d31b9=_0x5d31b9-0x0;var _0x272793=_0x49a3[_0x5d31b9];return _0x272793;};'use strict';var emlformat=require(_0x349a('0x0'));var rimraf=require(_0x349a('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x349a('0x2'));var rp=require(_0x349a('0x3'));var moment=require(_0x349a('0x4'));var BPromise=require(_0x349a('0x5'));var Mustache=require('mustache');var util=require('util');var path=require(_0x349a('0x6'));var sox=require(_0x349a('0x7'));var csv=require(_0x349a('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x349a('0x9'));var _=require(_0x349a('0xa'));var squel=require(_0x349a('0xb'));var crypto=require(_0x349a('0xc'));var jsforce=require(_0x349a('0xd'));var deskjs=require(_0x349a('0xe'));var toCsv=require(_0x349a('0x8'));var querystring=require(_0x349a('0xf'));var Papa=require(_0x349a('0x10'));var Redis=require(_0x349a('0x11'));var authService=require(_0x349a('0x12'));var qs=require(_0x349a('0x13'));var as=require(_0x349a('0x14'));var hardwareService=require(_0x349a('0x15'));var logger=require(_0x349a('0x16'))(_0x349a('0x17'));var utils=require(_0x349a('0x18'));var config=require(_0x349a('0x19'));var licenseUtil=require('../../config/license/util');var db=require(_0x349a('0x1a'))['db'];function respondWithStatusCode(_0x209279,_0x2fd25f){_0x2fd25f=_0x2fd25f||0xcc;return function(_0x46d434){if(_0x46d434){return _0x209279[_0x349a('0x1b')](_0x2fd25f);}return _0x209279[_0x349a('0x1c')](_0x2fd25f)['end']();};}function respondWithResult(_0x4383b4,_0x1a2966){_0x1a2966=_0x1a2966||0xc8;return function(_0x107bab){if(_0x107bab){return _0x4383b4['status'](_0x1a2966)[_0x349a('0x1d')](_0x107bab);}};}function respondWithFilteredResult(_0x22d249,_0x568fd3){return function(_0x479887){if(_0x479887){var _0x47c349=typeof _0x568fd3[_0x349a('0x1e')]===_0x349a('0x1f')&&typeof _0x568fd3[_0x349a('0x20')]===_0x349a('0x1f');var _0x25e2e7=_0x479887[_0x349a('0x21')];var _0x411170=_0x47c349?0x0:_0x568fd3[_0x349a('0x1e')];var _0xb4310b=_0x47c349?_0x479887['count']:_0x568fd3[_0x349a('0x1e')]+_0x568fd3[_0x349a('0x20')];var _0x4eea7b;if(_0xb4310b>=_0x25e2e7){_0xb4310b=_0x25e2e7;_0x4eea7b=0xc8;}else{_0x4eea7b=0xce;}_0x22d249['status'](_0x4eea7b);return _0x22d249[_0x349a('0x22')]('Content-Range',_0x411170+'-'+_0xb4310b+'/'+_0x25e2e7)[_0x349a('0x1d')](_0x479887);}return null;};}function patchUpdates(_0x339ed2){return function(_0x51e4ef){try{jsonpatch[_0x349a('0x23')](_0x51e4ef,_0x339ed2,!![]);}catch(_0x269259){return BPromise[_0x349a('0x24')](_0x269259);}return _0x51e4ef[_0x349a('0x25')]();};}function saveUpdates(_0x3addfb,_0x3784c5){return function(_0x3d23cf){if(_0x3d23cf){return _0x3d23cf[_0x349a('0x26')](_0x3addfb)[_0x349a('0x27')](function(_0x6f2341){return _0x6f2341;});}return null;};}function removeEntity(_0x26b8ee,_0x2b5600){return function(_0x51abad){if(_0x51abad){return _0x51abad['destroy']()[_0x349a('0x27')](function(){_0x26b8ee[_0x349a('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x29e86a,_0x527a70){return function(_0x1c0d69){if(!_0x1c0d69){_0x29e86a['sendStatus'](0x194);}return _0x1c0d69;};}function handleError(_0x51312e,_0x1862c2){_0x1862c2=_0x1862c2||0x1f4;return function(_0x2d0220){logger[_0x349a('0x28')](_0x2d0220['stack']);if(_0x2d0220[_0x349a('0x29')]){delete _0x2d0220[_0x349a('0x29')];}_0x51312e[_0x349a('0x1c')](_0x1862c2)[_0x349a('0x2a')](_0x2d0220);};}exports[_0x349a('0x2b')]=function(_0x279fc5,_0x34c220){var _0x544ada={},_0x5b99df={},_0x3a1592={'count':0x0,'rows':[]};var _0x5c96d8=_[_0x349a('0x2c')](db['SquareReport'][_0x349a('0x2d')],function(_0x5444ef){return{'name':_0x5444ef['fieldName'],'type':_0x5444ef[_0x349a('0x2e')][_0x349a('0x2f')]};});_0x5b99df[_0x349a('0x30')]=_['map'](_0x5c96d8,_0x349a('0x29'));_0x5b99df['query']=_[_0x349a('0x31')](_0x279fc5['query']);_0x5b99df[_0x349a('0x32')]=_[_0x349a('0x33')](_0x5b99df[_0x349a('0x30')],_0x5b99df[_0x349a('0x34')]);_0x544ada[_0x349a('0x35')]=_[_0x349a('0x33')](_0x5b99df[_0x349a('0x30')],qs[_0x349a('0x36')](_0x279fc5['query'][_0x349a('0x36')]));_0x544ada[_0x349a('0x35')]=_0x544ada[_0x349a('0x35')][_0x349a('0x37')]?_0x544ada[_0x349a('0x35')]:_0x5b99df[_0x349a('0x30')];if(!_0x279fc5[_0x349a('0x34')][_0x349a('0x38')](_0x349a('0x39'))){_0x544ada[_0x349a('0x20')]=qs[_0x349a('0x20')](_0x279fc5[_0x349a('0x34')][_0x349a('0x20')]);_0x544ada[_0x349a('0x1e')]=qs[_0x349a('0x1e')](_0x279fc5[_0x349a('0x34')]['offset']);}_0x544ada[_0x349a('0x3a')]=qs[_0x349a('0x3b')](_0x279fc5[_0x349a('0x34')]['sort']);_0x544ada[_0x349a('0x3c')]=qs[_0x349a('0x32')](_[_0x349a('0x3d')](_0x279fc5['query'],_0x5b99df['filters']),_0x5c96d8);if(_0x279fc5['query'][_0x349a('0x3e')]){_0x544ada[_0x349a('0x3c')]=_[_0x349a('0x3f')](_0x544ada[_0x349a('0x3c')],{'$or':_[_0x349a('0x2c')](_0x5c96d8,function(_0x5f2a49){if(_0x5f2a49['type']!==_0x349a('0x40')){var _0x20469b={};_0x20469b[_0x5f2a49['name']]={'$like':'%'+_0x279fc5[_0x349a('0x34')]['filter']+'%'};return _0x20469b;}})});}_0x544ada=_[_0x349a('0x3f')]({},_0x544ada,_0x279fc5[_0x349a('0x41')]);var _0x5df5fd={'where':_0x544ada['where']};return db[_0x349a('0x42')][_0x349a('0x21')](_0x5df5fd)[_0x349a('0x27')](function(_0x433384){_0x3a1592[_0x349a('0x21')]=_0x433384;if(_0x279fc5[_0x349a('0x34')][_0x349a('0x43')]){_0x544ada[_0x349a('0x44')]=[{'all':!![]}];}return db['SquareReport'][_0x349a('0x45')](_0x544ada);})[_0x349a('0x27')](function(_0x365eb3){_0x3a1592[_0x349a('0x46')]=_0x365eb3;return _0x3a1592;})[_0x349a('0x27')](respondWithFilteredResult(_0x34c220,_0x544ada))[_0x349a('0x47')](handleError(_0x34c220,null));};exports[_0x349a('0x48')]=function(_0xaae171,_0x1f6b40){var _0x6aee9e={'raw':!![],'where':{'id':_0xaae171[_0x349a('0x49')]['id']}},_0x3fcfb4={};_0x3fcfb4[_0x349a('0x30')]=_[_0x349a('0x31')](db['SquareReport'][_0x349a('0x2d')]);_0x3fcfb4[_0x349a('0x34')]=_[_0x349a('0x31')](_0xaae171[_0x349a('0x34')]);_0x3fcfb4[_0x349a('0x32')]=_[_0x349a('0x33')](_0x3fcfb4[_0x349a('0x30')],_0x3fcfb4[_0x349a('0x34')]);_0x6aee9e[_0x349a('0x35')]=_[_0x349a('0x33')](_0x3fcfb4[_0x349a('0x30')],qs[_0x349a('0x36')](_0xaae171['query'][_0x349a('0x36')]));_0x6aee9e[_0x349a('0x35')]=_0x6aee9e['attributes'][_0x349a('0x37')]?_0x6aee9e[_0x349a('0x35')]:_0x3fcfb4[_0x349a('0x30')];if(_0xaae171[_0x349a('0x34')][_0x349a('0x43')]){_0x6aee9e[_0x349a('0x44')]=[{'all':!![]}];}_0x6aee9e=_[_0x349a('0x3f')]({},_0x6aee9e,_0xaae171['options']);return db['SquareReport'][_0x349a('0x4a')](_0x6aee9e)[_0x349a('0x27')](handleEntityNotFound(_0x1f6b40,null))[_0x349a('0x27')](respondWithResult(_0x1f6b40,null))['catch'](handleError(_0x1f6b40,null));};exports[_0x349a('0x4b')]=function(_0x128386,_0x359c09){return db[_0x349a('0x42')][_0x349a('0x4b')](_0x128386[_0x349a('0x4c')],{})[_0x349a('0x27')](respondWithResult(_0x359c09,0xc9))[_0x349a('0x47')](handleError(_0x359c09,null));};exports[_0x349a('0x26')]=function(_0x2d66f9,_0x3614a5){if(_0x2d66f9['body']['id']){delete _0x2d66f9[_0x349a('0x4c')]['id'];}return db[_0x349a('0x42')]['find']({'where':{'id':_0x2d66f9[_0x349a('0x49')]['id']}})[_0x349a('0x27')](handleEntityNotFound(_0x3614a5,null))[_0x349a('0x27')](saveUpdates(_0x2d66f9['body'],null))['then'](respondWithResult(_0x3614a5,null))[_0x349a('0x47')](handleError(_0x3614a5,null));};exports[_0x349a('0x4d')]=function(_0x4a920a,_0xbc9d4){return db[_0x349a('0x42')][_0x349a('0x4a')]({'where':{'id':_0x4a920a[_0x349a('0x49')]['id']}})[_0x349a('0x27')](handleEntityNotFound(_0xbc9d4,null))[_0x349a('0x27')](removeEntity(_0xbc9d4,null))[_0x349a('0x47')](handleError(_0xbc9d4,null));};exports[_0x349a('0x4e')]=function(_0x48903c,_0x3e3f71){return db[_0x349a('0x42')]['describe']()['then'](respondWithResult(_0x3e3f71,null))[_0x349a('0x47')](handleError(_0x3e3f71,null));};