diff options
author | Parker <contact@pkrm.dev> | 2024-02-25 22:13:37 -0600 |
---|---|---|
committer | Parker <contact@pkrm.dev> | 2024-02-25 22:13:37 -0600 |
commit | 7086fbce95442659b390326b96ce89e62d1f72d8 (patch) | |
tree | 5cb249a5008302ba43a36f07ba9105f643438baf /app | |
parent | 96d64f47043032850e9bdb32e58c4be35767c0d0 (diff) |
Delete records for specific link
Diffstat (limited to 'app')
-rw-r--r-- | app/func/del_link_records.py | 20 | ||||
-rw-r--r-- | app/routes.py | 9 |
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 |