Необходимо реализовать бэкенд для веб-сервиса хранения файлов, аналогичный Я.Диск
Пользователь может загружать файлы, изменять их, получать данные о папке и тд.
Моя задача - написать REST API сервис, который позволит пользователям загружать, обновлять и скачивать информацию о файлах и директориях.
Принимает на вход данные об импортируемых файлах и директориях в формате json
.
Отвечает за добавление элементов в базу.
Каждый элемент имеет свой уникальный id
, который, как и остальные параметры, хранится в БД
В случае успеха обработчки возвращает 200
.
В случае получения невалидных данных возвращает 400
:
{
"code": 400,
"message": "Validation Failed"
}
Принимает на вход уникальный id
элемента.
При валидном значении id
возращает 200
и информацию об элементе и его дочерних файлах (если это папка) в формате json
.
При невалидной схеме запроса возращает 400
:
{
"code": 400,
"message": "Validation Failed"
}
При отсутствии элемента в базе возвращает 404
:
{
"code": 404,
"message": "Item not found"
}
Принимает на вход 2 обязательный параметра: id
элемента и date
- дата и время запроса (ISO 8601)
При валидных входных данных удаляет элемент и его дочерние файлы и возвращает 200
При невалидный схеме запроса возвращает 400
:
{
"code": 400,
"message": "Validation Failed"
}
При отсутствии элемента в базе возвращает 404
:
{
"code": 404,
"message": "Item not found"
}
Принимает на вход параметр date
- дату в рамках, которой надо вернуть файлы, измененные в промежутке от date
до date - 24h
При валидных входных данных возвращает список файлов в формате json
В ином случае возвращает 400
:
{
"code": 400,
"message": "Validation Failed"
}
sudo apt install python3-venv
python3 -m venv venv
source venv/bin/activate
pip install wheel
pip install uwsgi flask
sudo uwsgi --ini wsgi-config.ini
python3 tests/unit_test.py
python3 tests/import_test.py
python3 tests/nodes_test.py
python3 tests/delete_test.py
python3 tests/updates_test.py