7572f61e16cfa490f671596ac2a26318d601621a
[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 _0x4bd0=['attributes','length','hasOwnProperty','nolimit','order','sort','pick','filter','where','type','VIRTUAL','merge','options','include','findAll','then','catch','show','params','rawAttributes','find','create','body','bulkCreate','ids','AnalyticCustomReport','findOne','sequelize','CustomReportId','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','to-csv','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../mysqldb','sendStatus','end','status','json','count','offset','limit','set','Content-Range','apply','save','update','destroy','error','name','send','index','map','AnalyticFieldReport','fieldName','key','query','keys','filters','intersection','model','fields'];(function(_0x2dafbe,_0x5d04de){var _0x58a45a=function(_0x50ac96){while(--_0x50ac96){_0x2dafbe['push'](_0x2dafbe['shift']());}};_0x58a45a(++_0x5d04de);}(_0x4bd0,0x15d));var _0x04bd=function(_0x513119,_0x425e6f){_0x513119=_0x513119-0x0;var _0x587511=_0x4bd0[_0x513119];return _0x587511;};'use strict';var pdf=require(_0x04bd('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x04bd('0x1'));var zipdir=require(_0x04bd('0x2'));var jsonpatch=require(_0x04bd('0x3'));var rp=require(_0x04bd('0x4'));var moment=require(_0x04bd('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x04bd('0x6'));var util=require(_0x04bd('0x7'));var path=require(_0x04bd('0x8'));var sox=require('sox');var csv=require(_0x04bd('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x04bd('0xa'));var squel=require(_0x04bd('0xb'));var crypto=require('crypto');var jsforce=require(_0x04bd('0xc'));var deskjs=require(_0x04bd('0xd'));var toCsv=require('to-csv');var querystring=require(_0x04bd('0xe'));var Papa=require(_0x04bd('0xf'));var Redis=require(_0x04bd('0x10'));var authService=require(_0x04bd('0x11'));var qs=require(_0x04bd('0x12'));var as=require(_0x04bd('0x13'));var hardwareService=require(_0x04bd('0x14'));var logger=require(_0x04bd('0x15'))('api');var utils=require('../../config/utils');var config=require(_0x04bd('0x16'));var db=require(_0x04bd('0x17'))['db'];function respondWithStatusCode(_0x510d2d,_0x5136a2){_0x5136a2=_0x5136a2||0xcc;return function(_0x4c00e7){if(_0x4c00e7){return _0x510d2d[_0x04bd('0x18')](_0x5136a2);}return _0x510d2d['status'](_0x5136a2)[_0x04bd('0x19')]();};}function respondWithResult(_0x91a9a0,_0x4b6d87){_0x4b6d87=_0x4b6d87||0xc8;return function(_0x57a226){if(_0x57a226){return _0x91a9a0[_0x04bd('0x1a')](_0x4b6d87)[_0x04bd('0x1b')](_0x57a226);}};}function respondWithFilteredResult(_0x1fae0e,_0x2a132d){return function(_0x30d277){if(_0x30d277){var _0x1cde29=_0x30d277[_0x04bd('0x1c')],_0x4eb05f=_0x2a132d[_0x04bd('0x1d')],_0x51a86f=_0x2a132d[_0x04bd('0x1d')]+_0x2a132d[_0x04bd('0x1e')],_0x1b8a66;if(_0x51a86f>=_0x1cde29){_0x51a86f=_0x1cde29;_0x1b8a66=0xc8;}else{_0x1b8a66=0xce;}_0x1fae0e[_0x04bd('0x1a')](_0x1b8a66);return _0x1fae0e[_0x04bd('0x1f')](_0x04bd('0x20'),_0x4eb05f+'-'+_0x51a86f+'/'+_0x1cde29)['json'](_0x30d277);}return null;};}function patchUpdates(_0x15728f){return function(_0x543c0f){try{jsonpatch[_0x04bd('0x21')](_0x543c0f,_0x15728f,!![]);}catch(_0x554bbf){return BPromise['reject'](_0x554bbf);}return _0x543c0f[_0x04bd('0x22')]();};}function saveUpdates(_0x4f2357,_0x2bea5d){return function(_0x225819){if(_0x225819){return _0x225819[_0x04bd('0x23')](_0x4f2357)['then'](function(_0x1fc06f){return _0x1fc06f;});}return null;};}function removeEntity(_0x51ee2f,_0x4ecb16){return function(_0x51e9b5){if(_0x51e9b5){return _0x51e9b5[_0x04bd('0x24')]()['then'](function(){_0x51ee2f[_0x04bd('0x1a')](0xcc)[_0x04bd('0x19')]();});}};}function handleEntityNotFound(_0x3ebd20,_0x2954b0){return function(_0x3ab13b){if(!_0x3ab13b){_0x3ebd20[_0x04bd('0x18')](0x194);}return _0x3ab13b;};}function handleError(_0x33ae2e,_0x27c9c3){_0x27c9c3=_0x27c9c3||0x1f4;return function(_0x5f3c71){logger[_0x04bd('0x25')](_0x5f3c71['stack']);if(_0x5f3c71[_0x04bd('0x26')]){delete _0x5f3c71[_0x04bd('0x26')];}_0x33ae2e['status'](_0x27c9c3)[_0x04bd('0x27')](_0x5f3c71);};}exports[_0x04bd('0x28')]=function(_0x48e92a,_0x47e025){var _0x25fbf4={},_0x516b45={},_0x27465d={'count':0x0,'rows':[]};var _0x558dc4=_[_0x04bd('0x29')](db[_0x04bd('0x2a')]['rawAttributes'],function(_0xe080be){return{'name':_0xe080be[_0x04bd('0x2b')],'type':_0xe080be['type'][_0x04bd('0x2c')]};});_0x516b45['model']=_[_0x04bd('0x29')](_0x558dc4,_0x04bd('0x26'));_0x516b45[_0x04bd('0x2d')]=_[_0x04bd('0x2e')](_0x48e92a[_0x04bd('0x2d')]);_0x516b45[_0x04bd('0x2f')]=_[_0x04bd('0x30')](_0x516b45['model'],_0x516b45[_0x04bd('0x2d')]);_0x25fbf4['attributes']=_['intersection'](_0x516b45[_0x04bd('0x31')],qs['fields'](_0x48e92a[_0x04bd('0x2d')][_0x04bd('0x32')]));_0x25fbf4[_0x04bd('0x33')]=_0x25fbf4[_0x04bd('0x33')][_0x04bd('0x34')]?_0x25fbf4['attributes']:_0x516b45[_0x04bd('0x31')];if(!_0x48e92a[_0x04bd('0x2d')][_0x04bd('0x35')](_0x04bd('0x36'))){_0x25fbf4['limit']=qs['limit'](_0x48e92a[_0x04bd('0x2d')][_0x04bd('0x1e')]);_0x25fbf4[_0x04bd('0x1d')]=qs[_0x04bd('0x1d')](_0x48e92a[_0x04bd('0x2d')]['offset']);}_0x25fbf4[_0x04bd('0x37')]=qs['sort'](_0x48e92a[_0x04bd('0x2d')][_0x04bd('0x38')]);_0x25fbf4['where']=qs['filters'](_[_0x04bd('0x39')](_0x48e92a['query'],_0x516b45['filters']),_0x558dc4);if(_0x48e92a[_0x04bd('0x2d')][_0x04bd('0x3a')]){_0x25fbf4[_0x04bd('0x3b')]=_['merge'](_0x25fbf4[_0x04bd('0x3b')],{'$or':_[_0x04bd('0x29')](_0x558dc4,function(_0x38050e){if(_0x38050e[_0x04bd('0x3c')]!==_0x04bd('0x3d')){var _0x2db7eb={};_0x2db7eb[_0x38050e[_0x04bd('0x26')]]={'$like':'%'+_0x48e92a['query'][_0x04bd('0x3a')]+'%'};return _0x2db7eb;}})});}_0x25fbf4=_[_0x04bd('0x3e')]({},_0x25fbf4,_0x48e92a[_0x04bd('0x3f')]);var _0xdb123d={'where':_0x25fbf4[_0x04bd('0x3b')]};return db[_0x04bd('0x2a')][_0x04bd('0x1c')](_0xdb123d)['then'](function(_0x4e4902){_0x27465d[_0x04bd('0x1c')]=_0x4e4902;if(_0x48e92a[_0x04bd('0x2d')]['includeAll']){_0x25fbf4[_0x04bd('0x40')]=[{'all':!![]}];}return db[_0x04bd('0x2a')][_0x04bd('0x41')](_0x25fbf4);})[_0x04bd('0x42')](function(_0x17f58e){_0x27465d['rows']=_0x17f58e;return _0x27465d;})[_0x04bd('0x42')](respondWithFilteredResult(_0x47e025,_0x25fbf4))[_0x04bd('0x43')](handleError(_0x47e025,null));};exports[_0x04bd('0x44')]=function(_0x48c4f1,_0x2a4a41){var _0x3f067e={'raw':![],'where':{'id':_0x48c4f1[_0x04bd('0x45')]['id']}},_0x250d73={};_0x250d73[_0x04bd('0x31')]=_[_0x04bd('0x2e')](db[_0x04bd('0x2a')][_0x04bd('0x46')]);_0x250d73[_0x04bd('0x2d')]=_['keys'](_0x48c4f1[_0x04bd('0x2d')]);_0x250d73[_0x04bd('0x2f')]=_[_0x04bd('0x30')](_0x250d73['model'],_0x250d73[_0x04bd('0x2d')]);_0x3f067e[_0x04bd('0x33')]=_[_0x04bd('0x30')](_0x250d73[_0x04bd('0x31')],qs[_0x04bd('0x32')](_0x48c4f1['query'][_0x04bd('0x32')]));_0x3f067e[_0x04bd('0x33')]=_0x3f067e[_0x04bd('0x33')][_0x04bd('0x34')]?_0x3f067e[_0x04bd('0x33')]:_0x250d73[_0x04bd('0x31')];if(_0x48c4f1[_0x04bd('0x2d')]['includeAll']){_0x3f067e[_0x04bd('0x40')]=[{'all':!![]}];}_0x3f067e=_[_0x04bd('0x3e')]({},_0x3f067e,_0x48c4f1['options']);return db[_0x04bd('0x2a')][_0x04bd('0x47')](_0x3f067e)[_0x04bd('0x42')](handleEntityNotFound(_0x2a4a41,null))[_0x04bd('0x42')](respondWithResult(_0x2a4a41,null))[_0x04bd('0x43')](handleError(_0x2a4a41,null));};exports[_0x04bd('0x48')]=function(_0x38ba83,_0x2bc4da){return db['AnalyticFieldReport'][_0x04bd('0x48')](_0x38ba83[_0x04bd('0x49')],{})[_0x04bd('0x42')](respondWithResult(_0x2bc4da,0xc9))['catch'](handleError(_0x2bc4da,null));};exports[_0x04bd('0x4a')]=function(_0x1a892c,_0x189ae7){return db['AnalyticFieldReport'][_0x04bd('0x4a')](_0x1a892c[_0x04bd('0x49')],{'raw':![],'individualHooks':!![]})[_0x04bd('0x42')](respondWithResult(_0x189ae7,0xc9))['catch'](handleError(_0x189ae7,null));};exports[_0x04bd('0x23')]=function(_0x55ede8,_0x5e3ac0){if(_0x55ede8['body']['id']){delete _0x55ede8['body']['id'];}return db['AnalyticFieldReport'][_0x04bd('0x47')]({'where':{'id':_0x55ede8['params']['id']}})[_0x04bd('0x42')](handleEntityNotFound(_0x5e3ac0,null))['then'](saveUpdates(_0x55ede8['body'],null))[_0x04bd('0x42')](respondWithResult(_0x5e3ac0,null))['catch'](handleError(_0x5e3ac0,null));};exports[_0x04bd('0x24')]=function(_0x3dd80c,_0xf9f3ca){return db[_0x04bd('0x2a')][_0x04bd('0x47')]({'where':{'id':_0x3dd80c[_0x04bd('0x45')]['id']}})[_0x04bd('0x42')](handleEntityNotFound(_0xf9f3ca,null))[_0x04bd('0x42')](removeEntity(_0xf9f3ca,null))[_0x04bd('0x43')](handleError(_0xf9f3ca,null));};exports['bulkDestroy']=function(_0x38f41e,_0x3559ee){return db['AnalyticFieldReport'][_0x04bd('0x24')]({'where':{'id':_0x38f41e[_0x04bd('0x2d')][_0x04bd('0x4b')]||[]},'raw':![],'individualHooks':!![]})['then'](respondWithResult(_0x3559ee,0xcc))[_0x04bd('0x43')](handleError(_0x3559ee,null));};exports['addFields']=function(_0xf8759a,_0x22bd1d,_0x5e534d){return db[_0x04bd('0x4c')][_0x04bd('0x4d')]({'where':{'id':_0xf8759a['params']['id']}})[_0x04bd('0x42')](handleEntityNotFound(_0x22bd1d,null))['then'](function(_0x56f5ae){if(_0x56f5ae){return db[_0x04bd('0x4e')]['transaction'](function(_0xc6d4e6){return db[_0x04bd('0x2a')][_0x04bd('0x24')]({'where':{'CustomReportId':_0xf8759a[_0x04bd('0x45')]['id']},'transaction':_0xc6d4e6})[_0x04bd('0x42')](function(_0xe8b124){var _0x26c979=_[_0x04bd('0x29')](_0xf8759a[_0x04bd('0x49')],function(_0x4faac1){delete _0x4faac1['id'];_0x4faac1[_0x04bd('0x4f')]=_0xf8759a[_0x04bd('0x45')]['id'];return _0x4faac1;});return db[_0x04bd('0x2a')][_0x04bd('0x4a')](_0x26c979,{'transaction':_0xc6d4e6});});})['then'](function(){return db[_0x04bd('0x2a')]['findAll']({'where':{'CustomReportId':_0xf8759a[_0x04bd('0x45')]['id']}});});}})['then'](respondWithResult(_0x22bd1d,null))[_0x04bd('0x43')](handleError(_0x22bd1d,null));};