mirror of
https://github.com/astuto/astuto.git
synced 2025-12-16 11:47:56 +01:00
Add likes model, controller and tests
This commit is contained in:
33
app/controllers/likes_controller.rb
Normal file
33
app/controllers/likes_controller.rb
Normal file
@@ -0,0 +1,33 @@
|
||||
class LikesController < ApplicationController
|
||||
before_action :authenticate_user!
|
||||
|
||||
def create
|
||||
like = Like.new(like_params)
|
||||
|
||||
if like.save
|
||||
render json: like, status: :created
|
||||
else
|
||||
render json: {
|
||||
error: I18n.t('errors.likes.create', message: like.errors.full_messages)
|
||||
}, status: :unprocessable_entity
|
||||
end
|
||||
end
|
||||
|
||||
def destroy
|
||||
like = Like.where(like_params)
|
||||
|
||||
if like.destroy
|
||||
render json: {}, status: :no_content
|
||||
else
|
||||
render json: {
|
||||
error: I18n.t('errors.likes.destroy', message: like.errors.full_messages)
|
||||
}, status: :unprocessable_entity
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def like_params
|
||||
params.permit(:post_id).merge(user_id: current_user.id)
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user