mirror of
https://github.com/johndoe6345789/metabuilder.git
synced 2026-04-24 22:04:56 +00:00
update: packages,lua,shared (5 files)
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
-- Export utilities for data tables
|
||||
-- DEPRECATED: This file redirects to export/ directory
|
||||
-- Functions are now split into single-function files
|
||||
--- Export utilities for data tables
|
||||
--- DEPRECATED: This file redirects to export/ directory
|
||||
--- Functions are now split into single-function files
|
||||
---@module export
|
||||
---@deprecated Use export.init instead
|
||||
|
||||
return require("export.init")
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
-- Filtering utilities for data tables
|
||||
-- DEPRECATED: This file redirects to filtering/ directory
|
||||
-- Functions are now split into single-function files
|
||||
--- Filtering utilities for data tables
|
||||
--- DEPRECATED: This file redirects to filtering/ directory
|
||||
--- Functions are now split into single-function files
|
||||
---@module filtering
|
||||
---@deprecated Use filtering.init instead
|
||||
|
||||
return require("filtering.init")
|
||||
|
||||
4
packages/shared/seed/scripts/permissions.lua
Normal file
4
packages/shared/seed/scripts/permissions.lua
Normal file
@@ -0,0 +1,4 @@
|
||||
-- Permission system entry point
|
||||
-- Redirects to permissions/ directory
|
||||
|
||||
return require("permissions.init")
|
||||
55
packages/shared/seed/scripts/permissions/database_toggle.lua
Normal file
55
packages/shared/seed/scripts/permissions/database_toggle.lua
Normal file
@@ -0,0 +1,55 @@
|
||||
-- Database toggle control
|
||||
-- Functions for managing database availability state
|
||||
|
||||
---@class DatabaseToggle
|
||||
local M = {}
|
||||
|
||||
-- Internal database state
|
||||
local databaseEnabled = true
|
||||
|
||||
---Initialize database state
|
||||
---@param enabled? boolean Initial database state (default: true)
|
||||
function M.initialize_database(enabled)
|
||||
databaseEnabled = enabled ~= false
|
||||
end
|
||||
|
||||
---Enable database access
|
||||
function M.enable_database()
|
||||
databaseEnabled = true
|
||||
end
|
||||
|
||||
---Disable database access
|
||||
function M.disable_database()
|
||||
databaseEnabled = false
|
||||
end
|
||||
|
||||
---Check if database is enabled
|
||||
---@return boolean enabled Whether database is enabled
|
||||
function M.is_database_enabled()
|
||||
return databaseEnabled
|
||||
end
|
||||
|
||||
---Enforce database requirement
|
||||
---@param resourceName? string Name of resource requiring database
|
||||
---@return boolean success Returns true if database is enabled
|
||||
function M.require_database(resourceName)
|
||||
if not databaseEnabled then
|
||||
local resource = resourceName or "this operation"
|
||||
error(string.format(
|
||||
"Database access required for %s but database is disabled",
|
||||
resource
|
||||
))
|
||||
end
|
||||
return true
|
||||
end
|
||||
|
||||
---Get database status with metadata
|
||||
---@return table status Database status information
|
||||
function M.get_database_status()
|
||||
return {
|
||||
enabled = databaseEnabled,
|
||||
message = databaseEnabled and "Database is enabled" or "Database is disabled"
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
55
packages/shared/seed/scripts/permissions/init.lua
Normal file
55
packages/shared/seed/scripts/permissions/init.lua
Normal file
@@ -0,0 +1,55 @@
|
||||
-- Permission system module facade
|
||||
-- Exports all permission functions for easy access
|
||||
|
||||
---@class Permissions
|
||||
local M = {}
|
||||
|
||||
-- Import all permission modules
|
||||
local checkAccess = require("permissions.check_access")
|
||||
local enforceLevel = require("permissions.enforce_level")
|
||||
local manageFlags = require("permissions.manage_flags")
|
||||
local databaseToggle = require("permissions.database_toggle")
|
||||
|
||||
-- Re-export access checking
|
||||
M.check_access = checkAccess.check_access
|
||||
|
||||
-- Re-export level enforcement
|
||||
M.enforce_level = enforceLevel.enforce_level
|
||||
|
||||
-- Re-export feature flag management
|
||||
M.initialize_flags = manageFlags.initialize_flags
|
||||
M.enable_flag = manageFlags.enable_flag
|
||||
M.disable_flag = manageFlags.disable_flag
|
||||
M.is_flag_enabled = manageFlags.is_flag_enabled
|
||||
M.get_all_flags = manageFlags.get_all_flags
|
||||
M.check_required_flags = manageFlags.check_required_flags
|
||||
|
||||
-- Re-export database toggle
|
||||
M.initialize_database = databaseToggle.initialize_database
|
||||
M.enable_database = databaseToggle.enable_database
|
||||
M.disable_database = databaseToggle.disable_database
|
||||
M.is_database_enabled = databaseToggle.is_database_enabled
|
||||
M.require_database = databaseToggle.require_database
|
||||
M.get_database_status = databaseToggle.get_database_status
|
||||
|
||||
---Check package permissions for a user
|
||||
---@param userLevel PermissionLevel User's permission level
|
||||
---@param packagePermissions PackagePermissions Package permission configuration
|
||||
---@return PermissionCheckResult
|
||||
function M.check_package_access(userLevel, packagePermissions)
|
||||
local featureFlags = M.get_all_flags()
|
||||
local databaseEnabled = M.is_database_enabled()
|
||||
return M.check_access(userLevel, packagePermissions, featureFlags, databaseEnabled)
|
||||
end
|
||||
|
||||
---Check component permissions for a user
|
||||
---@param userLevel PermissionLevel User's permission level
|
||||
---@param componentPermissions ComponentPermission Component permission configuration
|
||||
---@return PermissionCheckResult
|
||||
function M.check_component_access(userLevel, componentPermissions)
|
||||
local featureFlags = M.get_all_flags()
|
||||
local databaseEnabled = M.is_database_enabled()
|
||||
return M.check_access(userLevel, componentPermissions, featureFlags, databaseEnabled)
|
||||
end
|
||||
|
||||
return M
|
||||
Reference in New Issue
Block a user