from flask import Blueprint, jsonify, request from app.auth import token_required from app.models.documentos import document from app.database import db document_bp = Blueprint("documents", __name__) # Listar todos os documentos @document_bp.route("/", methods=["GET"]) @token_required def get_documents(self): documents = document.query.all() return jsonify([ {"id": d.id, "title": d.title, "content": d.content, "owner_id": d.user_id} for d in documents ]) # Criar um novo documento @document_bp.route("/", methods=["POST"]) @token_required def create_document(self): data = request.get_json() title = data.get("title") content = data.get("content") new_doc = document(title=title, content=content, user_id=self.id) # self.id vem do token db.session.add(new_doc) db.session.commit() return jsonify({"message": "Documento criado com sucesso!", "document_id": new_doc.id}), 201 # Obter um documento especĂ­fico @document_bp.route("/", methods=["GET"]) @token_required def get_document(self, document_id): document = document.query.get_or_404(document_id) return jsonify({ "id": document.id, "title": document.title, "content": document.content, "owner_id": document.user_id }) # Atualizar um documento @document_bp.route("/", methods=["PUT"]) @token_required def update_document(self, document_id): document = document.query.get_or_404(document_id) data = request.get_json() document.title = data.get("title", document.title) document.content = data.get("content", document.content) db.session.commit() return jsonify({"message": "Documento atualizado com sucesso!"}) # Deletar um documento @document_bp.route("/", methods=["DELETE"]) @token_required def delete_document(self, document_id): document = document.query.get_or_404(document_id) db.session.delete(document)