feat: Events / audit log (#1008)
* feat: Record events in DB * feat: events API * First pass, hacky activity feed * WIP * Reset dashboard * feat: audit log UI feat: store ip address * chore: Document events.list api * fix: command specs * await event create * fix: backlinks service * tidy * fix: Hide audit log menu item if not admin
This commit is contained in:
24
server/presenters/event.js
Normal file
24
server/presenters/event.js
Normal file
@@ -0,0 +1,24 @@
|
||||
// @flow
|
||||
import { Event } from '../models';
|
||||
import presentUser from './user';
|
||||
|
||||
export default function present(event: Event, auditLog: boolean = false) {
|
||||
let data = {
|
||||
id: event.id,
|
||||
name: event.name,
|
||||
modelId: event.modelId,
|
||||
actorId: event.actorId,
|
||||
actorIpAddress: event.ip,
|
||||
collectionId: event.collectionId,
|
||||
documentId: event.documentId,
|
||||
createdAt: event.createdAt,
|
||||
data: event.data,
|
||||
actor: presentUser(event.actor),
|
||||
};
|
||||
|
||||
if (!auditLog) {
|
||||
delete data.actorIpAddress;
|
||||
}
|
||||
|
||||
return data;
|
||||
}
|
||||
@@ -2,6 +2,7 @@
|
||||
import presentUser from './user';
|
||||
import presentView from './view';
|
||||
import presentDocument from './document';
|
||||
import presentEvent from './event';
|
||||
import presentRevision from './revision';
|
||||
import presentCollection from './collection';
|
||||
import presentApiKey from './apiKey';
|
||||
@@ -15,6 +16,7 @@ export {
|
||||
presentUser,
|
||||
presentView,
|
||||
presentDocument,
|
||||
presentEvent,
|
||||
presentRevision,
|
||||
presentCollection,
|
||||
presentApiKey,
|
||||
|
||||
Reference in New Issue
Block a user