766de65a77e4f571c0483631281e7d369ad2b434
[motion2.git] / server / api / analyticTreeReport / analyticTreeReport.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 _0x3012=['../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','update','then','error','name','send','index','map','AnalyticTreeReport','rawAttributes','fieldName','type','model','keys','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','filter','where','merge','options','includeAll','include','findAll','rows','catch','show','params','create','body','find','destroy','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','sox','ejs','lodash','squel','crypto','jsforce','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch'];(function(_0x21d0da,_0x3636a9){var _0x171b31=function(_0x113e2a){while(--_0x113e2a){_0x21d0da['push'](_0x21d0da['shift']());}};_0x171b31(++_0x3636a9);}(_0x3012,0x163));var _0x2301=function(_0x5d6444,_0x61898f){_0x5d6444=_0x5d6444-0x0;var _0x285429=_0x3012[_0x5d6444];return _0x285429;};'use strict';var pdf=require(_0x2301('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x2301('0x1'));var zipdir=require(_0x2301('0x2'));var jsonpatch=require(_0x2301('0x3'));var rp=require(_0x2301('0x4'));var moment=require(_0x2301('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x2301('0x6'));var util=require(_0x2301('0x7'));var path=require('path');var sox=require(_0x2301('0x8'));var csv=require('to-csv');var ejs=require(_0x2301('0x9'));var fs=require('fs');var _=require(_0x2301('0xa'));var squel=require(_0x2301('0xb'));var crypto=require(_0x2301('0xc'));var jsforce=require(_0x2301('0xd'));var deskjs=require('desk.js');var toCsv=require(_0x2301('0xe'));var querystring=require(_0x2301('0xf'));var Papa=require('papaparse');var Redis=require(_0x2301('0x10'));var authService=require(_0x2301('0x11'));var qs=require(_0x2301('0x12'));var as=require(_0x2301('0x13'));var hardwareService=require(_0x2301('0x14'));var logger=require(_0x2301('0x15'))(_0x2301('0x16'));var utils=require(_0x2301('0x17'));var config=require(_0x2301('0x18'));var licenseUtil=require(_0x2301('0x19'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0xb792f3,_0x16088c){_0x16088c=_0x16088c||0xcc;return function(_0x36d8da){if(_0x36d8da){return _0xb792f3[_0x2301('0x1a')](_0x16088c);}return _0xb792f3[_0x2301('0x1b')](_0x16088c)[_0x2301('0x1c')]();};}function respondWithResult(_0x1648d0,_0x1980d4){_0x1980d4=_0x1980d4||0xc8;return function(_0x421bb9){if(_0x421bb9){return _0x1648d0['status'](_0x1980d4)[_0x2301('0x1d')](_0x421bb9);}};}function respondWithFilteredResult(_0x2263c3,_0x4c3ad0){return function(_0x402995){if(_0x402995){var _0x2e63c8=_0x402995[_0x2301('0x1e')],_0x3d2401=_0x4c3ad0['offset'],_0xdbbc48=_0x4c3ad0[_0x2301('0x1f')]+_0x4c3ad0[_0x2301('0x20')],_0x69a109;if(_0xdbbc48>=_0x2e63c8){_0xdbbc48=_0x2e63c8;_0x69a109=0xc8;}else{_0x69a109=0xce;}_0x2263c3[_0x2301('0x1b')](_0x69a109);return _0x2263c3[_0x2301('0x21')](_0x2301('0x22'),_0x3d2401+'-'+_0xdbbc48+'/'+_0x2e63c8)['json'](_0x402995);}return null;};}function patchUpdates(_0x5dc4f8){return function(_0x2d6253){try{jsonpatch[_0x2301('0x23')](_0x2d6253,_0x5dc4f8,!![]);}catch(_0x68520){return BPromise[_0x2301('0x24')](_0x68520);}return _0x2d6253['save']();};}function saveUpdates(_0x35d5b0,_0x1bd2d9){return function(_0x163dca){if(_0x163dca){return _0x163dca[_0x2301('0x25')](_0x35d5b0)['then'](function(_0x52f541){return _0x52f541;});}return null;};}function removeEntity(_0x873cc0,_0x3a3dd6){return function(_0x4e5d17){if(_0x4e5d17){return _0x4e5d17['destroy']()[_0x2301('0x26')](function(){_0x873cc0[_0x2301('0x1b')](0xcc)[_0x2301('0x1c')]();});}};}function handleEntityNotFound(_0xd80a27,_0x4f5541){return function(_0x5b45e7){if(!_0x5b45e7){_0xd80a27[_0x2301('0x1a')](0x194);}return _0x5b45e7;};}function handleError(_0x334994,_0x518461){_0x518461=_0x518461||0x1f4;return function(_0x46fde0){logger[_0x2301('0x27')](_0x46fde0['stack']);if(_0x46fde0[_0x2301('0x28')]){delete _0x46fde0[_0x2301('0x28')];}_0x334994[_0x2301('0x1b')](_0x518461)[_0x2301('0x29')](_0x46fde0);};}exports[_0x2301('0x2a')]=function(_0x1e3413,_0x36fb4b){var _0xbfc731={},_0x1b241d={},_0x469fb1={'count':0x0,'rows':[]};var _0x18fc4b=_[_0x2301('0x2b')](db[_0x2301('0x2c')][_0x2301('0x2d')],function(_0x5914fc){return{'name':_0x5914fc[_0x2301('0x2e')],'type':_0x5914fc[_0x2301('0x2f')]['key']};});_0x1b241d[_0x2301('0x30')]=_[_0x2301('0x2b')](_0x18fc4b,'name');_0x1b241d['query']=_[_0x2301('0x31')](_0x1e3413[_0x2301('0x32')]);_0x1b241d[_0x2301('0x33')]=_[_0x2301('0x34')](_0x1b241d[_0x2301('0x30')],_0x1b241d[_0x2301('0x32')]);_0xbfc731['attributes']=_['intersection'](_0x1b241d[_0x2301('0x30')],qs['fields'](_0x1e3413[_0x2301('0x32')][_0x2301('0x35')]));_0xbfc731['attributes']=_0xbfc731[_0x2301('0x36')][_0x2301('0x37')]?_0xbfc731[_0x2301('0x36')]:_0x1b241d[_0x2301('0x30')];if(!_0x1e3413[_0x2301('0x32')][_0x2301('0x38')](_0x2301('0x39'))){_0xbfc731[_0x2301('0x20')]=qs[_0x2301('0x20')](_0x1e3413[_0x2301('0x32')][_0x2301('0x20')]);_0xbfc731[_0x2301('0x1f')]=qs['offset'](_0x1e3413[_0x2301('0x32')]['offset']);}_0xbfc731[_0x2301('0x3a')]=qs[_0x2301('0x3b')](_0x1e3413[_0x2301('0x32')][_0x2301('0x3b')]);_0xbfc731['where']=qs['filters'](_['pick'](_0x1e3413[_0x2301('0x32')],_0x1b241d[_0x2301('0x33')]),_0x18fc4b);if(_0x1e3413[_0x2301('0x32')][_0x2301('0x3c')]){_0xbfc731[_0x2301('0x3d')]=_[_0x2301('0x3e')](_0xbfc731['where'],{'$or':_[_0x2301('0x2b')](_0x18fc4b,function(_0x58f645){if(_0x58f645[_0x2301('0x2f')]!=='VIRTUAL'){var _0x351fae={};_0x351fae[_0x58f645[_0x2301('0x28')]]={'$like':'%'+_0x1e3413[_0x2301('0x32')]['filter']+'%'};return _0x351fae;}})});}_0xbfc731=_[_0x2301('0x3e')]({},_0xbfc731,_0x1e3413[_0x2301('0x3f')]);var _0x3cbfbc={'where':_0xbfc731[_0x2301('0x3d')]};return db[_0x2301('0x2c')][_0x2301('0x1e')](_0x3cbfbc)[_0x2301('0x26')](function(_0x38f31f){_0x469fb1[_0x2301('0x1e')]=_0x38f31f;if(_0x1e3413[_0x2301('0x32')][_0x2301('0x40')]){_0xbfc731[_0x2301('0x41')]=[{'all':!![]}];}return db[_0x2301('0x2c')][_0x2301('0x42')](_0xbfc731);})[_0x2301('0x26')](function(_0x38fa14){_0x469fb1[_0x2301('0x43')]=_0x38fa14;return _0x469fb1;})[_0x2301('0x26')](respondWithFilteredResult(_0x36fb4b,_0xbfc731))[_0x2301('0x44')](handleError(_0x36fb4b,null));};exports[_0x2301('0x45')]=function(_0x2d4254,_0x30d198){var _0xcb5b17={'raw':!![],'where':{'id':_0x2d4254[_0x2301('0x46')]['id']}},_0x21e073={};_0x21e073[_0x2301('0x30')]=_[_0x2301('0x31')](db['AnalyticTreeReport'][_0x2301('0x2d')]);_0x21e073[_0x2301('0x32')]=_[_0x2301('0x31')](_0x2d4254[_0x2301('0x32')]);_0x21e073[_0x2301('0x33')]=_[_0x2301('0x34')](_0x21e073[_0x2301('0x30')],_0x21e073[_0x2301('0x32')]);_0xcb5b17[_0x2301('0x36')]=_[_0x2301('0x34')](_0x21e073[_0x2301('0x30')],qs[_0x2301('0x35')](_0x2d4254[_0x2301('0x32')][_0x2301('0x35')]));_0xcb5b17[_0x2301('0x36')]=_0xcb5b17[_0x2301('0x36')][_0x2301('0x37')]?_0xcb5b17[_0x2301('0x36')]:_0x21e073[_0x2301('0x30')];if(_0x2d4254[_0x2301('0x32')][_0x2301('0x40')]){_0xcb5b17['include']=[{'all':!![]}];}_0xcb5b17=_[_0x2301('0x3e')]({},_0xcb5b17,_0x2d4254[_0x2301('0x3f')]);return db['AnalyticTreeReport']['find'](_0xcb5b17)[_0x2301('0x26')](handleEntityNotFound(_0x30d198,null))['then'](respondWithResult(_0x30d198,null))[_0x2301('0x44')](handleError(_0x30d198,null));};exports[_0x2301('0x47')]=function(_0xddf8fd,_0x35e0b9){return db[_0x2301('0x2c')][_0x2301('0x47')](_0xddf8fd[_0x2301('0x48')],{})[_0x2301('0x26')](respondWithResult(_0x35e0b9,0xc9))[_0x2301('0x44')](handleError(_0x35e0b9,null));};exports[_0x2301('0x25')]=function(_0x6408c8,_0x4ed1d9){if(_0x6408c8['body']['id']){delete _0x6408c8[_0x2301('0x48')]['id'];}return db[_0x2301('0x2c')][_0x2301('0x49')]({'where':{'id':_0x6408c8[_0x2301('0x46')]['id']}})[_0x2301('0x26')](handleEntityNotFound(_0x4ed1d9,null))['then'](saveUpdates(_0x6408c8['body'],null))[_0x2301('0x26')](respondWithResult(_0x4ed1d9,null))['catch'](handleError(_0x4ed1d9,null));};exports[_0x2301('0x4a')]=function(_0x308950,_0x44d86a){return db['AnalyticTreeReport'][_0x2301('0x49')]({'where':{'id':_0x308950['params']['id']}})['then'](handleEntityNotFound(_0x44d86a,null))[_0x2301('0x26')](removeEntity(_0x44d86a,null))[_0x2301('0x44')](handleError(_0x44d86a,null));};