in operationsbus/hooks.go [44:69]
func (h *HookedApiOperation) InitOperation(ctx context.Context, opReq OperationRequest) (ApiOperation, error) {
logger := ctxlogger.GetLogger(ctx)
var herr error
logger.Info("Running BeforeInit hooks.")
for _, hook := range h.OperationHooks {
herr = hook.BeforeInitOperation(ctx, opReq)
if herr != nil {
logger.Error("Something went wrong running a BeforeInit hook: " + herr.Error())
return nil, herr
}
}
logger.Info("Running operation init.")
operation, err := h.Operation.InitOperation(ctx, opReq)
logger.Info("Running AfterInit hooks.")
for _, hook := range h.OperationHooks {
herr = hook.AfterInitOperation(ctx, h.Operation, opReq, err)
if herr != nil {
logger.Error("Something went wrong running a AfterInit hook: " + herr.Error())
return nil, herr
}
}
return operation, err
}