handler

package
v0.0.0-...-256c714 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 13, 2025 License: MIT Imports: 9 Imported by: 0

Documentation

Index

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

type UserHandler struct {
	Repo service.UserServe
}

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]

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL