Liste de tous les les points d'entrée lié à la gestion des éléments, ils commencent tous par /elements
.
GET /elements/{id}
: Récupère un élément (l'élément doit être dans une liste accessible à l'utilisateur connecté, sinon une erreur est retorunée)
Parametre dans l'URL :
id
: L'id de l'élément
Retour :
{
"id": 48,
"status": "idea",
"name": "Chaise",
"link": "https://vendeur-de-chause.fr",
"image": [
{
"id": 1,
"ext": "png",
"data": "data:image/png;base64,imageenbase64"
},
{
"id": 2,
"ext": "jpeg",
"data": "data:image/png;base64,imageenbase64"
}
],
"address": "1 rue des rues",
"price": 42.21,
"description": "La meilleur chaise du monde"
}
GET /elements/{id}/comments
: Récupère tous les commentaires d'un élément (La liste de l'élement doit être accessible à l'utilisateur connecté, sinon une erreur est retournée)
Parametre dans l'URL :
id
: L'id de l'élément
Retour :
{
"total": 3,
"list": [
{
"id": 1,
"text": "je suis un commentaire",
"date": "21/08/2020",
"user": {
"id": 8,
"name": "John",
"tag": "John#12345"
}
},
{
"id": 2,
"text": "je suis un commentaire",
"date": "24/08/2020",
"user": {
"id": 8,
"name": "John",
"tag": "John#12345"
}
},
{
"id": 3,
"text": "je suis un commentaire",
"date": "02/09/2020",
"user": {
"id": 8,
"name": "John",
"tag": "John#12345"
}
}
]
}
GET /elements/{id}/comments/page/{num}/{nb}
: Récupère une liste paginée des commentaires d'un élément (La liste de l'élement doit être accessible à l'utilisateur connecté, sinon une erreur est retournée)
Parametre dans l'URL :
id
: L'id de l'élémentnum
: Le numéro de la pagenb
: Le nombre d'élément par page
Retour :
{
"total": 3,
"page": 1,
"size": 2,
"list": [
{
"id": 1,
"text": "je suis un commentaire",
"date": "21/08/2020",
"user": {
"id": 8,
"name": "John",
"tag": "John#12345"
}
},
{
"id": 2,
"text": "je suis un commentaire",
"date": "24/08/2020",
"user": {
"id": 8,
"name": "John",
"tag": "John#12345"
}
}
]
}
Le retour ci-dessus correspond à l'URL /elements/{id}/comments/page/1/2
POST /elements/{id}/image
: Ajoute une image sur l'élément (la liste de l'élément doit appartenir à l'utilisateur connecté, sinon une erreur est retourné)
Parametre dans l'URL :
id
: L'id de l'élément à modifier
Parametre dans la requete HTTP :
ext
: L'extension du fichier
data
: L'image encoder en base64
{
"ext": "png",
"data": "data:image/png;base64,imageenbase64"
}
Retour :
{
"id": 68,
"ext": "png",
"data": "data:image/png;base64,imageenbase64"
}
POST /elements/{id}/comment
: Ajoute un commentaire sur l'élément (la liste doit être accessible à l'utilisateur connecté, sinon une erreur est retourné)
Parametre dans l'URL :
id
: L'id de l'élément
Parametre dans la requete HTTP :
text
: Le texte du commentaire
{
"text": "je suis un commentaire"
}
Retour :
{
"id": 1,
"text": "je suis un commentaire",
"date": "21/08/2020",
"user": {
"id": 8,
"name": "John",
"tag": "John#12345"
}
}
PUT /elements/{id}
: Modifie un élément (la liste de l'élément doit appartenir à l'utilisateur connecté, sinon une erreur est retourné)
Parametre dans l'URL :
id
: L'id de l'élément à modifier
Parametre dans la requete HTTP :
name (optionnel)
: Le nom de l'élément
link (optionnel)
: Lien vers l'élément
address (optionnel)
: L'adresse pour trouver l'element
price (optionnel)
: Prix de l'objet
description (optionnel)
: Description de l'élément
{
"name": "Chaise",
"link": "https://vendeur-de-chause.fr",
"address": "1 rue des rues",
"price": 42.21,
"description": "La meilleur chaise du monde"
}
Retour :
{
"id": 48,
"status": "purchased",
"name": "Chaise",
"link": "https://vendeur-de-chause.fr",
"image": [
{
"id": 1,
"ext": "png",
"data": "data:image/png;base64,imageenbase64"
},
{
"id": 2,
"ext": "jpeg",
"data": "data:image/png;base64,imageenbase64"
}
],
"address": "1 rue des rues",
"price": 42.21,
"description": "La meilleur chaise du monde"
}
PUT /elements/{id}/status/{status}
: Permet de modifier le status d'un élément d'une liste dont l'utilisateur connecté peut accèder. Il n'est possible que d'avancer dans la liste des status (idea,crush -> reserved -> purchased). Si l'utilisateur connecté n'a pas accès à l'élément ou qu'il essaye de faire reculer le status une erreur est retournée.
Parametre dans l'URL :
id : L'id de l'élément à modifier
status : Le nouveau statut (reserved ou purchased)
Retour :
{
"id": 4,
"status": "reserved",
"name": "Chaise",
"link": "https://vendeur-de-chaise.fr",
"image": [
{
"id": 1,
"ext": "png",
"data": "data:image/png;base64,imageenbase64"
},
{
"id": 2,
"ext": "jpeg",
"data": "data:image/png;base64,imageenbase64"
}
],
"address": "1 rue des rues",
"price": 42.21,
"description": "La meilleur chaise du monde"
}
DELETE /elements/{id}
: Supprime un élément d'une liste (la liste doit appartenir à l'utilisateur connecté, sinon une erreur est retourné)
id
: L'id de l'élément