Documentation
¶
Index ¶
- type CategoriesService
- func (cs *CategoriesService) CreateCategory(w http.ResponseWriter, r *http.Request)
- func (cs *CategoriesService) DeleteCategory(w http.ResponseWriter, r *http.Request)
- func (cs *CategoriesService) EditCategory(w http.ResponseWriter, r *http.Request)
- func (cs *CategoriesService) GetCategoriesList(w http.ResponseWriter, r *http.Request)
- func (cs *CategoriesService) GetCategoryByID(w http.ResponseWriter, r *http.Request)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CategoriesService ¶
type CategoriesService struct {
// contains filtered or unexported fields
}
func NewCategoriesService ¶
func NewCategoriesService( l *slog.Logger, cs storage.CategoriesStore, v *validator.Validate, u storage.ServiceUtils, ) *CategoriesService
func (*CategoriesService) CreateCategory ¶
func (cs *CategoriesService) CreateCategory(w http.ResponseWriter, r *http.Request)
CreateCategory @Router /api/v1/categories [post] @Tags Categories @Param request body model.CreateCategoryBody false "query params" @Description Создать категорию для пользователя @Security BearerAuth @Success 201 @Failure 400 {object} web.WebError @Failure 500 {object} web.WebError
func (*CategoriesService) DeleteCategory ¶
func (cs *CategoriesService) DeleteCategory(w http.ResponseWriter, r *http.Request)
DeleteCategory @Router /api/v1/categories/{id} [delete] @Tags Categories @Param id path int true "Category ID" @Description Удалить пользователя (Пользователь - только себя, Админ - любого) @Security BearerAuth @Success 204 @Failure 403 {object} web.WebError @Failure 404 {object} web.WebError @Failure 500 {object} web.WebError
func (*CategoriesService) EditCategory ¶
func (cs *CategoriesService) EditCategory(w http.ResponseWriter, r *http.Request)
EditCategory @Router /api/v1/categories/{id} [put] @Tags Categories @Param id path int true "Category ID" @Param request body model.EditCategoryBody false "query params" @Description Изменить информацию о категории пользователя @Security BearerAuth @Success 200 @Failure 400 {object} web.WebError @Failure 404 {object} web.WebError @Failure 500 {object} web.WebError
func (*CategoriesService) GetCategoriesList ¶
func (cs *CategoriesService) GetCategoriesList(w http.ResponseWriter, r *http.Request)
GetCategoriesList @Router /api/v1/categories [get] @Tags Categories @Param page query int false "positive int" minimum(1) maximum(10) default(1) @Param limit query int false "positive int" minimum(1) maximum(100) default(25) @Param search query string false "any string" maxlength(256) @Description Получить список категорий (свои и общие) @Security BearerAuth @Success 200 {object} []model.Category @Failure 400 {object} web.WebError @Failure 500 {object} web.WebError
func (*CategoriesService) GetCategoryByID ¶
func (cs *CategoriesService) GetCategoryByID(w http.ResponseWriter, r *http.Request)
GetCategoryByID @Router /api/v1/categories/{id} [get] @Tags Categories @Param id path int true "Category ID" @Description Получить категорию (по ID) @Security BearerAuth @Success 200 {object} model.Category @Failure 400 {object} web.WebError @Failure 404 {object} web.WebError @Failure 500 {object} web.WebError