from flask import jsonify, abort, make_response from flask_restful import Resource, Api from jsonpickle import encode from PortalRH.portalrhjobs.ext.models import Vagas from portalrhjobs.ext.database import db from datetime import datetime class VagasApi(Resource): def get(self): vagas = Vagas.query.all() or abort(404) for vaga in vagas: vaga.data_abertura = vaga.data_abertura.strftime('%d/%m/%Y') if vaga.data_fechamento: vaga.data_fechamento = vaga.data_fechamento.strftime('%d/%m/%Y') dados = [vaga.to_dict() for vaga in vagas] json_data = jsonify(vagas=dados) resp = make_response(json_data) resp.headers['Content-Type'] = 'application/json; charset=utf-8' return resp class VagasApiItem(Resource): def get(self, item_id): vaga = Vagas.query.filter_by(id=item_id).first() or abort (404) # Pesquisa o item na lista de itens pelo ID vaga.data_abertura = vaga.data_abertura.strftime('%d/%m/%Y') if vaga.data_fechamento: vaga.data_fechamento = vaga.data_fechamento.strftime('%d/%m/%Y') dados = vaga.to_dict() json_data = jsonify(vaga=dados) resp = make_response(json_data) resp.headers['Content-Type'] = 'application/json; charset=utf-8' return resp def init_app(app): api = Api(app) api.add_resource(VagasApi, '/api/vagas') api.add_resource(VagasApiItem, '/api/vagas/')