mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
FEATURE: created edit and delete flags (#27484)
Allow admins to create edit and delete flags.
This commit is contained in:
committed by
GitHub
parent
a86590ffd6
commit
c3fadc7330
@@ -2,7 +2,7 @@
|
||||
|
||||
class Admin::Config::FlagsController < Admin::AdminController
|
||||
def toggle
|
||||
with_service(ToggleFlag) do
|
||||
with_service(Flags::ToggleFlag) do
|
||||
on_success do
|
||||
Discourse.request_refresh!
|
||||
render(json: success_json)
|
||||
@@ -19,8 +19,45 @@ class Admin::Config::FlagsController < Admin::AdminController
|
||||
def index
|
||||
end
|
||||
|
||||
def new
|
||||
end
|
||||
|
||||
def edit
|
||||
end
|
||||
|
||||
def create
|
||||
with_service(Flags::CreateFlag) do
|
||||
on_success do
|
||||
Discourse.request_refresh!
|
||||
render json: result.flag, serializer: FlagSerializer
|
||||
end
|
||||
on_failure { render(json: failed_json, status: 422) }
|
||||
on_failed_policy(:invalid_access) { raise Discourse::InvalidAccess }
|
||||
on_failed_contract do |contract|
|
||||
render(json: failed_json.merge(errors: contract.errors.full_messages), status: 400)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def update
|
||||
with_service(Flags::UpdateFlag) do
|
||||
on_success do
|
||||
Discourse.request_refresh!
|
||||
render json: result.flag, serializer: FlagSerializer
|
||||
end
|
||||
on_failure { render(json: failed_json, status: 422) }
|
||||
on_model_not_found(:message) { raise Discourse::NotFound }
|
||||
on_failed_policy(:not_system) { render_json_error(I18n.t("flags.errors.system")) }
|
||||
on_failed_policy(:not_used) { render_json_error(I18n.t("flags.errors.used")) }
|
||||
on_failed_policy(:invalid_access) { raise Discourse::InvalidAccess }
|
||||
on_failed_contract do |contract|
|
||||
render(json: failed_json.merge(errors: contract.errors.full_messages), status: 400)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def reorder
|
||||
with_service(ReorderFlag) do
|
||||
with_service(Flags::ReorderFlag) do
|
||||
on_success do
|
||||
Discourse.request_refresh!
|
||||
render(json: success_json)
|
||||
@@ -34,4 +71,20 @@ class Admin::Config::FlagsController < Admin::AdminController
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def destroy
|
||||
with_service(Flags::DestroyFlag) do
|
||||
on_success do
|
||||
Discourse.request_refresh!
|
||||
render(json: success_json)
|
||||
end
|
||||
on_failure { render(json: failed_json, status: 422) }
|
||||
on_failed_policy(:not_system) { render_json_error(I18n.t("flags.errors.system")) }
|
||||
on_failed_policy(:not_used) { render_json_error(I18n.t("flags.errors.used")) }
|
||||
on_failed_policy(:invalid_access) { raise Discourse::InvalidAccess }
|
||||
on_failed_contract do |contract|
|
||||
render(json: failed_json.merge(errors: contract.errors.full_messages), status: 400)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user