forked from Anteros-Code-Mentoria/poc-mvc-ocr
44 lines
1.2 KiB
Python
44 lines
1.2 KiB
Python
from flask import Blueprint, request, jsonify
|
|
from app.database import db
|
|
from app.models import Organizacao # ajuste conforme sua estrutura
|
|
|
|
organizacoes_bp = Blueprint(
|
|
'organizacoes', __name__, url_prefix='/organizacoes')
|
|
|
|
|
|
@organizacoes_bp.route('/', methods=['GET'])
|
|
def get_organizacoes():
|
|
organizacoes = Organizacao.query.all()
|
|
data = [
|
|
{
|
|
'id': org.id,
|
|
'nome': org.nome,
|
|
'criado_em': org.criado_em
|
|
}
|
|
for org in organizacoes
|
|
]
|
|
return jsonify(data), 200
|
|
|
|
|
|
@organizacoes_bp.route('/', methods=['POST'])
|
|
def create_organizacao():
|
|
data = request.get_json()
|
|
if not data or 'nome' not in data:
|
|
return jsonify({'error': 'O campo "nome" é obrigatório'}), 400
|
|
|
|
if Organizacao.query.filter_by(nome=data['nome']).first():
|
|
return jsonify({'error': 'Já existe uma organização com este nome'}), 409
|
|
|
|
try:
|
|
nova_org = Organizacao(nome=data['nome'])
|
|
db.session.add(nova_org)
|
|
db.session.commit()
|
|
|
|
return jsonify({
|
|
'message': 'Organização criada com sucesso',
|
|
'id': nova_org.id
|
|
}), 201
|
|
except Exception as e:
|
|
db.session.rollback()
|
|
return jsonify({'error': str(e)}), 500
|