documentation

This commit is contained in:
leca 2025-01-27 16:51:56 +03:00
parent 7a1707ac49
commit 4026cdeb77
2 changed files with 87 additions and 0 deletions

82
docs/API.MD Normal file
View File

@ -0,0 +1,82 @@
Backend содержит несколько API-эндпоинтов. Все они начинаются на /api/v1.
Все эндпоинты для изменения или добавления чего-либо требуют JWT в Cookies под названием "jwt".
Запросы на любой POST эндпоинт требуют Content-Type: application/json.
# User
## POST /api/v1/user/create
Требуемые параметры:
* ``username: string``
* ``password: string``
Возвращаемые параметры:
* Успех: 200 с редиректом на /, в Cookie кладётся JWT под названием "jwt".
* Пользователь уже существует: 409 Such user already exists.
## POST /api/v1/user/login
Требуемые параметры:
* ``username: string``
* ``password: string``
Возвращаемые параметры:
* Успех: 200 с редиректом на /, в Cookie кладётся JWT под названием "jwt".
* Пользователь не существует: 404 User does not exist.
* Неверный пароль: 401 Incorrect password
## GET /api/v1/user/posts/:userId
Требуемые параметры:
* ``userId: number`` (параметр в url)
Возвращаемые параметры:
* Успех: 200 с JSON-массивом, содержащим все посты пользователя, отсортированные от самого нового до самого последнего.
* Пользователь не существует: 404 User does not exist.
## GET /api/v1/user/all
Требуемые параметры:
Возвращаемые параметры:
* Успех: 200 с JSON-массивом, содержащим информацию о всех зарегистрированных пользователях
## GET /api/v1/user/by-id/:userId
Требуемые параметры:
* ``userId: number`` (параметр в url)
Возвращаемые параметры:
* Успех: 200 с JSON-объектом вида {username: "имя пользователя"}
# Post
## POST /api/v1/post/create
Требуемые параметры:
* ``message: string``
* ``file: file`` (можно выбрать только либо файл, либо сообщение)
Возвращаемые параметры:
* Успех: 200 Ok
* Заргужено не медиа: 400 Unknown mime type
## PUT /api/v1/post/update/:postId
Требуемые параметры:
* ``postId: number`` (параметр в url)
* ``message: string``
* ``file: file`` (можно выбрать только либо файл, либо сообщение)
Возвращаемые параметры:
* Успех: 200 Ok
* Заргужено не медиа: 400 Unknown mime type
* Поста не найдено: 404 Post not found.
## DELETE /api/v1/post/:postId
Требуемые параметры:
* ``postId: number`` (параметр в url)
Возвращаемые параметры:
* Успех: 200 Ok
* Поста не найдено: 404 Post not found.
## GET /api/v1/post/:postId
Требуемые параметры:
* ``postId: number`` (параметр в url)
Возвращаемые параметры:
* Успех: 200 с JSON-объектом, описывающим пост
* Поста не найдено: 404 Post not found.

5
docs/DEPLOYMENT.md Normal file
View File

@ -0,0 +1,5 @@
Для разворачивания сервиса необходимо:
1. Склонировать репозиторий
2. Скопировать sample.env в .env и отредактировать его
3. Скопировать nginx.conf в data/ngninx
4. ``docker-compose up --build -d``