Built motion from commit (unavailable).|2.5.3
[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 _0x7c26=['querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','end','json','count','offset','set','Content-Range','reject','save','update','then','sendStatus','error','stack','name','status','map','AnalyticTreeReport','rawAttributes','fieldName','type','key','model','keys','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','limit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','find','create','body','destroy','html-pdf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','to-csv','ejs','squel','jsforce','desk.js'];(function(_0x1facfa,_0x1acf7d){var _0x9ec701=function(_0x115e37){while(--_0x115e37){_0x1facfa['push'](_0x1facfa['shift']());}};_0x9ec701(++_0x1acf7d);}(_0x7c26,0x11f));var _0x67c2=function(_0x1e71bd,_0x45c171){_0x1e71bd=_0x1e71bd-0x0;var _0x1e35c5=_0x7c26[_0x1e71bd];return _0x1e35c5;};'use strict';var pdf=require(_0x67c2('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x67c2('0x1'));var jsonpatch=require(_0x67c2('0x2'));var rp=require(_0x67c2('0x3'));var moment=require(_0x67c2('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x67c2('0x5'));var util=require(_0x67c2('0x6'));var path=require(_0x67c2('0x7'));var sox=require('sox');var csv=require(_0x67c2('0x8'));var ejs=require(_0x67c2('0x9'));var fs=require('fs');var _=require('lodash');var squel=require(_0x67c2('0xa'));var crypto=require('crypto');var jsforce=require(_0x67c2('0xb'));var deskjs=require(_0x67c2('0xc'));var toCsv=require('to-csv');var querystring=require(_0x67c2('0xd'));var Papa=require(_0x67c2('0xe'));var Redis=require(_0x67c2('0xf'));var authService=require(_0x67c2('0x10'));var qs=require(_0x67c2('0x11'));var as=require(_0x67c2('0x12'));var hardwareService=require(_0x67c2('0x13'));var logger=require(_0x67c2('0x14'))(_0x67c2('0x15'));var utils=require(_0x67c2('0x16'));var config=require(_0x67c2('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x3bbf24,_0x270dbd){_0x270dbd=_0x270dbd||0xcc;return function(_0x430f20){if(_0x430f20){return _0x3bbf24['sendStatus'](_0x270dbd);}return _0x3bbf24['status'](_0x270dbd)[_0x67c2('0x18')]();};}function respondWithResult(_0x173609,_0x35635d){_0x35635d=_0x35635d||0xc8;return function(_0x53b508){if(_0x53b508){return _0x173609['status'](_0x35635d)[_0x67c2('0x19')](_0x53b508);}};}function respondWithFilteredResult(_0x360344,_0x28925e){return function(_0x3bcd2a){if(_0x3bcd2a){var _0x4f2f62=_0x3bcd2a[_0x67c2('0x1a')],_0x27651d=_0x28925e[_0x67c2('0x1b')],_0x5b4e52=_0x28925e[_0x67c2('0x1b')]+_0x28925e['limit'],_0x295814;if(_0x5b4e52>=_0x4f2f62){_0x5b4e52=_0x4f2f62;_0x295814=0xc8;}else{_0x295814=0xce;}_0x360344['status'](_0x295814);return _0x360344[_0x67c2('0x1c')](_0x67c2('0x1d'),_0x27651d+'-'+_0x5b4e52+'/'+_0x4f2f62)[_0x67c2('0x19')](_0x3bcd2a);}return null;};}function patchUpdates(_0x452313){return function(_0x4f431d){try{jsonpatch['apply'](_0x4f431d,_0x452313,!![]);}catch(_0x5bbfd0){return BPromise[_0x67c2('0x1e')](_0x5bbfd0);}return _0x4f431d[_0x67c2('0x1f')]();};}function saveUpdates(_0x38f814,_0x4a788d){return function(_0x50a517){if(_0x50a517){return _0x50a517[_0x67c2('0x20')](_0x38f814)[_0x67c2('0x21')](function(_0x4f84f8){return _0x4f84f8;});}return null;};}function removeEntity(_0x1622d9,_0x248b0c){return function(_0x17c5db){if(_0x17c5db){return _0x17c5db['destroy']()[_0x67c2('0x21')](function(){_0x1622d9['status'](0xcc)[_0x67c2('0x18')]();});}};}function handleEntityNotFound(_0x5802c1,_0x2816ec){return function(_0x22f696){if(!_0x22f696){_0x5802c1[_0x67c2('0x22')](0x194);}return _0x22f696;};}function handleError(_0xe87aea,_0x18aad9){_0x18aad9=_0x18aad9||0x1f4;return function(_0x2321da){logger[_0x67c2('0x23')](_0x2321da[_0x67c2('0x24')]);if(_0x2321da[_0x67c2('0x25')]){delete _0x2321da[_0x67c2('0x25')];}_0xe87aea[_0x67c2('0x26')](_0x18aad9)['send'](_0x2321da);};}exports['index']=function(_0x4ba017,_0x5ed6cd){var _0x471e42={},_0x42553c={},_0x432f2d={'count':0x0,'rows':[]};var _0x1f4e7c=_[_0x67c2('0x27')](db[_0x67c2('0x28')][_0x67c2('0x29')],function(_0x4b3d25){return{'name':_0x4b3d25[_0x67c2('0x2a')],'type':_0x4b3d25[_0x67c2('0x2b')][_0x67c2('0x2c')]};});_0x42553c[_0x67c2('0x2d')]=_[_0x67c2('0x27')](_0x1f4e7c,_0x67c2('0x25'));_0x42553c['query']=_[_0x67c2('0x2e')](_0x4ba017[_0x67c2('0x2f')]);_0x42553c[_0x67c2('0x30')]=_[_0x67c2('0x31')](_0x42553c[_0x67c2('0x2d')],_0x42553c[_0x67c2('0x2f')]);_0x471e42['attributes']=_[_0x67c2('0x31')](_0x42553c[_0x67c2('0x2d')],qs[_0x67c2('0x32')](_0x4ba017[_0x67c2('0x2f')][_0x67c2('0x32')]));_0x471e42[_0x67c2('0x33')]=_0x471e42[_0x67c2('0x33')][_0x67c2('0x34')]?_0x471e42[_0x67c2('0x33')]:_0x42553c['model'];if(!_0x4ba017['query'][_0x67c2('0x35')](_0x67c2('0x36'))){_0x471e42['limit']=qs[_0x67c2('0x37')](_0x4ba017[_0x67c2('0x2f')]['limit']);_0x471e42['offset']=qs[_0x67c2('0x1b')](_0x4ba017[_0x67c2('0x2f')][_0x67c2('0x1b')]);}_0x471e42[_0x67c2('0x38')]=qs[_0x67c2('0x39')](_0x4ba017[_0x67c2('0x2f')][_0x67c2('0x39')]);_0x471e42[_0x67c2('0x3a')]=qs['filters'](_[_0x67c2('0x3b')](_0x4ba017[_0x67c2('0x2f')],_0x42553c['filters']),_0x1f4e7c);if(_0x4ba017['query'][_0x67c2('0x3c')]){_0x471e42[_0x67c2('0x3a')]=_[_0x67c2('0x3d')](_0x471e42[_0x67c2('0x3a')],{'$or':_['map'](_0x1f4e7c,function(_0x40b2d7){if(_0x40b2d7[_0x67c2('0x2b')]!==_0x67c2('0x3e')){var _0x1e61db={};_0x1e61db[_0x40b2d7[_0x67c2('0x25')]]={'$like':'%'+_0x4ba017[_0x67c2('0x2f')][_0x67c2('0x3c')]+'%'};return _0x1e61db;}})});}_0x471e42=_[_0x67c2('0x3d')]({},_0x471e42,_0x4ba017[_0x67c2('0x3f')]);var _0x13d689={'where':_0x471e42[_0x67c2('0x3a')]};return db['AnalyticTreeReport']['count'](_0x13d689)['then'](function(_0x3eaecc){_0x432f2d[_0x67c2('0x1a')]=_0x3eaecc;if(_0x4ba017[_0x67c2('0x2f')][_0x67c2('0x40')]){_0x471e42[_0x67c2('0x41')]=[{'all':!![]}];}return db[_0x67c2('0x28')][_0x67c2('0x42')](_0x471e42);})['then'](function(_0x21e1d0){_0x432f2d[_0x67c2('0x43')]=_0x21e1d0;return _0x432f2d;})[_0x67c2('0x21')](respondWithFilteredResult(_0x5ed6cd,_0x471e42))[_0x67c2('0x44')](handleError(_0x5ed6cd,null));};exports[_0x67c2('0x45')]=function(_0x3927c1,_0x38c01c){var _0x125968={'raw':!![],'where':{'id':_0x3927c1[_0x67c2('0x46')]['id']}},_0x3ec3c6={};_0x3ec3c6[_0x67c2('0x2d')]=_[_0x67c2('0x2e')](db[_0x67c2('0x28')][_0x67c2('0x29')]);_0x3ec3c6['query']=_[_0x67c2('0x2e')](_0x3927c1[_0x67c2('0x2f')]);_0x3ec3c6[_0x67c2('0x30')]=_[_0x67c2('0x31')](_0x3ec3c6[_0x67c2('0x2d')],_0x3ec3c6[_0x67c2('0x2f')]);_0x125968[_0x67c2('0x33')]=_['intersection'](_0x3ec3c6[_0x67c2('0x2d')],qs['fields'](_0x3927c1['query'][_0x67c2('0x32')]));_0x125968['attributes']=_0x125968['attributes'][_0x67c2('0x34')]?_0x125968[_0x67c2('0x33')]:_0x3ec3c6['model'];if(_0x3927c1[_0x67c2('0x2f')][_0x67c2('0x40')]){_0x125968[_0x67c2('0x41')]=[{'all':!![]}];}_0x125968=_[_0x67c2('0x3d')]({},_0x125968,_0x3927c1['options']);return db[_0x67c2('0x28')][_0x67c2('0x47')](_0x125968)['then'](handleEntityNotFound(_0x38c01c,null))['then'](respondWithResult(_0x38c01c,null))[_0x67c2('0x44')](handleError(_0x38c01c,null));};exports[_0x67c2('0x48')]=function(_0x1ab0f0,_0x364054){return db[_0x67c2('0x28')][_0x67c2('0x48')](_0x1ab0f0[_0x67c2('0x49')],{})[_0x67c2('0x21')](respondWithResult(_0x364054,0xc9))[_0x67c2('0x44')](handleError(_0x364054,null));};exports[_0x67c2('0x20')]=function(_0x35fd3d,_0x5e5ae9){if(_0x35fd3d[_0x67c2('0x49')]['id']){delete _0x35fd3d['body']['id'];}return db[_0x67c2('0x28')]['find']({'where':{'id':_0x35fd3d['params']['id']}})[_0x67c2('0x21')](handleEntityNotFound(_0x5e5ae9,null))['then'](saveUpdates(_0x35fd3d[_0x67c2('0x49')],null))[_0x67c2('0x21')](respondWithResult(_0x5e5ae9,null))[_0x67c2('0x44')](handleError(_0x5e5ae9,null));};exports[_0x67c2('0x4a')]=function(_0x4f2e04,_0x47e6bf){return db['AnalyticTreeReport'][_0x67c2('0x47')]({'where':{'id':_0x4f2e04[_0x67c2('0x46')]['id']}})[_0x67c2('0x21')](handleEntityNotFound(_0x47e6bf,null))['then'](removeEntity(_0x47e6bf,null))[_0x67c2('0x44')](handleError(_0x47e6bf,null));};