package graph // This file will be automatically regenerated based on the schema, any resolver implementations // will be copied through when generating and any unknown code will be moved to the end. import ( "context" "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" "forge.cadoles.com/Cadoles/daddy/internal/graph/generated" "forge.cadoles.com/Cadoles/daddy/internal/graph/model" ) func (r *queryResolver) UserProfile(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 } // Query returns generated.QueryResolver implementation. func (r *Resolver) Query() generated.QueryResolver { return &queryResolver{r} } type queryResolver struct{ *Resolver }