first issue

This commit is contained in:
2019-07-24 16:52:09 +02:00
parent fe9b0be760
commit cea33e9d36
11 changed files with 241 additions and 0 deletions

12
queries/queries.go Normal file
View File

@ -0,0 +1,12 @@
package queries
import (
"github.com/graphql-go/graphql"
)
// GetRootFields returns all the available queries.
func GetRootFields() graphql.Fields {
return graphql.Fields{
"user": GetUserQuery(),
}
}

5
queries/requests.go Normal file
View File

@ -0,0 +1,5 @@
package queries
const (
GET_USERS = `SELECT * FROM users`
)

37
queries/user.go Normal file
View File

@ -0,0 +1,37 @@
package queries
import (
"cadoles/graphql/postgres"
"cadoles/graphql/types"
"log"
"github.com/graphql-go/graphql"
)
// GetUserQuery returns the queries available against user type.
func GetUserQuery() *graphql.Field {
log.Print("GetUserQuery")
return &graphql.Field{
Type: graphql.NewList(types.UserType),
Resolve: func(params graphql.ResolveParams) (interface{}, error) {
var user types.User
users := []types.User{}
sqlStatement := GET_USERS
rows, err := postgres.DB.Query(sqlStatement)
if err != nil {
log.Fatal(err)
}
defer rows.Close()
for rows.Next() {
err := rows.Scan(&user.ID, &user.Firstname, &user.Lastname)
users = append(users, user)
if err != nil {
log.Fatalln(err)
}
}
return users, nil
},
}
}