mirror of
https://github.com/SigNoz/signoz.git
synced 2026-04-27 06:00:31 +01:00
* feat(audittypes): align types with revised schema doc Rename resource.name → resource.kind to match Typeable.Kind() rename. Move resource attributes (kind, id) from event attributes to OTel Resource, grouping events by target resource in NewPLogsFromAuditEvents. Add network.protocol.name, network.protocol.version, url.scheme to transport attributes for complete OTel semconv coverage. * refactor(audittypes): inline resourceKey struct into function scope * test(audittypes): add tests for NewPLogsFromAuditEvents Cover resource grouping: empty input, single event, same resource batched into one ResourceLogs, different resources split, same kind with different IDs split, and interleaved events grouped correctly. Verify resource attrs live on Resource (not event attributes).
25 lines
844 B
Go
25 lines
844 B
Go
package handler
|
|
|
|
import (
|
|
"github.com/SigNoz/signoz/pkg/types/audittypes"
|
|
)
|
|
|
|
// Option configures optional behaviour on a handler created by New.
|
|
type Option func(*handler)
|
|
|
|
type AuditDef struct {
|
|
ResourceKind string // AuthZ Typeable.Kind() value, e.g. "dashboard", "user".
|
|
Action audittypes.Action // create, update, delete, login, etc.
|
|
Category audittypes.ActionCategory // access_control, configuration_change, etc.
|
|
ResourceIDParam string // Gorilla mux path param name for the resource ID.
|
|
}
|
|
|
|
// WithAudit attaches an AuditDef to the handler. The actual audit event
|
|
// emission is handled by the middleware layer, which reads the AuditDef
|
|
// from the matched route's handler.
|
|
func WithAuditDef(def AuditDef) Option {
|
|
return func(h *handler) {
|
|
h.auditDef = &def
|
|
}
|
|
}
|