documentation
This commit is contained in:
		
							
								
								
									
										82
									
								
								docs/API.MD
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										82
									
								
								docs/API.MD
									
									
									
									
									
										Normal 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
									
								
							
							
						
						
									
										5
									
								
								docs/DEPLOYMENT.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
			
		||||
Для разворачивания сервиса необходимо:
 | 
			
		||||
1. Склонировать репозиторий
 | 
			
		||||
2. Скопировать sample.env в .env и отредактировать его
 | 
			
		||||
3. Скопировать nginx.conf в data/ngninx
 | 
			
		||||
4. ``docker-compose up --build -d``
 | 
			
		||||
		Reference in New Issue
	
	Block a user