Table of Contents
< All Topics
Print

handler.go

# handler.go

package registration

import (
“github.com/cosmos/cosmos-sdk/types”
“github.com/cosmos/cosmos-sdk/types/sdkerrors”

"github.com/your_username/experience/x/registration/types"

)

// NewHandler crea un nuovo handler per il modulo di registrazione dei pazienti
func NewHandler(k Keeper) types.Handler {
return func(ctx types.Context, msg types.Msg) (*types.Result, error) {
switch msg := msg.(type) {
case *types.MsgRegisterPatient:
return handleMsgRegisterPatient(ctx, k, msg)
default:
return nil, sdkerrors.Wrap(sdkerrors.ErrUnknownRequest, “unrecognized registration message type”)
}
}
}

// handleMsgRegisterPatient gestisce il messaggio di registrazione del paziente
func handleMsgRegisterPatient(ctx types.Context, k Keeper, msg types.MsgRegisterPatient) (types.Result, error) {
// Creare un nuovo paziente e wallet associato
if err := k.RegisterPatient(ctx, msg.Creator, msg.Name, msg.Email); err != nil {
return nil, err
}

return &types.Result{Events: ctx.EventManager().Events()}, nil

}

Condividi