Built motion from commit 42801a18.|2.6.28
[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 _0x58fe=['end','json','offset','undefined','limit','set','reject','save','update','then','destroy','error','stack','name','send','index','map','fieldName','type','key','model','query','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','pick','filter','merge','where','options','AnalyticFieldReport','count','include','findAll','rows','show','params','keys','rawAttributes','includeAll','find','catch','create','body','bulkDestroy','addFields','AnalyticCustomReport','sequelize','transaction','CustomReportId','rimraf','zip-dir','fast-json-patch','moment','mustache','util','path','sox','to-csv','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status'];(function(_0x9043ac,_0x6b4c3f){var _0x207623=function(_0x556955){while(--_0x556955){_0x9043ac['push'](_0x9043ac['shift']());}};_0x207623(++_0x6b4c3f);}(_0x58fe,0xdc));var _0xe58f=function(_0x172133,_0x10246b){_0x172133=_0x172133-0x0;var _0x2460e5=_0x58fe[_0x172133];return _0x2460e5;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xe58f('0x0'));var zipdir=require(_0xe58f('0x1'));var jsonpatch=require(_0xe58f('0x2'));var rp=require('request-promise');var moment=require(_0xe58f('0x3'));var BPromise=require('bluebird');var Mustache=require(_0xe58f('0x4'));var util=require(_0xe58f('0x5'));var path=require(_0xe58f('0x6'));var sox=require(_0xe58f('0x7'));var csv=require(_0xe58f('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xe58f('0x9'));var squel=require('squel');var crypto=require(_0xe58f('0xa'));var jsforce=require(_0xe58f('0xb'));var deskjs=require(_0xe58f('0xc'));var toCsv=require(_0xe58f('0x8'));var querystring=require(_0xe58f('0xd'));var Papa=require(_0xe58f('0xe'));var Redis=require(_0xe58f('0xf'));var authService=require(_0xe58f('0x10'));var qs=require(_0xe58f('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xe58f('0x12'));var logger=require(_0xe58f('0x13'))(_0xe58f('0x14'));var utils=require(_0xe58f('0x15'));var config=require(_0xe58f('0x16'));var licenseUtil=require(_0xe58f('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x568592,_0x4daa36){_0x4daa36=_0x4daa36||0xcc;return function(_0x216766){if(_0x216766){return _0x568592[_0xe58f('0x18')](_0x4daa36);}return _0x568592[_0xe58f('0x19')](_0x4daa36)[_0xe58f('0x1a')]();};}function respondWithResult(_0x36c21f,_0xb8ff44){_0xb8ff44=_0xb8ff44||0xc8;return function(_0x51a63e){if(_0x51a63e){return _0x36c21f[_0xe58f('0x19')](_0xb8ff44)[_0xe58f('0x1b')](_0x51a63e);}};}function respondWithFilteredResult(_0x4fa982,_0x42fbfd){return function(_0x4954a0){if(_0x4954a0){var _0x4a69fe=typeof _0x42fbfd[_0xe58f('0x1c')]===_0xe58f('0x1d')&&typeof _0x42fbfd['limit']==='undefined';var _0x222ee7=_0x4954a0['count'];var _0x9041ab=_0x4a69fe?0x0:_0x42fbfd[_0xe58f('0x1c')];var _0x31a71e=_0x4a69fe?_0x4954a0['count']:_0x42fbfd['offset']+_0x42fbfd[_0xe58f('0x1e')];var _0x156e0d;if(_0x31a71e>=_0x222ee7){_0x31a71e=_0x222ee7;_0x156e0d=0xc8;}else{_0x156e0d=0xce;}_0x4fa982[_0xe58f('0x19')](_0x156e0d);return _0x4fa982[_0xe58f('0x1f')]('Content-Range',_0x9041ab+'-'+_0x31a71e+'/'+_0x222ee7)['json'](_0x4954a0);}return null;};}function patchUpdates(_0x1bf904){return function(_0x3f1107){try{jsonpatch['apply'](_0x3f1107,_0x1bf904,!![]);}catch(_0x52eb6f){return BPromise[_0xe58f('0x20')](_0x52eb6f);}return _0x3f1107[_0xe58f('0x21')]();};}function saveUpdates(_0x18934e,_0x48bf8e){return function(_0x57424e){if(_0x57424e){return _0x57424e[_0xe58f('0x22')](_0x18934e)[_0xe58f('0x23')](function(_0x197032){return _0x197032;});}return null;};}function removeEntity(_0x50b6d6,_0x26b3ff){return function(_0x568172){if(_0x568172){return _0x568172[_0xe58f('0x24')]()[_0xe58f('0x23')](function(){_0x50b6d6['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x3b0fc3,_0x549eda){return function(_0x22859e){if(!_0x22859e){_0x3b0fc3['sendStatus'](0x194);}return _0x22859e;};}function handleError(_0x44f18b,_0x45a188){_0x45a188=_0x45a188||0x1f4;return function(_0x2a610c){logger[_0xe58f('0x25')](_0x2a610c[_0xe58f('0x26')]);if(_0x2a610c[_0xe58f('0x27')]){delete _0x2a610c[_0xe58f('0x27')];}_0x44f18b[_0xe58f('0x19')](_0x45a188)[_0xe58f('0x28')](_0x2a610c);};}exports[_0xe58f('0x29')]=function(_0x4ef05b,_0x3042b0){var _0x26a00b={},_0x1716d7={},_0xd4f5d9={'count':0x0,'rows':[]};var _0x34d181=_[_0xe58f('0x2a')](db['AnalyticFieldReport']['rawAttributes'],function(_0x32904d){return{'name':_0x32904d[_0xe58f('0x2b')],'type':_0x32904d[_0xe58f('0x2c')][_0xe58f('0x2d')]};});_0x1716d7[_0xe58f('0x2e')]=_['map'](_0x34d181,_0xe58f('0x27'));_0x1716d7[_0xe58f('0x2f')]=_['keys'](_0x4ef05b[_0xe58f('0x2f')]);_0x1716d7[_0xe58f('0x30')]=_['intersection'](_0x1716d7['model'],_0x1716d7[_0xe58f('0x2f')]);_0x26a00b[_0xe58f('0x31')]=_[_0xe58f('0x32')](_0x1716d7[_0xe58f('0x2e')],qs[_0xe58f('0x33')](_0x4ef05b[_0xe58f('0x2f')][_0xe58f('0x33')]));_0x26a00b[_0xe58f('0x31')]=_0x26a00b[_0xe58f('0x31')][_0xe58f('0x34')]?_0x26a00b['attributes']:_0x1716d7[_0xe58f('0x2e')];if(!_0x4ef05b[_0xe58f('0x2f')][_0xe58f('0x35')](_0xe58f('0x36'))){_0x26a00b['limit']=qs['limit'](_0x4ef05b[_0xe58f('0x2f')][_0xe58f('0x1e')]);_0x26a00b[_0xe58f('0x1c')]=qs[_0xe58f('0x1c')](_0x4ef05b[_0xe58f('0x2f')][_0xe58f('0x1c')]);}_0x26a00b[_0xe58f('0x37')]=qs[_0xe58f('0x38')](_0x4ef05b[_0xe58f('0x2f')][_0xe58f('0x38')]);_0x26a00b['where']=qs[_0xe58f('0x30')](_[_0xe58f('0x39')](_0x4ef05b[_0xe58f('0x2f')],_0x1716d7[_0xe58f('0x30')]),_0x34d181);if(_0x4ef05b[_0xe58f('0x2f')][_0xe58f('0x3a')]){_0x26a00b['where']=_[_0xe58f('0x3b')](_0x26a00b[_0xe58f('0x3c')],{'$or':_['map'](_0x34d181,function(_0x1403cd){if(_0x1403cd[_0xe58f('0x2c')]!=='VIRTUAL'){var _0x249b78={};_0x249b78[_0x1403cd['name']]={'$like':'%'+_0x4ef05b['query'][_0xe58f('0x3a')]+'%'};return _0x249b78;}})});}_0x26a00b=_[_0xe58f('0x3b')]({},_0x26a00b,_0x4ef05b[_0xe58f('0x3d')]);var _0x520ddd={'where':_0x26a00b[_0xe58f('0x3c')]};return db[_0xe58f('0x3e')][_0xe58f('0x3f')](_0x520ddd)[_0xe58f('0x23')](function(_0x1e091a){_0xd4f5d9[_0xe58f('0x3f')]=_0x1e091a;if(_0x4ef05b[_0xe58f('0x2f')]['includeAll']){_0x26a00b[_0xe58f('0x40')]=[{'all':!![]}];}return db[_0xe58f('0x3e')][_0xe58f('0x41')](_0x26a00b);})[_0xe58f('0x23')](function(_0x2a606d){_0xd4f5d9[_0xe58f('0x42')]=_0x2a606d;return _0xd4f5d9;})['then'](respondWithFilteredResult(_0x3042b0,_0x26a00b))['catch'](handleError(_0x3042b0,null));};exports[_0xe58f('0x43')]=function(_0x139a56,_0x591570){var _0x363a90={'raw':![],'where':{'id':_0x139a56[_0xe58f('0x44')]['id']}},_0x16eab5={};_0x16eab5[_0xe58f('0x2e')]=_[_0xe58f('0x45')](db[_0xe58f('0x3e')][_0xe58f('0x46')]);_0x16eab5[_0xe58f('0x2f')]=_['keys'](_0x139a56[_0xe58f('0x2f')]);_0x16eab5[_0xe58f('0x30')]=_[_0xe58f('0x32')](_0x16eab5[_0xe58f('0x2e')],_0x16eab5[_0xe58f('0x2f')]);_0x363a90[_0xe58f('0x31')]=_[_0xe58f('0x32')](_0x16eab5['model'],qs[_0xe58f('0x33')](_0x139a56['query'][_0xe58f('0x33')]));_0x363a90[_0xe58f('0x31')]=_0x363a90[_0xe58f('0x31')][_0xe58f('0x34')]?_0x363a90[_0xe58f('0x31')]:_0x16eab5[_0xe58f('0x2e')];if(_0x139a56[_0xe58f('0x2f')][_0xe58f('0x47')]){_0x363a90[_0xe58f('0x40')]=[{'all':!![]}];}_0x363a90=_[_0xe58f('0x3b')]({},_0x363a90,_0x139a56[_0xe58f('0x3d')]);return db['AnalyticFieldReport'][_0xe58f('0x48')](_0x363a90)[_0xe58f('0x23')](handleEntityNotFound(_0x591570,null))[_0xe58f('0x23')](respondWithResult(_0x591570,null))[_0xe58f('0x49')](handleError(_0x591570,null));};exports[_0xe58f('0x4a')]=function(_0x339ddf,_0x71efba){return db[_0xe58f('0x3e')][_0xe58f('0x4a')](_0x339ddf[_0xe58f('0x4b')],{})[_0xe58f('0x23')](respondWithResult(_0x71efba,0xc9))[_0xe58f('0x49')](handleError(_0x71efba,null));};exports['bulkCreate']=function(_0x4bb546,_0x54811e){return db[_0xe58f('0x3e')]['bulkCreate'](_0x4bb546[_0xe58f('0x4b')],{'raw':![],'individualHooks':!![]})[_0xe58f('0x23')](respondWithResult(_0x54811e,0xc9))[_0xe58f('0x49')](handleError(_0x54811e,null));};exports['update']=function(_0x261ad6,_0x235a68){if(_0x261ad6[_0xe58f('0x4b')]['id']){delete _0x261ad6[_0xe58f('0x4b')]['id'];}return db[_0xe58f('0x3e')][_0xe58f('0x48')]({'where':{'id':_0x261ad6[_0xe58f('0x44')]['id']}})[_0xe58f('0x23')](handleEntityNotFound(_0x235a68,null))['then'](saveUpdates(_0x261ad6[_0xe58f('0x4b')],null))[_0xe58f('0x23')](respondWithResult(_0x235a68,null))[_0xe58f('0x49')](handleError(_0x235a68,null));};exports[_0xe58f('0x24')]=function(_0x17d674,_0x21061a){return db['AnalyticFieldReport'][_0xe58f('0x48')]({'where':{'id':_0x17d674[_0xe58f('0x44')]['id']}})[_0xe58f('0x23')](handleEntityNotFound(_0x21061a,null))[_0xe58f('0x23')](removeEntity(_0x21061a,null))['catch'](handleError(_0x21061a,null));};exports[_0xe58f('0x4c')]=function(_0x28d6f2,_0xb31317){return db[_0xe58f('0x3e')][_0xe58f('0x24')]({'where':{'id':_0x28d6f2[_0xe58f('0x2f')]['ids']||[]},'raw':![],'individualHooks':!![]})['then'](respondWithResult(_0xb31317,0xcc))[_0xe58f('0x49')](handleError(_0xb31317,null));};exports[_0xe58f('0x4d')]=function(_0x124092,_0x352c15,_0x14d73e){return db[_0xe58f('0x4e')]['findOne']({'where':{'id':_0x124092[_0xe58f('0x44')]['id']}})[_0xe58f('0x23')](handleEntityNotFound(_0x352c15,null))[_0xe58f('0x23')](function(_0x450d08){if(_0x450d08){return db[_0xe58f('0x4f')][_0xe58f('0x50')](function(_0x2104aa){return db['AnalyticFieldReport']['destroy']({'where':{'CustomReportId':_0x124092[_0xe58f('0x44')]['id']},'transaction':_0x2104aa})['then'](function(_0x4609fb){var _0x2f9093=_['map'](_0x124092['body'],function(_0x28a172){delete _0x28a172['id'];_0x28a172[_0xe58f('0x51')]=_0x124092[_0xe58f('0x44')]['id'];return _0x28a172;});return db[_0xe58f('0x3e')]['bulkCreate'](_0x2f9093,{'transaction':_0x2104aa});});})[_0xe58f('0x23')](function(){return db[_0xe58f('0x3e')]['findAll']({'where':{'CustomReportId':_0x124092[_0xe58f('0x44')]['id']}});});}})['then'](respondWithResult(_0x352c15,null))['catch'](handleError(_0x352c15,null));};