66798a96a10d55ea09e46f3a67a937599bb449fd
[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 _0x5e07=['zip-dir','fast-json-patch','moment','bluebird','mustache','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','sendStatus','status','end','offset','limit','set','Content-Range','reject','then','destroy','error','stack','name','send','index','map','SquareDetailsReport','type','key','model','query','filters','attributes','intersection','fields','hasOwnProperty','nolimit','order','sort','where','filter','merge','VIRTUAL','count','includeAll','findAll','rows','catch','show','params','keys','rawAttributes','include','find','create','update','body','describe','html-pdf','eml-format','rimraf'];(function(_0x27c745,_0xbb3c86){var _0x3c6ad0=function(_0x319230){while(--_0x319230){_0x27c745['push'](_0x27c745['shift']());}};_0x3c6ad0(++_0xbb3c86);}(_0x5e07,0xd8));var _0x75e0=function(_0x484e36,_0x4482d8){_0x484e36=_0x484e36-0x0;var _0xafc85d=_0x5e07[_0x484e36];return _0xafc85d;};'use strict';var pdf=require(_0x75e0('0x0'));var emlformat=require(_0x75e0('0x1'));var rimraf=require(_0x75e0('0x2'));var zipdir=require(_0x75e0('0x3'));var jsonpatch=require(_0x75e0('0x4'));var rp=require('request-promise');var moment=require(_0x75e0('0x5'));var BPromise=require(_0x75e0('0x6'));var Mustache=require(_0x75e0('0x7'));var util=require('util');var path=require('path');var sox=require(_0x75e0('0x8'));var csv=require(_0x75e0('0x9'));var ejs=require(_0x75e0('0xa'));var fs=require('fs');var _=require(_0x75e0('0xb'));var squel=require(_0x75e0('0xc'));var crypto=require(_0x75e0('0xd'));var jsforce=require(_0x75e0('0xe'));var deskjs=require(_0x75e0('0xf'));var toCsv=require(_0x75e0('0x9'));var querystring=require(_0x75e0('0x10'));var Papa=require(_0x75e0('0x11'));var Redis=require(_0x75e0('0x12'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x75e0('0x13'));var hardwareService=require(_0x75e0('0x14'));var logger=require(_0x75e0('0x15'))(_0x75e0('0x16'));var utils=require('../../config/utils');var config=require(_0x75e0('0x17'));var db=require(_0x75e0('0x18'))['db'];function respondWithStatusCode(_0x16e0e2,_0x4f3b0b){_0x4f3b0b=_0x4f3b0b||0xcc;return function(_0xe9fec3){if(_0xe9fec3){return _0x16e0e2[_0x75e0('0x19')](_0x4f3b0b);}return _0x16e0e2[_0x75e0('0x1a')](_0x4f3b0b)[_0x75e0('0x1b')]();};}function respondWithResult(_0x72330c,_0x44092c){_0x44092c=_0x44092c||0xc8;return function(_0x2540b8){if(_0x2540b8){return _0x72330c[_0x75e0('0x1a')](_0x44092c)['json'](_0x2540b8);}};}function respondWithFilteredResult(_0x4fe948,_0x1077ad){return function(_0x4255f8){if(_0x4255f8){var _0x2d3bde=_0x4255f8['count'],_0x5731f3=_0x1077ad[_0x75e0('0x1c')],_0x22e27e=_0x1077ad[_0x75e0('0x1c')]+_0x1077ad[_0x75e0('0x1d')],_0x35d6a6;if(_0x22e27e>=_0x2d3bde){_0x22e27e=_0x2d3bde;_0x35d6a6=0xc8;}else{_0x35d6a6=0xce;}_0x4fe948[_0x75e0('0x1a')](_0x35d6a6);return _0x4fe948[_0x75e0('0x1e')](_0x75e0('0x1f'),_0x5731f3+'-'+_0x22e27e+'/'+_0x2d3bde)['json'](_0x4255f8);}return null;};}function patchUpdates(_0x4cca09){return function(_0x1c4b84){try{jsonpatch['apply'](_0x1c4b84,_0x4cca09,!![]);}catch(_0xe8d106){return BPromise[_0x75e0('0x20')](_0xe8d106);}return _0x1c4b84['save']();};}function saveUpdates(_0x32b08e,_0x40fd49){return function(_0x245cec){if(_0x245cec){return _0x245cec['update'](_0x32b08e)[_0x75e0('0x21')](function(_0x31be8a){return _0x31be8a;});}return null;};}function removeEntity(_0x39abf0,_0x11ae84){return function(_0x1f4e89){if(_0x1f4e89){return _0x1f4e89[_0x75e0('0x22')]()[_0x75e0('0x21')](function(){_0x39abf0[_0x75e0('0x1a')](0xcc)[_0x75e0('0x1b')]();});}};}function handleEntityNotFound(_0x350cf8,_0x3f813b){return function(_0x518211){if(!_0x518211){_0x350cf8['sendStatus'](0x194);}return _0x518211;};}function handleError(_0x5e2753,_0x56817a){_0x56817a=_0x56817a||0x1f4;return function(_0x14bd18){logger[_0x75e0('0x23')](_0x14bd18[_0x75e0('0x24')]);if(_0x14bd18['name']){delete _0x14bd18[_0x75e0('0x25')];}_0x5e2753[_0x75e0('0x1a')](_0x56817a)[_0x75e0('0x26')](_0x14bd18);};}exports[_0x75e0('0x27')]=function(_0x2818eb,_0x5681a2){var _0x36ffa5={},_0x42f2e1={},_0x13b4ef={'count':0x0,'rows':[]};var _0x3894b9=_[_0x75e0('0x28')](db[_0x75e0('0x29')]['rawAttributes'],function(_0x1da421){return{'name':_0x1da421['fieldName'],'type':_0x1da421[_0x75e0('0x2a')][_0x75e0('0x2b')]};});_0x42f2e1[_0x75e0('0x2c')]=_[_0x75e0('0x28')](_0x3894b9,_0x75e0('0x25'));_0x42f2e1[_0x75e0('0x2d')]=_['keys'](_0x2818eb[_0x75e0('0x2d')]);_0x42f2e1[_0x75e0('0x2e')]=_['intersection'](_0x42f2e1[_0x75e0('0x2c')],_0x42f2e1[_0x75e0('0x2d')]);_0x36ffa5[_0x75e0('0x2f')]=_[_0x75e0('0x30')](_0x42f2e1['model'],qs[_0x75e0('0x31')](_0x2818eb[_0x75e0('0x2d')][_0x75e0('0x31')]));_0x36ffa5[_0x75e0('0x2f')]=_0x36ffa5[_0x75e0('0x2f')]['length']?_0x36ffa5['attributes']:_0x42f2e1[_0x75e0('0x2c')];if(!_0x2818eb[_0x75e0('0x2d')][_0x75e0('0x32')](_0x75e0('0x33'))){_0x36ffa5[_0x75e0('0x1d')]=qs[_0x75e0('0x1d')](_0x2818eb[_0x75e0('0x2d')]['limit']);_0x36ffa5[_0x75e0('0x1c')]=qs[_0x75e0('0x1c')](_0x2818eb[_0x75e0('0x2d')][_0x75e0('0x1c')]);}_0x36ffa5[_0x75e0('0x34')]=qs[_0x75e0('0x35')](_0x2818eb[_0x75e0('0x2d')][_0x75e0('0x35')]);_0x36ffa5[_0x75e0('0x36')]=qs[_0x75e0('0x2e')](_['pick'](_0x2818eb[_0x75e0('0x2d')],_0x42f2e1[_0x75e0('0x2e')]));if(_0x2818eb[_0x75e0('0x2d')][_0x75e0('0x37')]){_0x36ffa5[_0x75e0('0x36')]=_[_0x75e0('0x38')](_0x36ffa5[_0x75e0('0x36')],{'$or':_[_0x75e0('0x28')](_0x3894b9,function(_0x317700){if(_0x317700['type']!==_0x75e0('0x39')){var _0x25cf16={};_0x25cf16[_0x317700[_0x75e0('0x25')]]={'$like':'%'+_0x2818eb[_0x75e0('0x2d')]['filter']+'%'};return _0x25cf16;}})});}_0x36ffa5=_[_0x75e0('0x38')]({},_0x36ffa5,_0x2818eb['options']);var _0x535a68={'where':_0x36ffa5[_0x75e0('0x36')]};return db[_0x75e0('0x29')][_0x75e0('0x3a')](_0x535a68)[_0x75e0('0x21')](function(_0x73d8c0){_0x13b4ef[_0x75e0('0x3a')]=_0x73d8c0;if(_0x2818eb[_0x75e0('0x2d')][_0x75e0('0x3b')]){_0x36ffa5['include']=[{'all':!![]}];}return db[_0x75e0('0x29')][_0x75e0('0x3c')](_0x36ffa5);})[_0x75e0('0x21')](function(_0x22cc00){_0x13b4ef[_0x75e0('0x3d')]=_0x22cc00;return _0x13b4ef;})[_0x75e0('0x21')](respondWithFilteredResult(_0x5681a2,_0x36ffa5))[_0x75e0('0x3e')](handleError(_0x5681a2,null));};exports[_0x75e0('0x3f')]=function(_0x5bb890,_0x254669){var _0x484e04={'raw':!![],'where':{'id':_0x5bb890[_0x75e0('0x40')]['id']}},_0x200c0c={};_0x200c0c['model']=_[_0x75e0('0x41')](db[_0x75e0('0x29')][_0x75e0('0x42')]);_0x200c0c['query']=_[_0x75e0('0x41')](_0x5bb890[_0x75e0('0x2d')]);_0x200c0c[_0x75e0('0x2e')]=_[_0x75e0('0x30')](_0x200c0c[_0x75e0('0x2c')],_0x200c0c[_0x75e0('0x2d')]);_0x484e04[_0x75e0('0x2f')]=_['intersection'](_0x200c0c[_0x75e0('0x2c')],qs[_0x75e0('0x31')](_0x5bb890['query'][_0x75e0('0x31')]));_0x484e04[_0x75e0('0x2f')]=_0x484e04['attributes']['length']?_0x484e04[_0x75e0('0x2f')]:_0x200c0c['model'];if(_0x5bb890[_0x75e0('0x2d')][_0x75e0('0x3b')]){_0x484e04[_0x75e0('0x43')]=[{'all':!![]}];}_0x484e04=_['merge']({},_0x484e04,_0x5bb890['options']);return db['SquareDetailsReport'][_0x75e0('0x44')](_0x484e04)['then'](handleEntityNotFound(_0x254669,null))[_0x75e0('0x21')](respondWithResult(_0x254669,null))[_0x75e0('0x3e')](handleError(_0x254669,null));};exports[_0x75e0('0x45')]=function(_0x2ff505,_0x355676){return db[_0x75e0('0x29')][_0x75e0('0x45')](_0x2ff505['body'],{})['then'](respondWithResult(_0x355676,0xc9))[_0x75e0('0x3e')](handleError(_0x355676,null));};exports[_0x75e0('0x46')]=function(_0x33de8b,_0x171b2c){if(_0x33de8b[_0x75e0('0x47')]['id']){delete _0x33de8b['body']['id'];}return db[_0x75e0('0x29')][_0x75e0('0x44')]({'where':{'id':_0x33de8b['params']['id']}})['then'](handleEntityNotFound(_0x171b2c,null))[_0x75e0('0x21')](saveUpdates(_0x33de8b[_0x75e0('0x47')],null))[_0x75e0('0x21')](respondWithResult(_0x171b2c,null))[_0x75e0('0x3e')](handleError(_0x171b2c,null));};exports[_0x75e0('0x22')]=function(_0x1a1dc0,_0x45c476){return db['SquareDetailsReport']['find']({'where':{'id':_0x1a1dc0[_0x75e0('0x40')]['id']}})[_0x75e0('0x21')](handleEntityNotFound(_0x45c476,null))['then'](removeEntity(_0x45c476,null))[_0x75e0('0x3e')](handleError(_0x45c476,null));};exports[_0x75e0('0x48')]=function(_0x24cf8b,_0x17021d){return db[_0x75e0('0x29')]['describe']()['then'](respondWithResult(_0x17021d,null))[_0x75e0('0x3e')](handleError(_0x17021d,null));};