64 lines
1.5 KiB
Go
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
|
|
}
|