1
Fork 0

Refactor gqlgen

This commit is contained in:
viktorstrate 2020-02-01 00:08:23 +01:00
parent 51fbe8a2d5
commit 9892366143
6 changed files with 27 additions and 26 deletions

View File

@ -5,14 +5,20 @@
schema:
- graphql/schema.graphql
exec:
filename: graphql/generated.go
model:
filename: graphql/models_gen.go
filename: graphql/models/generated.go
package: models
resolver:
filename: graphql/resolver.go
type: Resolver
autobind: []
models:
User:
model: github.com/viktorstrate/photoview/api/graphql/models.User

View File

@ -40,17 +40,14 @@ func Middleware(db *sql.DB) func(http.Handler) http.Handler {
}
token := matches[1]
log.Printf("Access token: %s\n", token)
user, err := models.VerifyTokenAndGetUser(db, token)
if err != nil {
log.Printf("Invalid token")
log.Printf("Invalid token: %s\n", err)
http.Error(w, "Invalid authorization token", http.StatusForbidden)
return
}
log.Printf("Found user '%s', from token\n", user.Username)
// put it in context
ctx := context.WithValue(r.Context(), userCtxKey, user)

View File

@ -70,8 +70,8 @@ type ComplexityRoot struct {
}
type MutationResolver interface {
AuthorizeUser(ctx context.Context, username string, password string) (*AuthorizeResult, error)
RegisterUser(ctx context.Context, username string, password string, rootPath string) (*AuthorizeResult, error)
AuthorizeUser(ctx context.Context, username string, password string) (*models.AuthorizeResult, error)
RegisterUser(ctx context.Context, username string, password string, rootPath string) (*models.AuthorizeResult, error)
}
type QueryResolver interface {
Users(ctx context.Context) ([]*models.User, error)
@ -386,7 +386,7 @@ func (ec *executionContext) field___Type_fields_args(ctx context.Context, rawArg
// region **************************** field.gotpl *****************************
func (ec *executionContext) _AuthorizeResult_success(ctx context.Context, field graphql.CollectedField, obj *AuthorizeResult) (ret graphql.Marshaler) {
func (ec *executionContext) _AuthorizeResult_success(ctx context.Context, field graphql.CollectedField, obj *models.AuthorizeResult) (ret graphql.Marshaler) {
ctx = ec.Tracer.StartFieldExecution(ctx, field)
defer func() {
if r := recover(); r != nil {
@ -423,7 +423,7 @@ func (ec *executionContext) _AuthorizeResult_success(ctx context.Context, field
return ec.marshalNBoolean2bool(ctx, field.Selections, res)
}
func (ec *executionContext) _AuthorizeResult_status(ctx context.Context, field graphql.CollectedField, obj *AuthorizeResult) (ret graphql.Marshaler) {
func (ec *executionContext) _AuthorizeResult_status(ctx context.Context, field graphql.CollectedField, obj *models.AuthorizeResult) (ret graphql.Marshaler) {
ctx = ec.Tracer.StartFieldExecution(ctx, field)
defer func() {
if r := recover(); r != nil {
@ -460,7 +460,7 @@ func (ec *executionContext) _AuthorizeResult_status(ctx context.Context, field g
return ec.marshalNString2string(ctx, field.Selections, res)
}
func (ec *executionContext) _AuthorizeResult_token(ctx context.Context, field graphql.CollectedField, obj *AuthorizeResult) (ret graphql.Marshaler) {
func (ec *executionContext) _AuthorizeResult_token(ctx context.Context, field graphql.CollectedField, obj *models.AuthorizeResult) (ret graphql.Marshaler) {
ctx = ec.Tracer.StartFieldExecution(ctx, field)
defer func() {
if r := recover(); r != nil {
@ -532,10 +532,10 @@ func (ec *executionContext) _Mutation_authorizeUser(ctx context.Context, field g
}
return graphql.Null
}
res := resTmp.(*AuthorizeResult)
res := resTmp.(*models.AuthorizeResult)
rctx.Result = res
ctx = ec.Tracer.StartFieldChildExecution(ctx)
return ec.marshalNAuthorizeResult2ᚖgithubᚗcomᚋviktorstrateᚋphotoviewᚋapiᚋgraphqlᚐAuthorizeResult(ctx, field.Selections, res)
return ec.marshalNAuthorizeResult2ᚖgithubᚗcomᚋviktorstrateᚋphotoviewᚋapiᚋgraphqlᚋmodelsᚐAuthorizeResult(ctx, field.Selections, res)
}
func (ec *executionContext) _Mutation_registerUser(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) {
@ -576,10 +576,10 @@ func (ec *executionContext) _Mutation_registerUser(ctx context.Context, field gr
}
return graphql.Null
}
res := resTmp.(*AuthorizeResult)
res := resTmp.(*models.AuthorizeResult)
rctx.Result = res
ctx = ec.Tracer.StartFieldChildExecution(ctx)
return ec.marshalNAuthorizeResult2ᚖgithubᚗcomᚋviktorstrateᚋphotoviewᚋapiᚋgraphqlᚐAuthorizeResult(ctx, field.Selections, res)
return ec.marshalNAuthorizeResult2ᚖgithubᚗcomᚋviktorstrateᚋphotoviewᚋapiᚋgraphqlᚋmodelsᚐAuthorizeResult(ctx, field.Selections, res)
}
func (ec *executionContext) _Query_users(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) {
@ -2077,7 +2077,7 @@ func (ec *executionContext) ___Type_ofType(ctx context.Context, field graphql.Co
var authorizeResultImplementors = []string{"AuthorizeResult"}
func (ec *executionContext) _AuthorizeResult(ctx context.Context, sel ast.SelectionSet, obj *AuthorizeResult) graphql.Marshaler {
func (ec *executionContext) _AuthorizeResult(ctx context.Context, sel ast.SelectionSet, obj *models.AuthorizeResult) graphql.Marshaler {
fields := graphql.CollectFields(ec.RequestContext, sel, authorizeResultImplementors)
out := graphql.NewFieldSet(fields)
@ -2487,11 +2487,11 @@ func (ec *executionContext) ___Type(ctx context.Context, sel ast.SelectionSet, o
// region ***************************** type.gotpl *****************************
func (ec *executionContext) marshalNAuthorizeResult2githubᚗcomᚋviktorstrateᚋphotoviewᚋapiᚋgraphqlᚐAuthorizeResult(ctx context.Context, sel ast.SelectionSet, v AuthorizeResult) graphql.Marshaler {
func (ec *executionContext) marshalNAuthorizeResult2githubᚗcomᚋviktorstrateᚋphotoviewᚋapiᚋgraphqlᚋmodelsᚐAuthorizeResult(ctx context.Context, sel ast.SelectionSet, v models.AuthorizeResult) graphql.Marshaler {
return ec._AuthorizeResult(ctx, sel, &v)
}
func (ec *executionContext) marshalNAuthorizeResult2ᚖgithubᚗcomᚋviktorstrateᚋphotoviewᚋapiᚋgraphqlᚐAuthorizeResult(ctx context.Context, sel ast.SelectionSet, v *AuthorizeResult) graphql.Marshaler {
func (ec *executionContext) marshalNAuthorizeResult2ᚖgithubᚗcomᚋviktorstrateᚋphotoviewᚋapiᚋgraphqlᚋmodelsᚐAuthorizeResult(ctx context.Context, sel ast.SelectionSet, v *models.AuthorizeResult) graphql.Marshaler {
if v == nil {
if !ec.HasError(graphql.GetResolverContext(ctx)) {
ec.Errorf(ctx, "must not be null")

View File

@ -1,6 +1,6 @@
// Code generated by github.com/99designs/gqlgen, DO NOT EDIT.
package api
package models
type AuthorizeResult struct {
Success bool `json:"success"`

View File

@ -141,8 +141,6 @@ func VerifyTokenAndGetUser(database *sql.DB, token string) (*User, error) {
return nil, err
}
fmt.Printf("Userid: %s\n", userId)
row = database.QueryRow("SELECT * FROM users WHERE user_id = ?", userId)
user, err := NewUserFromRow(row)
if err != nil {

View File

@ -23,10 +23,10 @@ func (r *queryResolver) MyUser(ctx context.Context) (*models.User, error) {
return user, nil
}
func (r *mutationResolver) AuthorizeUser(ctx context.Context, username string, password string) (*AuthorizeResult, error) {
func (r *mutationResolver) AuthorizeUser(ctx context.Context, username string, password string) (*models.AuthorizeResult, error) {
user, err := models.AuthorizeUser(r.Database, username, password)
if err != nil {
return &AuthorizeResult{
return &models.AuthorizeResult{
Success: false,
Status: err.Error(),
}, nil
@ -39,16 +39,16 @@ func (r *mutationResolver) AuthorizeUser(ctx context.Context, username string, p
return nil, err
}
return &AuthorizeResult{
return &models.AuthorizeResult{
Success: true,
Status: "ok",
Token: &token.Value,
}, nil
}
func (r *mutationResolver) RegisterUser(ctx context.Context, username string, password string, rootPath string) (*AuthorizeResult, error) {
func (r *mutationResolver) RegisterUser(ctx context.Context, username string, password string, rootPath string) (*models.AuthorizeResult, error) {
user, err := models.RegisterUser(r.Database, username, password, rootPath)
if err != nil {
return &AuthorizeResult{
return &models.AuthorizeResult{
Success: false,
Status: err.Error(),
}, nil
@ -59,7 +59,7 @@ func (r *mutationResolver) RegisterUser(ctx context.Context, username string, pa
return nil, err
}
return &AuthorizeResult{
return &models.AuthorizeResult{
Success: true,
Status: "ok",
Token: &token.Value,