# Domain
name : str
- # Reported By
- reported_by : str
-
# Comment
comment : str = ""
@router.post("/{list}/reports")
async def list_report(
report: CreateReport,
- auth = fastapi.Depends(require_api_key),
list = fastapi.Depends(get_list_from_path),
+ user = fastapi.Depends(require_api_key),
) -> reports.Report:
return await list.report(
name = report.name,
- reported_by = report.reported_by,
+ reported_by = user,
comment = report.comment,
block = report.block,
)
import uuid
from . import database
+from . import users
from .i18n import _
# Setup logging
return await self.backend.db.fetch_one(stmt)
- async def create(self, comment=None, **kwargs):
+ async def create(self, reported_by, comment=None, **kwargs):
"""
Creates a new report
"""
+ # The database can only handle users by their UID
+ if isinstance(reported_by, users.User):
+ reported_by = reported_by.uid
+
report = await self.backend.db.insert(
- Report, **kwargs,
+ Report, reported_by=reported_by, **kwargs,
)
# Manifest the object in the database immediately to assign the ID