acccc74e238a2f8e6fa0c1e0c5a24e1606d612f1
[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 _0x7409=['pick','where','merge','type','VIRTUAL','includeAll','rows','catch','show','find','create','bulkCreate','update','body','params','destroy','ids','addFields','AnalyticCustomReport','findOne','sequelize','transaction','CustomReportId','html-pdf','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','end','status','json','count','offset','limit','Content-Range','reject','save','then','sendStatus','stack','name','send','index','map','AnalyticFieldReport','rawAttributes','model','keys','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','sort'];(function(_0x46fe89,_0x1011ef){var _0x3a28f9=function(_0x396c6a){while(--_0x396c6a){_0x46fe89['push'](_0x46fe89['shift']());}};_0x3a28f9(++_0x1011ef);}(_0x7409,0x64));var _0x9740=function(_0x154f26,_0x228c67){_0x154f26=_0x154f26-0x0;var _0x2a1b3f=_0x7409[_0x154f26];return _0x2a1b3f;};'use strict';var pdf=require(_0x9740('0x0'));var emlformat=require(_0x9740('0x1'));var rimraf=require(_0x9740('0x2'));var zipdir=require(_0x9740('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0x9740('0x4'));var moment=require(_0x9740('0x5'));var BPromise=require(_0x9740('0x6'));var Mustache=require(_0x9740('0x7'));var util=require('util');var path=require('path');var sox=require(_0x9740('0x8'));var csv=require(_0x9740('0x9'));var ejs=require(_0x9740('0xa'));var fs=require('fs');var _=require('lodash');var squel=require(_0x9740('0xb'));var crypto=require(_0x9740('0xc'));var jsforce=require(_0x9740('0xd'));var deskjs=require(_0x9740('0xe'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x9740('0xf'));var Redis=require(_0x9740('0x10'));var authService=require(_0x9740('0x11'));var qs=require(_0x9740('0x12'));var as=require(_0x9740('0x13'));var hardwareService=require(_0x9740('0x14'));var logger=require(_0x9740('0x15'))(_0x9740('0x16'));var utils=require('../../config/utils');var config=require(_0x9740('0x17'));var db=require(_0x9740('0x18'))['db'];function respondWithStatusCode(_0x557abc,_0x1c2e37){_0x1c2e37=_0x1c2e37||0xcc;return function(_0x543d91){if(_0x543d91){return _0x557abc['sendStatus'](_0x1c2e37);}return _0x557abc['status'](_0x1c2e37)[_0x9740('0x19')]();};}function respondWithResult(_0x5e8436,_0x3323a6){_0x3323a6=_0x3323a6||0xc8;return function(_0x10341e){if(_0x10341e){return _0x5e8436[_0x9740('0x1a')](_0x3323a6)[_0x9740('0x1b')](_0x10341e);}};}function respondWithFilteredResult(_0x5b70af,_0x128ce3){return function(_0x2d6bbc){if(_0x2d6bbc){var _0x314def=_0x2d6bbc[_0x9740('0x1c')],_0x53fe4e=_0x128ce3[_0x9740('0x1d')],_0x599c17=_0x128ce3[_0x9740('0x1d')]+_0x128ce3[_0x9740('0x1e')],_0x43d8a6;if(_0x599c17>=_0x314def){_0x599c17=_0x314def;_0x43d8a6=0xc8;}else{_0x43d8a6=0xce;}_0x5b70af['status'](_0x43d8a6);return _0x5b70af['set'](_0x9740('0x1f'),_0x53fe4e+'-'+_0x599c17+'/'+_0x314def)[_0x9740('0x1b')](_0x2d6bbc);}return null;};}function patchUpdates(_0x9b6ac3){return function(_0x19a16e){try{jsonpatch['apply'](_0x19a16e,_0x9b6ac3,!![]);}catch(_0x25a4fd){return BPromise[_0x9740('0x20')](_0x25a4fd);}return _0x19a16e[_0x9740('0x21')]();};}function saveUpdates(_0x473a2f,_0x47b9b8){return function(_0x593151){if(_0x593151){return _0x593151['update'](_0x473a2f)['then'](function(_0x593972){return _0x593972;});}return null;};}function removeEntity(_0x4b20b7,_0xbd2a76){return function(_0x322177){if(_0x322177){return _0x322177['destroy']()[_0x9740('0x22')](function(){_0x4b20b7[_0x9740('0x1a')](0xcc)[_0x9740('0x19')]();});}};}function handleEntityNotFound(_0x19d3e5,_0x4c4e37){return function(_0xa82cc6){if(!_0xa82cc6){_0x19d3e5[_0x9740('0x23')](0x194);}return _0xa82cc6;};}function handleError(_0x37cc66,_0x1c40b0){_0x1c40b0=_0x1c40b0||0x1f4;return function(_0x4dc4e7){logger['error'](_0x4dc4e7[_0x9740('0x24')]);if(_0x4dc4e7[_0x9740('0x25')]){delete _0x4dc4e7[_0x9740('0x25')];}_0x37cc66[_0x9740('0x1a')](_0x1c40b0)[_0x9740('0x26')](_0x4dc4e7);};}exports[_0x9740('0x27')]=function(_0x415b7c,_0x212c14){var _0xfc21d9={},_0x448a35={},_0x2b1b82={'count':0x0,'rows':[]};var _0xa8e4a6=_[_0x9740('0x28')](db[_0x9740('0x29')][_0x9740('0x2a')],function(_0x545f66){return{'name':_0x545f66['fieldName'],'type':_0x545f66['type']['key']};});_0x448a35[_0x9740('0x2b')]=_[_0x9740('0x28')](_0xa8e4a6,_0x9740('0x25'));_0x448a35['query']=_[_0x9740('0x2c')](_0x415b7c[_0x9740('0x2d')]);_0x448a35[_0x9740('0x2e')]=_[_0x9740('0x2f')](_0x448a35['model'],_0x448a35[_0x9740('0x2d')]);_0xfc21d9['attributes']=_[_0x9740('0x2f')](_0x448a35[_0x9740('0x2b')],qs['fields'](_0x415b7c[_0x9740('0x2d')][_0x9740('0x30')]));_0xfc21d9[_0x9740('0x31')]=_0xfc21d9[_0x9740('0x31')][_0x9740('0x32')]?_0xfc21d9[_0x9740('0x31')]:_0x448a35[_0x9740('0x2b')];if(!_0x415b7c[_0x9740('0x2d')][_0x9740('0x33')](_0x9740('0x34'))){_0xfc21d9['limit']=qs[_0x9740('0x1e')](_0x415b7c[_0x9740('0x2d')][_0x9740('0x1e')]);_0xfc21d9[_0x9740('0x1d')]=qs[_0x9740('0x1d')](_0x415b7c['query']['offset']);}_0xfc21d9['order']=qs['sort'](_0x415b7c[_0x9740('0x2d')][_0x9740('0x35')]);_0xfc21d9['where']=qs[_0x9740('0x2e')](_[_0x9740('0x36')](_0x415b7c['query'],_0x448a35[_0x9740('0x2e')]),_0xa8e4a6);if(_0x415b7c[_0x9740('0x2d')]['filter']){_0xfc21d9[_0x9740('0x37')]=_[_0x9740('0x38')](_0xfc21d9[_0x9740('0x37')],{'$or':_[_0x9740('0x28')](_0xa8e4a6,function(_0x1607c6){if(_0x1607c6[_0x9740('0x39')]!==_0x9740('0x3a')){var _0x4592a8={};_0x4592a8[_0x1607c6['name']]={'$like':'%'+_0x415b7c[_0x9740('0x2d')]['filter']+'%'};return _0x4592a8;}})});}_0xfc21d9=_[_0x9740('0x38')]({},_0xfc21d9,_0x415b7c['options']);var _0x574cca={'where':_0xfc21d9[_0x9740('0x37')]};return db['AnalyticFieldReport'][_0x9740('0x1c')](_0x574cca)[_0x9740('0x22')](function(_0x3f09b0){_0x2b1b82[_0x9740('0x1c')]=_0x3f09b0;if(_0x415b7c['query'][_0x9740('0x3b')]){_0xfc21d9['include']=[{'all':!![]}];}return db[_0x9740('0x29')]['findAll'](_0xfc21d9);})[_0x9740('0x22')](function(_0x35e541){_0x2b1b82[_0x9740('0x3c')]=_0x35e541;return _0x2b1b82;})['then'](respondWithFilteredResult(_0x212c14,_0xfc21d9))[_0x9740('0x3d')](handleError(_0x212c14,null));};exports[_0x9740('0x3e')]=function(_0x5c5e9e,_0x349969){var _0x3b4c56={'raw':![],'where':{'id':_0x5c5e9e['params']['id']}},_0x561bde={};_0x561bde[_0x9740('0x2b')]=_[_0x9740('0x2c')](db[_0x9740('0x29')][_0x9740('0x2a')]);_0x561bde[_0x9740('0x2d')]=_[_0x9740('0x2c')](_0x5c5e9e[_0x9740('0x2d')]);_0x561bde[_0x9740('0x2e')]=_[_0x9740('0x2f')](_0x561bde[_0x9740('0x2b')],_0x561bde['query']);_0x3b4c56[_0x9740('0x31')]=_[_0x9740('0x2f')](_0x561bde[_0x9740('0x2b')],qs[_0x9740('0x30')](_0x5c5e9e['query'][_0x9740('0x30')]));_0x3b4c56[_0x9740('0x31')]=_0x3b4c56[_0x9740('0x31')][_0x9740('0x32')]?_0x3b4c56[_0x9740('0x31')]:_0x561bde[_0x9740('0x2b')];if(_0x5c5e9e[_0x9740('0x2d')][_0x9740('0x3b')]){_0x3b4c56['include']=[{'all':!![]}];}_0x3b4c56=_['merge']({},_0x3b4c56,_0x5c5e9e['options']);return db[_0x9740('0x29')][_0x9740('0x3f')](_0x3b4c56)[_0x9740('0x22')](handleEntityNotFound(_0x349969,null))[_0x9740('0x22')](respondWithResult(_0x349969,null))[_0x9740('0x3d')](handleError(_0x349969,null));};exports[_0x9740('0x40')]=function(_0x5ec642,_0x1ea02f){return db[_0x9740('0x29')][_0x9740('0x40')](_0x5ec642['body'],{})['then'](respondWithResult(_0x1ea02f,0xc9))['catch'](handleError(_0x1ea02f,null));};exports[_0x9740('0x41')]=function(_0x14fbc3,_0x346525){return db[_0x9740('0x29')]['bulkCreate'](_0x14fbc3['body'],{'raw':![],'individualHooks':!![]})[_0x9740('0x22')](respondWithResult(_0x346525,0xc9))[_0x9740('0x3d')](handleError(_0x346525,null));};exports[_0x9740('0x42')]=function(_0x46edc2,_0x59f18b){if(_0x46edc2[_0x9740('0x43')]['id']){delete _0x46edc2[_0x9740('0x43')]['id'];}return db[_0x9740('0x29')][_0x9740('0x3f')]({'where':{'id':_0x46edc2[_0x9740('0x44')]['id']}})[_0x9740('0x22')](handleEntityNotFound(_0x59f18b,null))[_0x9740('0x22')](saveUpdates(_0x46edc2[_0x9740('0x43')],null))[_0x9740('0x22')](respondWithResult(_0x59f18b,null))['catch'](handleError(_0x59f18b,null));};exports[_0x9740('0x45')]=function(_0x3ab9ca,_0x2aa7da){return db[_0x9740('0x29')][_0x9740('0x3f')]({'where':{'id':_0x3ab9ca[_0x9740('0x44')]['id']}})[_0x9740('0x22')](handleEntityNotFound(_0x2aa7da,null))[_0x9740('0x22')](removeEntity(_0x2aa7da,null))[_0x9740('0x3d')](handleError(_0x2aa7da,null));};exports['bulkDestroy']=function(_0x19ae48,_0x78883b){return db[_0x9740('0x29')][_0x9740('0x45')]({'where':{'id':_0x19ae48[_0x9740('0x2d')][_0x9740('0x46')]||[]},'raw':![],'individualHooks':!![]})[_0x9740('0x22')](respondWithResult(_0x78883b,0xcc))[_0x9740('0x3d')](handleError(_0x78883b,null));};exports[_0x9740('0x47')]=function(_0xbec594,_0x3ca833,_0x429df6){return db[_0x9740('0x48')][_0x9740('0x49')]({'where':{'id':_0xbec594[_0x9740('0x44')]['id']}})[_0x9740('0x22')](handleEntityNotFound(_0x3ca833,null))[_0x9740('0x22')](function(_0x501150){if(_0x501150){return db[_0x9740('0x4a')][_0x9740('0x4b')](function(_0x374186){return db[_0x9740('0x29')][_0x9740('0x45')]({'where':{'CustomReportId':_0xbec594['params']['id']},'transaction':_0x374186})[_0x9740('0x22')](function(_0x4d159b){var _0x390fd9=_[_0x9740('0x28')](_0xbec594['body'],function(_0x34ec37){delete _0x34ec37['id'];_0x34ec37[_0x9740('0x4c')]=_0xbec594['params']['id'];return _0x34ec37;});return db[_0x9740('0x29')][_0x9740('0x41')](_0x390fd9,{'transaction':_0x374186});});})[_0x9740('0x22')](function(){return db[_0x9740('0x29')]['findAll']({'where':{'CustomReportId':_0xbec594[_0x9740('0x44')]['id']}});});}})['then'](respondWithResult(_0x3ca833,null))[_0x9740('0x3d')](handleError(_0x3ca833,null));};