aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/func/del_link_records.py20
-rw-r--r--app/routes.py9
2 files changed, 28 insertions, 1 deletions
diff --git a/app/func/del_link_records.py b/app/func/del_link_records.py
new file mode 100644
index 0000000..fbbce0e
--- /dev/null
+++ b/app/func/del_link_records.py
@@ -0,0 +1,20 @@
+import sqlalchemy
+
+from db import engine
+
+"""
+Delete all of the IP log records that are associated with a specific link
+"""
+def del_link_records(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('DELETE FROM records WHERE link = :link'), [{'link': link}])
+ return 'Link records have been deleted', 200
+ else:
+ return 'You are not the owner of this link', 401 \ No newline at end of file
diff --git a/app/routes.py b/app/routes.py
index 4a181cb..b05a778 100644
--- a/app/routes.py
+++ b/app/routes.py
@@ -10,6 +10,7 @@ from func.log import log
from func.delete_link import delete_link
from func.renew_link import renew_link
from func.link_records import link_records
+from func.del_link_records import del_link_records
app = flask.Flask(__name__)
@@ -88,4 +89,10 @@ def records_link(link):
if response[0].startswith('Timestamp'):
return response[0], response[1]
else:
- return flask.jsonify(msg=response[0]), response[1] \ No newline at end of file
+ return flask.jsonify(msg=response[0]), response[1]
+
+
+@app.route('/<link>/records', methods=['POST'])
+def records_delete(link):
+ response = del_link_records(link, auth.current_user())
+ return flask.jsonify(msg=response[0]), response[1] \ No newline at end of file