File size: 1,601 Bytes
b9a69cb
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
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/<int:item_id>')