1
Fork 0
photoview/api/graphql/resolver.go

43 lines
735 B
Go
Raw Normal View History

2020-01-30 14:28:14 +01:00
package api
import (
"context"
2020-01-31 15:22:58 +01:00
"database/sql"
2020-01-31 23:30:34 +01:00
"github.com/viktorstrate/photoview/api/graphql/models"
2020-01-31 18:51:24 +01:00
)
//go:generate go run github.com/99designs/gqlgen
2020-01-30 14:28:14 +01:00
2020-01-31 15:22:58 +01:00
type Resolver struct {
Database *sql.DB
}
2020-01-30 14:28:14 +01:00
func (r *Resolver) Mutation() MutationResolver {
return &mutationResolver{r}
}
2020-01-31 23:30:34 +01:00
2020-01-30 14:28:14 +01:00
func (r *Resolver) Query() QueryResolver {
return &queryResolver{r}
}
type mutationResolver struct{ *Resolver }
type queryResolver struct{ *Resolver }
2020-01-31 23:30:34 +01:00
func (r *queryResolver) Users(ctx context.Context) ([]*models.User, error) {
rows, err := r.Database.Query("SELECT * FROM users")
if err != nil {
return nil, err
}
defer rows.Close()
users, err := models.NewUsersFromRows(rows)
if err != nil {
return nil, err
}
2020-01-30 14:28:14 +01:00
return users, nil
}