22from flask_jwt import jwt_required
33from models .item import ItemModel
44
5+
56class Item (Resource ):
67 parser = reqparse .RequestParser ()
78 parser .add_argument ('price' ,
8- type = float ,
9- required = True ,
10- help = "This field cannot be left blank!"
11- )
9+ type = float ,
10+ required = True ,
11+ help = "This field cannot be left blank!"
12+ )
1213 parser .add_argument ('store_id' ,
13- type = int ,
14- required = True ,
15- help = "Every item needs a store_id."
16- )
14+ type = int ,
15+ required = True ,
16+ help = "Every item needs a store_id."
17+ )
1718
1819 @jwt_required ()
1920 def get (self , name ):
@@ -28,7 +29,7 @@ def post(self, name):
2829
2930 data = Item .parser .parse_args ()
3031
31- item = ItemModel (name , data [ 'price' ], data [ 'store_id' ] )
32+ item = ItemModel (name , ** data )
3233
3334 try :
3435 item .save_to_db ()
@@ -41,8 +42,8 @@ def delete(self, name):
4142 item = ItemModel .find_by_name (name )
4243 if item :
4344 item .delete_from_db ()
44-
45- return {'message' : 'Item deleted' }
45+ return { 'message' : 'Item deleted.' }
46+ return {'message' : 'Item not found.' }, 404
4647
4748 def put (self , name ):
4849 data = Item .parser .parse_args ()
@@ -52,12 +53,13 @@ def put(self, name):
5253 if item :
5354 item .price = data ['price' ]
5455 else :
55- item = ItemModel (name , data [ 'price' ] )
56+ item = ItemModel (name , ** data )
5657
5758 item .save_to_db ()
5859
5960 return item .json ()
6061
62+
6163class ItemList (Resource ):
6264 def get (self ):
6365 return {'items' : list (map (lambda x : x .json (), ItemModel .query .all ()))}
0 commit comments