edb97df8d23fae351eee3e21301e7af0882dfc7b
[motion2.git] / server / api / analyticFieldReport / analyticFieldReport.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 _0x0991=['eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','update','then','destroy','error','stack','name','render','body','message','agent','interaction','index','map','AnalyticFieldReport','fieldName','type','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','sort','where','pick','merge','VIRTUAL','filter','options','includeAll','rows','show','params','rawAttributes','include','find','create','catch','bulkCreate','bulkDestroy','ids','addFields','AnalyticCustomReport','findOne','sequelize','transaction','CustomReportId'];(function(_0x5dc86b,_0x43e7e2){var _0x3645ab=function(_0x10a586){while(--_0x10a586){_0x5dc86b['push'](_0x5dc86b['shift']());}};_0x3645ab(++_0x43e7e2);}(_0x0991,0xb4));var _0x1099=function(_0x5f1d79,_0x31264f){_0x5f1d79=_0x5f1d79-0x0;var _0x5ed351=_0x0991[_0x5f1d79];return _0x5ed351;};'use strict';var emlformat=require(_0x1099('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x1099('0x1'));var jsonpatch=require(_0x1099('0x2'));var rp=require(_0x1099('0x3'));var moment=require(_0x1099('0x4'));var BPromise=require(_0x1099('0x5'));var Mustache=require(_0x1099('0x6'));var util=require(_0x1099('0x7'));var path=require(_0x1099('0x8'));var sox=require(_0x1099('0x9'));var csv=require(_0x1099('0xa'));var ejs=require(_0x1099('0xb'));var fs=require('fs');var fs_extra=require(_0x1099('0xc'));var _=require(_0x1099('0xd'));var squel=require('squel');var crypto=require(_0x1099('0xe'));var jsforce=require(_0x1099('0xf'));var deskjs=require(_0x1099('0x10'));var toCsv=require(_0x1099('0xa'));var querystring=require(_0x1099('0x11'));var Papa=require(_0x1099('0x12'));var Redis=require(_0x1099('0x13'));var authService=require(_0x1099('0x14'));var qs=require(_0x1099('0x15'));var as=require(_0x1099('0x16'));var hardwareService=require(_0x1099('0x17'));var logger=require('../../config/logger')(_0x1099('0x18'));var utils=require(_0x1099('0x19'));var config=require(_0x1099('0x1a'));var licenseUtil=require(_0x1099('0x1b'));var db=require(_0x1099('0x1c'))['db'];function respondWithStatusCode(_0x5230e5,_0x10d4d8){_0x10d4d8=_0x10d4d8||0xcc;return function(_0x215e4c){if(_0x215e4c){return _0x5230e5[_0x1099('0x1d')](_0x10d4d8);}return _0x5230e5[_0x1099('0x1e')](_0x10d4d8)[_0x1099('0x1f')]();};}function respondWithResult(_0x3c7e2a,_0x376aa8){_0x376aa8=_0x376aa8||0xc8;return function(_0x1623c2){if(_0x1623c2){return _0x3c7e2a[_0x1099('0x1e')](_0x376aa8)[_0x1099('0x20')](_0x1623c2);}};}function respondWithFilteredResult(_0x43c3f5,_0x5c32e7){return function(_0x10939f){if(_0x10939f){var _0x25fdcd=typeof _0x5c32e7[_0x1099('0x21')]===_0x1099('0x22')&&typeof _0x5c32e7[_0x1099('0x23')]==='undefined';var _0x335a18=_0x10939f[_0x1099('0x24')];var _0x351dc1=_0x25fdcd?0x0:_0x5c32e7['offset'];var _0x12e247=_0x25fdcd?_0x10939f[_0x1099('0x24')]:_0x5c32e7['offset']+_0x5c32e7['limit'];var _0x2a6fbd;if(_0x12e247>=_0x335a18){_0x12e247=_0x335a18;_0x2a6fbd=0xc8;}else{_0x2a6fbd=0xce;}_0x43c3f5[_0x1099('0x1e')](_0x2a6fbd);return _0x43c3f5[_0x1099('0x25')](_0x1099('0x26'),_0x351dc1+'-'+_0x12e247+'/'+_0x335a18)['json'](_0x10939f);}return null;};}function patchUpdates(_0x264974){return function(_0x27f6d2){try{jsonpatch[_0x1099('0x27')](_0x27f6d2,_0x264974,!![]);}catch(_0x473415){return BPromise['reject'](_0x473415);}return _0x27f6d2['save']();};}function saveUpdates(_0x463e35,_0x1d0b9c){return function(_0x4efb11){if(_0x4efb11){return _0x4efb11[_0x1099('0x28')](_0x463e35)[_0x1099('0x29')](function(_0x36d2a7){return _0x36d2a7;});}return null;};}function removeEntity(_0x17041c,_0x131d62){return function(_0x1613b4){if(_0x1613b4){return _0x1613b4[_0x1099('0x2a')]()[_0x1099('0x29')](function(){_0x17041c[_0x1099('0x1e')](0xcc)['end']();});}};}function handleEntityNotFound(_0x319728,_0x4b5f26){return function(_0x535745){if(!_0x535745){_0x319728[_0x1099('0x1d')](0x194);}return _0x535745;};}function handleError(_0x4e5d97,_0x5358e0){_0x5358e0=_0x5358e0||0x1f4;return function(_0x5aa914){logger[_0x1099('0x2b')](_0x5aa914[_0x1099('0x2c')]);if(_0x5aa914[_0x1099('0x2d')]){delete _0x5aa914['name'];}_0x4e5d97[_0x1099('0x1e')](_0x5358e0)['send'](_0x5aa914);};}function getMustacheRender(_0x5346bf,_0x1834bd){return Mustache[_0x1099('0x2e')](_0x5346bf,_['merge'](_0x1834bd[_0x1099('0x2f')],{'contact':_0x1834bd['contact'],'message':_0x1834bd[_0x1099('0x30')],'agent':_0x1834bd[_0x1099('0x31')],'interaction':_0x1834bd[_0x1099('0x32')],'account':_0x1834bd['account']}))||'';}exports[_0x1099('0x33')]=function(_0x5b66f5,_0x52dc80){var _0x5e5992={},_0x7ee05={},_0x5d2e90={'count':0x0,'rows':[]};var _0x542f72=_[_0x1099('0x34')](db[_0x1099('0x35')]['rawAttributes'],function(_0x35d048){return{'name':_0x35d048[_0x1099('0x36')],'type':_0x35d048[_0x1099('0x37')]['key']};});_0x7ee05[_0x1099('0x38')]=_['map'](_0x542f72,'name');_0x7ee05[_0x1099('0x39')]=_[_0x1099('0x3a')](_0x5b66f5[_0x1099('0x39')]);_0x7ee05[_0x1099('0x3b')]=_['intersection'](_0x7ee05[_0x1099('0x38')],_0x7ee05['query']);_0x5e5992[_0x1099('0x3c')]=_[_0x1099('0x3d')](_0x7ee05['model'],qs['fields'](_0x5b66f5['query'][_0x1099('0x3e')]));_0x5e5992[_0x1099('0x3c')]=_0x5e5992[_0x1099('0x3c')][_0x1099('0x3f')]?_0x5e5992['attributes']:_0x7ee05['model'];if(!_0x5b66f5['query'][_0x1099('0x40')]('nolimit')){_0x5e5992[_0x1099('0x23')]=qs[_0x1099('0x23')](_0x5b66f5[_0x1099('0x39')]['limit']);_0x5e5992[_0x1099('0x21')]=qs[_0x1099('0x21')](_0x5b66f5[_0x1099('0x39')][_0x1099('0x21')]);}_0x5e5992['order']=qs[_0x1099('0x41')](_0x5b66f5['query']['sort']);_0x5e5992[_0x1099('0x42')]=qs[_0x1099('0x3b')](_[_0x1099('0x43')](_0x5b66f5[_0x1099('0x39')],_0x7ee05[_0x1099('0x3b')]),_0x542f72);if(_0x5b66f5[_0x1099('0x39')]['filter']){_0x5e5992[_0x1099('0x42')]=_[_0x1099('0x44')](_0x5e5992[_0x1099('0x42')],{'$or':_[_0x1099('0x34')](_0x542f72,function(_0x23018b){if(_0x23018b[_0x1099('0x37')]!==_0x1099('0x45')){var _0x5cbb50={};_0x5cbb50[_0x23018b[_0x1099('0x2d')]]={'$like':'%'+_0x5b66f5['query'][_0x1099('0x46')]+'%'};return _0x5cbb50;}})});}_0x5e5992=_[_0x1099('0x44')]({},_0x5e5992,_0x5b66f5[_0x1099('0x47')]);var _0x37c10e={'where':_0x5e5992[_0x1099('0x42')]};return db[_0x1099('0x35')][_0x1099('0x24')](_0x37c10e)[_0x1099('0x29')](function(_0x4dae47){_0x5d2e90[_0x1099('0x24')]=_0x4dae47;if(_0x5b66f5[_0x1099('0x39')][_0x1099('0x48')]){_0x5e5992['include']=[{'all':!![]}];}return db[_0x1099('0x35')]['findAll'](_0x5e5992);})['then'](function(_0x225357){_0x5d2e90[_0x1099('0x49')]=_0x225357;return _0x5d2e90;})['then'](respondWithFilteredResult(_0x52dc80,_0x5e5992))['catch'](handleError(_0x52dc80,null));};exports[_0x1099('0x4a')]=function(_0x21fed2,_0x4c9790){var _0x18f100={'raw':![],'where':{'id':_0x21fed2[_0x1099('0x4b')]['id']}},_0x261322={};_0x261322[_0x1099('0x38')]=_[_0x1099('0x3a')](db[_0x1099('0x35')][_0x1099('0x4c')]);_0x261322[_0x1099('0x39')]=_['keys'](_0x21fed2[_0x1099('0x39')]);_0x261322[_0x1099('0x3b')]=_[_0x1099('0x3d')](_0x261322[_0x1099('0x38')],_0x261322['query']);_0x18f100[_0x1099('0x3c')]=_[_0x1099('0x3d')](_0x261322[_0x1099('0x38')],qs[_0x1099('0x3e')](_0x21fed2[_0x1099('0x39')][_0x1099('0x3e')]));_0x18f100[_0x1099('0x3c')]=_0x18f100['attributes'][_0x1099('0x3f')]?_0x18f100[_0x1099('0x3c')]:_0x261322[_0x1099('0x38')];if(_0x21fed2[_0x1099('0x39')][_0x1099('0x48')]){_0x18f100[_0x1099('0x4d')]=[{'all':!![]}];}_0x18f100=_[_0x1099('0x44')]({},_0x18f100,_0x21fed2[_0x1099('0x47')]);return db['AnalyticFieldReport'][_0x1099('0x4e')](_0x18f100)[_0x1099('0x29')](handleEntityNotFound(_0x4c9790,null))['then'](respondWithResult(_0x4c9790,null))['catch'](handleError(_0x4c9790,null));};exports[_0x1099('0x4f')]=function(_0x182f56,_0x16ba1b){return db[_0x1099('0x35')][_0x1099('0x4f')](_0x182f56[_0x1099('0x2f')],{})[_0x1099('0x29')](respondWithResult(_0x16ba1b,0xc9))[_0x1099('0x50')](handleError(_0x16ba1b,null));};exports[_0x1099('0x51')]=function(_0x431e08,_0x232d53){return db['AnalyticFieldReport']['bulkCreate'](_0x431e08[_0x1099('0x2f')],{'raw':![],'individualHooks':!![]})['then'](respondWithResult(_0x232d53,0xc9))[_0x1099('0x50')](handleError(_0x232d53,null));};exports[_0x1099('0x28')]=function(_0x203341,_0xccaa7e){if(_0x203341[_0x1099('0x2f')]['id']){delete _0x203341[_0x1099('0x2f')]['id'];}return db[_0x1099('0x35')][_0x1099('0x4e')]({'where':{'id':_0x203341[_0x1099('0x4b')]['id']}})[_0x1099('0x29')](handleEntityNotFound(_0xccaa7e,null))[_0x1099('0x29')](saveUpdates(_0x203341[_0x1099('0x2f')],null))[_0x1099('0x29')](respondWithResult(_0xccaa7e,null))[_0x1099('0x50')](handleError(_0xccaa7e,null));};exports[_0x1099('0x2a')]=function(_0x341371,_0x556424){return db['AnalyticFieldReport'][_0x1099('0x4e')]({'where':{'id':_0x341371[_0x1099('0x4b')]['id']}})[_0x1099('0x29')](handleEntityNotFound(_0x556424,null))[_0x1099('0x29')](removeEntity(_0x556424,null))[_0x1099('0x50')](handleError(_0x556424,null));};exports[_0x1099('0x52')]=function(_0x10527d,_0x57cb58){return db['AnalyticFieldReport'][_0x1099('0x2a')]({'where':{'id':_0x10527d[_0x1099('0x39')][_0x1099('0x53')]||[]},'raw':![],'individualHooks':!![]})[_0x1099('0x29')](respondWithResult(_0x57cb58,0xcc))[_0x1099('0x50')](handleError(_0x57cb58,null));};exports[_0x1099('0x54')]=function(_0x5c8120,_0x8d5842,_0x6ea404){return db[_0x1099('0x55')][_0x1099('0x56')]({'where':{'id':_0x5c8120['params']['id']}})['then'](handleEntityNotFound(_0x8d5842,null))['then'](function(_0x134907){if(_0x134907){return db[_0x1099('0x57')][_0x1099('0x58')](function(_0x28371d){return db[_0x1099('0x35')]['destroy']({'where':{'CustomReportId':_0x5c8120[_0x1099('0x4b')]['id']},'transaction':_0x28371d})[_0x1099('0x29')](function(_0x3da4b2){var _0x5c4475=_[_0x1099('0x34')](_0x5c8120['body'],function(_0xd08b57){delete _0xd08b57['id'];_0xd08b57[_0x1099('0x59')]=_0x5c8120['params']['id'];return _0xd08b57;});return db['AnalyticFieldReport'][_0x1099('0x51')](_0x5c4475,{'transaction':_0x28371d});});})[_0x1099('0x29')](function(){return db[_0x1099('0x35')]['findAll']({'where':{'CustomReportId':_0x5c8120[_0x1099('0x4b')]['id']}});});}})[_0x1099('0x29')](respondWithResult(_0x8d5842,null))[_0x1099('0x50')](handleError(_0x8d5842,null));};