48 lines
1.2 KiB
Python
48 lines
1.2 KiB
Python
from flask import Blueprint
|
|
from blueprints.utils import login_required
|
|
from database.database import Database
|
|
|
|
chat_bp = Blueprint("chat", __name__)
|
|
|
|
@login_required
|
|
def chat():
|
|
"""
|
|
Works with react, takes the chat entered by a logged in user and stores in database
|
|
"""
|
|
|
|
|
|
return {}
|
|
|
|
|
|
def get_all_chat():
|
|
"""
|
|
Returns a dictionary to be passed to the server.
|
|
|
|
Output structure in the following format: `{(chatter, message), ...}` for all chats.
|
|
|
|
Rans once when a user first logs into a stream
|
|
"""
|
|
|
|
# Connect to the database
|
|
db = Database()
|
|
cursor = db.create_connection()
|
|
|
|
# Returns list of tuples: (chatter_id, message)
|
|
all_chats = cursor.execute("""SELECT ?, ? FROM chat
|
|
ORDER BY ?;""", ("chatter_id", "message", "time_sent")).fetchall()
|
|
|
|
# Create JSON output of chat_history to pass through NGINX proxy
|
|
chat_history = {}
|
|
for chat in all_chats:
|
|
chat_history[chat[0]] = chat[1]
|
|
|
|
# Pass the chat history to the proxy
|
|
return chat_history
|
|
|
|
def get_recent_chat():
|
|
"""
|
|
Run periodically to return new chat messages on a stream a user has already loaded in to.
|
|
|
|
|
|
"""
|
|
return {} |