24 lines
677 B
Ruby
24 lines
677 B
Ruby
class ResharesController < ApplicationController
|
|
before_action :authenticate_user!, except: :index
|
|
respond_to :json
|
|
|
|
def create
|
|
reshare = reshare_service.create(params[:root_guid])
|
|
rescue ActiveRecord::RecordNotFound, ActiveRecord::RecordInvalid
|
|
render plain: I18n.t("reshares.create.error"), status: 422
|
|
else
|
|
render json: PostPresenter.new(reshare, current_user).with_interactions, status: 201
|
|
end
|
|
|
|
def index
|
|
render json: reshare_service.find_for_post(params[:post_id])
|
|
.includes(author: :profile)
|
|
.as_api_response(:backbone)
|
|
end
|
|
|
|
private
|
|
|
|
def reshare_service
|
|
@reshare_service ||= ReshareService.new(current_user)
|
|
end
|
|
end
|