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: schema:
- graphql/schema.graphql - graphql/schema.graphql
exec: exec:
filename: graphql/generated.go filename: graphql/generated.go
model: model:
filename: graphql/models_gen.go filename: graphql/models/generated.go
package: models
resolver: resolver:
filename: graphql/resolver.go filename: graphql/resolver.go
type: Resolver type: Resolver
autobind: [] autobind: []
models: models:
User: User:
model: github.com/viktorstrate/photoview/api/graphql/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] token := matches[1]
log.Printf("Access token: %s\n", token)
user, err := models.VerifyTokenAndGetUser(db, token) user, err := models.VerifyTokenAndGetUser(db, token)
if err != nil { if err != nil {
log.Printf("Invalid token") log.Printf("Invalid token: %s\n", err)
http.Error(w, "Invalid authorization token", http.StatusForbidden) http.Error(w, "Invalid authorization token", http.StatusForbidden)
return return
} }
log.Printf("Found user '%s', from token\n", user.Username)
// put it in context // put it in context
ctx := context.WithValue(r.Context(), userCtxKey, user) ctx := context.WithValue(r.Context(), userCtxKey, user)

View File

@ -70,8 +70,8 @@ type ComplexityRoot struct {
} }
type MutationResolver interface { type MutationResolver interface {
AuthorizeUser(ctx context.Context, username string, password string) (*AuthorizeResult, error) AuthorizeUser(ctx context.Context, username string, password string) (*models.AuthorizeResult, error)
RegisterUser(ctx context.Context, username string, password string, rootPath string) (*AuthorizeResult, error) RegisterUser(ctx context.Context, username string, password string, rootPath string) (*models.AuthorizeResult, error)
} }
type QueryResolver interface { type QueryResolver interface {
Users(ctx context.Context) ([]*models.User, error) 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 ***************************** // 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) ctx = ec.Tracer.StartFieldExecution(ctx, field)
defer func() { defer func() {
if r := recover(); r != nil { 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) 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) ctx = ec.Tracer.StartFieldExecution(ctx, field)
defer func() { defer func() {
if r := recover(); r != nil { 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) 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) ctx = ec.Tracer.StartFieldExecution(ctx, field)
defer func() { defer func() {
if r := recover(); r != nil { if r := recover(); r != nil {
@ -532,10 +532,10 @@ func (ec *executionContext) _Mutation_authorizeUser(ctx context.Context, field g
} }
return graphql.Null return graphql.Null
} }
res := resTmp.(*AuthorizeResult) res := resTmp.(*models.AuthorizeResult)
rctx.Result = res rctx.Result = res
ctx = ec.Tracer.StartFieldChildExecution(ctx) 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) { 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 return graphql.Null
} }
res := resTmp.(*AuthorizeResult) res := resTmp.(*models.AuthorizeResult)
rctx.Result = res rctx.Result = res
ctx = ec.Tracer.StartFieldChildExecution(ctx) 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) { 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"} 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) fields := graphql.CollectFields(ec.RequestContext, sel, authorizeResultImplementors)
out := graphql.NewFieldSet(fields) out := graphql.NewFieldSet(fields)
@ -2487,11 +2487,11 @@ func (ec *executionContext) ___Type(ctx context.Context, sel ast.SelectionSet, o
// region ***************************** type.gotpl ***************************** // 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) 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 v == nil {
if !ec.HasError(graphql.GetResolverContext(ctx)) { if !ec.HasError(graphql.GetResolverContext(ctx)) {
ec.Errorf(ctx, "must not be null") ec.Errorf(ctx, "must not be null")

View File

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

View File

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

View File

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