def remove_reaction_legacy(request: HttpRequest, user_profile: UserProfile, message_id: int, emoji_name: Text) -> HttpResponse: # access_message will throw a JsonableError exception if the user # cannot see the message (e.g. for messages to private streams). message = access_message(user_profile, message_id)[0] # We could probably just make this check be a try/except for the # IntegrityError from it already existing, but this is a bit cleaner. if not Reaction.objects.filter(user_profile=user_profile, message=message, emoji_name=emoji_name).exists(): raise JsonableError(_("Reaction does not exist")) do_remove_reaction_legacy(user_profile, message, emoji_name) return json_success()