2024-09-13 06:56:04 +00:00
|
|
|
export interface EpisodeActionInterface {
|
|
|
|
podcast: string
|
|
|
|
episode: string
|
|
|
|
action: string
|
|
|
|
timestamp: string
|
|
|
|
started: number
|
|
|
|
position: number
|
|
|
|
total: number
|
|
|
|
guid?: string
|
|
|
|
id?: number
|
|
|
|
}
|
|
|
|
|
|
|
|
export interface EpisodeInterface {
|
|
|
|
title: string
|
2024-09-13 10:35:08 +00:00
|
|
|
url: string
|
2024-09-13 06:56:04 +00:00
|
|
|
name: string
|
|
|
|
link?: string
|
|
|
|
image?: string
|
|
|
|
description?: string
|
|
|
|
fetchedAtUnix: number
|
|
|
|
guid: string
|
|
|
|
type?: string
|
|
|
|
size?: number
|
2024-09-13 10:35:08 +00:00
|
|
|
pubDate?: {
|
|
|
|
date: string
|
|
|
|
timezone_type: number
|
|
|
|
timezone: string
|
|
|
|
}
|
2024-09-13 06:56:04 +00:00
|
|
|
duration?: string
|
|
|
|
action?: EpisodeActionInterface
|
|
|
|
}
|
|
|
|
|
|
|
|
export interface FiltersInterface {
|
|
|
|
listened: boolean
|
|
|
|
listening: boolean
|
|
|
|
unlistened: boolean
|
|
|
|
}
|
2024-09-13 10:35:08 +00:00
|
|
|
|
|
|
|
export interface PodcastDataInterface {
|
|
|
|
title: string
|
|
|
|
author?: string
|
|
|
|
link: string
|
|
|
|
description?: string
|
|
|
|
imageUrl?: string
|
|
|
|
fetchedAtUnix: number
|
|
|
|
imageBlob?: string | null
|
|
|
|
}
|
|
|
|
|
|
|
|
export interface PodcastMetricsInterface {
|
|
|
|
subscriptions: [
|
|
|
|
{
|
|
|
|
url: string
|
|
|
|
listenedSeconds: number
|
|
|
|
actionCounts: {
|
|
|
|
delete: number
|
|
|
|
download: number
|
|
|
|
flattr: number
|
|
|
|
new: number
|
|
|
|
play: number
|
|
|
|
}
|
|
|
|
},
|
|
|
|
]
|
|
|
|
}
|
|
|
|
|
|
|
|
export interface SubscriptionInterface {
|
|
|
|
data?: PodcastDataInterface
|
|
|
|
isFavorite: boolean
|
|
|
|
metrics: PodcastMetricsInterface['subscriptions'][0]
|
|
|
|
}
|