Add Audit cababilities. First try on deleteOne

This commit is contained in:
George Suntres
2026-04-23 13:19:20 -04:00
parent 49a1d24660
commit f0c0c55e89
11 changed files with 402 additions and 35 deletions

View File

@@ -0,0 +1,35 @@
package options
type DeleteAudit struct {
Id string
Before any
Context any
}
type OnDeleteAudit func(audit *DeleteAudit)
type DeleteOneOptions struct {
OnDeleteAudit *OnDeleteAudit
}
type DeleteOneOptionsBuilder struct {
Opts []func(*DeleteOneOptions) error
}
func DeleteOne() *DeleteOneOptionsBuilder{
return &DeleteOneOptionsBuilder{}
}
func (dao *DeleteOneOptionsBuilder) List() []func(*DeleteOneOptions) error {
return dao.Opts
}
func (dao *DeleteOneOptionsBuilder) WithOnDeleteAudit(oa *OnDeleteAudit) *DeleteOneOptionsBuilder {
dao.Opts = append(dao.Opts, func(opts *DeleteOneOptions) error {
opts.OnDeleteAudit = oa
return nil
})
return dao
}

5
options/lister.go Normal file
View File

@@ -0,0 +1,5 @@
package options
type Lister[T any] interface {
List() []func(*T) error
}