45 lines
1.4 KiB
Python
45 lines
1.4 KiB
Python
from flask import Blueprint, request, jsonify
|
|
from app.database import db
|
|
from app.models import documento
|
|
|
|
|
|
documentos_bp = Blueprint('documentos', __name__, url_prefix='/documentos')
|
|
|
|
@documentos_bp.route('/', methods=['GET'])
|
|
def get_documentos():
|
|
documentos = documento.query.all()
|
|
documentos_data = [
|
|
{
|
|
'id': str(doc.id),
|
|
'nome_arquivo': doc.nome_arquivo,
|
|
'caminho_arquivo': doc.caminho_arquivo,
|
|
'usuario_id': doc.usuario_id,
|
|
'criado_em': doc.criado_em
|
|
}
|
|
for doc in documentos
|
|
]
|
|
return jsonify(documentos_data), 200
|
|
|
|
@documentos_bp.route('/', methods=['POST'])
|
|
def create_documento():
|
|
data = request.get_json()
|
|
if not all(k in data for k in ('nome_arquivo', 'caminho_arquivo', 'usuario_id')):
|
|
return jsonify({'error': 'Campos obrigatórios ausentes'}), 400
|
|
|
|
try:
|
|
novo_documento = documento(
|
|
nome_arquivo=data['nome_arquivo'],
|
|
caminho_arquivo=data['caminho_arquivo'],
|
|
usuario_id=data['usuario_id']
|
|
)
|
|
db.session.add(novo_documento)
|
|
db.session.commit()
|
|
|
|
return jsonify({
|
|
'message': 'documento criado com sucesso',
|
|
'id': str(novo_documento.id)
|
|
}), 201
|
|
except Exception as e:
|
|
db.session.rollback()
|
|
return jsonify({'error': str(e)}), 500
|