Files

67 lines
1.0 KiB
TypeScript

import type { NewsItem, SourceID } from "@shared/types"
export interface RSSInfo {
title: string
description: string
link: string
image: string
updatedTime: string
items: RSSItem[]
}
export interface RSSItem {
title: string
description: string
link: string
created?: string
}
export interface CacheInfo {
id: SourceID
items: NewsItem[]
updated: number
}
export interface CacheRow {
id: SourceID
data: string
updated: number
}
export interface RSSHubInfo {
title: string
home_page_url: string
description: string
items: RSSHubItem[]
}
export interface RSSHubItem {
id: string
url: string
title: string
content_html: string
date_published: string
}
export interface UserInfo {
id: string
email: string
type: "github"
data: string
created: number
updated: number
}
export interface RSSHubOption {
// default: true
sorted?: boolean
// default: 20
limit?: number
}
export interface SourceOption {
// default: false
hiddenDate?: boolean
}
export type SourceGetter = () => Promise<NewsItem[]>