FIX: custom flag name should be unique (#28869)

Validation to ensure that the custom flag name is unique.
This commit is contained in:
Krzysztof Kotlarek
2024-09-30 09:17:19 +10:00
committed by GitHub
parent 042bfeac66
commit c5a024f8df
6 changed files with 31 additions and 0 deletions

View File

@ -33,6 +33,7 @@ class Admin::Config::FlagsController < Admin::AdminController
end
on_failure { render(json: failed_json, status: 422) }
on_failed_policy(:invalid_access) { raise Discourse::InvalidAccess }
on_failed_policy(:unique_name) { render_json_error(I18n.t("flags.errors.unique_name")) }
on_failed_contract do |contract|
render(json: failed_json.merge(errors: contract.errors.full_messages), status: 400)
end
@ -50,6 +51,7 @@ class Admin::Config::FlagsController < Admin::AdminController
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_policy(:unique_name) { render_json_error(I18n.t("flags.errors.unique_name")) }
on_failed_contract do |contract|
render(json: failed_json.merge(errors: contract.errors.full_messages), status: 400)
end