feat: ajout de l'épinglage et de la suppression des projets avec mise à jour UI
Build and Push Docker Image / build-and-push (push) Successful in 43s
Build and Push Docker Image / build-and-push (push) Successful in 43s
This commit is contained in:
1 parent
cac70a5aaa
commit
c8a38f3eb8
2 files changed
+91
-18
No files matched your search
+24
-1
@@ -173,4 +173,27 @@ def create_project(project: ProjectCreate, db: Session = Depends(get_db), curren
|
||||
db.add(new_project)
|
||||
db.commit()
|
||||
db.refresh(new_project)
|
||||
return new_project
|
||||
return new_project
|
||||
|
||||
@app.put("/api/projects/{project_id}/pin", response_model=ProjectResponse)
|
||||
def toggle_pin_project(project_id: int, db: Session = Depends(get_db), current_user: User = Depends(get_current_user)):
|
||||
"""Bascule le statut épinglé (is_pinned) d'un projet."""
|
||||
project = db.query(Project).filter(Project.id == project_id, Project.user_id == current_user.id).first()
|
||||
if not project:
|
||||
raise HTTPException(status_code=404, detail="Projet introuvable")
|
||||
|
||||
project.is_pinned = not project.is_pinned
|
||||
db.commit()
|
||||
db.refresh(project)
|
||||
return project
|
||||
|
||||
@app.delete("/api/projects/{project_id}")
|
||||
def delete_project(project_id: int, db: Session = Depends(get_db), current_user: User = Depends(get_current_user)):
|
||||
"""Supprime définitivement un projet et tous ses messages associés."""
|
||||
project = db.query(Project).filter(Project.id == project_id, Project.user_id == current_user.id).first()
|
||||
if not project:
|
||||
raise HTTPException(status_code=404, detail="Projet introuvable")
|
||||
|
||||
db.delete(project)
|
||||
db.commit()
|
||||
return {"message": "Projet supprimé"}
|
||||
Reference in new issue
Block a user