mirror of
https://github.com/mxpv/podsync.git
synced 2024-05-11 05:55:04 +00:00
61 lines
1.8 KiB
Go
61 lines
1.8 KiB
Go
package model
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/mxpv/podsync/pkg/api"
|
|
)
|
|
|
|
//noinspection SpellCheckingInspection
|
|
type Pledge struct {
|
|
PledgeID int64 `sql:",pk"`
|
|
PatronID int64
|
|
CreatedAt time.Time `dynamodbav:",unixtime"`
|
|
DeclinedSince time.Time `dynamodbav:",unixtime"`
|
|
AmountCents int
|
|
TotalHistoricalAmountCents int
|
|
OutstandingPaymentAmountCents int
|
|
IsPaused bool
|
|
}
|
|
|
|
type Item struct {
|
|
ID string
|
|
Title string
|
|
Description string
|
|
Thumbnail string
|
|
Duration int64
|
|
VideoURL string
|
|
PubDate Timestamp `dynamodbav:",unixtime"`
|
|
Size int64
|
|
|
|
Order string `dynamodbav:"-"`
|
|
}
|
|
|
|
//noinspection SpellCheckingInspection
|
|
type Feed struct {
|
|
FeedID int64 `sql:",pk" dynamodbav:"-"`
|
|
HashID string // Short human readable feed id for users
|
|
UserID string // Patreon user id
|
|
ItemID string
|
|
LinkType api.LinkType // Either group, channel or user
|
|
Provider api.Provider // Youtube or Vimeo
|
|
PageSize int // The number of episodes to return
|
|
Format api.Format
|
|
Quality api.Quality
|
|
FeatureLevel int
|
|
CreatedAt time.Time `dynamodbav:",unixtime"`
|
|
LastAccess time.Time `dynamodbav:",unixtime"`
|
|
ExpirationTime time.Time `sql:"-" dynamodbav:",unixtime"`
|
|
CoverArt string `dynamodbav:",omitempty"`
|
|
Explicit bool
|
|
Language string `dynamodbav:",omitempty"` // ISO 639
|
|
Title string
|
|
Description string
|
|
PubDate time.Time `dynamodbav:",unixtime"`
|
|
Author string
|
|
ItemURL string // Platform specific URL
|
|
Episodes []*Item // Array of episodes
|
|
LastID string // Last seen video URL ID (for incremental updater)
|
|
UpdatedAt time.Time `dynamodbav:",unixtime"`
|
|
}
|