40 lines
2.3 KiB
Ruby
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
|