From 283a368edd5d5c13aa8653156dd601505326864e Mon Sep 17 00:00:00 2001 From: HombreLaser Date: Sat, 1 Apr 2023 13:15:14 -0600 Subject: Corregidos errores de ProductReviewsSerializer --- app/controllers/api/reviews_controller.rb | 54 ++++++++++++++------------- app/serializers/product_review_serializer.rb | 6 +++ app/serializers/product_reviews_serializer.rb | 6 --- 3 files changed, 34 insertions(+), 32 deletions(-) create mode 100644 app/serializers/product_review_serializer.rb delete mode 100644 app/serializers/product_reviews_serializer.rb (limited to 'app') diff --git a/app/controllers/api/reviews_controller.rb b/app/controllers/api/reviews_controller.rb index 8a5de64..353e382 100644 --- a/app/controllers/api/reviews_controller.rb +++ b/app/controllers/api/reviews_controller.rb @@ -1,41 +1,43 @@ # frozen_string_literal: true -# ReviewController -class ReviewsController < AuthenticatedController - skip_before_action only: [:index] +module Api + # ReviewsController + class ReviewsController < AuthenticatedController + skip_before_action :validate_jwt, only: :index - def index - @product = Product.find_by(public_id: params[:product_id]) + def index + @product = Product.find_by(public_id: params[:product_id]) - render status: :not_found if @product.nil? + render status: :not_found and return if @product.nil? - @reviews = @product.product_reviews.joins(:user_account).select('product_reviews.*', + @reviews = @product.product_reviews.joins(:user_account).select('product_reviews.*', 'user_accounts.first_name as author_name') - render json: serialized_collection.serializable_hash, status: :ok - end + render json: serialized_collection.serializable_hash, status: :ok + end - def create - @review = Review.new(permitted_params.merge({ product_id: params[:product_id], - user_account_id: current_user_account.id })) + def create + @review = Review.new(permitted_params.merge({ product_id: params[:product_id], + user_account_id: current_user_account.id })) - if @review.save - render json: serialized_object.serializable_hash, status: :ok - else - render json: { error_messages: @review.errors.full_messages }, status: :unprocessable_entity + if @review.save + render json: serialized_object.serializable_hash, status: :ok + else + render json: { error_messages: @review.errors.full_messages }, status: :unprocessable_entity + end end - end - private + private - def permitted_params - params.permit(:review, :rating) - end + def permitted_params + params.permit(:review, :rating) + end - def serialized_collection - @serialized_collection ||= ProductReviewSerializer.new(@reviews) - end + def serialized_collection + @serialized_collection ||= ProductReviewSerializer.new(@reviews) + end - def serialized_object - @serialized_object ||= ProductReviewSerializer.new(@review) + def serialized_object + @serialized_object ||= ProductReviewSerializer.new(@review) + end end end diff --git a/app/serializers/product_review_serializer.rb b/app/serializers/product_review_serializer.rb new file mode 100644 index 0000000..1400d2e --- /dev/null +++ b/app/serializers/product_review_serializer.rb @@ -0,0 +1,6 @@ +# frozen_string_literal: true + +# ProductReviewSerializer +class ProductReviewSerializer < BaseSerializer + attributes :review, :rating, :author_name +end diff --git a/app/serializers/product_reviews_serializer.rb b/app/serializers/product_reviews_serializer.rb deleted file mode 100644 index 9a48f56..0000000 --- a/app/serializers/product_reviews_serializer.rb +++ /dev/null @@ -1,6 +0,0 @@ -# frozen_string_literal: true - -# ProductReviewSerializer -class ProductReviews < BaseSerializer - attributes :review, :rating, :author_name -end -- cgit v1.2.3