front_ponto_eletronico/routes/group.py.bkp
2025-03-17 15:00:51 -03:00

44 lines
1.3 KiB
Plaintext

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('/<int:group_id>', 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('/<int:group_id>', 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