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