From c2e6d24bbc08730260bb034a48fe99edbb1f6958 Mon Sep 17 00:00:00 2001 From: Yuriy Taraday Date: Wed, 23 Mar 2016 11:48:57 +0300 Subject: [PATCH] Separate collections handlers from resources handlers Change-Id: I84e46ded9f0301b6a59904b328ecad2b6dea0d07 --- tuning_box/app.py | 38 ++++++++++++++++++++++++-------------- 1 file changed, 24 insertions(+), 14 deletions(-) diff --git a/tuning_box/app.py b/tuning_box/app.py index b82793f..4e82c74 100644 --- a/tuning_box/app.py +++ b/tuning_box/app.py @@ -38,15 +38,12 @@ component_fields = { } -@api.resource('/components', '/components/') -class Component(flask_restful.Resource): +@api.resource('/components') +class ComponentsCollection(flask_restful.Resource): method_decorators = [flask_restful.marshal_with(component_fields)] - def get(self, component_id=None): - if component_id is None: - return db.Component.query.all() - else: - return db.Component.query.get_or_404(component_id) + def get(self): + return db.Component.query.all() def post(self): component = db.Component(name=flask.request.json['name']) @@ -59,6 +56,14 @@ class Component(flask_restful.Resource): db.db.session.commit() return component, 201 + +@api.resource('/components/') +class Component(flask_restful.Resource): + method_decorators = [flask_restful.marshal_with(component_fields)] + + def get(self, component_id): + return db.Component.query.get_or_404(component_id) + def delete(self, component_id): component = db.Component.query.get_or_404(component_id) db.db.session.delete(component) @@ -72,15 +77,12 @@ environment_fields = { } -@api.resource('/environments', '/environments/') -class Environment(flask_restful.Resource): +@api.resource('/environments') +class EnvironmentsCollection(flask_restful.Resource): method_decorators = [flask_restful.marshal_with(environment_fields)] - def get(self, environment_id=None): - if environment_id is None: - return db.Environment.query.all() - else: - return db.Environment.query.get_or_404(environment_id) + def get(self): + return db.Environment.query.all() def post(self): component_ids = flask.request.json['components'] @@ -98,6 +100,14 @@ class Environment(flask_restful.Resource): db.db.session.commit() return environment, 201 + +@api.resource('/environments/') +class Environment(flask_restful.Resource): + method_decorators = [flask_restful.marshal_with(environment_fields)] + + def get(self, environment_id): + return db.Environment.query.get_or_404(environment_id) + def delete(self, environment_id): environment = db.Environment.query.get_or_404(environment_id) db.db.session.delete(environment)