Fix get_user_by_api_key to also check api_keys table
Browse files- database.py +6 -0
database.py
CHANGED
|
@@ -101,6 +101,12 @@ def get_user_by_username(username: str) -> Optional[Dict]:
|
|
| 101 |
def get_user_by_api_key(api_key: str) -> Optional[Dict]:
|
| 102 |
with get_db() as conn:
|
| 103 |
row = conn.execute("SELECT * FROM users WHERE api_key = ? AND is_active = 1", (api_key,)).fetchone()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 104 |
return dict(row) if row else None
|
| 105 |
|
| 106 |
|
|
|
|
| 101 |
def get_user_by_api_key(api_key: str) -> Optional[Dict]:
|
| 102 |
with get_db() as conn:
|
| 103 |
row = conn.execute("SELECT * FROM users WHERE api_key = ? AND is_active = 1", (api_key,)).fetchone()
|
| 104 |
+
if row:
|
| 105 |
+
return dict(row)
|
| 106 |
+
row = conn.execute(
|
| 107 |
+
"SELECT u.* FROM users u JOIN api_keys a ON u.id = a.user_id WHERE a.api_key = ? AND a.is_active = 1",
|
| 108 |
+
(api_key,)
|
| 109 |
+
).fetchone()
|
| 110 |
return dict(row) if row else None
|
| 111 |
|
| 112 |
|