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:
Tom Moor
2019-08-05 20:38:31 -07:00
committed by GitHub
parent 75b03fdba2
commit fb4f6822a4
37 changed files with 911 additions and 148 deletions

33
app/models/Event.js Normal file
View File

@ -0,0 +1,33 @@
// @flow
import BaseModel from './BaseModel';
import User from './User';
class Event extends BaseModel {
id: string;
name: string;
modelId: ?string;
actorId: string;
actorIpAddress: ?string;
documentId: string;
collectionId: ?string;
userId: string;
createdAt: string;
actor: User;
data: { name: string, email: string };
get model() {
return this.name.split('.')[0];
}
get verb() {
return this.name.split('.')[1];
}
get verbPastTense() {
const v = this.verb;
if (v.endsWith('e')) return `${v}d`;
return `${v}ed`;
}
}
export default Event;