from flask import Flask, jsonify
from simplesnacional import consulta

app = Flask(__name__)
app.json.sort_keys = False

@app.route('/json/<cnpj>', methods=['GET'])
def json_consulta(cnpj):
    dados = consulta(cnpj)
    if dados:
        return jsonify({
            "status": "sucesso",
            "cnpj": dados.cnpj_base,
            "opcao_simples": dados.opcao_simples,
            "data_opcao_simples": dados.data_opcao_simples,
            "data_exclusao_simples": dados.data_exclusao_simples,
            "opcao_mei": dados.opcao_mei,
            "data_opcao_mei": dados.data_opcao_mei,
            "data_exclusao_mei": dados.data_exclusao_mei
        })
    else:
        # Quando não encontrado, retorna estrutura vazia mas com sucesso (conforme edição anterior do usuario)
        # Nota: dados é None aqui, então usamos o cnpj da requisição
        import re
        clean_cnpj = re.sub(r'\D', '', str(cnpj))[:8]
        return jsonify({
            "status": "sucesso",
            "cnpj": clean_cnpj,
            "opcao_simples": "N",
            "data_opcao_simples": "",
            "data_exclusao_simples": "",
            "opcao_mei": "N",
            "data_opcao_mei": "",
            "data_exclusao_mei": ""
        })

@app.route('/api/<cnpj>', methods=['GET'])
def api_consulta(cnpj):
    dados = consulta(cnpj)
    if dados:
        if dados.opcao_simples == 'S':
            return f"Optante pelo Simples Nacional desde {dados.data_opcao_simples}"
        else:
            return "Não optante pelo Simples Nacional"
    else:
        return "Não optante pelo Simples Nacional"

def run_server(port=5000):
    print(f"Iniciando servidor API Simples Nacional na porta {port}...")
    app.run(host='0.0.0.0', port=port)
