Built motion from commit (unavailable).|2.5.23
[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 _0x0b3f=['type','VIRTUAL','filter','merge','options','include','AnalyticFieldReport','findAll','show','params','keys','intersection','includeAll','find','catch','create','bulkCreate','body','update','destroy','bulkDestroy','ids','AnalyticCustomReport','findOne','transaction','CustomReportId','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','count','offset','limit','set','Content-Range','json','apply','save','then','error','stack','name','send','map','rawAttributes','fieldName','key','model','query','filters','fields','attributes','length','nolimit','sort','where','pick'];(function(_0xc801a7,_0x128732){var _0x22c041=function(_0xd7c6af){while(--_0xd7c6af){_0xc801a7['push'](_0xc801a7['shift']());}};_0x22c041(++_0x128732);}(_0x0b3f,0xba));var _0xf0b3=function(_0x30adbb,_0x1e7811){_0x30adbb=_0x30adbb-0x0;var _0x5be46a=_0x0b3f[_0x30adbb];return _0x5be46a;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xf0b3('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xf0b3('0x1'));var jsonpatch=require(_0xf0b3('0x2'));var rp=require(_0xf0b3('0x3'));var moment=require(_0xf0b3('0x4'));var BPromise=require(_0xf0b3('0x5'));var Mustache=require(_0xf0b3('0x6'));var util=require(_0xf0b3('0x7'));var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0xf0b3('0x8'));var squel=require(_0xf0b3('0x9'));var crypto=require(_0xf0b3('0xa'));var jsforce=require(_0xf0b3('0xb'));var deskjs=require(_0xf0b3('0xc'));var toCsv=require(_0xf0b3('0xd'));var querystring=require(_0xf0b3('0xe'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xf0b3('0xf'));var qs=require(_0xf0b3('0x10'));var as=require(_0xf0b3('0x11'));var hardwareService=require(_0xf0b3('0x12'));var logger=require('../../config/logger')(_0xf0b3('0x13'));var utils=require(_0xf0b3('0x14'));var config=require(_0xf0b3('0x15'));var licenseUtil=require(_0xf0b3('0x16'));var db=require(_0xf0b3('0x17'))['db'];function respondWithStatusCode(_0x1f3ae3,_0x14ab8b){_0x14ab8b=_0x14ab8b||0xcc;return function(_0x5b51fb){if(_0x5b51fb){return _0x1f3ae3[_0xf0b3('0x18')](_0x14ab8b);}return _0x1f3ae3[_0xf0b3('0x19')](_0x14ab8b)[_0xf0b3('0x1a')]();};}function respondWithResult(_0x22b125,_0x18a00f){_0x18a00f=_0x18a00f||0xc8;return function(_0x4f05cf){if(_0x4f05cf){return _0x22b125['status'](_0x18a00f)['json'](_0x4f05cf);}};}function respondWithFilteredResult(_0x3815a1,_0x2298db){return function(_0x70b18e){if(_0x70b18e){var _0x2e3317=_0x70b18e[_0xf0b3('0x1b')],_0x3bbe3b=_0x2298db[_0xf0b3('0x1c')],_0x3bd966=_0x2298db[_0xf0b3('0x1c')]+_0x2298db[_0xf0b3('0x1d')],_0x5cd45e;if(_0x3bd966>=_0x2e3317){_0x3bd966=_0x2e3317;_0x5cd45e=0xc8;}else{_0x5cd45e=0xce;}_0x3815a1[_0xf0b3('0x19')](_0x5cd45e);return _0x3815a1[_0xf0b3('0x1e')](_0xf0b3('0x1f'),_0x3bbe3b+'-'+_0x3bd966+'/'+_0x2e3317)[_0xf0b3('0x20')](_0x70b18e);}return null;};}function patchUpdates(_0x4befc2){return function(_0x1f43a4){try{jsonpatch[_0xf0b3('0x21')](_0x1f43a4,_0x4befc2,!![]);}catch(_0x1d6349){return BPromise['reject'](_0x1d6349);}return _0x1f43a4[_0xf0b3('0x22')]();};}function saveUpdates(_0x4a515c,_0x4122fb){return function(_0x24af0a){if(_0x24af0a){return _0x24af0a['update'](_0x4a515c)[_0xf0b3('0x23')](function(_0x5d7d2e){return _0x5d7d2e;});}return null;};}function removeEntity(_0x4f2779,_0x224989){return function(_0x56c42d){if(_0x56c42d){return _0x56c42d['destroy']()[_0xf0b3('0x23')](function(){_0x4f2779[_0xf0b3('0x19')](0xcc)[_0xf0b3('0x1a')]();});}};}function handleEntityNotFound(_0x5d792f,_0x4c33c9){return function(_0xc681e3){if(!_0xc681e3){_0x5d792f[_0xf0b3('0x18')](0x194);}return _0xc681e3;};}function handleError(_0x2e49fa,_0x1893dd){_0x1893dd=_0x1893dd||0x1f4;return function(_0x344c8c){logger[_0xf0b3('0x24')](_0x344c8c[_0xf0b3('0x25')]);if(_0x344c8c[_0xf0b3('0x26')]){delete _0x344c8c['name'];}_0x2e49fa[_0xf0b3('0x19')](_0x1893dd)[_0xf0b3('0x27')](_0x344c8c);};}exports['index']=function(_0x4fe893,_0x578747){var _0x54d21c={},_0x1f9a08={},_0xc37944={'count':0x0,'rows':[]};var _0x54a02e=_[_0xf0b3('0x28')](db['AnalyticFieldReport'][_0xf0b3('0x29')],function(_0x4e6fcf){return{'name':_0x4e6fcf[_0xf0b3('0x2a')],'type':_0x4e6fcf['type'][_0xf0b3('0x2b')]};});_0x1f9a08[_0xf0b3('0x2c')]=_[_0xf0b3('0x28')](_0x54a02e,_0xf0b3('0x26'));_0x1f9a08['query']=_['keys'](_0x4fe893[_0xf0b3('0x2d')]);_0x1f9a08[_0xf0b3('0x2e')]=_['intersection'](_0x1f9a08[_0xf0b3('0x2c')],_0x1f9a08[_0xf0b3('0x2d')]);_0x54d21c['attributes']=_['intersection'](_0x1f9a08['model'],qs[_0xf0b3('0x2f')](_0x4fe893[_0xf0b3('0x2d')][_0xf0b3('0x2f')]));_0x54d21c['attributes']=_0x54d21c[_0xf0b3('0x30')][_0xf0b3('0x31')]?_0x54d21c['attributes']:_0x1f9a08[_0xf0b3('0x2c')];if(!_0x4fe893[_0xf0b3('0x2d')]['hasOwnProperty'](_0xf0b3('0x32'))){_0x54d21c[_0xf0b3('0x1d')]=qs[_0xf0b3('0x1d')](_0x4fe893[_0xf0b3('0x2d')][_0xf0b3('0x1d')]);_0x54d21c[_0xf0b3('0x1c')]=qs[_0xf0b3('0x1c')](_0x4fe893[_0xf0b3('0x2d')][_0xf0b3('0x1c')]);}_0x54d21c['order']=qs[_0xf0b3('0x33')](_0x4fe893[_0xf0b3('0x2d')][_0xf0b3('0x33')]);_0x54d21c[_0xf0b3('0x34')]=qs['filters'](_[_0xf0b3('0x35')](_0x4fe893['query'],_0x1f9a08[_0xf0b3('0x2e')]),_0x54a02e);if(_0x4fe893[_0xf0b3('0x2d')]['filter']){_0x54d21c[_0xf0b3('0x34')]=_['merge'](_0x54d21c[_0xf0b3('0x34')],{'$or':_[_0xf0b3('0x28')](_0x54a02e,function(_0x265b97){if(_0x265b97[_0xf0b3('0x36')]!==_0xf0b3('0x37')){var _0x2a20be={};_0x2a20be[_0x265b97['name']]={'$like':'%'+_0x4fe893[_0xf0b3('0x2d')][_0xf0b3('0x38')]+'%'};return _0x2a20be;}})});}_0x54d21c=_[_0xf0b3('0x39')]({},_0x54d21c,_0x4fe893[_0xf0b3('0x3a')]);var _0x65cbe8={'where':_0x54d21c[_0xf0b3('0x34')]};return db['AnalyticFieldReport'][_0xf0b3('0x1b')](_0x65cbe8)[_0xf0b3('0x23')](function(_0x58ab49){_0xc37944['count']=_0x58ab49;if(_0x4fe893[_0xf0b3('0x2d')]['includeAll']){_0x54d21c[_0xf0b3('0x3b')]=[{'all':!![]}];}return db[_0xf0b3('0x3c')][_0xf0b3('0x3d')](_0x54d21c);})[_0xf0b3('0x23')](function(_0x19d55a){_0xc37944['rows']=_0x19d55a;return _0xc37944;})[_0xf0b3('0x23')](respondWithFilteredResult(_0x578747,_0x54d21c))['catch'](handleError(_0x578747,null));};exports[_0xf0b3('0x3e')]=function(_0x1d857d,_0x117ec8){var _0x36059e={'raw':![],'where':{'id':_0x1d857d[_0xf0b3('0x3f')]['id']}},_0x48a8c6={};_0x48a8c6[_0xf0b3('0x2c')]=_['keys'](db[_0xf0b3('0x3c')]['rawAttributes']);_0x48a8c6[_0xf0b3('0x2d')]=_[_0xf0b3('0x40')](_0x1d857d['query']);_0x48a8c6[_0xf0b3('0x2e')]=_[_0xf0b3('0x41')](_0x48a8c6['model'],_0x48a8c6[_0xf0b3('0x2d')]);_0x36059e['attributes']=_[_0xf0b3('0x41')](_0x48a8c6[_0xf0b3('0x2c')],qs[_0xf0b3('0x2f')](_0x1d857d[_0xf0b3('0x2d')][_0xf0b3('0x2f')]));_0x36059e['attributes']=_0x36059e[_0xf0b3('0x30')][_0xf0b3('0x31')]?_0x36059e[_0xf0b3('0x30')]:_0x48a8c6['model'];if(_0x1d857d[_0xf0b3('0x2d')][_0xf0b3('0x42')]){_0x36059e[_0xf0b3('0x3b')]=[{'all':!![]}];}_0x36059e=_[_0xf0b3('0x39')]({},_0x36059e,_0x1d857d[_0xf0b3('0x3a')]);return db['AnalyticFieldReport'][_0xf0b3('0x43')](_0x36059e)[_0xf0b3('0x23')](handleEntityNotFound(_0x117ec8,null))['then'](respondWithResult(_0x117ec8,null))[_0xf0b3('0x44')](handleError(_0x117ec8,null));};exports[_0xf0b3('0x45')]=function(_0x3729ce,_0x7b647d){return db[_0xf0b3('0x3c')]['create'](_0x3729ce['body'],{})[_0xf0b3('0x23')](respondWithResult(_0x7b647d,0xc9))[_0xf0b3('0x44')](handleError(_0x7b647d,null));};exports[_0xf0b3('0x46')]=function(_0x3599bd,_0x2c1066){return db[_0xf0b3('0x3c')]['bulkCreate'](_0x3599bd[_0xf0b3('0x47')],{'raw':![],'individualHooks':!![]})['then'](respondWithResult(_0x2c1066,0xc9))[_0xf0b3('0x44')](handleError(_0x2c1066,null));};exports[_0xf0b3('0x48')]=function(_0x5c5929,_0x17a609){if(_0x5c5929[_0xf0b3('0x47')]['id']){delete _0x5c5929[_0xf0b3('0x47')]['id'];}return db['AnalyticFieldReport']['find']({'where':{'id':_0x5c5929['params']['id']}})[_0xf0b3('0x23')](handleEntityNotFound(_0x17a609,null))['then'](saveUpdates(_0x5c5929['body'],null))[_0xf0b3('0x23')](respondWithResult(_0x17a609,null))[_0xf0b3('0x44')](handleError(_0x17a609,null));};exports[_0xf0b3('0x49')]=function(_0x1457e1,_0x39546e){return db[_0xf0b3('0x3c')][_0xf0b3('0x43')]({'where':{'id':_0x1457e1['params']['id']}})[_0xf0b3('0x23')](handleEntityNotFound(_0x39546e,null))['then'](removeEntity(_0x39546e,null))[_0xf0b3('0x44')](handleError(_0x39546e,null));};exports[_0xf0b3('0x4a')]=function(_0x5658b9,_0x12aa49){return db['AnalyticFieldReport']['destroy']({'where':{'id':_0x5658b9[_0xf0b3('0x2d')][_0xf0b3('0x4b')]||[]},'raw':![],'individualHooks':!![]})[_0xf0b3('0x23')](respondWithResult(_0x12aa49,0xcc))[_0xf0b3('0x44')](handleError(_0x12aa49,null));};exports['addFields']=function(_0x187fe6,_0x1ec14d,_0x3f3215){return db[_0xf0b3('0x4c')][_0xf0b3('0x4d')]({'where':{'id':_0x187fe6['params']['id']}})[_0xf0b3('0x23')](handleEntityNotFound(_0x1ec14d,null))[_0xf0b3('0x23')](function(_0x4a5f52){if(_0x4a5f52){return db['sequelize'][_0xf0b3('0x4e')](function(_0x24035a){return db[_0xf0b3('0x3c')]['destroy']({'where':{'CustomReportId':_0x187fe6[_0xf0b3('0x3f')]['id']},'transaction':_0x24035a})[_0xf0b3('0x23')](function(_0x48fe71){var _0xc962ee=_['map'](_0x187fe6[_0xf0b3('0x47')],function(_0x5030e1){delete _0x5030e1['id'];_0x5030e1[_0xf0b3('0x4f')]=_0x187fe6[_0xf0b3('0x3f')]['id'];return _0x5030e1;});return db[_0xf0b3('0x3c')]['bulkCreate'](_0xc962ee,{'transaction':_0x24035a});});})[_0xf0b3('0x23')](function(){return db[_0xf0b3('0x3c')][_0xf0b3('0x3d')]({'where':{'CustomReportId':_0x187fe6[_0xf0b3('0x3f')]['id']}});});}})[_0xf0b3('0x23')](respondWithResult(_0x1ec14d,null))['catch'](handleError(_0x1ec14d,null));};