Documentation
¶
Index ¶
- type FriendHandler
- type UserHandler
- func (UH UserHandler) CreateUser(w http.ResponseWriter, r *http.Request)
- func (UH UserHandler) DeleteUser(w http.ResponseWriter, r *http.Request)
- func (UH UserHandler) GetUserByID(w http.ResponseWriter, r *http.Request)
- func (UH UserHandler) ListUsers(w http.ResponseWriter, r *http.Request)
- func (UH UserHandler) UpdateUser(w http.ResponseWriter, r *http.Request)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type FriendHandler ¶
type FriendHandler struct {
Repo service.FriendServe
}
FriendHandler handles HTTP requests related to user friendships.
func (*FriendHandler) GetFriendsList ¶
func (FH *FriendHandler) GetFriendsList(w http.ResponseWriter, r *http.Request)
GetFriendsList - хендлер для получения списка друзей пользователя @Summary Получение списка друзей пользователя @Description Возвращает массив JSON из пользователей, которые состоят в связи с указанным в запросе пользователем @Tags friendship @Produce json @Param id path int true "User id - friendship requester" @Success 200 {array} model.User "Successful load of friends list" @Failure 400 {string} string "Invalid data" @Failure 404 {string} string "User not found" @Failure 500 {string} string "Internal server error" @Router /users/{id}/friends [get]
func (*FriendHandler) MakeFriend ¶
func (FH *FriendHandler) MakeFriend(w http.ResponseWriter, r *http.Request)
MakeFriend - хендлер для создания связи между 2мя существующими в базе пользователями @Summary Хендлер для создания новой связи - дружбы @Description Создаёт новую связь между 2мя существующими пользователями @Tags friendship @Produce plain @Param id1 path int true "User id 1 - friendship requester" @Param id2 path int true "User id 2 - friendship acceptor" @Success 201 {string} string "Successfully added a new friend" @Failure 400 {string} string "Invalid data" @Failure 404 {string} string "One or both users don't exist" @Failure 500 {string} string "Internal server error" @Router /users/{id1}/make_friend/{id2} [post]
func (*FriendHandler) RemoveFriend ¶
func (FH *FriendHandler) RemoveFriend(w http.ResponseWriter, r *http.Request)
RemoveFriend - хендлер для удаления связи между 2мя пользователями @Summary Удаление существующей связи - дружбы @Description Удаляет существующую связь между 2мя пользователями, id обоих берутся из URL @Tags friendship @Produce plain @Param id1 path int true "User id 1 - friendship requester" @Param id2 path int true "User id 2 - friendship acceptor" @Success 204 {object} model.User @Failure 400 {string} string "Invalid data input" @Failure 404 {string} string "One or both users don't exist" @Failure 500 {string} string "Internal server error" @Router /users/{id1}/remove_friend/{id2} [delete]
type UserHandler ¶
UserHandler handles HTTP-requests related to user management.
func (UserHandler) CreateUser ¶
func (UH UserHandler) CreateUser(w http.ResponseWriter, r *http.Request)
CreateUser - хендлер для создания нового пользователя в базе @Summary Хендлер для создания нового пользователя @Description Создаёт нового пользователя из данных в теле запроса @Tags users @Accept json @Produce json @Param user body model.User true "User info" @Success 201 {object} model.User @Failure 400 {string} string "Incomplete data input" @Failure 500 {string} string "Internal server error" @Failure 409 {string} string "Email conflict: already in use" @Router /users [post]
func (UserHandler) DeleteUser ¶
func (UH UserHandler) DeleteUser(w http.ResponseWriter, r *http.Request)
DeleteUser - хендлер для удаления пользователя по ID @Summary Удаление пользователя по ID @Description Удаляет пользователя по ID из URL @Tags users @Param id path int true "ID пользователя" @Success 204 {string} string "No Content" @Failure 404 {string} string "User not found" @Failure 400 {string} string "Bad request" @Failure 500 {string} string "Internal server error" @Router /delete/{id} [delete]
func (UserHandler) GetUserByID ¶
func (UH UserHandler) GetUserByID(w http.ResponseWriter, r *http.Request)
GetUserByID - хендлер для получения пользователя по ID @Summary Получение пользователя по ID @Description Возвращает пользователя в формате JSON по ID из URL @Tags users @Produce json @Param id path int true "ID пользователя" @Success 200 {object} model.User @Failure 404 {string} string "User not found" @Failure 500 {string} string "Internal server error" @Router /users/{id} [get]
func (UserHandler) ListUsers ¶
func (UH UserHandler) ListUsers(w http.ResponseWriter, r *http.Request)
ListUsers - хендлер для получения списка всех юзеров из базы @Summary Хендлер для получения списка всех юзеров из базы @Description Отдает массив из всех пользователей базы @Tags users @Produce json @Success 200 {array} model.User @Failure 500 {string} string "Internal server error" @Router /users [get]
func (UserHandler) UpdateUser ¶
func (UH UserHandler) UpdateUser(w http.ResponseWriter, r *http.Request)
UpdateUser - хендлер для обновления данных пользователя по ID @Summary Обновление пользователя по ID @Description Обновляет пользователя по ID из URL, новые данные берутся из тела запроса @Tags users @Accept json @Produce json @Param id path int true "ID пользователя" @Success 200 {object} model.User "User updated successfully" @Failure 404 {string} string "User not found" @Failure 400 {string} string "Bad request" @Failure 409 {string} string "Conflict: new email already in use" @Failure 500 {string} string "Internal server error" @Router /update/{id} [put]