submissions: audit model
This commit is contained in:
53
pkg/model/audit_event.go
Normal file
53
pkg/model/audit_event.go
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
package model
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
type AuditEventType int32
|
||||||
|
|
||||||
|
// User clicked "Submit", "Accept" etc
|
||||||
|
const AuditEventTypeAction AuditEventType = 0
|
||||||
|
type AuditEventDataAction struct {
|
||||||
|
TargetStatus uint32 `json:"target_status"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// User wrote a comment
|
||||||
|
const AuditEventTypeComment AuditEventType = 1
|
||||||
|
type AuditEventDataComment struct {
|
||||||
|
Comment string `json:"comment"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// User changed Model
|
||||||
|
const AuditEventTypeChangeModel AuditEventType = 2
|
||||||
|
type AuditEventDataChangeModel struct {
|
||||||
|
OldModelID uint64 `json:"old_model_id"`
|
||||||
|
OldModelVersion uint64 `json:"old_model_version"`
|
||||||
|
NewModelID uint64 `json:"new_model_id"`
|
||||||
|
NewModelVersion uint64 `json:"new_model_version"`
|
||||||
|
}
|
||||||
|
// Validator validates model
|
||||||
|
const AuditEventTypeChangeValidatedModel AuditEventType = 3
|
||||||
|
type AuditEventDataChangeValidatedModel struct {
|
||||||
|
ValidatedModelID uint64 `json:"validated_model_id"`
|
||||||
|
ValidatedModelVersion uint64 `json:"validated_model_version"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// User changed DisplayName / Creator
|
||||||
|
const AuditEventTypeChangeDisplayName AuditEventType = 4
|
||||||
|
const AuditEventTypeChangeCreator AuditEventType = 5
|
||||||
|
type AuditEventDataChangeName struct {
|
||||||
|
OldName string `json:"old_name"`
|
||||||
|
NewName string `json:"new_name"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type AuditEvent struct {
|
||||||
|
ID int64 `gorm:"primaryKey"`
|
||||||
|
CreatedAt time.Time
|
||||||
|
User uint64
|
||||||
|
ResourceType ResourceType // is this a submission or is it a mapfix
|
||||||
|
ResourceID int64 // submission / mapfix / map ID
|
||||||
|
EventType AuditEventType
|
||||||
|
EventData json.RawMessage `gorm:"type:jsonb"`
|
||||||
|
}
|
Reference in New Issue
Block a user