testes/app/routes/servicos.py

56 lines
1.9 KiB
Python

from flask import Blueprint, jsonify
from flask_mysqldb import MySQL
from .auth import token_required
servicos = Blueprint('servicos', __name__)
mysql = MySQL() # Instância do MySQL será configurada no app principal
@servicos.route('/servicos', methods=['GET'])
@token_required
def listar_servicos(data):
try:
domain = data.get('domain', '') # Obtém o domínio do usuário do token
if not domain:
return jsonify({"status": "error", "message": "Usuário não autenticado!"}), 401
# Conecta ao banco de dados e consulta os serviços
cur = mysql.connection.cursor()
query = """
SELECT `servico1`, `servico2`, `servico3`, `servico4`, `servico5`,
`servico6`, `servico9`, `servico12`
FROM `servicos` WHERE `dominio` = %s
"""
cur.execute(query, (domain,))
results = cur.fetchall()
cur.close()
# Verificando se resultados foram retornados
if results:
# Quando a consulta retorna uma tupla com dicionário, acessamos o primeiro item da tupla
row = results[0] # A primeira linha é um dicionário
servicos_prestados = {
"servico1": row.get('servico1'),
"servico2": row.get('servico2'),
"servico3": row.get('servico3'),
"servico4": row.get('servico4'),
"servico5": row.get('servico5'),
"servico6": row.get('servico6'),
"servico9": row.get('servico9'),
"servico12": row.get('servico12'),
}
return jsonify(servicos_prestados), 200
else:
return jsonify({"erro": "Nenhum serviço encontrado"}), 404
except Exception as e:
print(f"Erro interno: {e}") # Print detalhado do erro
return jsonify({"status": "error", "message": "Erro interno"}), 500