Add Audit cababilities. First try on deleteOne
This commit is contained in:
35
options/deleteoneoptions.go
Normal file
35
options/deleteoneoptions.go
Normal 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
|
||||
}
|
||||
Reference in New Issue
Block a user