Files
eryao/backend/src/v1/feedback/repository.py
T

41 lines
961 B
Python
Raw Normal View History

from __future__ import annotations
from dataclasses import dataclass
from uuid import UUID
from sqlalchemy.ext.asyncio import AsyncSession
from models.user_feedback import UserFeedback
@dataclass
class FeedbackRepository:
session: AsyncSession
async def create_feedback(
self,
*,
user_id: UUID | None,
feedback_type: str,
content: str,
images: list[str],
device_info: dict,
app_version: str,
os_version: str,
) -> UserFeedback:
feedback = UserFeedback(
user_id=user_id,
feedback_type=feedback_type,
content=content,
images=images,
device_info=device_info,
app_version=app_version,
os_version=os_version,
)
self.session.add(feedback)
await self.session.flush()
return feedback
async def save(self) -> None:
await self.session.commit()