Skip to content
This repository was archived by the owner on Sep 30, 2025. It is now read-only.

Commit 5f6ff09

Browse files
committed
Add API analytics for collecting data
1 parent 0031a1e commit 5f6ff09

File tree

5 files changed

+24
-0
lines changed

5 files changed

+24
-0
lines changed

.env.example

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
JWT_SECRET_KEY=
22
HIGHLIGHT_PROJECT_ID=
3+
ANALYTICS_API_KEY=
34
TURNSTILE_SECRET_KEY=
45
VERDICTS_DISCORD_WEBHOOK_URL=
56
REPORTS_DISCORD_WEBHOOK_URL=

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ description = "API for StopMalwareContent Extension."
55
readme = "README.md"
66
requires-python = ">=3.13"
77
dependencies = [
8+
"api-analytics[fastapi]>=1.2.6",
89
"authx>=1.4.2",
910
"fastapi[standard]>=0.115.12",
1011
"highlight-io>=0.10.1",

src/env.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
JWT_SECRET_KEY = os.getenv("JWT_SECRET_KEY")
77
HIGHLIGHT_PROJECT_ID = os.getenv("HIGHLIGHT_PROJECT_ID")
8+
ANALYTICS_API_KEY = os.getenv("ANALYTICS_API_KEY")
89
TURNSTILE_SECRET_KEY = os.getenv("TURNSTILE_SECRET_KEY")
910
VERDICTS_DISCORD_WEBHOOK_URL = os.getenv("VERDICTS_DISCORD_WEBHOOK_URL")
1011
REPORTS_DISCORD_WEBHOOK_URL = os.getenv("REPORTS_DISCORD_WEBHOOK_URL")

src/main.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
from config.database import sites_collection, reports_collection
1111
from schema.schemas import site_entities
1212
from highlight_io.integrations.fastapi import FastAPIMiddleware
13+
from api_analytics.fastapi import Analytics
1314

1415
app = FastAPI(
1516
title="StopMalwareContent API",
@@ -33,6 +34,7 @@
3334
allow_headers=["*"],
3435
)
3536
app.add_middleware(FastAPIMiddleware)
37+
app.add_middleware(Analytics, api_key=env.ANALYTICS_API_KEY)
3638

3739
config = AuthXConfig(
3840
JWT_ALGORITHM="HS256",

uv.lock

Lines changed: 19 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)