Add micro server

This commit is contained in:
2025-12-24 16:09:45 +01:00
parent 892a4299f5
commit 8773e9f664
3 changed files with 63 additions and 2 deletions

View File

@@ -0,0 +1,52 @@
from flask import Blueprint, jsonify, request
api_bp = Blueprint('devices', __name__)
class DeviceController:
def __init__(self):
pass
def ping(self):
try :
print("Received ping request")
return "Hello from server", 200
except Exception as e:
print(e)
return "", 400
def start_party(self):
pass
def register_rfid(self):
pass
def notify_position(self):
payload = request.json
if not payload or "data" not in payload:
return {"error": "No 'data' field"}, 400
data = payload["data"]
# Vérifier que latitude et longitude existent
latitude = data.get("latitude")
longitude = data.get("longitude")
if latitude is None or longitude is None:
return {"error": "Missing latitude or longitude"}, 400
# Affichage safe avec f-string
print(f"Received position data:\nLatitude: {latitude}, Longitude: {longitude}")
return {"status": "ok"}, 200
def notify_luminosity(self):
return jsonify({"message": "Hello from DeviceController!"})
controller = DeviceController()
api_bp.add_url_rule('/ping', view_func=controller.ping, methods=['GET'])
api_bp.add_url_rule('/start-party', view_func=controller.start_party, methods=['POST'])
api_bp.add_url_rule('/register-field', view_func=controller.register_rfid, methods=['POST'])
api_bp.add_url_rule('/notify-position', view_func=controller.notify_position, methods=['POST'])
api_bp.add_url_rule('/notify-luminosity', view_func=controller.notify_luminosity, methods=['POST'])