nas/app/controllers/api/v1/antennas_controller.rb

47 lines
1.2 KiB
Ruby

# frozen_string_literal: true
class Api::V1::AntennasController < Api::BaseController
before_action -> { doorkeeper_authorize! :read, :'read:lists' }, only: [:index, :show]
before_action -> { doorkeeper_authorize! :write, :'write:lists' }, except: [:index, :show]
before_action :require_user!
before_action :set_antenna, except: [:index, :create]
rescue_from ArgumentError do |e|
render json: { error: e.to_s }, status: 422
end
def index
@antennas = Antenna.where(account: current_account).all
render json: @antennas, each_serializer: REST::AntennaSerializer
end
def show
render json: @antenna, serializer: REST::AntennaSerializer
end
def create
@antenna = Antenna.create!({ list_id: 0 }.merge(antenna_params.merge(account: current_account)))
render json: @antenna, serializer: REST::AntennaSerializer
end
def update
@antenna.update!(antenna_params)
render json: @antenna, serializer: REST::AntennaSerializer
end
def destroy
@antenna.destroy!
render_empty
end
private
def set_antenna
@antenna = Antenna.where(account: current_account).find(params[:id])
end
def antenna_params
params.permit(:title, :list_id, :insert_feeds, :stl, :ltl, :with_media_only, :ignore_reblog)
end
end