mirror of https://github.com/rancher/ui.git
150 lines
4.1 KiB
JavaScript
150 lines
4.1 KiB
JavaScript
import { inject as service } from '@ember/service';
|
|
import Controller, { inject as controller } from '@ember/controller';
|
|
import C from 'ui/utils/constants';
|
|
|
|
export default Controller.extend({
|
|
application : controller(),
|
|
queryParams : ['sortBy', 'descending', 'eventType', 'resourceType', 'resourceId', 'clientIp', 'authType'],
|
|
resourceTypeAndId : null,
|
|
modalService: service('modal'),
|
|
|
|
headers: [
|
|
{
|
|
name: 'created',
|
|
sort: ['created:desc','id'],
|
|
translationKey: 'auditLogsPage.table.time',
|
|
width: 115
|
|
},
|
|
{
|
|
name: 'eventType',
|
|
sort: ['eventType','created:desc','id'],
|
|
translationKey: 'auditLogsPage.table.eventType',
|
|
},
|
|
{
|
|
name: 'accountId',
|
|
translationKey: 'auditLogsPage.table.environment',
|
|
width: 125
|
|
},
|
|
{
|
|
name: 'resourceType',
|
|
translationKey: 'auditLogsPage.table.resourceTypeId',
|
|
},
|
|
{
|
|
name: 'authenticatedAsIdentityId',
|
|
translationKey: 'auditLogsPage.table.identity',
|
|
width: 175
|
|
},
|
|
{
|
|
name: 'clientIp',
|
|
translationKey: 'auditLogsPage.table.authIp',
|
|
sort: ['clientIp'],
|
|
searchFields: ['authType','clientIp'],
|
|
width: 150
|
|
},
|
|
],
|
|
|
|
|
|
actions: {
|
|
updateResourceType: function(type) {
|
|
this.set('filters.resourceType', type);
|
|
},
|
|
|
|
updateAuthType: function(type) {
|
|
this.set('filters.authType', type.name);
|
|
this.set('authTypeReadable', type.value);
|
|
},
|
|
|
|
search: function() {
|
|
this.setProperties({
|
|
eventType : this.get('filters.eventType'),
|
|
resourceType : this.get('filters.resourceType'),
|
|
resourceId : this.get('filters.resourceId'),
|
|
clientIp : this.get('filters.clientIp'),
|
|
authType : this.get('filters.authType'),
|
|
});
|
|
},
|
|
|
|
showResponseObjects: function(request, response) {
|
|
this.get('modalService').toggleModal('modal-auditlog-info', {
|
|
requestObject : request,
|
|
responseObject : response,
|
|
});
|
|
},
|
|
|
|
clearAll: function() {
|
|
this.set('filters', {
|
|
accountId : null,
|
|
authType : null,
|
|
authenticatedAsAccountId : null,
|
|
authenticatedAsIdentityId : null,
|
|
created : null,
|
|
clientIp : null,
|
|
description : null,
|
|
eventType : null,
|
|
id : null,
|
|
kind : null,
|
|
resourceId : null,
|
|
resourceType : null,
|
|
runtime : null,
|
|
});
|
|
|
|
this.setProperties({
|
|
eventType: null,
|
|
resourceType : null,
|
|
resourceId : null,
|
|
clientIp : null,
|
|
authType : null,
|
|
});
|
|
|
|
this.set('authTypeReadable', null);
|
|
},
|
|
},
|
|
|
|
sortBy : 'created',
|
|
descending : false,
|
|
eventType : null,
|
|
resourceType : null,
|
|
resourceId : null,
|
|
clientIp : null,
|
|
authType : null,
|
|
authTypes : null,
|
|
authTypeReadable : null,
|
|
filters: {
|
|
accountId : null,
|
|
authType : null,
|
|
authenticatedAsAccountId : null,
|
|
authenticatedAsIdentityId : null,
|
|
created : null,
|
|
description : null,
|
|
eventType : null,
|
|
clientIp : null,
|
|
id : null,
|
|
kind : null,
|
|
resourceId : null,
|
|
resourceType : null,
|
|
runtime : null,
|
|
},
|
|
|
|
setup: function() {
|
|
var out = [];
|
|
|
|
Object.keys(C.AUTH_TYPES).forEach((key) => {
|
|
var val = C.AUTH_TYPES[key];
|
|
if ( val !== C.AUTH_TYPES.HeaderAuth && val !== C.AUTH_TYPES.TokenAccount )
|
|
{
|
|
out.push({name: key, value: val});
|
|
}
|
|
});
|
|
|
|
this.set('authTypes', out);
|
|
}.on('init'),
|
|
|
|
resourceIdReady: function() {
|
|
if (this.get('filters.resourceType')) {
|
|
return false;
|
|
} else {
|
|
return true;
|
|
}
|
|
}.property('filters.resourceType'),
|
|
});
|