1
0
Fork 0
mirror of synced 2024-06-26 18:20:43 +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,11 +87,14 @@ 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]))
) {
return false;
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;
}
}
}

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'));
}
}