root

package
v0.0.0-...-22ae45f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 3, 2016 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var GroupList []group.Group
View Source
var IdCount int
View Source
var RootMutation = gq.NewObject(gq.ObjectConfig{
	Name: "RootMutation",
	Fields: gq.Fields{
		"newUser": &gq.Field{
			Type: user.UserType,
			Args: gq.FieldConfigArgument{
				"username": &gq.ArgumentConfig{
					Type: gq.NewNonNull(gq.String),
				},
			},
			Resolve: func(params gq.ResolveParams) (interface{}, error) {
				name, castingOK := params.Args["username"].(string)
				if !castingOK {
					return user.User{}, errors.New("Error while casting username.")
				}

				IdCount++
				user := user.User{ID: strconv.Itoa(IdCount), Username: name}

				UserList = append(UserList, user)

				return user, nil
			},
		},
	},
})
View Source
var RootQuery = gq.NewObject(gq.ObjectConfig{
	Name: "RootQuery",
	Fields: gq.Fields{
		"user": &gq.Field{
			Type: user.UserType,
			Args: gq.FieldConfigArgument{
				"id": &gq.ArgumentConfig{
					Type: gq.String,
				},
			},
			Resolve: func(params gq.ResolveParams) (interface{}, error) {
				requestedID, castingOK := params.Args["id"].(string)
				if !castingOK {
					return user.User{}, errors.New("user.User : error while casting ID.")
				}

				for _, user := range UserList {
					if user.ID == requestedID {
						return user, nil
					}
				}

				return user.User{}, errors.New("user.User : ID not found")
			},
		},
		"users": &gq.Field{
			Type: gq.NewList(user.UserType),
			Resolve: func(params gq.ResolveParams) (interface{}, error) {
				return UserList, nil
			},
		},
		"group": &gq.Field{
			Type: group.GroupType,
			Args: gq.FieldConfigArgument{
				"id": &gq.ArgumentConfig{
					Type: gq.String,
				},
			},
			Resolve: func(params gq.ResolveParams) (interface{}, error) {
				requestedID, castingOK := params.Args["id"].(string)
				if !castingOK {
					return group.Group{}, errors.New("group.Group : error while casting ID.")
				}

				for _, group := range GroupList {
					if group.ID == requestedID {
						return group, nil
					}
				}

				return group.Group{}, errors.New("group.Group : ID not found")
			},
		},
		"groups": &gq.Field{
			Type: gq.NewList(group.GroupType),
			Resolve: func(params gq.ResolveParams) (interface{}, error) {
				return GroupList, nil
			},
		},
	},
})
View Source
var UserList []user.User

Functions

This section is empty.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL