@follow-app/client-sdk
Version:
TypeScript client SDK for Follow RSS Server API
60 lines (52 loc) • 1.55 kB
text/typescript
import { defineModule, defineRoute } from "../../shared/define-module"
import type {
CreateRSSHubInstanceRequest,
CreateRSSHubInstanceResponse,
DeleteRSSHubInstanceRequest,
DeleteRSSHubInstanceResponse,
GetRSSHubInstanceRequest,
GetRSSHubInstanceResponse,
GetRSSHubInstancesListResponse,
GetRSSHubStatusResponse,
UseRSSHubInstanceRequest,
UseRSSHubInstanceResponse,
} from "./types"
/**
* RSSHub module for RSSHub instance management
*/
export const rsshubModule = defineModule({
name: "rsshub",
prefix: "/rsshub",
routes: {
// Create or update RSSHub instance
createInstance: defineRoute<
CreateRSSHubInstanceRequest,
CreateRSSHubInstanceResponse
>("POST", "/"),
// List available RSSHub instances
listInstances: defineRoute<never, GetRSSHubInstancesListResponse>(
"GET",
"/list",
),
// Delete RSSHub instance
deleteInstance: defineRoute<
DeleteRSSHubInstanceRequest,
DeleteRSSHubInstanceResponse
>("DELETE", "/"),
// Purchase/use RSSHub instance
useInstance: defineRoute<
UseRSSHubInstanceRequest,
UseRSSHubInstanceResponse
>("POST", "/use"),
// Get specific RSSHub instance
getInstance: defineRoute<
GetRSSHubInstanceRequest,
GetRSSHubInstanceResponse
>("GET", "/"),
// Get user's RSSHub usage status
getStatus: defineRoute<never, GetRSSHubStatusResponse>("GET", "/status"),
},
})
// Export the API type
export type RSSHubAPI = typeof rsshubModule.api
export type * from "./types"