Files
mongo/options/deleteoneoptions.go
2026-04-23 13:19:20 -04:00

35 lines
672 B
Go

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
}