add models for json
This commit is contained in:
parent
544dfcc2b4
commit
2d05ab2b55
@ -3,6 +3,7 @@ package donat
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"donat-widget/internal/model"
|
"donat-widget/internal/model"
|
||||||
|
"donat-widget/pkg/validator"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/google/uuid"
|
"github.com/google/uuid"
|
||||||
"github.com/labstack/echo/v4"
|
"github.com/labstack/echo/v4"
|
||||||
@ -143,8 +144,21 @@ func GetOuterDonatePage(donatService model.DonatService) echo.HandlerFunc {
|
|||||||
// @Failure 422 {object} echo.HTTPError "Validation error"
|
// @Failure 422 {object} echo.HTTPError "Validation error"
|
||||||
// @Router /donat-page [patch]
|
// @Router /donat-page [patch]
|
||||||
func UpdateDonatePage(donatService model.DonatService) echo.HandlerFunc {
|
func UpdateDonatePage(donatService model.DonatService) echo.HandlerFunc {
|
||||||
return func(c echo.Context) error {
|
return func(request echo.Context) error {
|
||||||
return nil
|
var body model.UpdateDonatPage
|
||||||
|
err := validator.ParseAndValidate(&body, request)
|
||||||
|
if err != nil {
|
||||||
|
slog.Error(err.Error())
|
||||||
|
return echo.NewHTTPError(http.StatusUnprocessableEntity, "Unprocessable Entity")
|
||||||
|
}
|
||||||
|
form, err := request.MultipartForm()
|
||||||
|
if err != nil {
|
||||||
|
slog.Error(err.Error())
|
||||||
|
return echo.NewHTTPError(http.StatusUnprocessableEntity, "Unprocessable Entity")
|
||||||
|
}
|
||||||
|
|
||||||
|
backgroundFile, backgroundOk := form.File["background"]
|
||||||
|
avatarFile, avatarOk := form.File["avatar"]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -110,6 +110,44 @@ type UpdateDonatPage struct {
|
|||||||
PageBackground string `json:"pageBackground"`
|
PageBackground string `json:"pageBackground"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type VoiceSettingsResponse struct {
|
||||||
|
Id int `json:"id"`
|
||||||
|
StreamerID int `json:"streamerID"`
|
||||||
|
VoiceSpeed int `json:"voiceSpeed"`
|
||||||
|
Scenery string `json:"scenery"`
|
||||||
|
VoiceSoundPercent int `json:"voiceSoundPercent"`
|
||||||
|
MinPrice int `json:"minPrice"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type UpdateVoiceSettings struct {
|
||||||
|
Enable bool `json:"enable"`
|
||||||
|
VoiceSpeed int `json:"voiceSpeed"`
|
||||||
|
Scenery string `json:"scenery"`
|
||||||
|
VoiceSoundPercent int `json:"voiceSoundPercent"`
|
||||||
|
MinPrice int `json:"minPrice"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type FilterSettingResponse struct {
|
||||||
|
EnableLinks bool `json:"enableLinks"`
|
||||||
|
FilteredWords []string `json:"filteredWords"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type UpdateFilterSettings struct {
|
||||||
|
EnableLinks bool `json:"enableLinks"`
|
||||||
|
AddWords []string `json:"addWords"`
|
||||||
|
RemoveWords []string `json:"removeWords"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ModerationResponse struct {
|
||||||
|
Enable bool `json:"enable"`
|
||||||
|
Duration int `json:"duration"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type UpdateModeration struct {
|
||||||
|
Enable bool `json:"enable"`
|
||||||
|
Duration int `json:"duration"`
|
||||||
|
}
|
||||||
|
|
||||||
type DonatAndWidget struct {
|
type DonatAndWidget struct {
|
||||||
Widget *Widget
|
Widget *Widget
|
||||||
Donat *Donat
|
Donat *Donat
|
||||||
|
@ -80,6 +80,7 @@ CREATE TABLE IF NOT EXISTS filters_words (
|
|||||||
CREATE TABLE IF NOT EXISTS voice_settings (
|
CREATE TABLE IF NOT EXISTS voice_settings (
|
||||||
id SERIAL PRIMARY KEY,
|
id SERIAL PRIMARY KEY,
|
||||||
streamer_id INTEGER NOT NULL,
|
streamer_id INTEGER NOT NULL,
|
||||||
|
enable BOOLEAN DEFAULT FALSE,
|
||||||
voice_speed INTEGER NOT NULL,
|
voice_speed INTEGER NOT NULL,
|
||||||
scenery TEXT DEFAULT 'after_donat',
|
scenery TEXT DEFAULT 'after_donat',
|
||||||
voice_sound_percent INTEGER NOT NULL,
|
voice_sound_percent INTEGER NOT NULL,
|
||||||
|
@ -2,6 +2,7 @@ package validator
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
|
"github.com/labstack/echo/v4"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
validator "github.com/go-playground/validator/v10"
|
validator "github.com/go-playground/validator/v10"
|
||||||
@ -23,3 +24,13 @@ func (val *Validator) Validate(i interface{}) error {
|
|||||||
err = errors.New(strings.Replace(err.Error(), "\n", ", ", -1))
|
err = errors.New(strings.Replace(err.Error(), "\n", ", ", -1))
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func ParseAndValidate(i interface{}, request echo.Context) error {
|
||||||
|
if err := request.Bind(i); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if err := request.Validate(i); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user