Module - Favoris
Le module de favoris permet aux utilisateurs de sauvegarder leurs propriétés préférées pour y accéder facilement ultérieurement.
Endpoints
GET
/favorites
Récupérer la liste des favoris d'un utilisateur
Paramètres de requête
userId: ID de l'utilisateur
Exemple de réponse
[
{
"id": "fav123",
"createdAt": "2023-09-15T14:30:00Z",
"property": {
"id": "cm5p90ics0001v2zzx604cd5p",
"title": "Villa moderne avec piscine",
"price": 1200000,
"transactionType": "SALE",
"status": "AVAILABLE",
"images": [
{
"id": "img123",
"url": "https://example.com/image1.jpg"
}
]
},
"userId": "cm2y6lhu50000fspuentp5fx2"
}
]
POST
/favorites
Ajouter une propriété aux favoris
Corps de la requête
{
"propertyId": "cm5p90ics0001v2zzx604cd5p",
"userId": "cm2y6lhu50000fspuentp5fx2"
}
DELETE
/favorites/:id
Supprimer un favori
DELETE
/favorites
Supprimer un favori en spécifiant l'utilisateur et la propriété
Paramètres de requête
propertyId: ID de la propriétéuserId: ID de l'utilisateur
Modèle de données
model Favorite {
id String @id @default(cuid())
propertyId String
property Property @relation(fields: [propertyId], references: [id], onDelete: Cascade)
userId String
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
createdAt DateTime @default(now())
@@unique([propertyId, userId])
}