61 lines
2.3 KiB
Python
61 lines
2.3 KiB
Python
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
|