from flask import Flask, jsonify, request

from pymongo import MongoClient


app = Flask(__name__)

client = MongoClient('mongodb://localhost:27017/'# Conectando ao MongoDB

print(client)

db = client['mydatabase'# Selecionando o banco de dados


@app.route('/users', methods=['GET'])

def get_users():

   users = db.users.find()  # Obtendo todos os documentos da coleção "users"

   user_list = []

   for user in users:

       user_list.append({

           'name': user['name'],

           'age': user['age']

       })

   return jsonify(user_list)


@app.route('/users', methods=['POST'])

def add_user():

   user_data = request.get_json()

   name = user_data['name']

   age = user_data['age']

   user = {

       'name': name,

       'age': age

   }

   db.users.insert_one(user)  # Inserindo um novo documento na coleção "users"

   return jsonify({'message': 'User added successfully'})


@app.route('/users/<name>', methods=['PUT'])

def update_user(name):

   user_data = request.get_json()

   age = user_data['age']

   db.users.update_one({'name': name}, {'$set': {'age': age}})  # Atualizando um documento na coleção "users"

   return jsonify({'message': 'User updated successfully'})


@app.route('/users/<name>', methods=['DELETE'])

def delete_user(name):

   db.users.delete_one({'name': name})  # Removendo um documento da coleção "users"

   return jsonify({'message': 'User deleted successfully'})


if __name__ == '__main__':

   app.run()