1
0
Fork 0
mirror of https://github.com/archtechx/tenancy.git synced 2026-05-06 16:24:03 +00:00

Skip null parameters, throw for other non-string parameters

This commit is contained in:
lukinovec 2026-05-01 09:34:11 +02:00
parent e8168eb0b9
commit 9611a05f35

View file

@ -67,13 +67,17 @@ trait ValidatesDatabaseParameters
$allowedCharacters ??= static::allowedParameterCharacters(); $allowedCharacters ??= static::allowedParameterCharacters();
foreach ((array) $parameters as $parameter) { foreach ((array) $parameters as $parameter) {
if (! is_string($parameter)) { if (is_null($parameter)) {
// Skip if there's nothing to validate // Skip if there's nothing to validate
// (e.g. when $tenant->database()->getUsername() of an // (e.g. when $tenant->database()->getUsername() of an
// improperly created tenant is null and it gets passed). // improperly created tenant is null and it gets passed).
continue; continue;
} }
if (! is_string($parameter)) {
throw new InvalidArgumentException("Parameter has to be a string.");
}
foreach (str_split($parameter) as $character) { foreach (str_split($parameter) as $character) {
if (! str_contains($allowedCharacters, $character)) { if (! str_contains($allowedCharacters, $character)) {
throw new InvalidArgumentException("Forbidden character '{$character}' in parameter."); throw new InvalidArgumentException("Forbidden character '{$character}' in parameter.");