58 lines
2.0 KiB
Go
58 lines
2.0 KiB
Go
package models
|
|
|
|
import "time"
|
|
|
|
type TwitchLatestStatus struct {
|
|
TwitchID string `db:"twitch_id"`
|
|
TwitchLogin string `db:"twitch_login"`
|
|
StreamID string `db:"stream_id"`
|
|
Live bool `db:"live"`
|
|
StartedAt time.Time `db:"started_at"`
|
|
Title string `db:"title"`
|
|
CategoryID string `db:"category_id"`
|
|
Tags []string `db:"tags"`
|
|
LastHookLiveUpdate time.Time `db:"last_hook_live_update"`
|
|
LastHookChannelUpdate time.Time `db:"last_hook_channel_update"`
|
|
LastRESTUpdate time.Time `db:"last_rest_update"`
|
|
}
|
|
|
|
type TwitchStreamHistory struct {
|
|
StreamID string `db:"stream_id"`
|
|
TwitchID string `db:"twitch_id"`
|
|
TwitchLogin string `db:"twitch_login"`
|
|
StartedAt time.Time `db:"started_at"`
|
|
EndedAt time.Time `db:"ended_at"`
|
|
StreamEnded bool `db:"stream_ended"`
|
|
EndApproximated bool `db:"end_approximated"`
|
|
Title string `db:"title"`
|
|
CategoryID string `db:"category_id"`
|
|
Tags []string `db:"tags"`
|
|
DiscordMessageID string `db:"discord_message_id"`
|
|
DiscordNeedsUpdate bool `db:"discord_needs_update"`
|
|
VODID string `db:"vod_id"`
|
|
VODUrl string `db:"vod_url"`
|
|
VODThumbnail string `db:"vod_thumbnail"`
|
|
LastVerifiedVOD time.Time `db:"last_verified_vod"`
|
|
// NOTE(asaf): If we had a VOD for a while, and then it disappeared,
|
|
// assume it was removed from twitch and don't bother
|
|
// checking for it again.
|
|
VODGone bool `db:"vod_gone"`
|
|
}
|
|
|
|
type TwitchLogType int
|
|
|
|
const (
|
|
TwitchLogTypeOther TwitchLogType = iota + 1
|
|
TwitchLogTypeHook
|
|
TwitchLogTypeREST
|
|
)
|
|
|
|
type TwitchLog struct {
|
|
ID int `db:"id"`
|
|
LoggedAt time.Time `db:"logged_at"`
|
|
Login string `db:"twitch_login"`
|
|
Type TwitchLogType `db:"type"`
|
|
Message string `db:"message"`
|
|
Payload string `db:"payload"`
|
|
}
|