package auditlog

import "time"

type ActivityLog struct {
	// identity
	UserID  string // UUID (auth)
	DfUsrID int64  // DF user id (mk_dfusr.id)

	Username string
	RoleCode string

	// action
	ActionType     string
	ActionCategory string
	ActionTarget   string
	Description    string

	// tech
	IpAddress string
	UserAgent string
	SessionID string

	// timing
	RequestStartedAt  time.Time
	RequestFinishedAt time.Time
	DurationMs        int
	HttpStatus        int

	// result
	IsSuccess      bool
	ErrorMessage   string
	TargetDfUsrID  int64
	TargetUsername string
	ChangeBefore   any // map[string]any
	ChangeAfter    any
}
