From 26311992d396611c67e6eaef24402646a1a06b74 Mon Sep 17 00:00:00 2001 From: Suguivy Date: Sat, 6 Jan 2024 11:43:21 +0000 Subject: [PATCH] Documentation for some API endpoints --- README.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/README.md b/README.md index 87f9bbc..d4c7f57 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,33 @@ # bot-api +## Introduction +The function of the API is basically to access the images' metadata stored in the database. + +## Usage +The API exposes some endpoints to interact with the database. + +### GET `/images` +Allows to get a list of image documents. + +#### Query params +- `limit`: an optional parameter, which accepts a non-negative integer that dictates the number of documents that the list will have. If its value is equal to `0`, or if this parameter is missing, the endpoint will return all the image documents in the database. +- `status`: an optional parameter, which accepts the values `consumed`, `available` and `unavailable`. It filters the documents that have only the `status` attribute equal to that indicated in the parameter's value. If the parameter is missing, no filter will be applied to the document. + +#### Example +- `GET /images?limit=5&status=available`: will return 5 documents that have the `available` value in their `status` attribute. + +### PUT `/images/` +Modifies an existing image document. The request must provide a JSON-formatted body, with one or more valid document attributes. The existing document attributes will be replaced with the provided new ones. + +#### Params +- `id`: the id of the document to be modified. + +#### Example +- `PUT /images/61f7e48f0c651345677b7775` with body `{ "status": "consumed" }`: will modify the document referenced by the `id` param, changing their `status` value to `consumed`. + +### POST `/images` +### POST `/login` +## Installation To install dependencies: ```bash