25 lines
636 B
Python
25 lines
636 B
Python
import dataclasses
|
|
|
|
import flask
|
|
import flask_login
|
|
|
|
import database
|
|
|
|
|
|
thread = flask.Blueprint(
|
|
name='thread_api',
|
|
import_name=__name__,
|
|
url_prefix='/thread/'
|
|
)
|
|
|
|
@thread.route('/get_messages')
|
|
@flask_login.login_required
|
|
def get_thread_messages() -> tuple[flask.Response, int]:
|
|
thread_id = flask.request.args.get("thread", type=int)
|
|
if thread_id is None:
|
|
return flask.jsonify({"error": "Missing thread parameter"}), 400
|
|
|
|
messages = database.get_messages_by_thread(thread_id)
|
|
messages_dicts = {"messages" : [dataclasses.asdict(msg) for msg in messages]}
|
|
return flask.jsonify(messages_dicts), 200
|