transfer from private server/git server
This commit is contained in:
44
web/routes/evenements.py
Normal file
44
web/routes/evenements.py
Normal file
@@ -0,0 +1,44 @@
|
||||
"""routes/evenements.py — API CRUD du module Planning (EXF-09, EXF-10)."""
|
||||
|
||||
from flask import Blueprint, current_app, jsonify, request
|
||||
|
||||
from services import evenement_service
|
||||
from services.auth_service import client_ip, current_user, require_admin, require_login
|
||||
|
||||
bp = Blueprint("evenements", __name__, url_prefix="/api/evenements")
|
||||
|
||||
|
||||
def _db():
|
||||
return current_app.config["DB"]
|
||||
|
||||
|
||||
@bp.route("", methods=["GET"])
|
||||
@require_login
|
||||
def list_evenements():
|
||||
return jsonify(evenement_service.list_evenements(_db()))
|
||||
|
||||
|
||||
@bp.route("", methods=["POST"])
|
||||
@require_admin
|
||||
def create_evenement():
|
||||
data = request.json or {}
|
||||
user = current_user()
|
||||
try:
|
||||
new_id = evenement_service.create_evenement(
|
||||
_db(), data.get("titre"), data.get("description"),
|
||||
data.get("date_debut"), data.get("date_fin"), user["sub"], client_ip(),
|
||||
)
|
||||
except evenement_service.ValidationError as exc:
|
||||
return jsonify({"error": str(exc)}), 400
|
||||
return jsonify({"id": new_id}), 201
|
||||
|
||||
|
||||
@bp.route("/<int:evenement_id>", methods=["DELETE"])
|
||||
@require_admin
|
||||
def delete_evenement(evenement_id):
|
||||
user = current_user()
|
||||
try:
|
||||
evenement_service.delete_evenement(_db(), evenement_id, user["sub"], client_ip())
|
||||
except LookupError as exc:
|
||||
return jsonify({"error": str(exc)}), 404
|
||||
return jsonify({"status": "deleted"})
|
||||
Reference in New Issue
Block a user