diff --git a/backend/endpoints.py b/backend/endpoints.py index 0e177a0..287dac2 100644 --- a/backend/endpoints.py +++ b/backend/endpoints.py @@ -150,15 +150,28 @@ def do_follow(): ) +MAX_BLOOM_LENGTH = 280 + +def is_valid_message(message: str, max_length=MAX_BLOOM_LENGTH) -> bool: + return len(message.strip()) <= max_length + @jwt_required() def send_bloom(): type_check_error = verify_request_fields({"content": str}) if type_check_error is not None: return type_check_error + content = request.json["content"] user = get_current_user() - blooms.add_bloom(sender=user, content=request.json["content"]) + blooms.add_bloom(sender=user, content=content) + + + if not is_valid_message(content): + return jsonify({ + "success": False, + "error": f"Content exceeds {MAX_BLOOM_LENGTH} characters." + }), 400 return jsonify( { @@ -166,7 +179,6 @@ def send_bloom(): } ) - def get_bloom(id_str): try: id_int = int(id_str)