8dd1906bfd81eff92116c6f4be80f26068d63ecb
[motion2.git] / server / api / squareReportDetail / squareReportDetail.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 _0x00b8=['filter','options','SquareDetailsReport','includeAll','include','catch','show','find','create','body','params','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','undefined','limit','count','Content-Range','json','save','update','then','destroy','error','stack','name','send','index','rawAttributes','fieldName','type','key','model','map','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','sort','where','pick','merge','VIRTUAL'];(function(_0x90b342,_0x13a7d3){var _0x37845e=function(_0x4552d6){while(--_0x4552d6){_0x90b342['push'](_0x90b342['shift']());}};_0x37845e(++_0x13a7d3);}(_0x00b8,0x1e0));var _0x800b=function(_0x27a7eb,_0x340bae){_0x27a7eb=_0x27a7eb-0x0;var _0x158a4a=_0x00b8[_0x27a7eb];return _0x158a4a;};'use strict';var emlformat=require(_0x800b('0x0'));var rimraf=require(_0x800b('0x1'));var zipdir=require(_0x800b('0x2'));var jsonpatch=require(_0x800b('0x3'));var rp=require(_0x800b('0x4'));var moment=require(_0x800b('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x800b('0x6'));var util=require('util');var path=require(_0x800b('0x7'));var sox=require(_0x800b('0x8'));var csv=require(_0x800b('0x9'));var ejs=require(_0x800b('0xa'));var fs=require('fs');var fs_extra=require(_0x800b('0xb'));var _=require(_0x800b('0xc'));var squel=require(_0x800b('0xd'));var crypto=require(_0x800b('0xe'));var jsforce=require(_0x800b('0xf'));var deskjs=require(_0x800b('0x10'));var toCsv=require(_0x800b('0x9'));var querystring=require(_0x800b('0x11'));var Papa=require(_0x800b('0x12'));var Redis=require('ioredis');var authService=require(_0x800b('0x13'));var qs=require(_0x800b('0x14'));var as=require(_0x800b('0x15'));var hardwareService=require(_0x800b('0x16'));var logger=require('../../config/logger')(_0x800b('0x17'));var utils=require(_0x800b('0x18'));var config=require(_0x800b('0x19'));var licenseUtil=require(_0x800b('0x1a'));var db=require(_0x800b('0x1b'))['db'];function respondWithStatusCode(_0x471316,_0x363ec0){_0x363ec0=_0x363ec0||0xcc;return function(_0x1512e8){if(_0x1512e8){return _0x471316[_0x800b('0x1c')](_0x363ec0);}return _0x471316[_0x800b('0x1d')](_0x363ec0)[_0x800b('0x1e')]();};}function respondWithResult(_0x2cb5cb,_0x3aed4c){_0x3aed4c=_0x3aed4c||0xc8;return function(_0x1c4546){if(_0x1c4546){return _0x2cb5cb[_0x800b('0x1d')](_0x3aed4c)['json'](_0x1c4546);}};}function respondWithFilteredResult(_0xf6fd83,_0x19b7e9){return function(_0x564d27){if(_0x564d27){var _0x43249b=typeof _0x19b7e9[_0x800b('0x1f')]===_0x800b('0x20')&&typeof _0x19b7e9[_0x800b('0x21')]===_0x800b('0x20');var _0x311784=_0x564d27[_0x800b('0x22')];var _0x50e857=_0x43249b?0x0:_0x19b7e9[_0x800b('0x1f')];var _0x117680=_0x43249b?_0x564d27['count']:_0x19b7e9[_0x800b('0x1f')]+_0x19b7e9[_0x800b('0x21')];var _0x2637f3;if(_0x117680>=_0x311784){_0x117680=_0x311784;_0x2637f3=0xc8;}else{_0x2637f3=0xce;}_0xf6fd83[_0x800b('0x1d')](_0x2637f3);return _0xf6fd83['set'](_0x800b('0x23'),_0x50e857+'-'+_0x117680+'/'+_0x311784)[_0x800b('0x24')](_0x564d27);}return null;};}function patchUpdates(_0x4e8d92){return function(_0xc96ff6){try{jsonpatch['apply'](_0xc96ff6,_0x4e8d92,!![]);}catch(_0x5e476e){return BPromise['reject'](_0x5e476e);}return _0xc96ff6[_0x800b('0x25')]();};}function saveUpdates(_0x24a2a8,_0x2d645b){return function(_0x4611e5){if(_0x4611e5){return _0x4611e5[_0x800b('0x26')](_0x24a2a8)[_0x800b('0x27')](function(_0x174de7){return _0x174de7;});}return null;};}function removeEntity(_0x2ae20a,_0x338d64){return function(_0xcde909){if(_0xcde909){return _0xcde909[_0x800b('0x28')]()[_0x800b('0x27')](function(){_0x2ae20a['status'](0xcc)[_0x800b('0x1e')]();});}};}function handleEntityNotFound(_0x52d4cd,_0x1aa519){return function(_0x59ea97){if(!_0x59ea97){_0x52d4cd[_0x800b('0x1c')](0x194);}return _0x59ea97;};}function handleError(_0x3f5411,_0x1d118b){_0x1d118b=_0x1d118b||0x1f4;return function(_0x5ad03a){logger[_0x800b('0x29')](_0x5ad03a[_0x800b('0x2a')]);if(_0x5ad03a[_0x800b('0x2b')]){delete _0x5ad03a[_0x800b('0x2b')];}_0x3f5411[_0x800b('0x1d')](_0x1d118b)[_0x800b('0x2c')](_0x5ad03a);};}exports[_0x800b('0x2d')]=function(_0x57b7f2,_0x4ad806){var _0x5dcd20={},_0x535131={},_0x65bef9={'count':0x0,'rows':[]};var _0x23c5f3=_['map'](db['SquareDetailsReport'][_0x800b('0x2e')],function(_0x17f791){return{'name':_0x17f791[_0x800b('0x2f')],'type':_0x17f791[_0x800b('0x30')][_0x800b('0x31')]};});_0x535131[_0x800b('0x32')]=_[_0x800b('0x33')](_0x23c5f3,'name');_0x535131[_0x800b('0x34')]=_[_0x800b('0x35')](_0x57b7f2['query']);_0x535131[_0x800b('0x36')]=_['intersection'](_0x535131['model'],_0x535131[_0x800b('0x34')]);_0x5dcd20[_0x800b('0x37')]=_[_0x800b('0x38')](_0x535131[_0x800b('0x32')],qs[_0x800b('0x39')](_0x57b7f2['query'][_0x800b('0x39')]));_0x5dcd20[_0x800b('0x37')]=_0x5dcd20[_0x800b('0x37')][_0x800b('0x3a')]?_0x5dcd20[_0x800b('0x37')]:_0x535131[_0x800b('0x32')];if(!_0x57b7f2[_0x800b('0x34')][_0x800b('0x3b')](_0x800b('0x3c'))){_0x5dcd20[_0x800b('0x21')]=qs['limit'](_0x57b7f2['query']['limit']);_0x5dcd20[_0x800b('0x1f')]=qs[_0x800b('0x1f')](_0x57b7f2[_0x800b('0x34')][_0x800b('0x1f')]);}_0x5dcd20['order']=qs[_0x800b('0x3d')](_0x57b7f2['query'][_0x800b('0x3d')]);_0x5dcd20[_0x800b('0x3e')]=qs[_0x800b('0x36')](_[_0x800b('0x3f')](_0x57b7f2['query'],_0x535131[_0x800b('0x36')]),_0x23c5f3);if(_0x57b7f2[_0x800b('0x34')]['filter']){_0x5dcd20[_0x800b('0x3e')]=_[_0x800b('0x40')](_0x5dcd20['where'],{'$or':_[_0x800b('0x33')](_0x23c5f3,function(_0x1195e4){if(_0x1195e4[_0x800b('0x30')]!==_0x800b('0x41')){var _0x24054c={};_0x24054c[_0x1195e4['name']]={'$like':'%'+_0x57b7f2[_0x800b('0x34')][_0x800b('0x42')]+'%'};return _0x24054c;}})});}_0x5dcd20=_[_0x800b('0x40')]({},_0x5dcd20,_0x57b7f2[_0x800b('0x43')]);var _0x4b8134={'where':_0x5dcd20[_0x800b('0x3e')]};return db[_0x800b('0x44')][_0x800b('0x22')](_0x4b8134)['then'](function(_0x35cf61){_0x65bef9[_0x800b('0x22')]=_0x35cf61;if(_0x57b7f2[_0x800b('0x34')][_0x800b('0x45')]){_0x5dcd20[_0x800b('0x46')]=[{'all':!![]}];}return db[_0x800b('0x44')]['findAll'](_0x5dcd20);})[_0x800b('0x27')](function(_0x4fc847){_0x65bef9['rows']=_0x4fc847;return _0x65bef9;})[_0x800b('0x27')](respondWithFilteredResult(_0x4ad806,_0x5dcd20))[_0x800b('0x47')](handleError(_0x4ad806,null));};exports[_0x800b('0x48')]=function(_0x44653b,_0x1fb288){var _0x174712={'raw':!![],'where':{'id':_0x44653b['params']['id']}},_0x38a2a8={};_0x38a2a8[_0x800b('0x32')]=_[_0x800b('0x35')](db[_0x800b('0x44')][_0x800b('0x2e')]);_0x38a2a8[_0x800b('0x34')]=_[_0x800b('0x35')](_0x44653b[_0x800b('0x34')]);_0x38a2a8[_0x800b('0x36')]=_[_0x800b('0x38')](_0x38a2a8[_0x800b('0x32')],_0x38a2a8[_0x800b('0x34')]);_0x174712[_0x800b('0x37')]=_['intersection'](_0x38a2a8[_0x800b('0x32')],qs[_0x800b('0x39')](_0x44653b[_0x800b('0x34')]['fields']));_0x174712['attributes']=_0x174712[_0x800b('0x37')][_0x800b('0x3a')]?_0x174712['attributes']:_0x38a2a8[_0x800b('0x32')];if(_0x44653b[_0x800b('0x34')]['includeAll']){_0x174712[_0x800b('0x46')]=[{'all':!![]}];}_0x174712=_[_0x800b('0x40')]({},_0x174712,_0x44653b['options']);return db['SquareDetailsReport'][_0x800b('0x49')](_0x174712)['then'](handleEntityNotFound(_0x1fb288,null))['then'](respondWithResult(_0x1fb288,null))[_0x800b('0x47')](handleError(_0x1fb288,null));};exports[_0x800b('0x4a')]=function(_0xa017c6,_0x13767c){return db['SquareDetailsReport']['create'](_0xa017c6[_0x800b('0x4b')],{})[_0x800b('0x27')](respondWithResult(_0x13767c,0xc9))[_0x800b('0x47')](handleError(_0x13767c,null));};exports[_0x800b('0x26')]=function(_0xc853de,_0x8b0d78){if(_0xc853de[_0x800b('0x4b')]['id']){delete _0xc853de[_0x800b('0x4b')]['id'];}return db['SquareDetailsReport']['find']({'where':{'id':_0xc853de['params']['id']}})['then'](handleEntityNotFound(_0x8b0d78,null))['then'](saveUpdates(_0xc853de[_0x800b('0x4b')],null))[_0x800b('0x27')](respondWithResult(_0x8b0d78,null))[_0x800b('0x47')](handleError(_0x8b0d78,null));};exports[_0x800b('0x28')]=function(_0x3c83ec,_0x10fcf4){return db[_0x800b('0x44')][_0x800b('0x49')]({'where':{'id':_0x3c83ec[_0x800b('0x4c')]['id']}})[_0x800b('0x27')](handleEntityNotFound(_0x10fcf4,null))['then'](removeEntity(_0x10fcf4,null))[_0x800b('0x47')](handleError(_0x10fcf4,null));};exports[_0x800b('0x4d')]=function(_0x11e67d,_0x492810){return db[_0x800b('0x44')][_0x800b('0x4d')]()[_0x800b('0x27')](respondWithResult(_0x492810,null))[_0x800b('0x47')](handleError(_0x492810,null));};