ae9a2be5d0f6d29c9756d7905b5ae7dce0ecd347
[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 _0xe38d=['filter','merge','options','then','includeAll','include','findAll','catch','show','params','create','body','find','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','offset','undefined','limit','count','status','apply','reject','save','update','destroy','error','name','map','AnalyticTreeReport','rawAttributes','fieldName','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','sort','where'];(function(_0x20eb4e,_0x2a60f8){var _0x59ee78=function(_0x54e64b){while(--_0x54e64b){_0x20eb4e['push'](_0x20eb4e['shift']());}};_0x59ee78(++_0x2a60f8);}(_0xe38d,0x166));var _0xde38=function(_0x5205d9,_0x17450c){_0x5205d9=_0x5205d9-0x0;var _0x35c77f=_0xe38d[_0x5205d9];return _0x35c77f;};'use strict';var emlformat=require(_0xde38('0x0'));var rimraf=require(_0xde38('0x1'));var zipdir=require(_0xde38('0x2'));var jsonpatch=require(_0xde38('0x3'));var rp=require(_0xde38('0x4'));var moment=require('moment');var BPromise=require(_0xde38('0x5'));var Mustache=require('mustache');var util=require(_0xde38('0x6'));var path=require(_0xde38('0x7'));var sox=require(_0xde38('0x8'));var csv=require(_0xde38('0x9'));var ejs=require(_0xde38('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xde38('0xb'));var squel=require(_0xde38('0xc'));var crypto=require(_0xde38('0xd'));var jsforce=require(_0xde38('0xe'));var deskjs=require(_0xde38('0xf'));var toCsv=require('to-csv');var querystring=require(_0xde38('0x10'));var Papa=require(_0xde38('0x11'));var Redis=require(_0xde38('0x12'));var authService=require('../../components/auth/service');var qs=require(_0xde38('0x13'));var as=require(_0xde38('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xde38('0x15'))(_0xde38('0x16'));var utils=require(_0xde38('0x17'));var config=require(_0xde38('0x18'));var licenseUtil=require(_0xde38('0x19'));var db=require(_0xde38('0x1a'))['db'];function respondWithStatusCode(_0x1dd3ad,_0x577c08){_0x577c08=_0x577c08||0xcc;return function(_0x231320){if(_0x231320){return _0x1dd3ad[_0xde38('0x1b')](_0x577c08);}return _0x1dd3ad['status'](_0x577c08)[_0xde38('0x1c')]();};}function respondWithResult(_0x466b2b,_0x51f7fd){_0x51f7fd=_0x51f7fd||0xc8;return function(_0x5b62cf){if(_0x5b62cf){return _0x466b2b['status'](_0x51f7fd)['json'](_0x5b62cf);}};}function respondWithFilteredResult(_0x42f982,_0x11f60d){return function(_0x349788){if(_0x349788){var _0x1cf7dc=typeof _0x11f60d[_0xde38('0x1d')]===_0xde38('0x1e')&&typeof _0x11f60d[_0xde38('0x1f')]==='undefined';var _0x1c8c60=_0x349788[_0xde38('0x20')];var _0x2aeea4=_0x1cf7dc?0x0:_0x11f60d[_0xde38('0x1d')];var _0x4944e5=_0x1cf7dc?_0x349788[_0xde38('0x20')]:_0x11f60d[_0xde38('0x1d')]+_0x11f60d[_0xde38('0x1f')];var _0x13e8bf;if(_0x4944e5>=_0x1c8c60){_0x4944e5=_0x1c8c60;_0x13e8bf=0xc8;}else{_0x13e8bf=0xce;}_0x42f982[_0xde38('0x21')](_0x13e8bf);return _0x42f982['set']('Content-Range',_0x2aeea4+'-'+_0x4944e5+'/'+_0x1c8c60)['json'](_0x349788);}return null;};}function patchUpdates(_0x426f59){return function(_0x388b12){try{jsonpatch[_0xde38('0x22')](_0x388b12,_0x426f59,!![]);}catch(_0x48efd6){return BPromise[_0xde38('0x23')](_0x48efd6);}return _0x388b12[_0xde38('0x24')]();};}function saveUpdates(_0x25da83,_0x2e8a73){return function(_0x15e2e3){if(_0x15e2e3){return _0x15e2e3[_0xde38('0x25')](_0x25da83)['then'](function(_0x44741a){return _0x44741a;});}return null;};}function removeEntity(_0x3c9c46,_0x5b1433){return function(_0x309028){if(_0x309028){return _0x309028[_0xde38('0x26')]()['then'](function(){_0x3c9c46['status'](0xcc)[_0xde38('0x1c')]();});}};}function handleEntityNotFound(_0x5b895b,_0xf67358){return function(_0x3e7b8c){if(!_0x3e7b8c){_0x5b895b[_0xde38('0x1b')](0x194);}return _0x3e7b8c;};}function handleError(_0x39e487,_0x1a5858){_0x1a5858=_0x1a5858||0x1f4;return function(_0x180550){logger[_0xde38('0x27')](_0x180550['stack']);if(_0x180550[_0xde38('0x28')]){delete _0x180550[_0xde38('0x28')];}_0x39e487[_0xde38('0x21')](_0x1a5858)['send'](_0x180550);};}exports['index']=function(_0x255bc6,_0x243bb9){var _0x2e9038={},_0x291712={},_0x4ec636={'count':0x0,'rows':[]};var _0x4681ca=_[_0xde38('0x29')](db[_0xde38('0x2a')][_0xde38('0x2b')],function(_0xcf6f1f){return{'name':_0xcf6f1f[_0xde38('0x2c')],'type':_0xcf6f1f['type']['key']};});_0x291712[_0xde38('0x2d')]=_[_0xde38('0x29')](_0x4681ca,_0xde38('0x28'));_0x291712[_0xde38('0x2e')]=_[_0xde38('0x2f')](_0x255bc6[_0xde38('0x2e')]);_0x291712[_0xde38('0x30')]=_[_0xde38('0x31')](_0x291712['model'],_0x291712[_0xde38('0x2e')]);_0x2e9038[_0xde38('0x32')]=_[_0xde38('0x31')](_0x291712[_0xde38('0x2d')],qs[_0xde38('0x33')](_0x255bc6[_0xde38('0x2e')][_0xde38('0x33')]));_0x2e9038[_0xde38('0x32')]=_0x2e9038['attributes']['length']?_0x2e9038[_0xde38('0x32')]:_0x291712['model'];if(!_0x255bc6[_0xde38('0x2e')][_0xde38('0x34')](_0xde38('0x35'))){_0x2e9038['limit']=qs[_0xde38('0x1f')](_0x255bc6[_0xde38('0x2e')][_0xde38('0x1f')]);_0x2e9038[_0xde38('0x1d')]=qs[_0xde38('0x1d')](_0x255bc6['query'][_0xde38('0x1d')]);}_0x2e9038['order']=qs['sort'](_0x255bc6[_0xde38('0x2e')][_0xde38('0x36')]);_0x2e9038[_0xde38('0x37')]=qs['filters'](_['pick'](_0x255bc6['query'],_0x291712[_0xde38('0x30')]),_0x4681ca);if(_0x255bc6[_0xde38('0x2e')][_0xde38('0x38')]){_0x2e9038['where']=_[_0xde38('0x39')](_0x2e9038['where'],{'$or':_[_0xde38('0x29')](_0x4681ca,function(_0x1e7491){if(_0x1e7491['type']!=='VIRTUAL'){var _0x206ce5={};_0x206ce5[_0x1e7491[_0xde38('0x28')]]={'$like':'%'+_0x255bc6[_0xde38('0x2e')][_0xde38('0x38')]+'%'};return _0x206ce5;}})});}_0x2e9038=_[_0xde38('0x39')]({},_0x2e9038,_0x255bc6[_0xde38('0x3a')]);var _0x3e8612={'where':_0x2e9038['where']};return db['AnalyticTreeReport']['count'](_0x3e8612)[_0xde38('0x3b')](function(_0x58e82d){_0x4ec636[_0xde38('0x20')]=_0x58e82d;if(_0x255bc6[_0xde38('0x2e')][_0xde38('0x3c')]){_0x2e9038[_0xde38('0x3d')]=[{'all':!![]}];}return db[_0xde38('0x2a')][_0xde38('0x3e')](_0x2e9038);})[_0xde38('0x3b')](function(_0x4f6e75){_0x4ec636['rows']=_0x4f6e75;return _0x4ec636;})[_0xde38('0x3b')](respondWithFilteredResult(_0x243bb9,_0x2e9038))[_0xde38('0x3f')](handleError(_0x243bb9,null));};exports[_0xde38('0x40')]=function(_0xf848f0,_0x41588a){var _0xea9e46={'raw':!![],'where':{'id':_0xf848f0[_0xde38('0x41')]['id']}},_0x97a2d7={};_0x97a2d7[_0xde38('0x2d')]=_[_0xde38('0x2f')](db['AnalyticTreeReport'][_0xde38('0x2b')]);_0x97a2d7[_0xde38('0x2e')]=_[_0xde38('0x2f')](_0xf848f0[_0xde38('0x2e')]);_0x97a2d7['filters']=_[_0xde38('0x31')](_0x97a2d7[_0xde38('0x2d')],_0x97a2d7[_0xde38('0x2e')]);_0xea9e46['attributes']=_['intersection'](_0x97a2d7['model'],qs['fields'](_0xf848f0[_0xde38('0x2e')][_0xde38('0x33')]));_0xea9e46[_0xde38('0x32')]=_0xea9e46[_0xde38('0x32')]['length']?_0xea9e46[_0xde38('0x32')]:_0x97a2d7['model'];if(_0xf848f0[_0xde38('0x2e')][_0xde38('0x3c')]){_0xea9e46[_0xde38('0x3d')]=[{'all':!![]}];}_0xea9e46=_[_0xde38('0x39')]({},_0xea9e46,_0xf848f0[_0xde38('0x3a')]);return db[_0xde38('0x2a')]['find'](_0xea9e46)['then'](handleEntityNotFound(_0x41588a,null))['then'](respondWithResult(_0x41588a,null))[_0xde38('0x3f')](handleError(_0x41588a,null));};exports['create']=function(_0x16f959,_0x914397){return db[_0xde38('0x2a')][_0xde38('0x42')](_0x16f959[_0xde38('0x43')],{})[_0xde38('0x3b')](respondWithResult(_0x914397,0xc9))['catch'](handleError(_0x914397,null));};exports[_0xde38('0x25')]=function(_0x4792cc,_0x20ce3d){if(_0x4792cc[_0xde38('0x43')]['id']){delete _0x4792cc['body']['id'];}return db[_0xde38('0x2a')][_0xde38('0x44')]({'where':{'id':_0x4792cc[_0xde38('0x41')]['id']}})[_0xde38('0x3b')](handleEntityNotFound(_0x20ce3d,null))[_0xde38('0x3b')](saveUpdates(_0x4792cc['body'],null))[_0xde38('0x3b')](respondWithResult(_0x20ce3d,null))[_0xde38('0x3f')](handleError(_0x20ce3d,null));};exports['destroy']=function(_0xee744,_0x103866){return db[_0xde38('0x2a')][_0xde38('0x44')]({'where':{'id':_0xee744[_0xde38('0x41')]['id']}})['then'](handleEntityNotFound(_0x103866,null))[_0xde38('0x3b')](removeEntity(_0x103866,null))[_0xde38('0x3f')](handleError(_0x103866,null));};