Files
metabuilder/packages/stream_cast/seed/scripts/lua/permissions.lua

28 lines
896 B
Lua

---@alias StreamUserRole "public" | "user" | "moderator" | "admin" | "god" | "supergod"
---@class StreamUser
---@field role? StreamUserRole User role
---@class StreamPermissionsModule
---@field can_publish fun(user: StreamUser): boolean Check if user can publish streams
---@field can_moderate fun(user: StreamUser): boolean Check if user can moderate streams
local M = {}
---Check if user can publish streams
---@param user StreamUser User to check
---@return boolean
function M.can_publish(user)
local role = user.role or "public"
return role == "moderator" or role == "admin" or role == "god" or role == "supergod"
end
---Check if user can moderate streams
---@param user StreamUser User to check
---@return boolean
function M.can_moderate(user)
local role = user.role or "public"
return role == "moderator" or role == "admin" or role == "god" or role == "supergod"
end
return M