1
0
Fork 0
mirror of synced 2024-06-29 11:40:45 +12:00

fix: event validator

This commit is contained in:
Torsten Dittmann 2022-05-08 16:31:32 +02:00
parent 2cc2a40377
commit 95317d87b8
2 changed files with 10 additions and 5 deletions

View file

@ -87,12 +87,15 @@ class Event extends Validator
}
if ($attribute ?? false) {
if (
!\array_key_exists($attribute, $events[$type][$action]) ||
(($subType ?? false) && !\array_key_exists($attribute, $events[$type][$subType][$action]))
) {
if (($subType ?? false)) {
if (!\array_key_exists($attribute, $events[$type][$subType][$action])) {
return false;
}
} else {
if (!\array_key_exists($attribute, $events[$type][$action])) {
return false;
}
}
}
return true;

View file

@ -44,6 +44,7 @@ class EventValidatorTest extends TestCase
$this->assertTrue($this->object->isValid('buckets.*'));
$this->assertTrue($this->object->isValid('teams.*'));
$this->assertTrue($this->object->isValid('users.*'));
$this->assertTrue($this->object->isValid('teams.*.memberships.*.update.status'));
/**
* Test for FAILURE
@ -57,5 +58,6 @@ class EventValidatorTest extends TestCase
$this->assertFalse($this->object->isValid('collections.*.documents.*.unknown'));
$this->assertFalse($this->object->isValid('users.torsten.unknown'));
$this->assertFalse($this->object->isValid('users.torsten.delete.email'));
$this->assertFalse($this->object->isValid('teams.*.memberships.*.update.unknown'));
}
}