From bc1a48a5719e589601456cc4bd7b8be590b09d86 Mon Sep 17 00:00:00 2001 From: ThisBirchWood Date: Wed, 29 Jan 2025 00:38:10 +0000 Subject: [PATCH] UPDATE: Added stream title and selected category to users table --- web_server/blueprints/authentication.py | 11 +++++++---- web_server/blueprints/streams.py | 17 ++++++++++++----- web_server/database/app.db | Bin 73728 -> 73728 bytes web_server/database/testing_data.sql | 12 ++++++------ web_server/database/users.sql | 5 ++++- 5 files changed, 29 insertions(+), 16 deletions(-) diff --git a/web_server/blueprints/authentication.py b/web_server/blueprints/authentication.py index d7c5a83..469124a 100644 --- a/web_server/blueprints/authentication.py +++ b/web_server/blueprints/authentication.py @@ -3,6 +3,7 @@ from werkzeug.security import generate_password_hash, check_password_hash from flask_cors import cross_origin from database.database import Database from blueprints.utils import login_required, sanitizer +from secrets import token_hex auth_bp = Blueprint("auth", __name__) @@ -78,16 +79,18 @@ def signup(): # Create new user once input is validated cursor.execute( """INSERT INTO users - (username, password, email, num_followers, stream_key, is_partnered, bio) - VALUES (?, ?, ?, ?, ?, ?, ?)""", + (username, password, email, num_followers, stream_key, is_partnered, bio, current_stream_title, current_selected_category_id) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)""", ( username, generate_password_hash(password), email, 0, - '1', + token_hex(32), 0, - "This user does not have a Bio." + "This user does not have a Bio.", + "My Stream", + None ) ) db.commit_data() diff --git a/web_server/blueprints/streams.py b/web_server/blueprints/streams.py index 6ca82ed..cb490ad 100644 --- a/web_server/blueprints/streams.py +++ b/web_server/blueprints/streams.py @@ -181,11 +181,18 @@ def publish_stream(): # Check if stream key is valid db = Database() db.create_connection() - stream = db.fetchone("SELECT username FROM users WHERE stream_key = ?", (stream_key,)) + user_info = db.fetchone("""SELECT user_id, username + FROM users + WHERE stream_key = ?""", (stream_key,)) - ## TODO: Add stream to database - - if not stream: + if not user_info: return "Unauthorized", 403 - return redirect(f"/{stream['username']}") + return redirect(f"/{user_info['username']}") + +@stream_bp.route("/end_stream", methods=["POST"]) +def end_stream(): + """ + Ends a stream + """ + return diff --git a/web_server/database/app.db b/web_server/database/app.db index 7b7a56e8095353f977d06e378859b391339c215c..57ecae5d350e9f9283aca56549b1cb4466651e34 100644 GIT binary patch delta 414 zcmZoTz|wGlWrDQeK?Vi}At2@fVipDl#`1|e#<~X?^mGDvnLaY`GI}%cuVeJ)b7A?w zbCG2!>tPl{W@8Qs)>8I5uCJ^PoY(mCCr;eY-K^A@#V#%`&e*2BIhD_yF+zunO92Ry zON)w9^Gf22ONvqxbK^@gOL9^b!W@H~Jsg8H3=Ir4bx@V1=AFOpO}jo z^CqXU*z>R|FmQrZ={Dv}-pHcM$!@?93Kp2G$?C)G-B>*NEW0;LQ)XlSW?j}yMi$P6 z41SYmv3apHiZzx18PiyrSsRNs%W$+Zf3Z_3Y%FJ{_t-W`0zo0;sOBxa>RO} delta 1652 zcmaJ>U1%It6ux)vot>Th?Aa)qHc>K5@F9>*XJ&UzQcx2#Ce059BQ_{jr@OPeWA`V_ z%%+JTn{D+yvXBSC2a#ePLMUAXeJl84qk=DyLa>NGhzh3F_Mz&7=gu@~1QGV`oH;+= z`R;el?%Gwpc9pO9c5M?v9>CLqhZ90`?+m7r+hk~PzLQ@fozg7=+p(8AZu0H+H+fbb zVEfXo=rLtS(bf0mG4*Sxwz}f`l=Dl}Zw@n;H{NL2X#7oc%{2Gu+2$sHD$Z{Z6&nze zY`hlf9`9{#@ncPpyE-EqWF`n)a2l^Plk$_z0eQ9skpx9DkI--(9e@1#JIx}gNZTFd4&Ni1U&pTgrbB38J z2xktRsj))Ya!NzlYPn-=cw|&x@Lk&~JC%Y~Uez#7SXOS?uJ|?A_7aOS0{4v~@Z7>u z)%Cpv-*UacLfFvo{JQ0i*(+9gsbmXe<*Ur&!z0sGr=pc@EnjuDlCx}UVYXIV%2_@_ z&vKRYKAJ-4rzdi?$(ma$*_K;DSUXoM;OkLHrlk?{1>4FN1w(t;c31ttJf)qh)T`%* z=9o&3_ZtFk-1VQeDwgXzp6_H45Y4<*If_RIQwTV*vQ(Mk*5VJYtvTwuppzE z2R+V61}dkfM7}z)*wcsbyRMLz#aG%zK31d!PJjoN|hNo9!l218R^3<&00Qoi!eqW#3hSL zjC2RQRf?%0CDB!eO#=Jy4SWutz$T(?!0RA$swQM)nojB?$&?=FoYDlp=NU~JW}FER z<3Wz0Crv#r36I1=kC8MoK)H&Z&|%{2+Jb(21pb8I;TQN0_ORbIcr1eLs4Oc8K)K9= zC*v%5N=%XwMwPBy4z^~Oz+DvSC%6H-Sp6wHp&(m|!iT{v_BFIt3qKe=|B}tW$ zib~rK3H$|r1OkQxhJ#M>0Ruz`>+dm;B#zZ;sFqLQ2lx!OU>$tye-`RJvP@_q;oO%C zEnHPIX^!;pAXW@xLbx!7@|Zm=h!uiZAmKsG)O(~LmJee>%rIu6)kA}r9mdQ~6!xG{ KH$Le4R{sZwaGP}i diff --git a/web_server/database/testing_data.sql b/web_server/database/testing_data.sql index dfba1fa..ac4f2d3 100644 --- a/web_server/database/testing_data.sql +++ b/web_server/database/testing_data.sql @@ -7,12 +7,12 @@ INSERT INTO categories (category_name) VALUES ('Sports'); -- Sample data for users -INSERT INTO users (username, password, email, num_followers, stream_key, is_partnered, bio) VALUES -('GamerDude', 'password123', 'gamerdude@example.com', 500, '1234', 0, 'Streaming my gaming adventures!'), -('MusicLover', 'music4life', 'musiclover@example.com', 1200, '2345', 0, 'I share my favorite tunes.'), -('ArtFan', 'artistic123', 'artfan@example.com', 300, '3456', 0, 'Exploring the world of art.'), -('EduGuru', 'learn123', 'eduguru@example.com', 800, '4567', 0, 'Teaching everything I know.'), -('SportsStar', 'sports123', 'sportsstar@example.com', 2000, '5678', 0, 'Join me for live sports updates!'); +INSERT INTO users (username, password, email, num_followers, stream_key, is_partnered, bio, current_stream_title, current_selected_category_id) VALUES +('GamerDude', 'password123', 'gamerdude@example.com', 500, '1234', 0, 'Streaming my gaming adventures!', 'Epic Gaming Session', 1), +('MusicLover', 'music4life', 'musiclover@example.com', 1200, '2345', 0, 'I share my favorite tunes.', 'Live Music Jam', 2), +('ArtFan', 'artistic123', 'artfan@example.com', 300, '3456', 0, 'Exploring the world of art.', 'Sketching Live', 3), +('EduGuru', 'learn123', 'eduguru@example.com', 800, '4567', 0, 'Teaching everything I know.', 'Math Made Easy', 4), +('SportsStar', 'sports123', 'sportsstar@example.com', 2000, '5678', 0, 'Join me for live sports updates!', 'Sports Highlights', 5); -- Sample data for streams INSERT INTO streams (user_id, title, start_time, num_viewers, isLive, vod_id, category_id) VALUES diff --git a/web_server/database/users.sql b/web_server/database/users.sql index 111edc1..c6b6450 100644 --- a/web_server/database/users.sql +++ b/web_server/database/users.sql @@ -11,7 +11,10 @@ CREATE TABLE users num_followers INTEGER NOT NULL, stream_key VARCHAR(60) NOT NULL, is_partnered BOOLEAN NOT NULL DEFAULT 0, - bio VARCHAR(1024) + bio VARCHAR(1024), + + current_stream_title VARCHAR(100), + current_selected_category_id INTEGER ); SELECT * FROM users;