2024-09-27 13:50:20 +05:00

64 lines
1.5 KiB
Go

package model
import (
"strconv"
"strings"
"time"
)
type Widget struct {
ID WidgetID
StreamerID StreamerID
TemplateID TemplateID
BackgroundUrl MediaUrl
ImageUrl MediaUrl
AudioUrl MediaUrl
Duration Duration
CreatedAt time.Time
UpdatedAt time.Time
}
func (widget *Widget) GetMediaUrl(mediaType MediaType) MediaUrl {
var mediaUrl MediaUrl
if mediaType == "background_url" {
mediaUrl = widget.BackgroundUrl
} else if mediaType == "image_url" {
mediaUrl = widget.ImageUrl
} else if mediaType == "audio_url" {
mediaUrl = widget.AudioUrl
}
return mediaUrl
}
func (widget *Widget) NormalizeUrl() {
selfDomain := "http://localhost:8002/api/widget/media"
strWidgetID := strconv.Itoa(int(widget.ID))
if !strings.Contains(string(widget.ImageUrl), "http") && widget.ImageUrl != "" {
widget.ImageUrl = MediaUrl(selfDomain + "/image/get/" + strWidgetID)
}
if !strings.Contains(string(widget.BackgroundUrl), "http") && widget.BackgroundUrl != "" {
widget.BackgroundUrl = MediaUrl(selfDomain + "/background/get/" + strWidgetID)
}
if !strings.Contains(string(widget.AudioUrl), "http") && widget.AudioUrl != "" {
widget.AudioUrl = MediaUrl(selfDomain + "/audio/get/" + strWidgetID)
}
}
type Donat struct {
ID DonatID
WidgetID WidgetID
Text string
DonatUser string
Amount DonatAmount
CreatedAt time.Time
UpdatedAt time.Time
}
type DonatAndWidget struct {
Widget *Widget
Donat *Donat
Display Display
}