diff --git a/src/Appwrite/Database/Validator/Authorization.php b/src/Appwrite/Database/Validator/Authorization.php index 65fe548e75..a668c397f2 100644 --- a/src/Appwrite/Database/Validator/Authorization.php +++ b/src/Appwrite/Database/Validator/Authorization.php @@ -97,6 +97,16 @@ class Authorization extends Validator self::$roles[$role] = true; } + /** + * @param string $role + * + * @return void + */ + public static function unsetRole(string $role): void + { + unset(self::$roles[$role]); + } + /** * @return array */ diff --git a/tests/unit/Database/Validator/AuthorizationTest.php b/tests/unit/Database/Validator/AuthorizationTest.php index e2e9ceac51..d46fec3bc6 100644 --- a/tests/unit/Database/Validator/AuthorizationTest.php +++ b/tests/unit/Database/Validator/AuthorizationTest.php @@ -79,5 +79,12 @@ class AuthorizationTest extends TestCase $this->assertEquals($this->object->isValid($this->document->getPermissions()), false); + Authorization::setRole('textX'); + + $this->assertContains('textX', Authorization::getRoles()); + + Authorization::unsetRole('textX'); + + $this->assertNotContains('textX', Authorization::getRoles()); } } \ No newline at end of file