Handle stoken being the empty string.

For whatever reason some users were getting this which was causing this code
to fail.
master
Tom Hacohen 4 years ago
parent b33a3c882e
commit 14b3cfca55

@ -473,7 +473,7 @@ def item_bulk_common(
with transaction.atomic(): # We need this for locking the collection object with transaction.atomic(): # We need this for locking the collection object
collection_object = queryset.select_for_update().get(uid=uid) collection_object = queryset.select_for_update().get(uid=uid)
if stoken is not None and stoken != collection_object.stoken: if stoken and stoken != collection_object.stoken:
raise HttpError("stale_stoken", "Stoken is too old", status_code=status.HTTP_409_CONFLICT) raise HttpError("stale_stoken", "Stoken is too old", status_code=status.HTTP_409_CONFLICT)
data.validate_db() data.validate_db()

@ -12,7 +12,7 @@ StokenAnnotation = t.Any
def get_stoken_obj(stoken: t.Optional[str]) -> t.Optional[Stoken]: def get_stoken_obj(stoken: t.Optional[str]) -> t.Optional[Stoken]:
if stoken is not None: if stoken:
try: try:
return Stoken.objects.get(uid=stoken) return Stoken.objects.get(uid=stoken)
except Stoken.DoesNotExist: except Stoken.DoesNotExist:

Loading…
Cancel
Save