QuentinL52 commited on
Commit
764f303
·
verified ·
1 Parent(s): c3fefab

Update src/services/cv_router.py

Browse files
Files changed (1) hide show
  1. src/services/cv_router.py +4 -5
src/services/cv_router.py CHANGED
@@ -24,22 +24,21 @@ class CVResponse(BaseModel):
24
  class Config:
25
  populate_by_name = True
26
  json_encoders = {ObjectId: str}
 
27
 
28
  @router.post("/cvs", response_model=CVResponse)
29
  async def create_cv(cv: CVCreate, db: AsyncIOMotorDatabase = Depends(lambda: mongo_db)):
30
  cv_entry = CVModel(**cv.model_dump(by_alias=True))
31
  cv_id = await CVModel.create(db, CVModel.collection_name, cv_entry.model_dump(exclude_unset=True))
32
- cv_entry.id = cv_id
33
- return cv_entry
34
 
35
  @router.get("/cvs/{cv_id}", response_model=CVResponse)
36
  async def get_cv_by_id(cv_id: str, db: AsyncIOMotorDatabase = Depends(lambda: mongo_db)):
37
- # Vérifie si l'ID est un ObjectId valide
38
  if not ObjectId.is_valid(cv_id):
39
  raise HTTPException(status_code=400, detail="ID de CV invalide")
40
 
41
- # MODIFICATION : Convertit cv_id en ObjectId avant d'interroger la base de données
42
  cv = await CVModel.get(db, CVModel.collection_name, {"_id": ObjectId(cv_id)})
43
  if cv is None:
44
  raise HTTPException(status_code=404, detail="CV not found")
45
- return cv
 
24
  class Config:
25
  populate_by_name = True
26
  json_encoders = {ObjectId: str}
27
+ from_attributes = True
28
 
29
  @router.post("/cvs", response_model=CVResponse)
30
  async def create_cv(cv: CVCreate, db: AsyncIOMotorDatabase = Depends(lambda: mongo_db)):
31
  cv_entry = CVModel(**cv.model_dump(by_alias=True))
32
  cv_id = await CVModel.create(db, CVModel.collection_name, cv_entry.model_dump(exclude_unset=True))
33
+ return CVResponse(**cv_entry.model_dump(), id=cv_id)
34
+
35
 
36
  @router.get("/cvs/{cv_id}", response_model=CVResponse)
37
  async def get_cv_by_id(cv_id: str, db: AsyncIOMotorDatabase = Depends(lambda: mongo_db)):
 
38
  if not ObjectId.is_valid(cv_id):
39
  raise HTTPException(status_code=400, detail="ID de CV invalide")
40
 
 
41
  cv = await CVModel.get(db, CVModel.collection_name, {"_id": ObjectId(cv_id)})
42
  if cv is None:
43
  raise HTTPException(status_code=404, detail="CV not found")
44
+ return CVResponse(**cv)