Built motion from commit 00bf23f6.|2.6.16
[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 _0x63e4=['../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','json','offset','limit','undefined','count','set','Content-Range','apply','reject','save','then','destroy','stack','name','send','index','rawAttributes','fieldName','type','key','map','query','keys','filters','intersection','model','fields','attributes','length','nolimit','order','where','pick','filter','VIRTUAL','merge','options','AnalyticFieldReport','includeAll','include','findAll','rows','show','params','find','create','body','catch','bulkCreate','bulkDestroy','ids','addFields','AnalyticCustomReport','findOne','CustomReportId','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','fs-extra','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x63e4,0x94));var _0x463e=function(_0x26dbbd,_0x84e35b){_0x26dbbd=_0x26dbbd-0x0;var _0x282404=_0x63e4[_0x26dbbd];return _0x282404;};'use strict';var emlformat=require(_0x463e('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x463e('0x1'));var jsonpatch=require(_0x463e('0x2'));var rp=require(_0x463e('0x3'));var moment=require(_0x463e('0x4'));var BPromise=require(_0x463e('0x5'));var Mustache=require(_0x463e('0x6'));var util=require(_0x463e('0x7'));var path=require(_0x463e('0x8'));var sox=require(_0x463e('0x9'));var csv=require(_0x463e('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x463e('0xb'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x463e('0xc'));var jsforce=require(_0x463e('0xd'));var deskjs=require(_0x463e('0xe'));var toCsv=require(_0x463e('0xa'));var querystring=require(_0x463e('0xf'));var Papa=require(_0x463e('0x10'));var Redis=require(_0x463e('0x11'));var authService=require(_0x463e('0x12'));var qs=require(_0x463e('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x463e('0x14'));var logger=require(_0x463e('0x15'))(_0x463e('0x16'));var utils=require(_0x463e('0x17'));var config=require(_0x463e('0x18'));var licenseUtil=require(_0x463e('0x19'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x136dc7,_0x477b7c){_0x477b7c=_0x477b7c||0xcc;return function(_0xc8ce53){if(_0xc8ce53){return _0x136dc7[_0x463e('0x1a')](_0x477b7c);}return _0x136dc7[_0x463e('0x1b')](_0x477b7c)[_0x463e('0x1c')]();};}function respondWithResult(_0x4ec607,_0x598854){_0x598854=_0x598854||0xc8;return function(_0x4b00fb){if(_0x4b00fb){return _0x4ec607[_0x463e('0x1b')](_0x598854)[_0x463e('0x1d')](_0x4b00fb);}};}function respondWithFilteredResult(_0x2a98aa,_0x521344){return function(_0x1482a1){if(_0x1482a1){var _0x6d897=typeof _0x521344[_0x463e('0x1e')]==='undefined'&&typeof _0x521344[_0x463e('0x1f')]===_0x463e('0x20');var _0xc003e7=_0x1482a1[_0x463e('0x21')];var _0x2b06f8=_0x6d897?0x0:_0x521344['offset'];var _0x4355bc=_0x6d897?_0x1482a1['count']:_0x521344[_0x463e('0x1e')]+_0x521344[_0x463e('0x1f')];var _0x49e3ee;if(_0x4355bc>=_0xc003e7){_0x4355bc=_0xc003e7;_0x49e3ee=0xc8;}else{_0x49e3ee=0xce;}_0x2a98aa['status'](_0x49e3ee);return _0x2a98aa[_0x463e('0x22')](_0x463e('0x23'),_0x2b06f8+'-'+_0x4355bc+'/'+_0xc003e7)[_0x463e('0x1d')](_0x1482a1);}return null;};}function patchUpdates(_0x28f315){return function(_0x5c8232){try{jsonpatch[_0x463e('0x24')](_0x5c8232,_0x28f315,!![]);}catch(_0x1d36ed){return BPromise[_0x463e('0x25')](_0x1d36ed);}return _0x5c8232[_0x463e('0x26')]();};}function saveUpdates(_0xc47d0b,_0x5e52e3){return function(_0x2e3eea){if(_0x2e3eea){return _0x2e3eea['update'](_0xc47d0b)[_0x463e('0x27')](function(_0x3b5108){return _0x3b5108;});}return null;};}function removeEntity(_0x473cd,_0xc75545){return function(_0x2ef527){if(_0x2ef527){return _0x2ef527[_0x463e('0x28')]()[_0x463e('0x27')](function(){_0x473cd[_0x463e('0x1b')](0xcc)['end']();});}};}function handleEntityNotFound(_0x560df2,_0x1d1fd6){return function(_0x1cbc18){if(!_0x1cbc18){_0x560df2[_0x463e('0x1a')](0x194);}return _0x1cbc18;};}function handleError(_0x15a75e,_0x5dc5a0){_0x5dc5a0=_0x5dc5a0||0x1f4;return function(_0x400113){logger['error'](_0x400113[_0x463e('0x29')]);if(_0x400113[_0x463e('0x2a')]){delete _0x400113[_0x463e('0x2a')];}_0x15a75e['status'](_0x5dc5a0)[_0x463e('0x2b')](_0x400113);};}exports[_0x463e('0x2c')]=function(_0x377e30,_0x1cbce0){var _0xd308fa={},_0x5ba1db={},_0x4fff95={'count':0x0,'rows':[]};var _0x104e41=_['map'](db['AnalyticFieldReport'][_0x463e('0x2d')],function(_0x4c6aa3){return{'name':_0x4c6aa3[_0x463e('0x2e')],'type':_0x4c6aa3[_0x463e('0x2f')][_0x463e('0x30')]};});_0x5ba1db['model']=_[_0x463e('0x31')](_0x104e41,_0x463e('0x2a'));_0x5ba1db[_0x463e('0x32')]=_[_0x463e('0x33')](_0x377e30['query']);_0x5ba1db[_0x463e('0x34')]=_[_0x463e('0x35')](_0x5ba1db['model'],_0x5ba1db[_0x463e('0x32')]);_0xd308fa['attributes']=_[_0x463e('0x35')](_0x5ba1db[_0x463e('0x36')],qs[_0x463e('0x37')](_0x377e30['query'][_0x463e('0x37')]));_0xd308fa[_0x463e('0x38')]=_0xd308fa[_0x463e('0x38')][_0x463e('0x39')]?_0xd308fa[_0x463e('0x38')]:_0x5ba1db['model'];if(!_0x377e30[_0x463e('0x32')]['hasOwnProperty'](_0x463e('0x3a'))){_0xd308fa[_0x463e('0x1f')]=qs[_0x463e('0x1f')](_0x377e30['query'][_0x463e('0x1f')]);_0xd308fa[_0x463e('0x1e')]=qs[_0x463e('0x1e')](_0x377e30[_0x463e('0x32')]['offset']);}_0xd308fa[_0x463e('0x3b')]=qs['sort'](_0x377e30['query']['sort']);_0xd308fa[_0x463e('0x3c')]=qs[_0x463e('0x34')](_[_0x463e('0x3d')](_0x377e30['query'],_0x5ba1db[_0x463e('0x34')]),_0x104e41);if(_0x377e30[_0x463e('0x32')][_0x463e('0x3e')]){_0xd308fa[_0x463e('0x3c')]=_['merge'](_0xd308fa[_0x463e('0x3c')],{'$or':_['map'](_0x104e41,function(_0x20501e){if(_0x20501e[_0x463e('0x2f')]!==_0x463e('0x3f')){var _0x5724ef={};_0x5724ef[_0x20501e['name']]={'$like':'%'+_0x377e30[_0x463e('0x32')][_0x463e('0x3e')]+'%'};return _0x5724ef;}})});}_0xd308fa=_[_0x463e('0x40')]({},_0xd308fa,_0x377e30[_0x463e('0x41')]);var _0x489b22={'where':_0xd308fa[_0x463e('0x3c')]};return db[_0x463e('0x42')][_0x463e('0x21')](_0x489b22)['then'](function(_0x49bd86){_0x4fff95[_0x463e('0x21')]=_0x49bd86;if(_0x377e30[_0x463e('0x32')][_0x463e('0x43')]){_0xd308fa[_0x463e('0x44')]=[{'all':!![]}];}return db['AnalyticFieldReport'][_0x463e('0x45')](_0xd308fa);})['then'](function(_0x440770){_0x4fff95[_0x463e('0x46')]=_0x440770;return _0x4fff95;})[_0x463e('0x27')](respondWithFilteredResult(_0x1cbce0,_0xd308fa))['catch'](handleError(_0x1cbce0,null));};exports[_0x463e('0x47')]=function(_0x2123ac,_0x27e5bb){var _0x36d125={'raw':![],'where':{'id':_0x2123ac[_0x463e('0x48')]['id']}},_0x109fcf={};_0x109fcf[_0x463e('0x36')]=_[_0x463e('0x33')](db[_0x463e('0x42')]['rawAttributes']);_0x109fcf[_0x463e('0x32')]=_[_0x463e('0x33')](_0x2123ac[_0x463e('0x32')]);_0x109fcf[_0x463e('0x34')]=_[_0x463e('0x35')](_0x109fcf['model'],_0x109fcf['query']);_0x36d125[_0x463e('0x38')]=_[_0x463e('0x35')](_0x109fcf[_0x463e('0x36')],qs['fields'](_0x2123ac[_0x463e('0x32')]['fields']));_0x36d125[_0x463e('0x38')]=_0x36d125[_0x463e('0x38')][_0x463e('0x39')]?_0x36d125[_0x463e('0x38')]:_0x109fcf[_0x463e('0x36')];if(_0x2123ac[_0x463e('0x32')][_0x463e('0x43')]){_0x36d125['include']=[{'all':!![]}];}_0x36d125=_[_0x463e('0x40')]({},_0x36d125,_0x2123ac[_0x463e('0x41')]);return db['AnalyticFieldReport'][_0x463e('0x49')](_0x36d125)['then'](handleEntityNotFound(_0x27e5bb,null))['then'](respondWithResult(_0x27e5bb,null))['catch'](handleError(_0x27e5bb,null));};exports[_0x463e('0x4a')]=function(_0x1af42e,_0x1e4a74){return db[_0x463e('0x42')]['create'](_0x1af42e[_0x463e('0x4b')],{})[_0x463e('0x27')](respondWithResult(_0x1e4a74,0xc9))[_0x463e('0x4c')](handleError(_0x1e4a74,null));};exports[_0x463e('0x4d')]=function(_0x11b73a,_0xf7c9bd){return db[_0x463e('0x42')][_0x463e('0x4d')](_0x11b73a[_0x463e('0x4b')],{'raw':![],'individualHooks':!![]})['then'](respondWithResult(_0xf7c9bd,0xc9))[_0x463e('0x4c')](handleError(_0xf7c9bd,null));};exports['update']=function(_0x205bef,_0x35eb4c){if(_0x205bef[_0x463e('0x4b')]['id']){delete _0x205bef['body']['id'];}return db[_0x463e('0x42')][_0x463e('0x49')]({'where':{'id':_0x205bef[_0x463e('0x48')]['id']}})[_0x463e('0x27')](handleEntityNotFound(_0x35eb4c,null))[_0x463e('0x27')](saveUpdates(_0x205bef[_0x463e('0x4b')],null))[_0x463e('0x27')](respondWithResult(_0x35eb4c,null))[_0x463e('0x4c')](handleError(_0x35eb4c,null));};exports['destroy']=function(_0x518f89,_0x4e674b){return db[_0x463e('0x42')][_0x463e('0x49')]({'where':{'id':_0x518f89[_0x463e('0x48')]['id']}})['then'](handleEntityNotFound(_0x4e674b,null))[_0x463e('0x27')](removeEntity(_0x4e674b,null))[_0x463e('0x4c')](handleError(_0x4e674b,null));};exports[_0x463e('0x4e')]=function(_0x57c82f,_0x5148cb){return db['AnalyticFieldReport'][_0x463e('0x28')]({'where':{'id':_0x57c82f[_0x463e('0x32')][_0x463e('0x4f')]||[]},'raw':![],'individualHooks':!![]})[_0x463e('0x27')](respondWithResult(_0x5148cb,0xcc))[_0x463e('0x4c')](handleError(_0x5148cb,null));};exports[_0x463e('0x50')]=function(_0x209acc,_0x3a977e,_0x501f6d){return db[_0x463e('0x51')][_0x463e('0x52')]({'where':{'id':_0x209acc['params']['id']}})['then'](handleEntityNotFound(_0x3a977e,null))[_0x463e('0x27')](function(_0x25a750){if(_0x25a750){return db['sequelize']['transaction'](function(_0x5ef0fb){return db['AnalyticFieldReport'][_0x463e('0x28')]({'where':{'CustomReportId':_0x209acc['params']['id']},'transaction':_0x5ef0fb})[_0x463e('0x27')](function(_0x2c6547){var _0x267f32=_[_0x463e('0x31')](_0x209acc[_0x463e('0x4b')],function(_0x465ba3){delete _0x465ba3['id'];_0x465ba3[_0x463e('0x53')]=_0x209acc[_0x463e('0x48')]['id'];return _0x465ba3;});return db[_0x463e('0x42')][_0x463e('0x4d')](_0x267f32,{'transaction':_0x5ef0fb});});})[_0x463e('0x27')](function(){return db[_0x463e('0x42')][_0x463e('0x45')]({'where':{'CustomReportId':_0x209acc[_0x463e('0x48')]['id']}});});}})[_0x463e('0x27')](respondWithResult(_0x3a977e,null))[_0x463e('0x4c')](handleError(_0x3a977e,null));};