aboutsummaryrefslogtreecommitdiff
path: root/app/func/link/records.py
blob: 56bb6d2148919b23a0a7d2cfa2b36c51777759c3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import sqlalchemy

from db import engine

"""
Retrieve all records associated with a specific link
"""
def get_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 404

    if owner == link_owner:
        with engine.begin() as conn:
            records = conn.execute(sqlalchemy.text('SELECT timestamp, ip, location, browser, os, user_agent, isp FROM records WHERE owner = :owner and link = :link'), [{'owner': owner, 'link': link}]).fetchall()
        if not records:
            return 204
    else:
        return 401

    return records