Ja tentei fazer de tudo mas sempre q peco GET para o PostMan ele me volta uma lista vazia, irei mandar os codigos abaixo!
#__init__.py
from flask import Flask
from pymongo import MongoClient
db = None
def create_app():
app = Flask(__name__)
app.config.from_object('config.Config')
global db
try:
client = MongoClient(app.config['MONGO_URI'])
db = client.get_default_database()
except Exception as e:
print(f"Erro ao realizar a conexao com o banco de dados: {e}")
from .routes.main import main_bp
app.register_blueprint(main_bp)
return app
#run.py
from app import create_app
app = create_app()
if __name__ == '__main__':
app.run(debug=True)
#.env
MONGO_URI=mongodb://localhost:27017/stylessync
#main.py
from flask import Blueprint,jsonify,request
# Blueprint -> Responsavel por organizar o grupo de rotas
# jsonify -> Converte os dicionarios do python em formato json
# request -> permite as informacoes via requisicao
from app.models.users import LoginPayload
# Importa o modelo que construimos
from pydantic import ValidationError
# Permite o erro em caso de algum dado invalido
from app import db
# DataBase
from bson import ObjectId
# Converte a string
main_bp = Blueprint('main_bp', __name__)
# RF: O nosso sistema deve permitir que um usuario se autentique para obter um token
@main_bp.route('/login', methods = ['POST',])
def login():
try:
raw_data = request.get_json()
user_data =LoginPayload(**raw_data)
except ValidationError as e:
return jsonify({"error":e.errors()}), 400 # Status code no fim
except Exception as e:
return jsonify({"error":"Erro durante a requisicao de dados"}), 500 # Status code no fim
if user_data.username == 'admin' and user_data.password == '123':
return jsonify({"message":"Login bem sucedido"})
else:
return jsonify({"error":"Credenciais invalidas"})
# RF: O Sistema deve permitir listagem de todos os produtos
@main_bp.route('/products',methods=['GET',])
def get_products():
products_cursor = db.products.find({})
products_list = []
for products in products_cursor:
products['_id'] = str(products['_id'])
products_list.append(products)
return jsonify(products_list)
# RF: O Sistema deve permitir a criacao de um novo produto
@main_bp.route('/products',methods=['POST',])
def cretate_products():
return jsonify({"message":"Esta eh a rota de criacao dos produto"})
# RF: O Sistema deve permitir a visualizacao dos detalhes de um unico produto
@main_bp.route('/product/<int:product_id>',methods=['GET',])
def get_products_by_id(product_id):
return jsonify({"message":f"Esta eh a rota de vizualizacao de detalhes do produto com o id {product_id}"})
# RF: O Sistema deve permitir a atualizacao de um unico produto e produto existente
@main_bp.route('/product/<int:product_id>',methods=['PUT',])
def update_product(product_id):
return jsonify({"message":f"Esta eh a rota de atualizacao de detalhes do produto com o id {product_id}"})
# RF: O Sistema deve permitir a delecao de um unico produto e produto existente
@main_bp.route('/product/<int:product_id>',methods=['DELETE',])
def delete_product(product_id):
return jsonify({"message":f"Esta eh a rota de delecao do produto com o id {product_id}"})
# RF: O Sistema deve permitir a importacao de vendas atraves de um arquivo
@main_bp.route('/sales/upload',methods=['POST',])
def upload_sales():
return jsonify({"message":"Esta eh a rota de vizualizacao de uploado do arquivo de vendas"})
@main_bp.route('/')
def index():
return jsonify({"message":"Oiiii, aprendendo Flask(eu acho)"})
#config.py
import os
from dotenv import load_dotenv
load_dotenv()
class Config:
MONGO_URI = os.getenv("MONGO_URI"!)