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