60 lines
1.6 KiB
Go
60 lines
1.6 KiB
Go
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"`
|
|
}
|
|
|
|
// Validator had an error
|
|
const AuditEventTypeError AuditEventType = 6
|
|
type AuditEventDataError struct {
|
|
Error string `json:"error"`
|
|
}
|
|
|
|
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"`
|
|
}
|