29 lines
878 B
Python
29 lines
878 B
Python
from flask import jsonify
|
|
|
|
def main(request):
|
|
request_json = request.get_json(silent=True)
|
|
|
|
# ✅ Check if body was parsed successfully
|
|
if request_json is None:
|
|
return jsonify({"error": "Invalid or missing JSON in request body."}), 400
|
|
|
|
name = request_json.get("name")
|
|
salary = request_json.get("salary")
|
|
|
|
# ✅ Validate input fields
|
|
if not name or not isinstance(salary, (int, float)):
|
|
return jsonify({
|
|
"error": "Invalid input. 'name' must be a string and 'salary' must be a number."
|
|
}), 400
|
|
|
|
raise_percentage = 15
|
|
expected_raise = salary * (raise_percentage / 100)
|
|
new_salary = salary + expected_raise
|
|
|
|
return jsonify({
|
|
"employee_name": name,
|
|
"yearly_salary": round(salary, 2),
|
|
"expected_raise": round(expected_raise, 2),
|
|
"new_salary": round(new_salary, 2)
|
|
})
|