Documentation
¶
Index ¶
- func Init(config Configuration)
- func IsEnabled() bool
- func SendAuditLog(ctx context.Context, model logcomapi.CreateAuditLogRequestDTO) error
- func SendAuditLogBatch(ctx context.Context, models []logcomapi.CreateAuditLogRequestDTO) error
- func SendAuditLogGroup(ctx context.Context, auditLogCollector *AuditLogCollector) error
- func SendAuditLogWithCreation(ctx context.Context, subject, subjectName string, newValue interface{}) error
- func SendAuditLogWithDeletion(ctx context.Context, subject, subjectName string, oldValue interface{}) error
- func SendAuditLogWithModification(ctx context.Context, subject, subjectName string, ...) error
- func SendAuditLogWithModificationModelChanges(ctx context.Context, subject, subjectName string, changes []ModelChange) error
- func SendConsoleLog(ctx context.Context, logLevel logcomapi.LogLevel, message string) error
- func SendConsoleLogWithModel(ctx context.Context, model logcomapi.CreateConsoleLogRequestDTO) error
- func SendNotification(ctx context.Context, eventCategory logcomapi.NotificationEventCategory, ...) error
- func SendNotificationWithModel(ctx context.Context, model logcomapi.CreateNotificationRequestDTO) error
- func SetClientCredentialProvider(provider ClientCredentialProvider)
- type AuditLogAction
- type AuditLogCollector
- func (c *AuditLogCollector) Add(model logcomapi.CreateAuditLogRequestDTO)
- func (c *AuditLogCollector) AddCreation(itemSubject, itemSubjectName string, newValue interface{})
- func (c *AuditLogCollector) AddDeletion(itemSubject, itemSubjectName string, oldValue interface{})
- func (c *AuditLogCollector) AddModification(itemSubject, itemSubjectName string, oldValue, newValue interface{})
- func (c *AuditLogCollector) AddModificationWithModelChanges(itemSubject, itemSubjectName string, changes []ModelChange)
- type AuditLogConfiguration
- func AuditCreation(ctx context.Context, subject, subjectName string, newValue interface{}) AuditLogConfiguration
- func AuditDeletion(ctx context.Context, subject, subjectName string, oldValue interface{}) AuditLogConfiguration
- func AuditModification(ctx context.Context, subject, subjectName string, ...) AuditLogConfiguration
- type AuditLogModelDiff
- type AuditLogOperation
- type BatchedAuditLogOperation
- type ClientCredentialProvider
- type Configuration
- type ConsoleLogAction
- type ConsoleLogConfiguration
- type ConsoleLogOperation
- type GroupedModificationAuditLogOperation
- type HeaderProviderFunc
- type ModelChange
- type NotificationAction
- type NotificationConfiguration
- type NotificationMessage
- type NotificationOperation
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Init ¶
func Init(config Configuration)
func SendAuditLog ¶
func SendAuditLogBatch ¶ added in v1.3.7
func SendAuditLogGroup ¶
func SendAuditLogGroup(ctx context.Context, auditLogCollector *AuditLogCollector) error
func SendAuditLogWithModificationModelChanges ¶
func SendAuditLogWithModificationModelChanges(ctx context.Context, subject, subjectName string, changes []ModelChange) error
func SendConsoleLog ¶
func SendConsoleLogWithModel ¶
func SendNotification ¶
func SetClientCredentialProvider ¶
func SetClientCredentialProvider(provider ClientCredentialProvider)
Types ¶
type AuditLogAction ¶
type AuditLogAction interface {
IgnoreChangeOf(propertyNames ...string) AuditLogAction
AndNotify() NotificationOperation[AuditLogAction]
AndLog(logLevel logcomapi.LogLevel, message string) AuditLogAction
OnComplete(onCompleteCallback func(error)) AuditLogAction
Send() error
}
type AuditLogCollector ¶
type AuditLogCollector struct {
// contains filtered or unexported fields
}
func NewAuditLogCollector ¶
func NewAuditLogCollector(parentSubject, parentSubjectName string) *AuditLogCollector
func NewAuditLogCollectorWithParent ¶
func NewAuditLogCollectorWithParent(parentAuditLog logcomapi.CreateAuditLogRequestDTO) *AuditLogCollector
func (*AuditLogCollector) Add ¶
func (c *AuditLogCollector) Add(model logcomapi.CreateAuditLogRequestDTO)
func (*AuditLogCollector) AddCreation ¶
func (c *AuditLogCollector) AddCreation(itemSubject, itemSubjectName string, newValue interface{})
func (*AuditLogCollector) AddDeletion ¶
func (c *AuditLogCollector) AddDeletion(itemSubject, itemSubjectName string, oldValue interface{})
func (*AuditLogCollector) AddModification ¶
func (c *AuditLogCollector) AddModification(itemSubject, itemSubjectName string, oldValue, newValue interface{})
func (*AuditLogCollector) AddModificationWithModelChanges ¶
func (c *AuditLogCollector) AddModificationWithModelChanges(itemSubject, itemSubjectName string, changes []ModelChange)
type AuditLogConfiguration ¶
type AuditLogConfiguration interface {
UseService2ServiceAuthorization() AuditLogConfiguration
WithBearerAuthorization(bearerToken string) AuditLogConfiguration
WithTransactionID(transactionID uuid.UUID) AuditLogConfiguration
Build() AuditLogAction
}
func AuditCreation ¶
func AuditCreation(ctx context.Context, subject, subjectName string, newValue interface{}) AuditLogConfiguration
func AuditDeletion ¶
func AuditDeletion(ctx context.Context, subject, subjectName string, oldValue interface{}) AuditLogConfiguration
func AuditModification ¶
func AuditModification(ctx context.Context, subject, subjectName string, oldValue, newValue interface{}) AuditLogConfiguration
type AuditLogModelDiff ¶
type AuditLogModelDiff interface {
GetChanges(model interface{}, ignoredProperties map[string]interface{}) []ModelChange
}
type AuditLogOperation ¶
type AuditLogOperation interface {
BatchCreate(subject string) BatchedAuditLogOperation
BatchDelete(subject string) BatchedAuditLogOperation
BatchModify(subject string) BatchedAuditLogOperation
Create(subject, subjectName string, newValue interface{}) AuditLogConfiguration
Modify(subject, subjectName string, oldValue, newValue interface{}) AuditLogConfiguration
Delete(subject, subjectName string, oldValue interface{}) AuditLogConfiguration
GroupedModify(subject, subjectName string) GroupedModificationAuditLogOperation
}
func Audit ¶
func Audit(ctx context.Context) AuditLogOperation
type BatchedAuditLogOperation ¶
type BatchedAuditLogOperation interface {
AuditLogConfiguration
CreateItem(subjectName string, newValue interface{}) BatchedAuditLogOperation
ModifyItem(subjectName string, oldValue, newValue interface{}) BatchedAuditLogOperation
ModifyItemWithModelChanges(subjectName string, changes []ModelChange) BatchedAuditLogOperation
DeleteItem(subjectName string, oldValue interface{}) BatchedAuditLogOperation
}
type Configuration ¶
type Configuration struct {
ServiceName string
LogComURL string
HeaderProvider HeaderProviderFunc
ClientCredentialProvider ClientCredentialProvider
}
type ConsoleLogAction ¶
type ConsoleLogAction interface {
OnComplete(onCompleteCallback func(error)) ConsoleLogAction
Send() error
}
type ConsoleLogConfiguration ¶
type ConsoleLogConfiguration interface {
UseService2ServiceAuthorization() ConsoleLogConfiguration
WithBearerAuthorization(bearerToken string) ConsoleLogConfiguration
WithTransactionID(transactionID uuid.UUID) ConsoleLogConfiguration
Build() ConsoleLogAction
}
type ConsoleLogOperation ¶
type ConsoleLogOperation interface {
Level(level logcomapi.LogLevel) ConsoleLogOperation
Message(message string) ConsoleLogConfiguration
MessageF(format string, params ...any) ConsoleLogConfiguration
}
func Log ¶
func Log(ctx context.Context) ConsoleLogOperation
type GroupedModificationAuditLogOperation ¶
type GroupedModificationAuditLogOperation interface {
AuditLogConfiguration
AddCreation(subject, subjectName string, newValue interface{}) GroupedModificationAuditLogOperation
AddModification(subject, subjectName string, oldValue, newValue interface{}) GroupedModificationAuditLogOperation
AddModificationWithModelChanges(subject, subjectName string, changes []ModelChange) GroupedModificationAuditLogOperation
AddDeletion(subject, subjectName string, oldValue interface{}) GroupedModificationAuditLogOperation
}
type ModelChange ¶
type ModelChange struct {
PropertyName string
OldValue interface{}
NewValue interface{}
}
func GetModelChanges ¶
func GetModelChanges(oldModel, newModel interface{}, ignoredProperties ...string) ([]ModelChange, error)
type NotificationAction ¶
type NotificationAction interface {
AndLog(logLevel logcomapi.LogLevel, message string) NotificationAction
OnComplete(onCompleteCallback func(error)) NotificationAction
Send() error
}
type NotificationConfiguration ¶
type NotificationConfiguration interface {
UseService2ServiceAuthorization() NotificationConfiguration
WithBearerAuthorization(bearerToken string) NotificationConfiguration
WithTransactionID(transactionID uuid.UUID) NotificationConfiguration
Build() NotificationAction
}
type NotificationMessage ¶
type NotificationMessage[T any] interface { NotificationOperation[T] Message(message string) T }
type NotificationOperation ¶
type NotificationOperation[T any] interface { Roles(targets ...string) NotificationMessage[T] Sessions(targets ...string) NotificationMessage[T] Users(targets ...string) NotificationMessage[T] }
func Notify ¶
func Notify(ctx context.Context) NotificationOperation[NotificationConfiguration]
Click to show internal directories.
Click to hide internal directories.