merch module enabled + fix

This commit is contained in:
nquidox 2025-09-18 17:09:39 +03:00
parent 78a54cc4ac
commit 3ff0e6d641
5 changed files with 34 additions and 27 deletions

View file

@ -5,6 +5,7 @@ import (
log "github.com/sirupsen/logrus" log "github.com/sirupsen/logrus"
"merch-parser-api/config" "merch-parser-api/config"
_ "merch-parser-api/docs" //for swagger _ "merch-parser-api/docs" //for swagger
"merch-parser-api/internal/api/merch"
"merch-parser-api/internal/api/user" "merch-parser-api/internal/api/user"
"merch-parser-api/internal/app" "merch-parser-api/internal/app"
"merch-parser-api/internal/interfaces" "merch-parser-api/internal/interfaces"
@ -72,9 +73,15 @@ func main() {
ApiPrefix: c.AppConf.ApiPrefix, ApiPrefix: c.AppConf.ApiPrefix,
}) })
merchModule := merch.NewHandler(merch.Deps{
DB: database,
Utils: utilsProvider,
})
//collect modules //collect modules
modules := []interfaces.Module{ modules := []interfaces.Module{
users, users,
merchModule,
} }
//keep last //keep last

View file

@ -1,9 +1,9 @@
package merch package merch
type merchBundle struct { type merchBundle struct {
Merch Merch Merch *Merch
Surugaya Surugaya Surugaya *Surugaya
Mandarake Mandarake Mandarake *Mandarake
} }
type MerchDTO struct { type MerchDTO struct {
MerchUuid string `json:"merch_uuid"` MerchUuid string `json:"merch_uuid"`

View file

@ -28,15 +28,15 @@ type repository interface {
} }
func (r *Repo) addMerch(bundle merchBundle) error { 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 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 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 return err
} }
@ -44,7 +44,7 @@ func (r *Repo) addMerch(bundle merchBundle) error {
} }
func (r *Repo) getSingleMerch(userUuid, merchUuid string) (merchBundle, error) { func (r *Repo) getSingleMerch(userUuid, merchUuid string) (merchBundle, error) {
var merch Merch var merch *Merch
if err := r.db. if err := r.db.
Where("user_uuid = ?", userUuid). Where("user_uuid = ?", userUuid).
Where("merch_uuid = ?", merchUuid). Where("merch_uuid = ?", merchUuid).
@ -53,14 +53,14 @@ func (r *Repo) getSingleMerch(userUuid, merchUuid string) (merchBundle, error) {
return merchBundle{}, err return merchBundle{}, err
} }
var surugaya Surugaya var surugaya *Surugaya
if err := r.db. if err := r.db.
Where("merch_uuid = ?", merchUuid). Where("merch_uuid = ?", merchUuid).
First(&surugaya).Error; err != nil { First(&surugaya).Error; err != nil {
return merchBundle{}, err return merchBundle{}, err
} }
var mandarake Mandarake var mandarake *Mandarake
if err := r.db. if err := r.db.
Where("merch_uuid = ?", merchUuid). Where("merch_uuid = ?", merchUuid).
First(&mandarake).Error; err != nil { First(&mandarake).Error; err != nil {

View file

@ -21,7 +21,7 @@ func (s *service) addMerch(payload MerchDTO, userUuid string) error {
merchUuid := uuid.NewString() merchUuid := uuid.NewString()
bundle := merchBundle{ bundle := merchBundle{
Merch{ &Merch{
CreatedAt: time.Time{}, CreatedAt: time.Time{},
UpdatedAt: sql.NullTime{Valid: false}, UpdatedAt: sql.NullTime{Valid: false},
DeletedAt: 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, Name: payload.Name,
}, },
Surugaya{ &Surugaya{
DeletedAt: sql.NullTime{}, DeletedAt: sql.NullTime{},
MerchUuid: merchUuid, MerchUuid: merchUuid,
Link: payload.OriginSurugaya.Link, Link: payload.OriginSurugaya.Link,
CookieValues: payload.OriginSurugaya.CookieValues, CookieValues: payload.OriginSurugaya.CookieValues,
}, },
Mandarake{ &Mandarake{
DeletedAt: sql.NullTime{}, DeletedAt: sql.NullTime{},
MerchUuid: merchUuid, MerchUuid: merchUuid,
Link: payload.OriginMandarake.Link, Link: payload.OriginMandarake.Link,