ISCRIZIONE ALL’ANTEL-CSA
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)