From bce119b0b3ba470bbb821e7ea2b8adf78e5112b7 Mon Sep 17 00:00:00 2001 From: white <122345776@umail.ucc.ie> Date: Fri, 28 Feb 2025 11:53:42 +0000 Subject: [PATCH] UPDATE: Added functions for adding to newsletter --- web_server/database/app.db | Bin 159744 -> 159744 bytes web_server/database/users.sql | 7 +++++++ web_server/utils/email.py | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 39 insertions(+) diff --git a/web_server/database/app.db b/web_server/database/app.db index 0efeceff46cdd8f0af62d64c796456f50ef784c3..ff11209eee6ba1289aa3a592649a84604904c701 100644 GIT binary patch delta 260 zcmZp8z}fJCbAq&>HvqXK{wHFJ`^M zlEq@hbcCsi;T)3>-%^G)t_!^H`O<*e+9oRs#B6UfU^L=p;hV!`zFASgn904Q&4OKA zQIWCHxFj(tCp9m%yf`Pdq$ITn!BTV%a&-)GRS0o(@^Mu_h;wOhDF8ugZenK6xp_3ed`&J*<2K9b{zi;4(g+>#h6pyuH=NrS*fFLnGBRxENMQUipN$tN#vrhj Sk?9xzHUTD%fUV3-KllN^c1m&p delta 146 zcmZp8z}fJCbAq&>7Xt%>IuMHkF*5@L%ZG_N#*AK#30o5wm*}hUGPE&pXK{wHFJ`^M zlEq@hbcCsi;T)3>-%^G)t_wgdAka2hQ6Oe}n*pN{Hwyy;)7#C80xy}iFSTP#Qe t&XK_QWByh_ruY1l4Fm+Y2{3U4F!6r@3cTXy;bxX*EK4ma&dkqa0RUT6CIbKf diff --git a/web_server/database/users.sql b/web_server/database/users.sql index 47e7a0d..ccbbf5e 100644 --- a/web_server/database/users.sql +++ b/web_server/database/users.sql @@ -57,4 +57,11 @@ CREATE TABLE followed_categories PRIMARY KEY (user_id, category_id), FOREIGN KEY(user_id) REFERENCES users(user_id) ON DELETE CASCADE, FOREIGN KEY(category_id) REFERENCES categories(category_id) ON DELETE CASCADE +); + +DROP TABLE IF EXISTS newsletter; +CREATE TABLE newsletter +( + email VARCHAR(256) NOT NULL, + PRIMARY KEY(email) ); \ No newline at end of file diff --git a/web_server/utils/email.py b/web_server/utils/email.py index 848245f..2e7dd09 100644 --- a/web_server/utils/email.py +++ b/web_server/utils/email.py @@ -7,6 +7,7 @@ from utils.auth import generate_token from secrets import token_hex from .user_utils import get_session_info_email import redis +from database.database import Database redis_url = "redis://redis:6379/1" r = redis.from_url(redis_url, decode_responses=True) @@ -157,4 +158,35 @@ def newsletter_conf(email): """ + add_to_newsletter(email) + return content + +def add_to_newsletter(email): + """ + Add a person to the newsletter database + """ + # Create connection to the database + db = Database() + db.create_connection() + + # Add the users email to the newsletter table + db.execute(""" + INSERT INTO newsletter (email) + VALUES (?); + """, (email,)) + + +def remove_from_newsletter(email): + """ + Remove a person from the newsletter database + """ + # Create connection to the database + db = Database() + db.create_connection() + + # Remove the users email from the newsletter table + db.execute(""" + DELETE FROM newsletter + WHERE email = ?; + """, (email,))