from flask import Blueprint, request, jsonify from flask_jwt_extended import jwt_required from models.group import Group, db group_bp = Blueprint('group', __name__, url_prefix='/groups') @group_bp.route('/', methods=['POST']) @jwt_required() def create_group(): data = request.get_json() name = data.get('name') if Group.query.filter_by(name=name).first(): return jsonify({'error': 'Grupo já existe'}), 400 group = Group(name=name) db.session.add(group) db.session.commit() return jsonify({'message': 'Grupo criado com sucesso'}), 201 @group_bp.route('/', methods=['GET']) @jwt_required() def list_groups(): groups = Group.query.all() return jsonify([{'id': g.id, 'name': g.name} for g in groups]), 200 @group_bp.route('/', methods=['PUT']) @jwt_required() def update_group(group_id): data = request.get_json() group = Group.query.get_or_404(group_id) group.name = data.get('name', group.name) db.session.commit() return jsonify({'message': 'Grupo atualizado com sucesso'}), 200 @group_bp.route('/', methods=['DELETE']) @jwt_required() def delete_group(group_id): group = Group.query.get_or_404(group_id) db.session.delete(group) db.session.commit() return jsonify({'message': 'Grupo excluído com sucesso'}), 200