from flask import Flask, request, jsonify
from flask_sqlalchemy import SQLAlchemy
import os
app = Flask(__name__)
# Configurazione Database
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///sindacato.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)
# Modello Utente
class Utente(db.Model):
id = db.Column(db.Integer, primary_key=True)
nome = db.Column(db.String(100), nullable=False)
cognome = db.Column(db.String(100), nullable=False)
codice_fiscale = db.Column(db.String(16), unique=True, nullable=False)
email = db.Column(db.String(150), unique=True, nullable=False)
telefono = db.Column(db.String(20), nullable=True)
metodo = db.Column(db.String(50), nullable=False)
stato_iscrizione = db.Column(db.String(50), default='In attesa')
# Creazione del database
with app.app_context():
db.create_all()
@app.route('/iscrizione', methods=['POST'])
def iscrizione():
data = request.json
# Validazione dei dati
if not all(k in data for k in ("nome", "cognome", "codice_fiscale", "email", "metodo")):
return jsonify({"errore": "Dati mancanti"}), 400
nuovo_utente = Utente(
nome=data['nome'],
cognome=data['cognome'],
codice_fiscale=data['codice_fiscale'],
email=data['email'],
telefono=data.get('telefono'),
metodo=data['metodo']
)
try:
db.session.add(nuovo_utente)
db.session.commit()
return jsonify({"messaggio": "Iscrizione completata con successo."}), 201
except Exception as e:
return jsonify({"errore": str(e)}), 500
if __name__ == '__main__':
app.run(debug=True)