Skip to content
Snippets Groups Projects
Commit e052d951 authored by ale's avatar ale
Browse files

Add JSON API endpoint

parent 13a09143
No related branches found
No related tags found
No related merge requests found
...@@ -9,3 +9,12 @@ class FeedbackEntry(db.Model): ...@@ -9,3 +9,12 @@ class FeedbackEntry(db.Model):
is_list = db.Column(db.Boolean, index=True) is_list = db.Column(db.Boolean, index=True)
message = db.Column(db.Text) message = db.Column(db.Text)
timestamp = db.Column(db.DateTime) timestamp = db.Column(db.DateTime)
def to_api_dict(self):
return {
'id': self.id,
'sender': self.sender,
'reporter': self.reporter,
'is_list': self.is_list,
'timestamp': self.timestamp.strftime('%Y-%m-%dT%H:%M:%SZ'),
}
from flask import request, render_template, abort from flask import request, render_template, abort, jsonify
from sqlalchemy import func, text from sqlalchemy import func, text
from .app import app, db from .app import app, db
from .model import FeedbackEntry from .model import FeedbackEntry
...@@ -24,6 +24,16 @@ def by_sender(sender): ...@@ -24,6 +24,16 @@ def by_sender(sender):
reports=reports) reports=reports)
@app.route('/api/by_sender/<sender>')
def api_by_sender(sender):
reports = FeedbackEntry.query.filter(
FeedbackEntry.sender == sender).order_by(
FeedbackEntry.timestamp.desc())
return jsonify({
'reports': [x.to_api_dict() for x in reports],
})
@app.route('/') @app.route('/')
def index(): def index():
n = int(request.args.get('n', '20')) n = int(request.args.get('n', '20'))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment