@@ -21,7 +21,6 @@ class Query(object):
21
21
name = graphene .String ())
22
22
all_categories = graphene .List (CategoryType )
23
23
24
-
25
24
ingredient = graphene .Field (IngredientType ,
26
25
id = graphene .Int (),
27
26
name = graphene .String ())
@@ -55,4 +54,38 @@ def resolve_ingredient(self, info, **kwargs):
55
54
if name is not None :
56
55
return Ingredient .objects .get (name = name )
57
56
58
- return None
57
+ return None
58
+
59
+
60
+ class CreateCategory (graphene .Mutation ):
61
+ class Arguments :
62
+ name = graphene .String (required = True )
63
+
64
+ category = graphene .Field (lambda : CategoryType )
65
+ ok = graphene .Boolean ()
66
+
67
+ def mutate (self , info , name ):
68
+ category = Category .objects .create (name = name )
69
+ ok = True
70
+ return CreateCategory (category = category ,ok = ok )
71
+
72
+
73
+ class CreateIngredient (graphene .Mutation ):
74
+ class Arguments :
75
+ name = graphene .String (required = True )
76
+ notes = graphene .String (required = True )
77
+ category = graphene .Int (required = True )
78
+
79
+ ingredient = graphene .Field (lambda : IngredientType )
80
+ ok = graphene .Boolean ()
81
+
82
+ def mutate (self , info , ** kwargs ):
83
+ kwargs ['category' ] = Category .objects .get (pk = kwargs ['category' ])
84
+ ingredient = Ingredient .objects .create (** kwargs )
85
+ ok = True
86
+ return CreateIngredient (ingredient = ingredient ,ok = ok )
87
+
88
+
89
+ class Mutation (object ):
90
+ create_category = CreateCategory .Field ()
91
+ create_ingredient = CreateIngredient .Field ()
0 commit comments