From 3ff0e6d641640f101db86a6bee46a371f7f153b0 Mon Sep 17 00:00:00 2001 From: nquidox Date: Thu, 18 Sep 2025 17:09:39 +0300 Subject: [PATCH] merch module enabled + fix --- cmd/main.go | 7 +++++++ internal/api/merch/controller.go | 30 +++++++++++++++--------------- internal/api/merch/dto.go | 6 +++--- internal/api/merch/repository.go | 12 ++++++------ internal/api/merch/service.go | 6 +++--- 5 files changed, 34 insertions(+), 27 deletions(-) diff --git a/cmd/main.go b/cmd/main.go index a002857..bd4e901 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -5,6 +5,7 @@ import ( log "github.com/sirupsen/logrus" "merch-parser-api/config" _ "merch-parser-api/docs" //for swagger + "merch-parser-api/internal/api/merch" "merch-parser-api/internal/api/user" "merch-parser-api/internal/app" "merch-parser-api/internal/interfaces" @@ -72,9 +73,15 @@ func main() { ApiPrefix: c.AppConf.ApiPrefix, }) + merchModule := merch.NewHandler(merch.Deps{ + DB: database, + Utils: utilsProvider, + }) + //collect modules modules := []interfaces.Module{ users, + merchModule, } //keep last diff --git a/internal/api/merch/controller.go b/internal/api/merch/controller.go index 213fd7c..dd0e753 100644 --- a/internal/api/merch/controller.go +++ b/internal/api/merch/controller.go @@ -70,10 +70,10 @@ func (co *controller) addMerch(c *gin.Context) { // @Description Получить всю информацию про мерч по его uuid // @Tags Merch // @Security BearerAuth -// @Param uuid path string true "merch_uuid" -// @Success 200 {object} MerchDTO -// @Failure 400 {object} responses.ErrorResponse400 -// @Failure 500 {object} responses.ErrorResponse500 +// @Param uuid path string true "merch_uuid" +// @Success 200 {object} MerchDTO +// @Failure 400 {object} responses.ErrorResponse400 +// @Failure 500 {object} responses.ErrorResponse500 // @Router /merch/{uuid} [get] func (co *controller) getSingleMerch(c *gin.Context) { merchUuid := c.Param("uuid") @@ -103,9 +103,9 @@ func (co *controller) getSingleMerch(c *gin.Context) { // @Description Получить все записи мерча // @Tags Merch // @Security BearerAuth -// @Success 200 {array} ListResponse -// @Failure 400 {object} responses.ErrorResponse400 -// @Failure 500 {object} responses.ErrorResponse500 +// @Success 200 {array} ListResponse +// @Failure 400 {object} responses.ErrorResponse400 +// @Failure 500 {object} responses.ErrorResponse500 // @Router /merch/{uuid} [get] func (co *controller) getAllMerch(c *gin.Context) { userUuid, err := co.utils.GetUserUuidFromContext(c) @@ -129,10 +129,10 @@ func (co *controller) getAllMerch(c *gin.Context) { // @Description Обновить информацию про мерч по его uuid в json-е // @Tags Merch // @Security BearerAuth -// @Param body body MerchDTO true "merch_uuid" -// @Success 200 {object} MerchDTO -// @Failure 400 {object} responses.ErrorResponse400 -// @Failure 500 {object} responses.ErrorResponse500 +// @Param body body MerchDTO true "merch_uuid" +// @Success 200 {object} MerchDTO +// @Failure 400 {object} responses.ErrorResponse400 +// @Failure 500 {object} responses.ErrorResponse500 // @Router /merch/{uuid} [put] func (co *controller) updateMerch(c *gin.Context) { var payload MerchDTO @@ -160,10 +160,10 @@ func (co *controller) updateMerch(c *gin.Context) { // @Description Пометить мерч как удаленный по его uuid // @Tags Merch // @Security BearerAuth -// @Param uuid path string true "merch_uuid" -// @Success 200 {object} MerchDTO -// @Failure 400 {object} responses.ErrorResponse400 -// @Failure 500 {object} responses.ErrorResponse500 +// @Param uuid path string true "merch_uuid" +// @Success 200 {object} MerchDTO +// @Failure 400 {object} responses.ErrorResponse400 +// @Failure 500 {object} responses.ErrorResponse500 // @Router /merch/{uuid} [delete] func (co *controller) deleteMerch(c *gin.Context) { merchUuid := c.Param("uuid") diff --git a/internal/api/merch/dto.go b/internal/api/merch/dto.go index b432ca9..ca69535 100644 --- a/internal/api/merch/dto.go +++ b/internal/api/merch/dto.go @@ -1,9 +1,9 @@ package merch type merchBundle struct { - Merch Merch - Surugaya Surugaya - Mandarake Mandarake + Merch *Merch + Surugaya *Surugaya + Mandarake *Mandarake } type MerchDTO struct { MerchUuid string `json:"merch_uuid"` diff --git a/internal/api/merch/repository.go b/internal/api/merch/repository.go index bf68113..40cc06d 100644 --- a/internal/api/merch/repository.go +++ b/internal/api/merch/repository.go @@ -28,15 +28,15 @@ type repository interface { } func (r *Repo) addMerch(bundle merchBundle) error { - if err := r.db.Create(bundle.Merch).Error; err != nil { + if err := r.db.Model(&Merch{}).Create(bundle.Merch).Error; err != nil { return err } - if err := r.db.Create(bundle.Surugaya).Error; err != nil { + if err := r.db.Model(&Surugaya{}).Create(bundle.Surugaya).Error; err != nil { return err } - if err := r.db.Create(bundle.Mandarake).Error; err != nil { + if err := r.db.Model(&Mandarake{}).Create(bundle.Mandarake).Error; err != nil { return err } @@ -44,7 +44,7 @@ func (r *Repo) addMerch(bundle merchBundle) error { } func (r *Repo) getSingleMerch(userUuid, merchUuid string) (merchBundle, error) { - var merch Merch + var merch *Merch if err := r.db. Where("user_uuid = ?", userUuid). Where("merch_uuid = ?", merchUuid). @@ -53,14 +53,14 @@ func (r *Repo) getSingleMerch(userUuid, merchUuid string) (merchBundle, error) { return merchBundle{}, err } - var surugaya Surugaya + var surugaya *Surugaya if err := r.db. Where("merch_uuid = ?", merchUuid). First(&surugaya).Error; err != nil { return merchBundle{}, err } - var mandarake Mandarake + var mandarake *Mandarake if err := r.db. Where("merch_uuid = ?", merchUuid). First(&mandarake).Error; err != nil { diff --git a/internal/api/merch/service.go b/internal/api/merch/service.go index b897c9e..086c017 100644 --- a/internal/api/merch/service.go +++ b/internal/api/merch/service.go @@ -21,7 +21,7 @@ func (s *service) addMerch(payload MerchDTO, userUuid string) error { merchUuid := uuid.NewString() bundle := merchBundle{ - Merch{ + &Merch{ CreatedAt: time.Time{}, UpdatedAt: sql.NullTime{Valid: false}, DeletedAt: sql.NullTime{Valid: false}, @@ -30,14 +30,14 @@ func (s *service) addMerch(payload MerchDTO, userUuid string) error { Name: payload.Name, }, - Surugaya{ + &Surugaya{ DeletedAt: sql.NullTime{}, MerchUuid: merchUuid, Link: payload.OriginSurugaya.Link, CookieValues: payload.OriginSurugaya.CookieValues, }, - Mandarake{ + &Mandarake{ DeletedAt: sql.NullTime{}, MerchUuid: merchUuid, Link: payload.OriginMandarake.Link,