aboutsummaryrefslogtreecommitdiff
path: root/app/func/renew_link.py
diff options
context:
space:
mode:
authorParker <contact@pkrm.dev>2024-02-25 02:15:31 -0600
committerParker <contact@pkrm.dev>2024-02-25 02:15:31 -0600
commit0ea4abca33363f0bbdffa181b60beefc247774fa (patch)
tree0a6dcd17d5a6d7d9fdb1395548fb33cedf559f2c /app/func/renew_link.py
parentf3ff78bc8db5d8e7938407a62d56410cc72ce3a7 (diff)
Creation
Diffstat (limited to 'app/func/renew_link.py')
-rw-r--r--app/func/renew_link.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/app/func/renew_link.py b/app/func/renew_link.py
new file mode 100644
index 0000000..f0fc166
--- /dev/null
+++ b/app/func/renew_link.py
@@ -0,0 +1,22 @@
+import sqlalchemy
+import datetime
+
+from db import engine
+
+"""
+Renew a specified link so that the user can continue logging through that URL
+Adds 7 days from the current date
+"""
+def renew_link(link, owner):
+ with engine.begin() as conn:
+ try:
+ link_owner = conn.execute(sqlalchemy.text('SELECT owner FROM links WHERE link = :link'), [{'link': link}]).fetchone()[0]
+ except TypeError:
+ return 'Link does not exist', 200
+
+ if owner == link_owner:
+ with engine.begin() as conn:
+ conn.execute(sqlalchemy.text('UPDATE links SET expire_date = :expire_date WHERE link = :link'), [{'expire_date': (datetime.datetime.now() + datetime.timedelta(days=7)).strftime('%d/%m/%Y'), 'link': link}])
+ return f'Link renewed, now expires on {(datetime.datetime.now() + datetime.timedelta(days=7)).strftime("%d/%m/%Y")}', 200
+ else:
+ return 'You are not the owner of this link', 401 \ No newline at end of file