discourse/app/controllers/admin/permalinks_controller.rb

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

61 lines
1.4 KiB
Ruby
Raw Normal View History

# frozen_string_literal: true
2015-07-15 20:54:28 +08:00
class Admin::PermalinksController < Admin::AdminController
before_action :fetch_permalink, only: %i[show update destroy]
2015-07-15 20:54:28 +08:00
def index
url = params[:filter]
permalinks = Permalink.filter_by(url)
2015-07-15 20:54:28 +08:00
render_serialized(permalinks, PermalinkSerializer)
end
def new
end
def edit
end
2015-07-15 20:54:28 +08:00
def show
render_serialized(@permalink, PermalinkSerializer)
end
2020-05-25 17:48:54 +08:00
def create
2015-07-15 20:54:28 +08:00
permalink =
Permalink.create!(
url: permalink_params[:url],
permalink_type: permalink_params[:permalink_type],
permalink_type_value: permalink_params[:permalink_type_value],
)
render_serialized(permalink, PermalinkSerializer)
rescue ActiveRecord::RecordInvalid => e
render_json_error(e.record.errors.full_messages)
end
def update
@permalink.update!(
url: permalink_params[:url],
permalink_type: permalink_params[:permalink_type],
permalink_type_value: permalink_params[:permalink_type_value],
)
render_serialized(@permalink, PermalinkSerializer)
rescue ActiveRecord::RecordInvalid => e
render_json_error(e.record.errors.full_messages)
2015-07-15 20:54:28 +08:00
end
def destroy
@permalink.destroy
render json: success_json
end
private
def fetch_permalink
@permalink = Permalink.find(params[:id])
end
def permalink_params
params.require(:permalink).permit(:url, :permalink_type, :permalink_type_value)
end
2015-07-15 20:54:28 +08:00
end