summaryrefslogtreecommitdiff
path: root/app/controllers/api/products_controller.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/api/products_controller.rb')
-rw-r--r--app/controllers/api/products_controller.rb11
1 files changed, 8 insertions, 3 deletions
diff --git a/app/controllers/api/products_controller.rb b/app/controllers/api/products_controller.rb
index febb207..213fa9f 100644
--- a/app/controllers/api/products_controller.rb
+++ b/app/controllers/api/products_controller.rb
@@ -18,7 +18,7 @@ module Api
end
def create
- @product = Product.new(permitted_params)
+ @product = Product.new(object_params)
if @product.save
render json: serialized_object.serializable_hash, status: :ok
@@ -30,7 +30,7 @@ module Api
def update
@product = Product.find_by(public_id: params[:id])
- if @product.update(permitted_params)
+ if @product.update(object_params)
render json: serialized_object.serializable_hash, status: :ok
else
render json: @product.errors.full_messages, status: :unprocessable_entity
@@ -49,7 +49,7 @@ module Api
private
def serialized_object
- Serializers::ProductSerializer(@product).new
+ Serializers::ProductSerializer.new(@product)
end
def serialized_collection
@@ -59,5 +59,10 @@ module Api
def permitted_params
params.permit(:name, :unitary_price, :bulk_price, :picture, :available_quantity, :categories, :company_id)
end
+
+ def object_params
+ categories = permitted_params[:categories].split(',')
+ permitted_params.merge(categories:, public_id: SecureRandom.hex(12))
+ end
end
end