mirror of
https://github.com/NginxProxyManager/nginx-proxy-manager.git
synced 2025-08-07 18:03:33 +00:00
Supporting open-appsec
This commit is contained in:
77
frontend/js/app/openappsec-log/list/item.ejs
Executable file
77
frontend/js/app/openappsec-log/list/item.ejs
Executable file
@@ -0,0 +1,77 @@
|
||||
|
||||
<td>
|
||||
<div <div class="text-nowrap">
|
||||
<% var sevirityClass = 'bg-success';
|
||||
switch (eventSeverity) {
|
||||
case 'Critical':
|
||||
sevirityClass = 'bg-danger';
|
||||
break;
|
||||
case 'Warning':
|
||||
sevirityClass = 'bg-warning';
|
||||
break;
|
||||
case 'Info':
|
||||
sevirityClass = 'bg-success';
|
||||
//sevirityClass = 'bg-info';
|
||||
break;
|
||||
case 'Debug':
|
||||
sevirityClass = 'bg-success';
|
||||
break;
|
||||
}
|
||||
%>
|
||||
<span class="status-icon <%- sevirityClass %>"></span> <%- eventSeverity %>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div>
|
||||
<%
|
||||
var items = [];
|
||||
object_type = "test";
|
||||
switch (object_type) {
|
||||
case 'proxy-host':
|
||||
%> <span class="text-success"><i class="fe fe-zap"></i></span> <%
|
||||
items = meta.domain_names;
|
||||
break;
|
||||
case 'redirection-host':
|
||||
%> <span class="text-yellow"><i class="fe fe-shuffle"></i></span> <%
|
||||
items = meta.domain_names;
|
||||
break;
|
||||
case 'stream':
|
||||
%> <span class="text-blue"><i class="fe fe-radio"></i></span> <%
|
||||
items.push(meta.incoming_port);
|
||||
break;
|
||||
case 'dead-host':
|
||||
%> <span class="text-danger"><i class="fe fe-zap-off"></i></span> <%
|
||||
items = meta.domain_names;
|
||||
break;
|
||||
case 'access-list':
|
||||
%> <span class="text-teal"><i class="fe fe-lock"></i></span> <%
|
||||
items.push(meta.name);
|
||||
break;
|
||||
case 'user':
|
||||
%> <span class="text-teal"><i class="fe fe-user"></i></span> <%
|
||||
items.push(meta.name);
|
||||
break;
|
||||
case 'certificate':
|
||||
%> <span class="text-pink"><i class="fe fe-shield"></i></span> <%
|
||||
if (meta.provider === 'letsencrypt') {
|
||||
items = meta.domain_names;
|
||||
} else {
|
||||
//items.push(meta.nice_name);
|
||||
items.push("test");
|
||||
}
|
||||
break;
|
||||
}
|
||||
%><%- eventName %>
|
||||
</div>
|
||||
<div class="small text-muted">
|
||||
<%- formatDbDate(eventTime, 'Do MMMM YYYY, h:mm a') %>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div>
|
||||
<%- serviceName %>
|
||||
</div>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<a href="#" class="meta btn btn-secondary btn-sm">open</a>
|
||||
</td>
|
32
frontend/js/app/openappsec-log/list/item.js
Executable file
32
frontend/js/app/openappsec-log/list/item.js
Executable file
@@ -0,0 +1,32 @@
|
||||
const Mn = require('backbone.marionette');
|
||||
const Controller = require('../../controller');
|
||||
const template = require('./item.ejs');
|
||||
|
||||
module.exports = Mn.View.extend({
|
||||
template: template,
|
||||
tagName: 'tr',
|
||||
|
||||
ui: {
|
||||
meta: 'a.meta'
|
||||
},
|
||||
|
||||
events: {
|
||||
'click @ui.meta': function (e) {
|
||||
e.preventDefault();
|
||||
Controller.showOpenappsecMeta(this.model);
|
||||
}
|
||||
},
|
||||
|
||||
templateContext: {
|
||||
more: function() {
|
||||
switch (this.object_type) {
|
||||
case 'redirection-host':
|
||||
case 'stream':
|
||||
case 'proxy-host':
|
||||
return this.meta.domain_names.join(', ');
|
||||
}
|
||||
|
||||
return '#' + (this.object_id || '?');
|
||||
}
|
||||
}
|
||||
});
|
9
frontend/js/app/openappsec-log/list/main.ejs
Executable file
9
frontend/js/app/openappsec-log/list/main.ejs
Executable file
@@ -0,0 +1,9 @@
|
||||
<thead>
|
||||
<th>Severity</th>
|
||||
<th>Event</th>
|
||||
<th>Handler</th>
|
||||
<th> </th>
|
||||
</thead>
|
||||
<tbody>
|
||||
<!-- items -->
|
||||
</tbody>
|
27
frontend/js/app/openappsec-log/list/main.js
Executable file
27
frontend/js/app/openappsec-log/list/main.js
Executable file
@@ -0,0 +1,27 @@
|
||||
const Mn = require('backbone.marionette');
|
||||
const ItemView = require('./item');
|
||||
const template = require('./main.ejs');
|
||||
|
||||
const TableBody = Mn.CollectionView.extend({
|
||||
tagName: 'tbody',
|
||||
childView: ItemView
|
||||
});
|
||||
|
||||
module.exports = Mn.View.extend({
|
||||
tagName: 'table',
|
||||
className: 'table table-hover table-outline table-vcenter card-table',
|
||||
template: template,
|
||||
|
||||
regions: {
|
||||
body: {
|
||||
el: 'tbody',
|
||||
replaceElement: true
|
||||
}
|
||||
},
|
||||
|
||||
onRender: function () {
|
||||
this.showChildView('body', new TableBody({
|
||||
collection: this.collection
|
||||
}));
|
||||
}
|
||||
});
|
Reference in New Issue
Block a user