docbrown/app/controllers/admin/application_controller.rb
Ben Halpern 68867e9384
Add config post route for admin api (#11698)
* Add config post route for admin api

* Fix params

* Extract config_params to concern

* Remove print statement

* Some changes

* A couple changes

* Change controller method name and refactor upsert

* Fix tests and method names

* Fix routes and class stuff

* Fix styles

* Fix config params

* Fix styles

* Move regex to constant

* Remove single-use after action callbacks

* Expose success? method

* Fix syntax error

* Fix success? return

* Switch to guard clause

* Final clean ups?
2020-12-22 15:50:34 -05:00

36 lines
1.5 KiB
Ruby

module Admin
class ApplicationController < ApplicationController
before_action :authorize_admin
before_action :assign_help_url
after_action :verify_authorized
HELP_URLS = {
badges: "https://forem.gitbook.io/forem-admin-guide/admin/badges",
badge_achievements: "https://forem.gitbook.io/forem-admin-guide/admin/badges",
configs: "https://forem.gitbook.io/forem-admin-guide/admin/config",
navigation_links: "https://forem.gitbook.io/forem-admin-guide/admin/navigation-links",
pages: "https://forem.gitbook.io/forem-admin-guide/admin/pages",
podcasts: "https://forem.gitbook.io/forem-admin-guide/admin/podcasts",
reports: "https://forem.gitbook.io/forem-admin-guide/admin/reports",
users: "https://forem.gitbook.io/forem-admin-guide/admin/users",
html_variants: "https://forem.gitbook.io/forem-admin-guide/admin/html-variants",
display_ads: "https://forem.gitbook.io/forem-admin-guide/admin/display-ads",
chat_channels: "https://forem.gitbook.io/forem-admin-guide/admin/chat-channels",
tags: "https://forem.gitbook.io/forem-admin-guide/admin/tags"
}.freeze
private
def authorization_resource
self.class.name.sub("Admin::", "").sub("Controller", "").singularize.constantize
end
def authorize_admin
authorize(authorization_resource, :access?, policy_class: InternalPolicy)
end
def assign_help_url
@help_url = HELP_URLS[controller_name.to_sym]
end
end
end