package graph import ( "context" "forge.cadoles.com/Cadoles/daddy/internal/graph/model" "forge.cadoles.com/Cadoles/daddy/internal/query" "forge.cadoles.com/Cadoles/daddy/internal/session" "github.com/pkg/errors" "gitlab.com/wpetit/goweb/cqrs" "gitlab.com/wpetit/goweb/middleware/container" ) func handleUserProfile(ctx context.Context) (*model.User, error) { userEmail, err := session.UserEmail(ctx) if err != nil { return nil, errors.WithStack(err) } ctn, err := container.From(ctx) if err != nil { return nil, errors.WithStack(err) } dispatcher, err := cqrs.From(ctn) if err != nil { return nil, errors.WithStack(err) } qry := &query.FindUserQueryRequest{ Email: userEmail, } result, err := dispatcher.Query(ctx, qry) if err != nil { return nil, errors.WithStack(err) } findUserData, ok := result.Data().(*query.FindUserData) if !ok { return nil, errors.WithStack(cqrs.ErrUnexpectedData) } return findUserData.User, nil }