21 lines
892 B
Python
21 lines
892 B
Python
from sqlalchemy import insert
|
|
from models.schemas import TechnicalIssue
|
|
from config.database import get_db
|
|
from models.db import technical_issues_table # Assure-toi d'avoir une table `technical_issues_table` définie dans `db.py`
|
|
|
|
class MessageService:
|
|
@staticmethod
|
|
async def create_issue(issue: TechnicalIssue, db):
|
|
query = insert(technical_issues_table).values(
|
|
user_id=issue.user_id,
|
|
description=issue.description,
|
|
status="open" # Par défaut, le statut est "open"
|
|
)
|
|
try:
|
|
result = await db.execute(query)
|
|
await db.commit()
|
|
issue_id = result.inserted_primary_key[0]
|
|
return {"id": issue_id, **issue.dict()}
|
|
except Exception as e:
|
|
await db.rollback()
|
|
raise HTTPException(status_code=500, detail=f"Could not create technical issue: {str(e)}") |