Built motion from commit e6806ed6.|2.6.0
[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 _0x1ffe=['VIRTUAL','merge','options','includeAll','include','findAll','rows','catch','show','params','find','create','body','bulkCreate','bulkDestroy','ids','AnalyticCustomReport','findOne','sequelize','transaction','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','mustache','path','to-csv','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','count','limit','apply','reject','update','then','destroy','error','stack','name','send','index','map','AnalyticFieldReport','rawAttributes','key','model','keys','query','filters','intersection','attributes','fields','length','nolimit','order','sort','where','filter','type'];(function(_0x879bdb,_0x1fe13f){var _0x3a1383=function(_0x2ce566){while(--_0x2ce566){_0x879bdb['push'](_0x879bdb['shift']());}};_0x3a1383(++_0x1fe13f);}(_0x1ffe,0xae));var _0xe1ff=function(_0x365971,_0x541a0a){_0x365971=_0x365971-0x0;var _0x3ab662=_0x1ffe[_0x365971];return _0x3ab662;};'use strict';var emlformat=require(_0xe1ff('0x0'));var rimraf=require(_0xe1ff('0x1'));var zipdir=require(_0xe1ff('0x2'));var jsonpatch=require(_0xe1ff('0x3'));var rp=require(_0xe1ff('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xe1ff('0x5'));var util=require('util');var path=require(_0xe1ff('0x6'));var sox=require('sox');var csv=require(_0xe1ff('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0xe1ff('0x8'));var crypto=require(_0xe1ff('0x9'));var jsforce=require(_0xe1ff('0xa'));var deskjs=require('desk.js');var toCsv=require(_0xe1ff('0x7'));var querystring=require(_0xe1ff('0xb'));var Papa=require(_0xe1ff('0xc'));var Redis=require(_0xe1ff('0xd'));var authService=require(_0xe1ff('0xe'));var qs=require(_0xe1ff('0xf'));var as=require(_0xe1ff('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xe1ff('0x11'))(_0xe1ff('0x12'));var utils=require(_0xe1ff('0x13'));var config=require('../../config/environment');var licenseUtil=require(_0xe1ff('0x14'));var db=require(_0xe1ff('0x15'))['db'];function respondWithStatusCode(_0x3c1c54,_0x4a76e7){_0x4a76e7=_0x4a76e7||0xcc;return function(_0x4b27e3){if(_0x4b27e3){return _0x3c1c54[_0xe1ff('0x16')](_0x4a76e7);}return _0x3c1c54[_0xe1ff('0x17')](_0x4a76e7)[_0xe1ff('0x18')]();};}function respondWithResult(_0x240195,_0x1098bd){_0x1098bd=_0x1098bd||0xc8;return function(_0x3be402){if(_0x3be402){return _0x240195[_0xe1ff('0x17')](_0x1098bd)[_0xe1ff('0x19')](_0x3be402);}};}function respondWithFilteredResult(_0x9ec030,_0x4391a1){return function(_0x1856e4){if(_0x1856e4){var _0x5938da=typeof _0x4391a1[_0xe1ff('0x1a')]==='undefined'&&typeof _0x4391a1['limit']==='undefined';var _0xa129f9=_0x1856e4['count'];var _0x251139=_0x5938da?0x0:_0x4391a1[_0xe1ff('0x1a')];var _0xeaf169=_0x5938da?_0x1856e4[_0xe1ff('0x1b')]:_0x4391a1[_0xe1ff('0x1a')]+_0x4391a1[_0xe1ff('0x1c')];var _0xbde53c;if(_0xeaf169>=_0xa129f9){_0xeaf169=_0xa129f9;_0xbde53c=0xc8;}else{_0xbde53c=0xce;}_0x9ec030[_0xe1ff('0x17')](_0xbde53c);return _0x9ec030['set']('Content-Range',_0x251139+'-'+_0xeaf169+'/'+_0xa129f9)['json'](_0x1856e4);}return null;};}function patchUpdates(_0x5ad517){return function(_0x11ac6b){try{jsonpatch[_0xe1ff('0x1d')](_0x11ac6b,_0x5ad517,!![]);}catch(_0x11fd68){return BPromise[_0xe1ff('0x1e')](_0x11fd68);}return _0x11ac6b['save']();};}function saveUpdates(_0x492d0a,_0xdd30e1){return function(_0x4da99d){if(_0x4da99d){return _0x4da99d[_0xe1ff('0x1f')](_0x492d0a)[_0xe1ff('0x20')](function(_0x2d0fef){return _0x2d0fef;});}return null;};}function removeEntity(_0x5c3b0e,_0x4e9bad){return function(_0x44e4ed){if(_0x44e4ed){return _0x44e4ed[_0xe1ff('0x21')]()[_0xe1ff('0x20')](function(){_0x5c3b0e['status'](0xcc)[_0xe1ff('0x18')]();});}};}function handleEntityNotFound(_0x17ac37,_0x506f57){return function(_0x102644){if(!_0x102644){_0x17ac37[_0xe1ff('0x16')](0x194);}return _0x102644;};}function handleError(_0x284542,_0x2bffd3){_0x2bffd3=_0x2bffd3||0x1f4;return function(_0x20b5c5){logger[_0xe1ff('0x22')](_0x20b5c5[_0xe1ff('0x23')]);if(_0x20b5c5[_0xe1ff('0x24')]){delete _0x20b5c5['name'];}_0x284542['status'](_0x2bffd3)[_0xe1ff('0x25')](_0x20b5c5);};}exports[_0xe1ff('0x26')]=function(_0x51a45f,_0x28993e){var _0x24e5eb={},_0x28b013={},_0x683da5={'count':0x0,'rows':[]};var _0x2bc438=_[_0xe1ff('0x27')](db[_0xe1ff('0x28')][_0xe1ff('0x29')],function(_0x56c40f){return{'name':_0x56c40f['fieldName'],'type':_0x56c40f['type'][_0xe1ff('0x2a')]};});_0x28b013[_0xe1ff('0x2b')]=_[_0xe1ff('0x27')](_0x2bc438,_0xe1ff('0x24'));_0x28b013['query']=_[_0xe1ff('0x2c')](_0x51a45f[_0xe1ff('0x2d')]);_0x28b013[_0xe1ff('0x2e')]=_[_0xe1ff('0x2f')](_0x28b013[_0xe1ff('0x2b')],_0x28b013[_0xe1ff('0x2d')]);_0x24e5eb[_0xe1ff('0x30')]=_[_0xe1ff('0x2f')](_0x28b013[_0xe1ff('0x2b')],qs[_0xe1ff('0x31')](_0x51a45f[_0xe1ff('0x2d')][_0xe1ff('0x31')]));_0x24e5eb[_0xe1ff('0x30')]=_0x24e5eb[_0xe1ff('0x30')][_0xe1ff('0x32')]?_0x24e5eb['attributes']:_0x28b013[_0xe1ff('0x2b')];if(!_0x51a45f[_0xe1ff('0x2d')]['hasOwnProperty'](_0xe1ff('0x33'))){_0x24e5eb[_0xe1ff('0x1c')]=qs[_0xe1ff('0x1c')](_0x51a45f[_0xe1ff('0x2d')][_0xe1ff('0x1c')]);_0x24e5eb[_0xe1ff('0x1a')]=qs[_0xe1ff('0x1a')](_0x51a45f[_0xe1ff('0x2d')][_0xe1ff('0x1a')]);}_0x24e5eb[_0xe1ff('0x34')]=qs[_0xe1ff('0x35')](_0x51a45f[_0xe1ff('0x2d')][_0xe1ff('0x35')]);_0x24e5eb[_0xe1ff('0x36')]=qs[_0xe1ff('0x2e')](_['pick'](_0x51a45f[_0xe1ff('0x2d')],_0x28b013['filters']),_0x2bc438);if(_0x51a45f['query'][_0xe1ff('0x37')]){_0x24e5eb[_0xe1ff('0x36')]=_['merge'](_0x24e5eb[_0xe1ff('0x36')],{'$or':_['map'](_0x2bc438,function(_0x5c4a07){if(_0x5c4a07[_0xe1ff('0x38')]!==_0xe1ff('0x39')){var _0x4cb9ef={};_0x4cb9ef[_0x5c4a07[_0xe1ff('0x24')]]={'$like':'%'+_0x51a45f['query'][_0xe1ff('0x37')]+'%'};return _0x4cb9ef;}})});}_0x24e5eb=_[_0xe1ff('0x3a')]({},_0x24e5eb,_0x51a45f[_0xe1ff('0x3b')]);var _0x5263ea={'where':_0x24e5eb['where']};return db[_0xe1ff('0x28')]['count'](_0x5263ea)[_0xe1ff('0x20')](function(_0x309389){_0x683da5[_0xe1ff('0x1b')]=_0x309389;if(_0x51a45f['query'][_0xe1ff('0x3c')]){_0x24e5eb[_0xe1ff('0x3d')]=[{'all':!![]}];}return db[_0xe1ff('0x28')][_0xe1ff('0x3e')](_0x24e5eb);})[_0xe1ff('0x20')](function(_0x14d9d1){_0x683da5[_0xe1ff('0x3f')]=_0x14d9d1;return _0x683da5;})[_0xe1ff('0x20')](respondWithFilteredResult(_0x28993e,_0x24e5eb))[_0xe1ff('0x40')](handleError(_0x28993e,null));};exports[_0xe1ff('0x41')]=function(_0x240176,_0x1192c0){var _0x52cda8={'raw':![],'where':{'id':_0x240176[_0xe1ff('0x42')]['id']}},_0x1265fa={};_0x1265fa[_0xe1ff('0x2b')]=_[_0xe1ff('0x2c')](db['AnalyticFieldReport'][_0xe1ff('0x29')]);_0x1265fa[_0xe1ff('0x2d')]=_[_0xe1ff('0x2c')](_0x240176['query']);_0x1265fa['filters']=_[_0xe1ff('0x2f')](_0x1265fa['model'],_0x1265fa['query']);_0x52cda8['attributes']=_[_0xe1ff('0x2f')](_0x1265fa[_0xe1ff('0x2b')],qs[_0xe1ff('0x31')](_0x240176[_0xe1ff('0x2d')]['fields']));_0x52cda8[_0xe1ff('0x30')]=_0x52cda8[_0xe1ff('0x30')][_0xe1ff('0x32')]?_0x52cda8[_0xe1ff('0x30')]:_0x1265fa[_0xe1ff('0x2b')];if(_0x240176['query'][_0xe1ff('0x3c')]){_0x52cda8['include']=[{'all':!![]}];}_0x52cda8=_[_0xe1ff('0x3a')]({},_0x52cda8,_0x240176[_0xe1ff('0x3b')]);return db['AnalyticFieldReport'][_0xe1ff('0x43')](_0x52cda8)[_0xe1ff('0x20')](handleEntityNotFound(_0x1192c0,null))[_0xe1ff('0x20')](respondWithResult(_0x1192c0,null))[_0xe1ff('0x40')](handleError(_0x1192c0,null));};exports[_0xe1ff('0x44')]=function(_0x204331,_0x3a4d0b){return db[_0xe1ff('0x28')]['create'](_0x204331[_0xe1ff('0x45')],{})['then'](respondWithResult(_0x3a4d0b,0xc9))[_0xe1ff('0x40')](handleError(_0x3a4d0b,null));};exports[_0xe1ff('0x46')]=function(_0x33c851,_0x2b354b){return db[_0xe1ff('0x28')]['bulkCreate'](_0x33c851[_0xe1ff('0x45')],{'raw':![],'individualHooks':!![]})[_0xe1ff('0x20')](respondWithResult(_0x2b354b,0xc9))[_0xe1ff('0x40')](handleError(_0x2b354b,null));};exports[_0xe1ff('0x1f')]=function(_0x1ca9fd,_0xd06d6){if(_0x1ca9fd[_0xe1ff('0x45')]['id']){delete _0x1ca9fd[_0xe1ff('0x45')]['id'];}return db[_0xe1ff('0x28')]['find']({'where':{'id':_0x1ca9fd[_0xe1ff('0x42')]['id']}})[_0xe1ff('0x20')](handleEntityNotFound(_0xd06d6,null))[_0xe1ff('0x20')](saveUpdates(_0x1ca9fd['body'],null))['then'](respondWithResult(_0xd06d6,null))[_0xe1ff('0x40')](handleError(_0xd06d6,null));};exports[_0xe1ff('0x21')]=function(_0x121370,_0x3f74f0){return db[_0xe1ff('0x28')][_0xe1ff('0x43')]({'where':{'id':_0x121370['params']['id']}})[_0xe1ff('0x20')](handleEntityNotFound(_0x3f74f0,null))['then'](removeEntity(_0x3f74f0,null))[_0xe1ff('0x40')](handleError(_0x3f74f0,null));};exports[_0xe1ff('0x47')]=function(_0x2ff10e,_0x55eace){return db['AnalyticFieldReport'][_0xe1ff('0x21')]({'where':{'id':_0x2ff10e[_0xe1ff('0x2d')][_0xe1ff('0x48')]||[]},'raw':![],'individualHooks':!![]})[_0xe1ff('0x20')](respondWithResult(_0x55eace,0xcc))[_0xe1ff('0x40')](handleError(_0x55eace,null));};exports['addFields']=function(_0x4712f5,_0x5e413f,_0x283e31){return db[_0xe1ff('0x49')][_0xe1ff('0x4a')]({'where':{'id':_0x4712f5[_0xe1ff('0x42')]['id']}})[_0xe1ff('0x20')](handleEntityNotFound(_0x5e413f,null))[_0xe1ff('0x20')](function(_0x408d29){if(_0x408d29){return db[_0xe1ff('0x4b')][_0xe1ff('0x4c')](function(_0x5ce057){return db[_0xe1ff('0x28')]['destroy']({'where':{'CustomReportId':_0x4712f5[_0xe1ff('0x42')]['id']},'transaction':_0x5ce057})[_0xe1ff('0x20')](function(_0x574920){var _0x2a801d=_['map'](_0x4712f5[_0xe1ff('0x45')],function(_0x292b73){delete _0x292b73['id'];_0x292b73['CustomReportId']=_0x4712f5[_0xe1ff('0x42')]['id'];return _0x292b73;});return db[_0xe1ff('0x28')][_0xe1ff('0x46')](_0x2a801d,{'transaction':_0x5ce057});});})[_0xe1ff('0x20')](function(){return db[_0xe1ff('0x28')][_0xe1ff('0x3e')]({'where':{'CustomReportId':_0x4712f5[_0xe1ff('0x42')]['id']}});});}})[_0xe1ff('0x20')](respondWithResult(_0x5e413f,null))[_0xe1ff('0x40')](handleError(_0x5e413f,null));};