| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- package value_object_crud
- import (
- "git.sxidc.com/go-framework/baize/framework/core/domain/value_object"
- "git.sxidc.com/go-framework/baize/framework/core/infrastructure"
- "git.sxidc.com/go-framework/baize/framework/core/infrastructure/database"
- )
- type Callbacks[O any] struct {
- BeforeDBOperate func(valueObject value_object.ValueObject, i *infrastructure.Infrastructure, dbExecutor database.Executor) error
- AfterDBOperate func(valueObject value_object.ValueObject, i *infrastructure.Infrastructure, dbExecutor database.Executor) error
- OnSuccessReturn func(valueObject value_object.ValueObject, i *infrastructure.Infrastructure, output O) (O, error)
- OnErrorReturn func(valueObject value_object.ValueObject, err error, i *infrastructure.Infrastructure, defaultErrOutput O) (O, error)
- }
- func callbackBeforeDBOperate[O any](callbacks *Callbacks[O], valueObject value_object.ValueObject, i *infrastructure.Infrastructure, dbExecutor database.Executor) error {
- if callbacks == nil {
- return nil
- }
- if callbacks.BeforeDBOperate != nil {
- return callbacks.BeforeDBOperate(valueObject, i, dbExecutor)
- }
- return nil
- }
- func callbackAfterDBOperate[O any](callbacks *Callbacks[O], valueObject value_object.ValueObject, i *infrastructure.Infrastructure, dbExecutor database.Executor) error {
- if callbacks == nil {
- return nil
- }
- if callbacks.AfterDBOperate != nil {
- return callbacks.AfterDBOperate(valueObject, i, dbExecutor)
- }
- return nil
- }
- func callbackOnSuccessReturn[O any](callbacks *Callbacks[O], valueObject value_object.ValueObject, i *infrastructure.Infrastructure, output O) (O, error) {
- if callbacks == nil {
- return output, nil
- }
- if callbacks.OnSuccessReturn != nil {
- return callbacks.OnSuccessReturn(valueObject, i, output)
- }
- return output, nil
- }
- func callbackOnErrorReturn[O any](callbacks *Callbacks[O], valueObject value_object.ValueObject, err error, i *infrastructure.Infrastructure, defaultErrOutput O) (O, error) {
- if callbacks == nil {
- return defaultErrOutput, err
- }
- if callbacks.OnErrorReturn != nil {
- return callbacks.OnErrorReturn(valueObject, err, i, defaultErrOutput)
- }
- return defaultErrOutput, err
- }
|