From: Martyn Taylor mtaylor@redhat.com
--- src/app/controllers/api/builds_controller.rb | 8 ++++++-- .../controllers/api/provider_images_controller.rb | 8 ++++++-- .../controllers/api/target_images_controller.rb | 8 ++++++-- 3 files changed, 18 insertions(+), 6 deletions(-)
diff --git a/src/app/controllers/api/builds_controller.rb b/src/app/controllers/api/builds_controller.rb index bc7670f..b9170aa 100644 --- a/src/app/controllers/api/builds_controller.rb +++ b/src/app/controllers/api/builds_controller.rb @@ -25,8 +25,12 @@ module Api layout :false
def index - if params[:image_id] - @builds = Aeolus::Image::Warehouse::Image.find(params[:image_id]).image_builds + if id = params[:image_id] + if image = Aeolus::Image::Warehouse::Image.find(id) + @builds = image.image_builds + else + raise(Aeolus::Conductor::API::ImageNotFound.new(500, t("api.error_messages.image_not_found", :image => params[:image_id]))) + end else @builds = Aeolus::Image::Warehouse::ImageBuild.all end diff --git a/src/app/controllers/api/provider_images_controller.rb b/src/app/controllers/api/provider_images_controller.rb index 9cbc191..65383c2 100644 --- a/src/app/controllers/api/provider_images_controller.rb +++ b/src/app/controllers/api/provider_images_controller.rb @@ -25,8 +25,12 @@ module Api layout :false
def index - if params[:target_image_id] - @images = Aeolus::Image::Warehouse::TargetImage.find(params[:target_image_id]).provider_images + if id = params[:target_image_id] + if target_image = Aeolus::Image::Warehouse::TargetImage.find(params[:target_image_id]) + @images = target_image.provider_images + else + raise(Aeolus::Conductor::API::TargetImageNotFound.new(500, t("api.error_messages.target_image_not_found", :targetimage => id))) + end else @images = Aeolus::Image::Warehouse::ProviderImage.all end diff --git a/src/app/controllers/api/target_images_controller.rb b/src/app/controllers/api/target_images_controller.rb index 5b2acb5..0430a6e 100644 --- a/src/app/controllers/api/target_images_controller.rb +++ b/src/app/controllers/api/target_images_controller.rb @@ -25,8 +25,12 @@ module Api layout :false
def index - if params[:build_id] - @images = Aeolus::Image::Warehouse::ImageBuild.find(params[:build_id]).target_images + if id = params[:build_id] + if build = Aeolus::Image::Warehouse::ImageBuild.find(params[:build_id]) + @images = build.target_images + else + raise(Aeolus::Conductor::API::BuildNotFound.new(500, t("api.error_messages.build_not_found", :build => id))) + end else @images = Aeolus::Image::Warehouse::TargetImage.all end
On 12/05/2011 05:09 PM, mtaylor@redhat.com wrote:
From: Martyn Taylormtaylor@redhat.com
src/app/controllers/api/builds_controller.rb | 8 ++++++-- .../controllers/api/provider_images_controller.rb | 8 ++++++-- .../controllers/api/target_images_controller.rb | 8 ++++++-- 3 files changed, 18 insertions(+), 6 deletions(-)
diff --git a/src/app/controllers/api/builds_controller.rb b/src/app/controllers/api/builds_controller.rb index bc7670f..b9170aa 100644 --- a/src/app/controllers/api/builds_controller.rb +++ b/src/app/controllers/api/builds_controller.rb @@ -25,8 +25,12 @@ module Api layout :false
def index
if params[:image_id]
@builds = Aeolus::Image::Warehouse::Image.find(params[:image_id]).image_builds
if id = params[:image_id]
if image = Aeolus::Image::Warehouse::Image.find(id)
@builds = image.image_builds
else
raise(Aeolus::Conductor::API::ImageNotFound.new(500, t("api.error_messages.image_not_found", :image => params[:image_id])))
end else @builds = Aeolus::Image::Warehouse::ImageBuild.all end
diff --git a/src/app/controllers/api/provider_images_controller.rb b/src/app/controllers/api/provider_images_controller.rb index 9cbc191..65383c2 100644 --- a/src/app/controllers/api/provider_images_controller.rb +++ b/src/app/controllers/api/provider_images_controller.rb @@ -25,8 +25,12 @@ module Api layout :false
def index
if params[:target_image_id]
@images = Aeolus::Image::Warehouse::TargetImage.find(params[:target_image_id]).provider_images
if id = params[:target_image_id]
if target_image = Aeolus::Image::Warehouse::TargetImage.find(params[:target_image_id])
@images = target_image.provider_images
else
raise(Aeolus::Conductor::API::TargetImageNotFound.new(500, t("api.error_messages.target_image_not_found", :targetimage => id)))
end else @images = Aeolus::Image::Warehouse::ProviderImage.all end
diff --git a/src/app/controllers/api/target_images_controller.rb b/src/app/controllers/api/target_images_controller.rb index 5b2acb5..0430a6e 100644 --- a/src/app/controllers/api/target_images_controller.rb +++ b/src/app/controllers/api/target_images_controller.rb @@ -25,8 +25,12 @@ module Api layout :false
def index
if params[:build_id]
@images = Aeolus::Image::Warehouse::ImageBuild.find(params[:build_id]).target_images
if id = params[:build_id]
if build = Aeolus::Image::Warehouse::ImageBuild.find(params[:build_id])
@images = build.target_images
else
raise(Aeolus::Conductor::API::BuildNotFound.new(500, t("api.error_messages.build_not_found", :build => id)))
end else @images = Aeolus::Image::Warehouse::TargetImage.all end
ACK, looks good.
Could you please change the error codes to 400, though? 500 is for when there's something wrong with the server, while this is a client issue (sending a wrong request).
Thomas
aeolus-devel@lists.fedorahosted.org