Built motion from commit 08fb8613.|2.6.31
[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 _0x65e8=['moment','bluebird','path','to-csv','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','limit','undefined','count','set','apply','reject','update','then','error','stack','name','send','index','map','AnalyticFieldReport','rawAttributes','fieldName','type','keys','intersection','model','query','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','merge','options','includeAll','include','findAll','rows','show','catch','create','body','bulkCreate','find','params','destroy','bulkDestroy','ids','AnalyticCustomReport','findOne','sequelize','transaction','eml-format','rimraf','zip-dir','fast-json-patch','request-promise'];(function(_0x3207aa,_0xe86a72){var _0x51758f=function(_0x9ff790){while(--_0x9ff790){_0x3207aa['push'](_0x3207aa['shift']());}};_0x51758f(++_0xe86a72);}(_0x65e8,0x1e1));var _0x865e=function(_0xfcdea9,_0x408ad7){_0xfcdea9=_0xfcdea9-0x0;var _0x301fb2=_0x65e8[_0xfcdea9];return _0x301fb2;};'use strict';var emlformat=require(_0x865e('0x0'));var rimraf=require(_0x865e('0x1'));var zipdir=require(_0x865e('0x2'));var jsonpatch=require(_0x865e('0x3'));var rp=require(_0x865e('0x4'));var moment=require(_0x865e('0x5'));var BPromise=require(_0x865e('0x6'));var Mustache=require('mustache');var util=require('util');var path=require(_0x865e('0x7'));var sox=require('sox');var csv=require(_0x865e('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x865e('0x9'));var squel=require(_0x865e('0xa'));var crypto=require(_0x865e('0xb'));var jsforce=require(_0x865e('0xc'));var deskjs=require(_0x865e('0xd'));var toCsv=require(_0x865e('0x8'));var querystring=require('querystring');var Papa=require(_0x865e('0xe'));var Redis=require(_0x865e('0xf'));var authService=require('../../components/auth/service');var qs=require(_0x865e('0x10'));var as=require(_0x865e('0x11'));var hardwareService=require(_0x865e('0x12'));var logger=require(_0x865e('0x13'))('api');var utils=require(_0x865e('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0x865e('0x15'));var db=require(_0x865e('0x16'))['db'];function respondWithStatusCode(_0x5cddc8,_0x3b1f6f){_0x3b1f6f=_0x3b1f6f||0xcc;return function(_0x580d5c){if(_0x580d5c){return _0x5cddc8[_0x865e('0x17')](_0x3b1f6f);}return _0x5cddc8[_0x865e('0x18')](_0x3b1f6f)[_0x865e('0x19')]();};}function respondWithResult(_0x598ce9,_0x54d409){_0x54d409=_0x54d409||0xc8;return function(_0x959715){if(_0x959715){return _0x598ce9[_0x865e('0x18')](_0x54d409)[_0x865e('0x1a')](_0x959715);}};}function respondWithFilteredResult(_0x231e44,_0x2c5bba){return function(_0x21b293){if(_0x21b293){var _0x337247=typeof _0x2c5bba[_0x865e('0x1b')]==='undefined'&&typeof _0x2c5bba[_0x865e('0x1c')]===_0x865e('0x1d');var _0x4e285c=_0x21b293[_0x865e('0x1e')];var _0x2367f6=_0x337247?0x0:_0x2c5bba['offset'];var _0x1836aa=_0x337247?_0x21b293[_0x865e('0x1e')]:_0x2c5bba['offset']+_0x2c5bba['limit'];var _0x314dda;if(_0x1836aa>=_0x4e285c){_0x1836aa=_0x4e285c;_0x314dda=0xc8;}else{_0x314dda=0xce;}_0x231e44[_0x865e('0x18')](_0x314dda);return _0x231e44[_0x865e('0x1f')]('Content-Range',_0x2367f6+'-'+_0x1836aa+'/'+_0x4e285c)[_0x865e('0x1a')](_0x21b293);}return null;};}function patchUpdates(_0x554a18){return function(_0xebd2a5){try{jsonpatch[_0x865e('0x20')](_0xebd2a5,_0x554a18,!![]);}catch(_0x1bc2bd){return BPromise[_0x865e('0x21')](_0x1bc2bd);}return _0xebd2a5['save']();};}function saveUpdates(_0x1cab3c,_0x2f28c1){return function(_0x1bc447){if(_0x1bc447){return _0x1bc447[_0x865e('0x22')](_0x1cab3c)[_0x865e('0x23')](function(_0x4fc458){return _0x4fc458;});}return null;};}function removeEntity(_0x4bb203,_0x220ca6){return function(_0x39ecce){if(_0x39ecce){return _0x39ecce['destroy']()[_0x865e('0x23')](function(){_0x4bb203[_0x865e('0x18')](0xcc)[_0x865e('0x19')]();});}};}function handleEntityNotFound(_0x2d1c63,_0x47a717){return function(_0x2db609){if(!_0x2db609){_0x2d1c63[_0x865e('0x17')](0x194);}return _0x2db609;};}function handleError(_0x16cb65,_0x5eba6e){_0x5eba6e=_0x5eba6e||0x1f4;return function(_0x39ea26){logger[_0x865e('0x24')](_0x39ea26[_0x865e('0x25')]);if(_0x39ea26['name']){delete _0x39ea26[_0x865e('0x26')];}_0x16cb65[_0x865e('0x18')](_0x5eba6e)[_0x865e('0x27')](_0x39ea26);};}exports[_0x865e('0x28')]=function(_0x43bbf3,_0x8f7882){var _0x28ab05={},_0x49a748={},_0x3f03b3={'count':0x0,'rows':[]};var _0x3fee9a=_[_0x865e('0x29')](db[_0x865e('0x2a')][_0x865e('0x2b')],function(_0x59f06f){return{'name':_0x59f06f[_0x865e('0x2c')],'type':_0x59f06f[_0x865e('0x2d')]['key']};});_0x49a748['model']=_[_0x865e('0x29')](_0x3fee9a,_0x865e('0x26'));_0x49a748['query']=_[_0x865e('0x2e')](_0x43bbf3['query']);_0x49a748['filters']=_[_0x865e('0x2f')](_0x49a748[_0x865e('0x30')],_0x49a748[_0x865e('0x31')]);_0x28ab05[_0x865e('0x32')]=_[_0x865e('0x2f')](_0x49a748[_0x865e('0x30')],qs[_0x865e('0x33')](_0x43bbf3[_0x865e('0x31')]['fields']));_0x28ab05[_0x865e('0x32')]=_0x28ab05[_0x865e('0x32')][_0x865e('0x34')]?_0x28ab05['attributes']:_0x49a748[_0x865e('0x30')];if(!_0x43bbf3['query'][_0x865e('0x35')](_0x865e('0x36'))){_0x28ab05[_0x865e('0x1c')]=qs['limit'](_0x43bbf3[_0x865e('0x31')][_0x865e('0x1c')]);_0x28ab05[_0x865e('0x1b')]=qs[_0x865e('0x1b')](_0x43bbf3[_0x865e('0x31')][_0x865e('0x1b')]);}_0x28ab05[_0x865e('0x37')]=qs['sort'](_0x43bbf3[_0x865e('0x31')][_0x865e('0x38')]);_0x28ab05[_0x865e('0x39')]=qs[_0x865e('0x3a')](_[_0x865e('0x3b')](_0x43bbf3['query'],_0x49a748[_0x865e('0x3a')]),_0x3fee9a);if(_0x43bbf3['query'][_0x865e('0x3c')]){_0x28ab05[_0x865e('0x39')]=_['merge'](_0x28ab05[_0x865e('0x39')],{'$or':_[_0x865e('0x29')](_0x3fee9a,function(_0x5b2be3){if(_0x5b2be3[_0x865e('0x2d')]!=='VIRTUAL'){var _0xd29a48={};_0xd29a48[_0x5b2be3[_0x865e('0x26')]]={'$like':'%'+_0x43bbf3['query'][_0x865e('0x3c')]+'%'};return _0xd29a48;}})});}_0x28ab05=_[_0x865e('0x3d')]({},_0x28ab05,_0x43bbf3[_0x865e('0x3e')]);var _0x4996e6={'where':_0x28ab05['where']};return db[_0x865e('0x2a')]['count'](_0x4996e6)['then'](function(_0x59a41a){_0x3f03b3['count']=_0x59a41a;if(_0x43bbf3[_0x865e('0x31')][_0x865e('0x3f')]){_0x28ab05[_0x865e('0x40')]=[{'all':!![]}];}return db[_0x865e('0x2a')][_0x865e('0x41')](_0x28ab05);})[_0x865e('0x23')](function(_0x293574){_0x3f03b3[_0x865e('0x42')]=_0x293574;return _0x3f03b3;})['then'](respondWithFilteredResult(_0x8f7882,_0x28ab05))['catch'](handleError(_0x8f7882,null));};exports[_0x865e('0x43')]=function(_0x1e4b24,_0x2d00fe){var _0x5c5ac3={'raw':![],'where':{'id':_0x1e4b24['params']['id']}},_0x594e9b={};_0x594e9b[_0x865e('0x30')]=_[_0x865e('0x2e')](db['AnalyticFieldReport']['rawAttributes']);_0x594e9b[_0x865e('0x31')]=_[_0x865e('0x2e')](_0x1e4b24[_0x865e('0x31')]);_0x594e9b['filters']=_[_0x865e('0x2f')](_0x594e9b[_0x865e('0x30')],_0x594e9b[_0x865e('0x31')]);_0x5c5ac3[_0x865e('0x32')]=_[_0x865e('0x2f')](_0x594e9b[_0x865e('0x30')],qs[_0x865e('0x33')](_0x1e4b24[_0x865e('0x31')][_0x865e('0x33')]));_0x5c5ac3[_0x865e('0x32')]=_0x5c5ac3[_0x865e('0x32')]['length']?_0x5c5ac3[_0x865e('0x32')]:_0x594e9b[_0x865e('0x30')];if(_0x1e4b24[_0x865e('0x31')][_0x865e('0x3f')]){_0x5c5ac3[_0x865e('0x40')]=[{'all':!![]}];}_0x5c5ac3=_[_0x865e('0x3d')]({},_0x5c5ac3,_0x1e4b24[_0x865e('0x3e')]);return db['AnalyticFieldReport']['find'](_0x5c5ac3)[_0x865e('0x23')](handleEntityNotFound(_0x2d00fe,null))[_0x865e('0x23')](respondWithResult(_0x2d00fe,null))[_0x865e('0x44')](handleError(_0x2d00fe,null));};exports[_0x865e('0x45')]=function(_0x57616f,_0x5b6b0a){return db[_0x865e('0x2a')]['create'](_0x57616f[_0x865e('0x46')],{})[_0x865e('0x23')](respondWithResult(_0x5b6b0a,0xc9))[_0x865e('0x44')](handleError(_0x5b6b0a,null));};exports['bulkCreate']=function(_0x20da43,_0x29cb41){return db['AnalyticFieldReport'][_0x865e('0x47')](_0x20da43['body'],{'raw':![],'individualHooks':!![]})[_0x865e('0x23')](respondWithResult(_0x29cb41,0xc9))[_0x865e('0x44')](handleError(_0x29cb41,null));};exports[_0x865e('0x22')]=function(_0x1ec237,_0x2df173){if(_0x1ec237[_0x865e('0x46')]['id']){delete _0x1ec237[_0x865e('0x46')]['id'];}return db[_0x865e('0x2a')][_0x865e('0x48')]({'where':{'id':_0x1ec237[_0x865e('0x49')]['id']}})[_0x865e('0x23')](handleEntityNotFound(_0x2df173,null))[_0x865e('0x23')](saveUpdates(_0x1ec237[_0x865e('0x46')],null))[_0x865e('0x23')](respondWithResult(_0x2df173,null))[_0x865e('0x44')](handleError(_0x2df173,null));};exports[_0x865e('0x4a')]=function(_0x57e140,_0x38326a){return db[_0x865e('0x2a')]['find']({'where':{'id':_0x57e140[_0x865e('0x49')]['id']}})['then'](handleEntityNotFound(_0x38326a,null))[_0x865e('0x23')](removeEntity(_0x38326a,null))[_0x865e('0x44')](handleError(_0x38326a,null));};exports[_0x865e('0x4b')]=function(_0x4bd39e,_0x3fa885){return db[_0x865e('0x2a')][_0x865e('0x4a')]({'where':{'id':_0x4bd39e[_0x865e('0x31')][_0x865e('0x4c')]||[]},'raw':![],'individualHooks':!![]})[_0x865e('0x23')](respondWithResult(_0x3fa885,0xcc))[_0x865e('0x44')](handleError(_0x3fa885,null));};exports['addFields']=function(_0x7a8539,_0xc802de,_0x5135d8){return db[_0x865e('0x4d')][_0x865e('0x4e')]({'where':{'id':_0x7a8539[_0x865e('0x49')]['id']}})[_0x865e('0x23')](handleEntityNotFound(_0xc802de,null))[_0x865e('0x23')](function(_0x4464ce){if(_0x4464ce){return db[_0x865e('0x4f')][_0x865e('0x50')](function(_0x4d88ec){return db[_0x865e('0x2a')][_0x865e('0x4a')]({'where':{'CustomReportId':_0x7a8539[_0x865e('0x49')]['id']},'transaction':_0x4d88ec})[_0x865e('0x23')](function(_0xa8f49){var _0x399151=_['map'](_0x7a8539[_0x865e('0x46')],function(_0x3849e1){delete _0x3849e1['id'];_0x3849e1['CustomReportId']=_0x7a8539[_0x865e('0x49')]['id'];return _0x3849e1;});return db[_0x865e('0x2a')]['bulkCreate'](_0x399151,{'transaction':_0x4d88ec});});})['then'](function(){return db[_0x865e('0x2a')][_0x865e('0x41')]({'where':{'CustomReportId':_0x7a8539['params']['id']}});});}})[_0x865e('0x23')](respondWithResult(_0xc802de,null))[_0x865e('0x44')](handleError(_0xc802de,null));};