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