41 lines
1.2 KiB
Python
41 lines
1.2 KiB
Python
from flask import Blueprint, jsonify, request
|
|
from flask_jwt_extended import jwt_required
|
|
import pymysql
|
|
from config import Config
|
|
|
|
security_bp = Blueprint('security', __name__)
|
|
|
|
def get_db():
|
|
return pymysql.connect(
|
|
host=Config.MYSQL_HOST,
|
|
user=Config.MYSQL_USER,
|
|
password=Config.MYSQL_PASSWORD,
|
|
database=Config.MYSQL_DB,
|
|
cursorclass=pymysql.cursors.DictCursor
|
|
)
|
|
|
|
#GET — Récupérer tous les événements de sécurité
|
|
@security_bp.route('/', methods=['GET'])
|
|
@jwt_required()
|
|
def get_security():
|
|
db = get_db()
|
|
cursor = db.cursor()
|
|
cursor.execute("SELECT * FROM security_events ORDER BY timestamp DESC LIMIT 50")
|
|
data = cursor.fetchall()
|
|
db.close()
|
|
return jsonify(data), 200
|
|
|
|
# POST — Ajouter un événement de sécurité
|
|
@security_bp.route('/', methods=['POST'])
|
|
@jwt_required()
|
|
def add_security():
|
|
body = request.get_json()
|
|
db = get_db()
|
|
cursor = db.cursor()
|
|
cursor.execute(
|
|
"INSERT INTO security_events (event_type, location) VALUES (%s, %s)",
|
|
(body.get('event_type'), body.get('location'))
|
|
)
|
|
db.commit()
|
|
db.close()
|
|
return jsonify({'message': 'Événement ajouté avec succès'}), 201 |