From 8e91a17177651e144bf16adc40c69a4c7811896c Mon Sep 17 00:00:00 2001 From: harold Date: Sun, 9 Mar 2025 22:57:01 +0500 Subject: [PATCH] add fix for create widget --- internal/api/http/handlers/widget/widget.go | 1 + internal/docs/docs.go | 4 ++++ internal/docs/swagger.json | 4 ++++ internal/docs/swagger.yaml | 3 +++ internal/model/interfaces.go | 2 ++ internal/model/models.go | 1 + internal/repository/widget/widget.go | 2 ++ internal/service/widget/widget.go | 2 ++ 8 files changed, 19 insertions(+) diff --git a/internal/api/http/handlers/widget/widget.go b/internal/api/http/handlers/widget/widget.go index fbafb99..fbad0bf 100644 --- a/internal/api/http/handlers/widget/widget.go +++ b/internal/api/http/handlers/widget/widget.go @@ -46,6 +46,7 @@ func CreateWidget(widgetService model.WidgetService) echo.HandlerFunc { body.Image, body.Audio, body.Name, + body.IsActive, ) if err != nil { slog.Error(err.Error()) diff --git a/internal/docs/docs.go b/internal/docs/docs.go index 4563b8c..5ee0381 100644 --- a/internal/docs/docs.go +++ b/internal/docs/docs.go @@ -993,6 +993,10 @@ const docTemplate = `{ "format": "uuid", "example": "550e8400-e29b-41d4-a716-446655440000" }, + "is_active": { + "type": "boolean", + "example": true + }, "max_amount": { "type": "integer", "example": 100 diff --git a/internal/docs/swagger.json b/internal/docs/swagger.json index 644c419..cde5262 100644 --- a/internal/docs/swagger.json +++ b/internal/docs/swagger.json @@ -986,6 +986,10 @@ "format": "uuid", "example": "550e8400-e29b-41d4-a716-446655440000" }, + "is_active": { + "type": "boolean", + "example": true + }, "max_amount": { "type": "integer", "example": 100 diff --git a/internal/docs/swagger.yaml b/internal/docs/swagger.yaml index 6bc7bac..c1a03be 100644 --- a/internal/docs/swagger.yaml +++ b/internal/docs/swagger.yaml @@ -24,6 +24,9 @@ definitions: example: 550e8400-e29b-41d4-a716-446655440000 format: uuid type: string + is_active: + example: true + type: boolean max_amount: example: 100 type: integer diff --git a/internal/model/interfaces.go b/internal/model/interfaces.go index 7d7089c..639bbba 100644 --- a/internal/model/interfaces.go +++ b/internal/model/interfaces.go @@ -24,6 +24,7 @@ type WidgetService interface { image string, audio string, name string, + isActive bool, ) (WidgetID, error) GetWidgetsByStreamer(ctx context.Context, streamerID int) ([]*WidgetWithFileLink, error) UpdateWidget(ctx context.Context, updateWidget UpdateWidget, widgetID, accountID int) error @@ -46,6 +47,7 @@ type WidgetRepo interface { image string, audio string, name string, + isActive bool, ) (WidgetID, error) CheckWidgetName(ctx context.Context, streamerID int, name string) (bool, error) GetWidgetsByStreamerID(ctx context.Context, streamerID int) ([]*GetWidgetDb, error) diff --git a/internal/model/models.go b/internal/model/models.go index ea28d31..e62ddd3 100644 --- a/internal/model/models.go +++ b/internal/model/models.go @@ -236,6 +236,7 @@ type CreateWidgetResponse struct { type CreateWidgetBody struct { TemplateID int `json:"template_id" validate:"required" example:"1"` Duration int `json:"duration" validate:"required" example:"30"` + IsActive bool `json:"is_active" example:"true"` Name string `json:"name" validate:"required" example:"My GetWidgetDb"` Image string `json:"image" validate:"required" format:"uuid" example:"550e8400-e29b-41d4-a716-446655440000"` Audio string `json:"audio" validate:"required" format:"uuid" example:"550e8400-e29b-41d4-a716-446655440001"` diff --git a/internal/repository/widget/widget.go b/internal/repository/widget/widget.go index c9e6df3..2782da1 100644 --- a/internal/repository/widget/widget.go +++ b/internal/repository/widget/widget.go @@ -36,6 +36,7 @@ func (widgetRepo *RepoWidget) CreateWidget( image string, audio string, name string, + isActive bool, ) (model.WidgetID, error) { args := pgx.NamedArgs{ "streamer_id": streamerID, @@ -46,6 +47,7 @@ func (widgetRepo *RepoWidget) CreateWidget( "image": image, "audio": audio, "name": name, + "is_active": isActive, } widgetID, err := widgetRepo.db.Insert(ctx, sql.CreateWidget, args) if err != nil { diff --git a/internal/service/widget/widget.go b/internal/service/widget/widget.go index 8851d6d..af27701 100644 --- a/internal/service/widget/widget.go +++ b/internal/service/widget/widget.go @@ -41,6 +41,7 @@ func (widgetService *ServiceWidget) CreateWidget( image string, audio string, name string, + isActive bool, ) (model.WidgetID, error) { exists, err := widgetService.widgetRepo.CheckWidgetName(ctx, streamerID, name) if err != nil { @@ -62,6 +63,7 @@ func (widgetService *ServiceWidget) CreateWidget( image, audio, name, + isActive, ) if err != nil { slog.Error(err.Error())