Add a return type to parse_string. (#10438)

And set the required attribute in a few places which will error if
a parameter is not provided.
This commit is contained in:
Patrick Cloke 2021-07-21 09:47:56 -04:00 committed by GitHub
parent 2d89c66b88
commit 5db118626b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 86 additions and 45 deletions

View file

@ -158,19 +158,21 @@ class RelationPaginationServlet(RestServlet):
event = await self.event_handler.get_event(requester.user, room_id, parent_id)
limit = parse_integer(request, "limit", default=5)
from_token = parse_string(request, "from")
to_token = parse_string(request, "to")
from_token_str = parse_string(request, "from")
to_token_str = parse_string(request, "to")
if event.internal_metadata.is_redacted():
# If the event is redacted, return an empty list of relations
pagination_chunk = PaginationChunk(chunk=[])
else:
# Return the relations
if from_token:
from_token = RelationPaginationToken.from_string(from_token)
from_token = None
if from_token_str:
from_token = RelationPaginationToken.from_string(from_token_str)
if to_token:
to_token = RelationPaginationToken.from_string(to_token)
to_token = None
if to_token_str:
to_token = RelationPaginationToken.from_string(to_token_str)
pagination_chunk = await self.store.get_relations_for_event(
event_id=parent_id,
@ -256,19 +258,21 @@ class RelationAggregationPaginationServlet(RestServlet):
raise SynapseError(400, "Relation type must be 'annotation'")
limit = parse_integer(request, "limit", default=5)
from_token = parse_string(request, "from")
to_token = parse_string(request, "to")
from_token_str = parse_string(request, "from")
to_token_str = parse_string(request, "to")
if event.internal_metadata.is_redacted():
# If the event is redacted, return an empty list of relations
pagination_chunk = PaginationChunk(chunk=[])
else:
# Return the relations
if from_token:
from_token = AggregationPaginationToken.from_string(from_token)
from_token = None
if from_token_str:
from_token = AggregationPaginationToken.from_string(from_token_str)
if to_token:
to_token = AggregationPaginationToken.from_string(to_token)
to_token = None
if to_token_str:
to_token = AggregationPaginationToken.from_string(to_token_str)
pagination_chunk = await self.store.get_aggregation_groups_for_event(
event_id=parent_id,
@ -336,14 +340,16 @@ class RelationAggregationGroupPaginationServlet(RestServlet):
raise SynapseError(400, "Relation type must be 'annotation'")
limit = parse_integer(request, "limit", default=5)
from_token = parse_string(request, "from")
to_token = parse_string(request, "to")
from_token_str = parse_string(request, "from")
to_token_str = parse_string(request, "to")
if from_token:
from_token = RelationPaginationToken.from_string(from_token)
from_token = None
if from_token_str:
from_token = RelationPaginationToken.from_string(from_token_str)
if to_token:
to_token = RelationPaginationToken.from_string(to_token)
to_token = None
if to_token_str:
to_token = RelationPaginationToken.from_string(to_token_str)
result = await self.store.get_relations_for_event(
event_id=parent_id,