UNPKG

@follow-app/client-sdk

Version:

TypeScript client SDK for Follow RSS Server API

58 lines (49 loc) 1.5 kB
import { defineModule, defineRoute } from "../../shared/define-module" import type { RSSHubCreateRequest, RSSHubCreateResponse, RSSHubDeleteRequest, RSSHubDeleteResponse, RSSHubGetQuery, RSSHubGetResponse, RSSHubListResponse, RSSHubStatusResponse, RSSHubUseRequest, RSSHubUseResponse, } from "./types" /** * RSSHub module definition for RSSHub instance management */ export const rsshubModule = defineModule({ name: "rsshub", prefix: "/rsshub", routes: { // Create or update RSSHub instance create: defineRoute<RSSHubCreateRequest, RSSHubCreateResponse>( "POST", "/", ), // List available RSSHub instances // eslint-disable-next-line @typescript-eslint/no-empty-object-type list: defineRoute<{}, RSSHubListResponse>( "GET", "/list", ), // Delete RSSHub instance delete: defineRoute<RSSHubDeleteRequest, RSSHubDeleteResponse>( "DELETE", "/", ), // Purchase/use RSSHub instance use: defineRoute<RSSHubUseRequest, RSSHubUseResponse>("POST", "/use"), // Get specific RSSHub instance get: defineRoute<RSSHubGetQuery, RSSHubGetResponse>("GET", "/"), // Get user's RSSHub usage status // eslint-disable-next-line @typescript-eslint/no-empty-object-type status: defineRoute<{}, RSSHubStatusResponse>("GET", "/status"), }, }) // Export the API type export type RSSHubAPI = typeof rsshubModule.api // Re-export types for external consumption export type * from "./types"