testes/app/routes/servicos.py

60 lines
2.2 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, imagem1, servico2, imagem2, servico3, imagem3,
servico4, imagem4, servico5, imagem5, servico6, imagem6,
servico7, imagem7, servico8, imagem8, servico9, imagem9,
servico12, imagem12
FROM servicos WHERE dominio = %s
"""
cur.execute(query, (domain,))
results = cur.fetchall()
cur.close()
if results:
row = results[0] # Pega a primeira linha retornada
print(f"Dados retornados: {row}") # Verifique os dados retornados
servicos_prestados = {}
# Mapeando os serviços e suas respectivas imagens
for i in [1, 2, 3, 4, 5, 6, 9, 12]:
servico = row[f'servico{i}']
imagem = row[f'imagem{i}']
if servico: # Se o serviço existir, adicionamos ao dicionário
servicos_prestados[f"servico{i}"] = {
"nome": servico,
"imagem": imagem if imagem else None
}
print(servicos_prestados) # Verifique o que está sendo retornado
if servicos_prestados:
return jsonify(servicos_prestados), 200
else:
return jsonify({"erro": "Nenhum serviço disponível"}), 404
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