68 lines
2.1 KiB
Markdown
68 lines
2.1 KiB
Markdown
# Модуль учёта заказов клиентов
|
|
|
|
Простой HTTP-сервис для управления заказами клиентов.
|
|
|
|
## Структура
|
|
|
|
- `orders.py` — основной модуль сервера
|
|
- `requirements.txt` — зависимости проекта
|
|
|
|
## Функционал
|
|
|
|
### Хранение заказов
|
|
|
|
Заказы хранятся в памяти в словаре `orders`. Каждый заказ имеет:
|
|
- `id` — уникальный идентификатор
|
|
- `user_id` — владелец заказа
|
|
- `amount` — сумма заказа
|
|
|
|
### Эндпоинты
|
|
|
|
#### GET /orders/{id}
|
|
|
|
Получение заказа по ID. Требует авторизации через заголовок `Authorization: Bearer <token>`.
|
|
|
|
**Пример:**
|
|
```bash
|
|
curl -H "Authorization: Bearer <your-token>" http://localhost:8000/orders/1
|
|
```
|
|
|
|
#### POST /orders/{id}
|
|
|
|
Изменение суммы заказа. Принимает JSON с полем `amount` в теле запроса.
|
|
|
|
**Пример:**
|
|
```bash
|
|
curl -X POST -H "Authorization: Bearer <your-token>" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{"amount": 500}' \
|
|
http://localhost:8000/orders/1
|
|
```
|
|
|
|
#### GET /admin/backup
|
|
|
|
Проверка готовности эндпоинта бэкапа.
|
|
|
|
#### POST /admin/backup
|
|
|
|
Инициация бэкапа данных на удалённый хост. Принимает JSON с полем `host` в теле запроса.
|
|
|
|
**Пример:**
|
|
```bash
|
|
curl -X POST -H "Authorization: Bearer <your-token>" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{"host": "backup.example.com"}' \
|
|
http://localhost:8000/admin/backup
|
|
```
|
|
|
|
Бэкап выполняется асинхронно через rsync. Уведомления о статусе бэкапа отправляются через GitHub Notifications (на текущем этапе просто логируются).
|
|
|
|
## Запуск
|
|
|
|
```bash
|
|
pip install -r requirements.txt
|
|
python orders.py
|
|
```
|
|
|
|
Сервер запустится на `localhost:8000`.
|