import logging
from flask import Blueprint, jsonify, request
from .auth import token_required
from flask_mysqldb import MySQL

newuser = Blueprint('newuser', __name__)

mysql = MySQL()

# Configuração de logging
logging.basicConfig(level=logging.DEBUG)  # Log no nível de debug

@newuser.route('/inserir', methods=['POST'])
@token_required
def inserir_dados(get):  # Recebe current_user do decorador
    data = request.get_json()

    nome_completo = data.get('nome_completo')
    usuario_ad = data.get('usuario_ad')
    dominio_empresa = data.get('dominio_empresa')
    id_empresa = int(data.get('id_empresa'))

    if not nome_completo or not usuario_ad or not dominio_empresa or not id_empresa:
        return jsonify({'erro': 'Todos os campos são obrigatórios'}), 400

    conn = mysql.connection
    cursor = conn.cursor()

    try:
        query = """
        INSERT INTO usuarios (nome, usuario, dominio, fk_id_empresa)
        VALUES (%s, %s, %s, %s)
        """
        cursor.execute(query, (nome_completo, usuario_ad, dominio_empresa, id_empresa))
        conn.commit()
        
        return jsonify({'message': 'Dados inseridos com sucesso!'}), 200

    except Exception as err:
        logging.error(f"Erro ao inserir dados: {str(err)}", exc_info=True)  # Logando erro com traceback
        return jsonify({'erro': f'Erro ao inserir dados: {str(err)}'}), 500

    finally:
        cursor.close()
