Documentation ¶
Index ¶
Constants ¶
View Source
const ( // ActionIgnore ignores diffing for the field. ActionIgnore = "ignore" // ActionTrack includes the value in the diff if the value changed. ActionTrack = "track" // ActionSecret includes a zero value of the same type if the value changed. // It lets you indicate that a value changed, but without leaking its // contents. ActionSecret = "secret" )
Variables ¶
View Source
var AuditableResources = auditMap(map[any]map[string]Action{ &database.User{}: { "id": ActionIgnore, "email": ActionTrack, "username": ActionIgnore, "hashed_password": ActionSecret, "created_at": ActionIgnore, "updated_at": ActionIgnore, "status": ActionTrack, "rbac_roles": ActionTrack, }, &database.Workspace{}: { "id": ActionIgnore, "created_at": ActionIgnore, "updated_at": ActionIgnore, "owner_id": ActionIgnore, "template_id": ActionIgnore, "deleted": ActionIgnore, "name": ActionIgnore, "autostart_schedule": ActionTrack, "autostop_schedule": ActionTrack, }, })
AuditableResources contains a definitive list of all auditable resources and which fields are auditable.
Functions ¶
Types ¶
type Auditable ¶
Auditable is mostly a marker interface. It contains a definitive list of all auditable types. If you want to audit a new type, first define it in AuditableResources, then add it to this interface.
Click to show internal directories.
Click to hide internal directories.