""" Autogenerated input type of AcceptRecipeMutation """ input AcceptRecipeMutationInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String recipeId: ID! } """ Autogenerated return type of AcceptRecipeMutation """ type AcceptRecipeMutationPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String errors: [String!]! recipe: Recipe } """ Autogenerated input type of AddCommentMutation """ input AddCommentMutationInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String rating: Int recipeId: ID! text: String } """ Autogenerated return type of AddCommentMutation """ type AddCommentMutationPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String comment: Comment errors: [String!]! } """ Autogenerated input type of AddFavoriteMutation """ input AddFavoriteMutationInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String recipeId: ID! } """ Autogenerated return type of AddFavoriteMutation """ type AddFavoriteMutationPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String errors: [String!]! favorite: Favorite } """ Autogenerated input type of AddFollowMutation """ input AddFollowMutationInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String userId: ID! } """ Autogenerated return type of AddFollowMutation """ type AddFollowMutationPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String errors: [String!]! follow: Follow } """ Autogenerated input type of AddIngredientMutation """ input AddIngredientMutationInput { averagePrice: Float """ A unique identifier for the client performing the mutation. """ clientMutationId: String description: String imageDataUri: String kcal: Int name: String! } """ Autogenerated return type of AddIngredientMutation """ type AddIngredientMutationPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String errors: [String!]! ingredient: Ingredient } """ Autogenerated input type of AddRecipeIngredientMutation """ input AddRecipeIngredientMutationInput { amount: Int """ A unique identifier for the client performing the mutation. """ clientMutationId: String ingredientId: ID! recipeId: ID! unit: String } """ Autogenerated return type of AddRecipeIngredientMutation """ type AddRecipeIngredientMutationPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String errors: [String!]! recipeIngredient: RecipeIngredient } """ Autogenerated input type of AddRecipeMutation """ input AddRecipeMutationInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String description: String! imageDataUri: String peopleCount: Int! recipeIngredientsAttributes: [RecipeIngredientCreateAttributes!] shortDescription: String timeToPrepare: String! title: String! } """ Autogenerated return type of AddRecipeMutation """ type AddRecipeMutationPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String errors: [String!]! recipe: Recipe } """ Autogenerated input type of AddShoppingListMutation """ input AddShoppingListMutationInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String peopleCount: Int! recipeId: ID! } """ Autogenerated return type of AddShoppingListMutation """ type AddShoppingListMutationPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String errors: [String!]! shoppingList: ShoppingList } """ Autogenerated input type of ChangeUserRoleMutation """ input ChangeUserRoleMutationInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String role: UserRoleEnum! userId: ID! } """ Autogenerated return type of ChangeUserRoleMutation """ type ChangeUserRoleMutationPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String errors: [String!]! user: User } """ Autogenerated input type of CheckForgotPasswordMutation """ input CheckForgotPasswordMutationInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String token: String! } """ Autogenerated return type of CheckForgotPasswordMutation """ type CheckForgotPasswordMutationPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String errors: [String!]! success: Boolean! } type Comment implements Node { id: ID! rating: Int recipe: Recipe! text: String user: User! } """ Autogenerated input type of DeleteCommentMutation """ input DeleteCommentMutationInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String commentId: ID! } """ Autogenerated return type of DeleteCommentMutation """ type DeleteCommentMutationPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String errors: [String!]! success: Boolean! } """ Autogenerated input type of DeleteFavoriteMutation """ input DeleteFavoriteMutationInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String recipeId: ID! } """ Autogenerated return type of DeleteFavoriteMutation """ type DeleteFavoriteMutationPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String errors: [String!]! success: Boolean } """ Autogenerated input type of DeleteFollowMutation """ input DeleteFollowMutationInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String userId: ID! } """ Autogenerated return type of DeleteFollowMutation """ type DeleteFollowMutationPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String errors: [String!]! success: Boolean } """ Autogenerated input type of DeleteIngredientMutation """ input DeleteIngredientMutationInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String ingredientId: ID! } """ Autogenerated return type of DeleteIngredientMutation """ type DeleteIngredientMutationPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String errors: [String!]! success: Boolean } """ Autogenerated input type of DeleteRecipeIngredientMutation """ input DeleteRecipeIngredientMutationInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String recipeIngredientId: ID! } """ Autogenerated return type of DeleteRecipeIngredientMutation """ type DeleteRecipeIngredientMutationPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String errors: [String!]! success: Boolean } """ Autogenerated input type of DeleteRecipeMutation """ input DeleteRecipeMutationInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String recipeId: ID! } """ Autogenerated return type of DeleteRecipeMutation """ type DeleteRecipeMutationPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String errors: [String!]! success: Boolean } """ Autogenerated input type of DeleteShoppingListItemMutation """ input DeleteShoppingListItemMutationInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String shoppingListItemId: ID! } """ Autogenerated return type of DeleteShoppingListItemMutation """ type DeleteShoppingListItemMutationPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String errors: [String!]! success: Boolean } """ Autogenerated input type of DeleteShoppingListMutation """ input DeleteShoppingListMutationInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String shoppingListId: ID! } """ Autogenerated return type of DeleteShoppingListMutation """ type DeleteShoppingListMutationPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String errors: [String!]! success: Boolean! } """ Autogenerated input type of EditCommentMutation """ input EditCommentMutationInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String commentId: ID! rating: Int text: String } """ Autogenerated return type of EditCommentMutation """ type EditCommentMutationPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String comment: Comment errors: [String!]! } """ Autogenerated input type of EditIngredientMutation """ input EditIngredientMutationInput { averagePrice: Float """ A unique identifier for the client performing the mutation. """ clientMutationId: String description: String imageDataUri: String ingredientId: ID! kcal: Int name: String } """ Autogenerated return type of EditIngredientMutation """ type EditIngredientMutationPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String errors: [String!]! ingredient: Ingredient } """ Autogenerated input type of EditRecipeIngredientMutation """ input EditRecipeIngredientMutationInput { amount: Int """ A unique identifier for the client performing the mutation. """ clientMutationId: String recipeIngredientId: ID! unit: String } """ Autogenerated return type of EditRecipeIngredientMutation """ type EditRecipeIngredientMutationPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String errors: [String!]! recipeIngredient: RecipeIngredient } """ Autogenerated input type of EditRecipeMutation """ input EditRecipeMutationInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String description: String imageDataUri: String peopleCount: Int recipeId: ID! recipeIngredientsAttributes: [RecipeIngredientEditAttributes!] shortDescription: String timeToPrepare: String title: String } """ Autogenerated return type of EditRecipeMutation """ type EditRecipeMutationPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String errors: [String!]! recipe: Recipe } """ Autogenerated input type of EditShoppingListMutation """ input EditShoppingListMutationInput { archived: Boolean """ A unique identifier for the client performing the mutation. """ clientMutationId: String note: String peopleCount: Int shoppingListId: ID! } """ Autogenerated return type of EditShoppingListMutation """ type EditShoppingListMutationPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String errors: [String!]! shoppingList: ShoppingList } """ Autogenerated input type of EditUserMutation """ input EditUserMutationInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String email: String oldPassword: String password: String } """ Autogenerated return type of EditUserMutation """ type EditUserMutationPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String errors: [String!]! user: User } type Favorite implements Node { id: ID! recipe: Recipe! user: User! } type Follow implements Node { follower: User! id: ID! user: User! } """ Autogenerated input type of ForgotPasswordMutation """ input ForgotPasswordMutationInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String email: String! } """ Autogenerated return type of ForgotPasswordMutation """ type ForgotPasswordMutationPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String errors: [String!]! success: Boolean! } type Ingredient implements Node { averagePrice: Float description: String id: ID! imageUrl: String kcal: Int name: String! } """ The connection type for Ingredient. """ type IngredientConnection { """ A list of edges. """ edges: [IngredientEdge] """ A list of nodes. """ nodes: [Ingredient] """ Information to aid in pagination. """ pageInfo: PageInfo! } """ An edge in a connection. """ type IngredientEdge { """ A cursor for use in pagination. """ cursor: String! """ The item at the end of the edge. """ node: Ingredient } type Mutation { acceptRecipe(input: AcceptRecipeMutationInput!): AcceptRecipeMutationPayload addComment(input: AddCommentMutationInput!): AddCommentMutationPayload addIngredient(input: AddIngredientMutationInput!): AddIngredientMutationPayload addRecipe(input: AddRecipeMutationInput!): AddRecipeMutationPayload addRecipeIngredient(input: AddRecipeIngredientMutationInput!): AddRecipeIngredientMutationPayload addShoppingList(input: AddShoppingListMutationInput!): AddShoppingListMutationPayload changeUserRole(input: ChangeUserRoleMutationInput!): ChangeUserRoleMutationPayload checkForgotPasswordToken(input: CheckForgotPasswordMutationInput!): CheckForgotPasswordMutationPayload deleteComment(input: DeleteCommentMutationInput!): DeleteCommentMutationPayload deleteIngredient(input: DeleteIngredientMutationInput!): DeleteIngredientMutationPayload deleteRecipe(input: DeleteRecipeMutationInput!): DeleteRecipeMutationPayload deleteRecipeIngredient(input: DeleteRecipeIngredientMutationInput!): DeleteRecipeIngredientMutationPayload deleteShoppingList(input: DeleteShoppingListMutationInput!): DeleteShoppingListMutationPayload deleteShoppingListItem(input: DeleteShoppingListItemMutationInput!): DeleteShoppingListItemMutationPayload editComment(input: EditCommentMutationInput!): EditCommentMutationPayload editIngredient(input: EditIngredientMutationInput!): EditIngredientMutationPayload editRecipe(input: EditRecipeMutationInput!): EditRecipeMutationPayload editRecipeIngredient(input: EditRecipeIngredientMutationInput!): EditRecipeIngredientMutationPayload editShoppingList(input: EditShoppingListMutationInput!): EditShoppingListMutationPayload editUser(input: EditUserMutationInput!): EditUserMutationPayload favorite(input: AddFavoriteMutationInput!): AddFavoriteMutationPayload follow(input: AddFollowMutationInput!): AddFollowMutationPayload forgotPassword(input: ForgotPasswordMutationInput!): ForgotPasswordMutationPayload removeFavorite(input: DeleteFavoriteMutationInput!): DeleteFavoriteMutationPayload removeFollow(input: DeleteFollowMutationInput!): DeleteFollowMutationPayload resetPassword(input: ResetPasswordMutationInput!): ResetPasswordMutationPayload signIn(input: SignInMutationInput!): SignInMutationPayload signOut(input: SignOutMutationInput!): SignOutMutationPayload signUp(input: SignUpMutationInput!): SignUpMutationPayload toggleShoppingListItem(input: ToggleShoppingListItemMutationInput!): ToggleShoppingListItemMutationPayload } """ An object with an ID. """ interface Node { """ ID of the object. """ id: ID! } """ Information about pagination in a connection. """ type PageInfo { """ When paginating forwards, the cursor to continue. """ endCursor: String """ When paginating forwards, are there more items? """ hasNextPage: Boolean! """ When paginating backwards, are there more items? """ hasPreviousPage: Boolean! """ When paginating backwards, the cursor to continue. """ startCursor: String } type Query { favoriteRecipes( """ Returns the elements in the list that come after the specified cursor. """ after: String """ Returns the elements in the list that come before the specified cursor. """ before: String """ Returns the first _n_ elements from the list. """ first: Int """ Returns the last _n_ elements from the list. """ last: Int ): RecipeConnection! followedRecipes( """ Returns the elements in the list that come after the specified cursor. """ after: String """ Returns the elements in the list that come before the specified cursor. """ before: String """ Returns the first _n_ elements from the list. """ first: Int """ Returns the last _n_ elements from the list. """ last: Int ): RecipeConnection! ingredientList( """ Returns the elements in the list that come after the specified cursor. """ after: String """ Returns the elements in the list that come before the specified cursor. """ before: String """ Returns the first _n_ elements from the list. """ first: Int """ Returns the last _n_ elements from the list. """ last: Int ): IngredientConnection! ingredientSearch(name: String!): [Ingredient!]! """ Fetches an object given its ID. """ node( """ ID of the object. """ id: ID! ): Node """ Fetches a list of objects given a list of IDs. """ nodes( """ IDs of the objects. """ ids: [ID!]! ): [Node]! privilegedUsers( """ Returns the elements in the list that come after the specified cursor. """ after: String """ Returns the elements in the list that come before the specified cursor. """ before: String """ Returns the first _n_ elements from the list. """ first: Int """ Returns the last _n_ elements from the list. """ last: Int ): UserConnection! recipeIngredientList( """ Returns the elements in the list that come after the specified cursor. """ after: String """ Returns the elements in the list that come before the specified cursor. """ before: String """ Returns the first _n_ elements from the list. """ first: Int """ Returns the last _n_ elements from the list. """ last: Int recipeId: ID! ): RecipeIngredientConnection! recipeList( """ Returns the elements in the list that come after the specified cursor. """ after: String """ Returns the elements in the list that come before the specified cursor. """ before: String """ Returns the first _n_ elements from the list. """ first: Int """ Returns the last _n_ elements from the list. """ last: Int ): RecipeConnection! shoppingLists( """ Returns the elements in the list that come after the specified cursor. """ after: String archived: Boolean """ Returns the elements in the list that come before the specified cursor. """ before: String """ Returns the first _n_ elements from the list. """ first: Int """ Returns the last _n_ elements from the list. """ last: Int ): ShoppingListConnection! showIngredient(ingredientId: ID!): Ingredient! showRecipe(recipeId: ID!): Recipe! showRecipeIngredient(recipeIngredientId: ID!): RecipeIngredient! users( """ Returns the elements in the list that come after the specified cursor. """ after: String """ Returns the elements in the list that come before the specified cursor. """ before: String """ Returns the first _n_ elements from the list. """ first: Int """ Returns the last _n_ elements from the list. """ last: Int text: String! ): UserConnection! viewer: User } type Recipe implements Node { averageRating: Float! comments: [Comment!]! createdAt: String! description: String! id: ID! imageUrl: String peopleCount: Int! recipeIngredients: [RecipeIngredient!]! shortDescription: String timeToPrepare: String! title: String! user: User! } """ The connection type for Recipe. """ type RecipeConnection { """ A list of edges. """ edges: [RecipeEdge] """ A list of nodes. """ nodes: [Recipe] """ Information to aid in pagination. """ pageInfo: PageInfo! } """ An edge in a connection. """ type RecipeEdge { """ A cursor for use in pagination. """ cursor: String! """ The item at the end of the edge. """ node: Recipe } type RecipeIngredient implements Node { amount: Int! id: ID! ingredient: Ingredient! recipe: Recipe! unit: String! } """ The connection type for RecipeIngredient. """ type RecipeIngredientConnection { """ A list of edges. """ edges: [RecipeIngredientEdge] """ A list of nodes. """ nodes: [RecipeIngredient] """ Information to aid in pagination. """ pageInfo: PageInfo! } """ Attributes required for recipe ingredient creation on recipe """ input RecipeIngredientCreateAttributes { amount: Int! ingredientId: ID! unit: String! } """ An edge in a connection. """ type RecipeIngredientEdge { """ A cursor for use in pagination. """ cursor: String! """ The item at the end of the edge. """ node: RecipeIngredient } """ Attributes required for recipe ingredient creation on recipe """ input RecipeIngredientEditAttributes { _destroy: Boolean amount: Int ingredientId: ID recipeIngredientId: ID unit: String } """ Autogenerated input type of ResetPasswordMutation """ input ResetPasswordMutationInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String password: String! token: String! } """ Autogenerated return type of ResetPasswordMutation """ type ResetPasswordMutationPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String errors: [String!]! success: Boolean! } type ShoppingList implements Node { archived: Boolean! createdAt: String! id: ID! note: String! peopleCount: Int! percentDone: Int recipe: Recipe! shoppingListItems: [ShoppingListItem!]! } """ The connection type for ShoppingList. """ type ShoppingListConnection { """ A list of edges. """ edges: [ShoppingListEdge] """ A list of nodes. """ nodes: [ShoppingList] """ Information to aid in pagination. """ pageInfo: PageInfo! } """ An edge in a connection. """ type ShoppingListEdge { """ A cursor for use in pagination. """ cursor: String! """ The item at the end of the edge. """ node: ShoppingList } type ShoppingListItem implements Node { id: ID! recipeIngredient: RecipeIngredient! shoppingList: ShoppingList! ticked: Boolean! } """ Autogenerated input type of SignInMutation """ input SignInMutationInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String nick: String! password: String! } """ Autogenerated return type of SignInMutation """ type SignInMutationPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String user: User! } """ Autogenerated input type of SignOutMutation """ input SignOutMutationInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String } """ Autogenerated return type of SignOutMutation """ type SignOutMutationPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String user: User } """ Autogenerated input type of SignUpMutation """ input SignUpMutationInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String email: String! nick: String! password: String! } """ Autogenerated return type of SignUpMutation """ type SignUpMutationPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String errors: [String!]! user: User } """ Autogenerated input type of ToggleShoppingListItemMutation """ input ToggleShoppingListItemMutationInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String shoppingListItemId: ID! } """ Autogenerated return type of ToggleShoppingListItemMutation """ type ToggleShoppingListItemMutationPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String errors: [String!]! shoppingListItem: ShoppingListItem } type User implements Node { avatarUrl: String email: String! favoriteRecipesCount: Int! followedUsersCount: Int! followersCount: Int! id: ID! nick: String! recipeCount: Int! recipes( """ Returns the elements in the list that come after the specified cursor. """ after: String """ Returns the elements in the list that come before the specified cursor. """ before: String """ Returns the first _n_ elements from the list. """ first: Int """ Returns the last _n_ elements from the list. """ last: Int ): RecipeConnection role: UserRoleEnum! } """ The connection type for User. """ type UserConnection { """ A list of edges. """ edges: [UserEdge] """ A list of nodes. """ nodes: [User] """ Information to aid in pagination. """ pageInfo: PageInfo! } """ An edge in a connection. """ type UserEdge { """ A cursor for use in pagination. """ cursor: String! """ The item at the end of the edge. """ node: User } enum UserRoleEnum { ADMIN MODERATOR USER }