Built motion from commit 85328c08.|2.5.50
[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 _0x727a=['count','set','Content-Range','apply','reject','save','then','destroy','stack','name','send','index','map','fieldName','model','query','keys','filters','attributes','intersection','length','nolimit','order','sort','pick','filter','where','type','VIRTUAL','merge','options','AnalyticFieldReport','includeAll','include','findAll','rows','catch','show','params','fields','find','create','body','bulkCreate','bulkDestroy','ids','addFields','AnalyticCustomReport','sequelize','transaction','eml-format','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','json','offset','limit','undefined'];(function(_0x17d9e3,_0x1f969c){var _0x14192d=function(_0x159745){while(--_0x159745){_0x17d9e3['push'](_0x17d9e3['shift']());}};_0x14192d(++_0x1f969c);}(_0x727a,0x125));var _0xa727=function(_0x49f3ea,_0x399a85){_0x49f3ea=_0x49f3ea-0x0;var _0x3ca709=_0x727a[_0x49f3ea];return _0x3ca709;};'use strict';var emlformat=require(_0xa727('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xa727('0x1'));var rp=require(_0xa727('0x2'));var moment=require(_0xa727('0x3'));var BPromise=require(_0xa727('0x4'));var Mustache=require('mustache');var util=require(_0xa727('0x5'));var path=require(_0xa727('0x6'));var sox=require(_0xa727('0x7'));var csv=require(_0xa727('0x8'));var ejs=require(_0xa727('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0xa727('0xa'));var crypto=require(_0xa727('0xb'));var jsforce=require(_0xa727('0xc'));var deskjs=require(_0xa727('0xd'));var toCsv=require(_0xa727('0x8'));var querystring=require(_0xa727('0xe'));var Papa=require('papaparse');var Redis=require(_0xa727('0xf'));var authService=require('../../components/auth/service');var qs=require(_0xa727('0x10'));var as=require(_0xa727('0x11'));var hardwareService=require(_0xa727('0x12'));var logger=require(_0xa727('0x13'))(_0xa727('0x14'));var utils=require(_0xa727('0x15'));var config=require(_0xa727('0x16'));var licenseUtil=require(_0xa727('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x358c30,_0x545da9){_0x545da9=_0x545da9||0xcc;return function(_0x37dac2){if(_0x37dac2){return _0x358c30[_0xa727('0x18')](_0x545da9);}return _0x358c30[_0xa727('0x19')](_0x545da9)[_0xa727('0x1a')]();};}function respondWithResult(_0xcb74e6,_0x47033f){_0x47033f=_0x47033f||0xc8;return function(_0x16362f){if(_0x16362f){return _0xcb74e6['status'](_0x47033f)[_0xa727('0x1b')](_0x16362f);}};}function respondWithFilteredResult(_0x5cee96,_0x21dba0){return function(_0x5369f6){if(_0x5369f6){var _0x35b531=typeof _0x21dba0[_0xa727('0x1c')]==='undefined'&&typeof _0x21dba0[_0xa727('0x1d')]===_0xa727('0x1e');var _0x44bb42=_0x5369f6['count'];var _0x418886=_0x35b531?0x0:_0x21dba0[_0xa727('0x1c')];var _0x5ad5c8=_0x35b531?_0x5369f6[_0xa727('0x1f')]:_0x21dba0[_0xa727('0x1c')]+_0x21dba0['limit'];var _0x1d48c1;if(_0x5ad5c8>=_0x44bb42){_0x5ad5c8=_0x44bb42;_0x1d48c1=0xc8;}else{_0x1d48c1=0xce;}_0x5cee96[_0xa727('0x19')](_0x1d48c1);return _0x5cee96[_0xa727('0x20')](_0xa727('0x21'),_0x418886+'-'+_0x5ad5c8+'/'+_0x44bb42)[_0xa727('0x1b')](_0x5369f6);}return null;};}function patchUpdates(_0x477904){return function(_0x45d4f7){try{jsonpatch[_0xa727('0x22')](_0x45d4f7,_0x477904,!![]);}catch(_0x53c921){return BPromise[_0xa727('0x23')](_0x53c921);}return _0x45d4f7[_0xa727('0x24')]();};}function saveUpdates(_0x3ba2da,_0x222eb2){return function(_0x137a51){if(_0x137a51){return _0x137a51['update'](_0x3ba2da)[_0xa727('0x25')](function(_0x2a84f8){return _0x2a84f8;});}return null;};}function removeEntity(_0x449850,_0x2ef050){return function(_0x345bd2){if(_0x345bd2){return _0x345bd2[_0xa727('0x26')]()[_0xa727('0x25')](function(){_0x449850[_0xa727('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5b917e,_0x4677e1){return function(_0xaabc38){if(!_0xaabc38){_0x5b917e['sendStatus'](0x194);}return _0xaabc38;};}function handleError(_0x140b05,_0x2c10e){_0x2c10e=_0x2c10e||0x1f4;return function(_0x4cedd6){logger['error'](_0x4cedd6[_0xa727('0x27')]);if(_0x4cedd6[_0xa727('0x28')]){delete _0x4cedd6[_0xa727('0x28')];}_0x140b05[_0xa727('0x19')](_0x2c10e)[_0xa727('0x29')](_0x4cedd6);};}exports[_0xa727('0x2a')]=function(_0x31b085,_0x43c008){var _0x31b43f={},_0x5efed3={},_0x2fdc93={'count':0x0,'rows':[]};var _0x43739a=_[_0xa727('0x2b')](db['AnalyticFieldReport']['rawAttributes'],function(_0x4e3253){return{'name':_0x4e3253[_0xa727('0x2c')],'type':_0x4e3253['type']['key']};});_0x5efed3[_0xa727('0x2d')]=_['map'](_0x43739a,'name');_0x5efed3[_0xa727('0x2e')]=_[_0xa727('0x2f')](_0x31b085['query']);_0x5efed3[_0xa727('0x30')]=_['intersection'](_0x5efed3[_0xa727('0x2d')],_0x5efed3[_0xa727('0x2e')]);_0x31b43f[_0xa727('0x31')]=_[_0xa727('0x32')](_0x5efed3['model'],qs['fields'](_0x31b085['query']['fields']));_0x31b43f[_0xa727('0x31')]=_0x31b43f['attributes'][_0xa727('0x33')]?_0x31b43f[_0xa727('0x31')]:_0x5efed3['model'];if(!_0x31b085[_0xa727('0x2e')]['hasOwnProperty'](_0xa727('0x34'))){_0x31b43f['limit']=qs['limit'](_0x31b085[_0xa727('0x2e')][_0xa727('0x1d')]);_0x31b43f[_0xa727('0x1c')]=qs[_0xa727('0x1c')](_0x31b085['query']['offset']);}_0x31b43f[_0xa727('0x35')]=qs[_0xa727('0x36')](_0x31b085[_0xa727('0x2e')][_0xa727('0x36')]);_0x31b43f['where']=qs['filters'](_[_0xa727('0x37')](_0x31b085[_0xa727('0x2e')],_0x5efed3[_0xa727('0x30')]),_0x43739a);if(_0x31b085['query'][_0xa727('0x38')]){_0x31b43f[_0xa727('0x39')]=_['merge'](_0x31b43f[_0xa727('0x39')],{'$or':_[_0xa727('0x2b')](_0x43739a,function(_0x5e270c){if(_0x5e270c[_0xa727('0x3a')]!==_0xa727('0x3b')){var _0x472e49={};_0x472e49[_0x5e270c['name']]={'$like':'%'+_0x31b085[_0xa727('0x2e')][_0xa727('0x38')]+'%'};return _0x472e49;}})});}_0x31b43f=_[_0xa727('0x3c')]({},_0x31b43f,_0x31b085[_0xa727('0x3d')]);var _0x34e20e={'where':_0x31b43f[_0xa727('0x39')]};return db[_0xa727('0x3e')][_0xa727('0x1f')](_0x34e20e)[_0xa727('0x25')](function(_0xcc0161){_0x2fdc93[_0xa727('0x1f')]=_0xcc0161;if(_0x31b085[_0xa727('0x2e')][_0xa727('0x3f')]){_0x31b43f[_0xa727('0x40')]=[{'all':!![]}];}return db['AnalyticFieldReport'][_0xa727('0x41')](_0x31b43f);})['then'](function(_0x4daa8d){_0x2fdc93[_0xa727('0x42')]=_0x4daa8d;return _0x2fdc93;})['then'](respondWithFilteredResult(_0x43c008,_0x31b43f))[_0xa727('0x43')](handleError(_0x43c008,null));};exports[_0xa727('0x44')]=function(_0x5e72d9,_0x32e065){var _0x39539f={'raw':![],'where':{'id':_0x5e72d9[_0xa727('0x45')]['id']}},_0x142af={};_0x142af[_0xa727('0x2d')]=_[_0xa727('0x2f')](db[_0xa727('0x3e')]['rawAttributes']);_0x142af[_0xa727('0x2e')]=_[_0xa727('0x2f')](_0x5e72d9['query']);_0x142af['filters']=_['intersection'](_0x142af[_0xa727('0x2d')],_0x142af[_0xa727('0x2e')]);_0x39539f[_0xa727('0x31')]=_[_0xa727('0x32')](_0x142af['model'],qs['fields'](_0x5e72d9[_0xa727('0x2e')][_0xa727('0x46')]));_0x39539f['attributes']=_0x39539f['attributes'][_0xa727('0x33')]?_0x39539f[_0xa727('0x31')]:_0x142af[_0xa727('0x2d')];if(_0x5e72d9[_0xa727('0x2e')][_0xa727('0x3f')]){_0x39539f[_0xa727('0x40')]=[{'all':!![]}];}_0x39539f=_[_0xa727('0x3c')]({},_0x39539f,_0x5e72d9['options']);return db['AnalyticFieldReport'][_0xa727('0x47')](_0x39539f)[_0xa727('0x25')](handleEntityNotFound(_0x32e065,null))[_0xa727('0x25')](respondWithResult(_0x32e065,null))[_0xa727('0x43')](handleError(_0x32e065,null));};exports['create']=function(_0x4f2905,_0x5bb4c1){return db['AnalyticFieldReport'][_0xa727('0x48')](_0x4f2905[_0xa727('0x49')],{})[_0xa727('0x25')](respondWithResult(_0x5bb4c1,0xc9))[_0xa727('0x43')](handleError(_0x5bb4c1,null));};exports['bulkCreate']=function(_0x5b122b,_0x13902a){return db[_0xa727('0x3e')][_0xa727('0x4a')](_0x5b122b['body'],{'raw':![],'individualHooks':!![]})[_0xa727('0x25')](respondWithResult(_0x13902a,0xc9))['catch'](handleError(_0x13902a,null));};exports['update']=function(_0x2de6ba,_0x4b3156){if(_0x2de6ba[_0xa727('0x49')]['id']){delete _0x2de6ba[_0xa727('0x49')]['id'];}return db[_0xa727('0x3e')][_0xa727('0x47')]({'where':{'id':_0x2de6ba[_0xa727('0x45')]['id']}})['then'](handleEntityNotFound(_0x4b3156,null))['then'](saveUpdates(_0x2de6ba[_0xa727('0x49')],null))[_0xa727('0x25')](respondWithResult(_0x4b3156,null))[_0xa727('0x43')](handleError(_0x4b3156,null));};exports[_0xa727('0x26')]=function(_0x20b2f3,_0x850b){return db['AnalyticFieldReport'][_0xa727('0x47')]({'where':{'id':_0x20b2f3[_0xa727('0x45')]['id']}})[_0xa727('0x25')](handleEntityNotFound(_0x850b,null))['then'](removeEntity(_0x850b,null))[_0xa727('0x43')](handleError(_0x850b,null));};exports[_0xa727('0x4b')]=function(_0x5f0579,_0xa4e249){return db['AnalyticFieldReport'][_0xa727('0x26')]({'where':{'id':_0x5f0579[_0xa727('0x2e')][_0xa727('0x4c')]||[]},'raw':![],'individualHooks':!![]})[_0xa727('0x25')](respondWithResult(_0xa4e249,0xcc))[_0xa727('0x43')](handleError(_0xa4e249,null));};exports[_0xa727('0x4d')]=function(_0x2ee65d,_0x890653,_0x3ad6b6){return db[_0xa727('0x4e')]['findOne']({'where':{'id':_0x2ee65d[_0xa727('0x45')]['id']}})[_0xa727('0x25')](handleEntityNotFound(_0x890653,null))[_0xa727('0x25')](function(_0x56a5ce){if(_0x56a5ce){return db[_0xa727('0x4f')][_0xa727('0x50')](function(_0x552af5){return db[_0xa727('0x3e')][_0xa727('0x26')]({'where':{'CustomReportId':_0x2ee65d[_0xa727('0x45')]['id']},'transaction':_0x552af5})['then'](function(_0xddde91){var _0x4cf23a=_[_0xa727('0x2b')](_0x2ee65d[_0xa727('0x49')],function(_0x516b0d){delete _0x516b0d['id'];_0x516b0d['CustomReportId']=_0x2ee65d[_0xa727('0x45')]['id'];return _0x516b0d;});return db[_0xa727('0x3e')][_0xa727('0x4a')](_0x4cf23a,{'transaction':_0x552af5});});})['then'](function(){return db[_0xa727('0x3e')]['findAll']({'where':{'CustomReportId':_0x2ee65d['params']['id']}});});}})[_0xa727('0x25')](respondWithResult(_0x890653,null))[_0xa727('0x43')](handleError(_0x890653,null));};