addType('id', 'integer'); $this->addType('boardId', 'integer'); $this->addType('permissionEdit', 'boolean'); $this->addType('permissionShare', 'boolean'); $this->addType('permissionManage', 'boolean'); $this->addType('type', 'integer'); $this->addType('owner', 'boolean'); $this->addRelation('owner'); $this->addResolvable('participant'); } public function getPermission(int $permission): bool { return match ($permission) { self::PERMISSION_READ => true, self::PERMISSION_EDIT => $this->getPermissionEdit(), self::PERMISSION_SHARE => $this->getPermissionShare(), self::PERMISSION_MANAGE => $this->getPermissionManage(), default => false, }; } }