from flask import Blueprint, request, jsonify, current_app from flask_mysqldb import MySQL import jwt from .auth import token_required # Importa o token_required de auth.py montagem = Blueprint('montagem', __name__, static_folder='repositorio_img') mysql = MySQL() @montagem.route('/mounting', methods=['GET']) @token_required # Verificação de token para autenticação def mounting(data): username_full = data['user'] # Verifica se o usuário está autenticado if not username_full: return jsonify({'msg': 'Token inválido!'}), 401 # Extrair o nome de usuário e o domínio do email do usuário autenticado username = username_full.split('@')[0] domain = username_full.split('@')[1] # Consultar o banco de dados para obter as informações do usuário (nome, img_perfil, img_fundo) cur = mysql.connection.cursor() cur.execute("SELECT nome, img_perfil, img_fundo FROM usuarios WHERE usuario = %s", (username,)) usuario_result = cur.fetchone() if usuario_result is None: cur.close() return jsonify({'msg': 'Usuário não encontrado no banco de dados'}), 404 nome_usuario, img_perfil_path, img_fundo_path = usuario_result perfil_MP = usuario_result['img_perfil'] fundo_MP = usuario_result['img_fundo'] # Consultar o banco de dados para obter o nome e o logo da empresa com base no domínio cur.execute("SELECT nome, logo FROM empresa WHERE dominio = %s", (domain,)) empresa_result = cur.fetchone() cur.close() if empresa_result is None: return jsonify({'msg': 'Empresa não encontrada no banco de dados para o domínio fornecido'}), 404 nome_empresa, logo_empresa_path = empresa_result logo_MP = empresa_result['logo'] # Montar a resposta JSON com os caminhos relativos das imagens e outras informações response_data = { 'usuario': { 'nome': username, 'img_perfil': f"/repositorio_img/{perfil_MP}", # Caminho relativo para a imagem de perfil 'img_fundo': f"/repositorio_img/{fundo_MP}" # Caminho relativo para a imagem de fundo }, 'empresa': { 'nome': domain, 'logo': f"/repositorio_img/{logo_MP}" # Caminho relativo para o logo da empresa } } return jsonify(response_data), 200