Files
2026-07-13 12:32:21 +08:00

36 lines
870 B
Lua

local MetaSchema = require "kong.db.schema.metaschema"
local Entity = require "kong.db.schema.entity"
local load_module_if_exists = require "kong.tools.module".load_module_if_exists
local tostring = tostring
local vault_loader = {}
function vault_loader.load_subschema(parent_schema, vault, errors)
local vault_schema = "kong.vaults." .. vault .. ".schema"
local ok, schema = load_module_if_exists(vault_schema)
if not ok then
return nil, "no configuration schema found for vault: " .. vault
end
local err_t
ok, err_t = MetaSchema.MetaSubSchema:validate(schema)
if not ok then
return nil, tostring(errors:schema_violation(err_t))
end
local err
ok, err = Entity.new_subschema(parent_schema, vault, schema)
if not ok then
return nil, "error initializing schema for vault: " .. err
end
return schema
end
return vault_loader