From 33b31a07424a5da12670836f488f907f938a10a8 Mon Sep 17 00:00:00 2001 From: Pierce Lally Date: Thu, 9 Nov 2023 22:10:21 -0500 Subject: [PATCH] fix config loading with directorys (#52) --- lua/cfc_http_restrictions/client/config_loader.lua | 14 ++++++++------ lua/cfc_http_restrictions/server/config_loader.lua | 10 +++++----- lua/cfc_http_restrictions/shared/config_loader.lua | 5 +++-- 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/lua/cfc_http_restrictions/client/config_loader.lua b/lua/cfc_http_restrictions/client/config_loader.lua index 7fbf827..a7bf9ad 100644 --- a/lua/cfc_http_restrictions/client/config_loader.lua +++ b/lua/cfc_http_restrictions/client/config_loader.lua @@ -4,12 +4,14 @@ local function requestNetworkedConfig() end local function loadConfigsClient() - CFCHTTP.LoadConfig( { - CFCHTTP.LuaDirectorySources( CFCHTTP.filenames.sharedConfigsDir ), - CFCHTTP.LuaDirectorySources( CFCHTTP.filenames.clientConfigsDir ), - CFCHTTP.LuaTableSources( CFCHTTP.networkedConfig ), - CFCHTTP.FileSource( CFCHTTP.filenames.defaultJsonConfig ), - } ) + ---@type (fun(): WhitelistConfig)[] + local configSources = {} + table.Add(configSources, CFCHTTP.LuaDirectorySources( CFCHTTP.filenames.sharedConfigsDir )) + table.Add(configSources, CFCHTTP.LuaDirectorySources( CFCHTTP.filenames.clientConfigsDir )) + table.insert(configSources, CFCHTTP.LuaTableSources( CFCHTTP.networkedConfig ) ) + table.insert(configSources, CFCHTTP.FileSource( CFCHTTP.filenames.defaultJsonConfig )) + + CFCHTTP.LoadConfig( configSources ) end net.Receive( "CFCHTTP_ConfigUpdate", function() diff --git a/lua/cfc_http_restrictions/server/config_loader.lua b/lua/cfc_http_restrictions/server/config_loader.lua index b20cf0b..8542734 100644 --- a/lua/cfc_http_restrictions/server/config_loader.lua +++ b/lua/cfc_http_restrictions/server/config_loader.lua @@ -21,11 +21,11 @@ CFCHTTP.Net.receiveWithMiddleware( "CFCHTTP_RequestConfig", function( _, ply ) end, CFCHTTP.Net.rateLimit( "CFCHTTP_RequestConfig", 2, 10 ) ) local function loadConfigsServer() - CFCHTTP.LoadConfig( { - CFCHTTP.LuaDirectorySources( CFCHTTP.filenames.sharedConfigsDir ), - CFCHTTP.LuaDirectorySources( CFCHTTP.filenames.serverConfigsDir ), - CFCHTTP.FileSource( CFCHTTP.filenames.defaultJsonConfig ), - } ) + local configSources = {} + table.Add(configSources, CFCHTTP.LuaDirectorySources( CFCHTTP.filenames.sharedConfigsDir )) + table.Add(configSources, CFCHTTP.LuaDirectorySources( CFCHTTP.filenames.serverConfigsDir )) + table.insert(configSources, CFCHTTP.FileSource( CFCHTTP.filenames.defaultJsonConfig )) + CFCHTTP.LoadConfig( configSources ) local data = file.Read( CFCHTTP.filenames.serverClientJsonConfig, "DATA" ) CFCHTTP.networkedClientConfig = data and util.JSONToTable( data ) diff --git a/lua/cfc_http_restrictions/shared/config_loader.lua b/lua/cfc_http_restrictions/shared/config_loader.lua index a8c26e2..d474ce7 100644 --- a/lua/cfc_http_restrictions/shared/config_loader.lua +++ b/lua/cfc_http_restrictions/shared/config_loader.lua @@ -35,8 +35,9 @@ function CFCHTTP.LuaFileSource( filename ) end ---@param dir string ----@return fun(): WhitelistConfig ... +---@return fun(): WhitelistConfig[] function CFCHTTP.LuaDirectorySources( dir ) + ---@type (fun(): WhitelistConfig)[] local funcs = {} local files = file.Find( dir .. "*.lua", "LUA" ) @@ -44,7 +45,7 @@ function CFCHTTP.LuaDirectorySources( dir ) table.insert( funcs, CFCHTTP.LuaFileSource( dir .. fil ) ) end - return unpack( funcs ) + return funcs end ---@param tbl WhitelistConfig