docbrown/app/lib/constants/role.rb
Anna Buianova 1eeaa34e98
Added spam role (#20434)
* Added spam role

* Fixed role spec
2023-12-11 14:27:22 +00:00

40 lines
2.3 KiB
Ruby

module Constants
module Role
BASE_ROLES_LABELS_TO_WHERE_CLAUSE = {
"Warned" => { name: "warned", resource_type: nil },
"Comment Suspended" => { name: "comment_suspended", resource_type: nil },
"Limited" => { name: "limited", resource_type: nil },
"Suspended" => { name: "suspended", resource_type: nil },
"Spam" => { name: "spam", resource_type: nil },
# This "role" is a weird amalgamation of multiple roles.
"Good standing" => :good_standing,
"Trusted" => { name: "trusted", resource_type: nil }
}.freeze
BASE_ROLES = BASE_ROLES_LABELS_TO_WHERE_CLAUSE.keys.freeze
SPECIAL_ROLES_LABELS_TO_WHERE_CLAUSE = {
"Admin" => { name: "admin", resource_type: nil },
"Tech Admin" => { name: "tech_admin", resource_type: nil },
"Super Admin" => { name: "super_admin", resource_type: nil },
"Resource Admin: Article" => { name: "single_resource_admin", resource_type: "Article" },
"Resource Admin: Badge" => { name: "single_resource_admin", resource_type: "Badge" },
"Resource Admin: BadgeAchievement" => { name: "single_resource_admin", resource_type: "BadgeAchievement" },
"Resource Admin: Broadcast" => { name: "single_resource_admin", resource_type: "Broadcast" },
"Resource Admin: Comment" => { name: "single_resource_admin", resource_type: "Comment" },
"Resource Admin: Config" => { name: "single_resource_admin", resource_type: "Config" },
"Resource Admin: Billboard" => { name: "single_resource_admin", resource_type: "Billboard" },
"Resource Admin: DataUpdateScript" => { name: "single_resource_admin", resource_type: "DataUpdateScript" },
"Resource Admin: FeedbackMessage" => { name: "single_resource_admin", resource_type: "FeedbackMessage" },
"Resource Admin: HtmlVariant" => { name: "single_resource_admin", resource_type: "HtmlVariant" },
"Resource Admin: ListingCategory" => { name: "single_resource_admin", resource_type: "ListingCategory" },
"Resource Admin: Page" => { name: "single_resource_admin", resource_type: "Page" },
"Resource Admin: Tag" => { name: "single_resource_admin", resource_type: "Tag" }
}.freeze
SPECIAL_ROLES = SPECIAL_ROLES_LABELS_TO_WHERE_CLAUSE.keys.freeze
ALL_ROLES_LABELS_TO_WHERE_CLAUSE =
SPECIAL_ROLES_LABELS_TO_WHERE_CLAUSE.merge(BASE_ROLES_LABELS_TO_WHERE_CLAUSE).freeze
end
end