Harden auth and persist report schedules

This commit is contained in:
dwindown
2026-06-06 19:40:32 +07:00
parent aaf64264f7
commit fd7989f673
18 changed files with 748 additions and 105 deletions

View File

@@ -77,7 +77,7 @@ async def preview_import(
HTTPException: If file format is invalid or parsing fails
"""
website_id = require_website_auth(auth, allowed_roles={"admin", "system_admin"})
enforce_rate_limit(
await enforce_rate_limit(
request,
scope="import.preview",
max_requests=30,
@@ -181,7 +181,7 @@ async def import_questions(
HTTPException: If file format is invalid, validation fails, or import fails
"""
website_id = require_website_auth(auth, allowed_roles={"admin", "system_admin"})
enforce_rate_limit(
await enforce_rate_limit(
request,
scope="import.questions",
max_requests=20,
@@ -351,7 +351,7 @@ async def preview_tryout_json(
db: AsyncSession = Depends(get_db),
) -> dict:
website_id = require_website_auth(auth, allowed_roles={"admin", "system_admin"})
enforce_rate_limit(
await enforce_rate_limit(
request,
scope="import.tryout_json_preview",
max_requests=30,
@@ -394,7 +394,7 @@ async def import_tryout_json(
db: AsyncSession = Depends(get_db),
) -> dict:
website_id = require_website_auth(auth, allowed_roles={"admin", "system_admin"})
enforce_rate_limit(
await enforce_rate_limit(
request,
scope="import.tryout_json",
max_requests=20,