diff --git a/internal/graph/schema.resolvers.go b/internal/graph/schema.resolvers.go index 6549cd6..a8eee61 100644 --- a/internal/graph/schema.resolvers.go +++ b/internal/graph/schema.resolvers.go @@ -6,48 +6,12 @@ package graph 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 + return handleUserProfile(ctx) } // Query returns generated.QueryResolver implementation. diff --git a/internal/graph/user_profile.go b/internal/graph/user_profile.go new file mode 100644 index 0000000..229fd61 --- /dev/null +++ b/internal/graph/user_profile.go @@ -0,0 +1,45 @@ +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 +} diff --git a/modd.conf b/modd.conf index d95e3fd..ac44863 100644 --- a/modd.conf +++ b/modd.conf @@ -1,3 +1,8 @@ +internal/graph/schema.graphqls +internal/gqlgen.yml { + prep: make generate +} + **/*.go !**/*_test.go data/config.yml @@ -16,9 +21,4 @@ modd.conf { { daemon: cd client && NODE_ENV=development npm run server -- --display=minimal -} - -internal/graph/schema.graphqls -internal/gqlgen.yml { - prep: make generate } \ No newline at end of file