@follow-app/client-sdk
Version:
TypeScript client SDK for Follow RSS Server API
47 lines (42 loc) • 1.3 kB
text/typescript
import { defineModule, defineRoute } from "../../shared/define-module"
import type {
AddFeedsRequest,
AddFeedsResponse,
CreateListRequest,
CreateListResponse,
DeleteListRequest,
DeleteListResponse,
GetListQuery,
GetListResponse,
ListsListQuery,
ListUserListsResponse,
RemoveFeedRequest,
RemoveFeedResponse,
UpdateListRequest,
UpdateListResponse,
} from "./types"
/**
* Lists module definition with core routes
*/
export const listsModule = defineModule({
name: "lists",
prefix: "/lists",
routes: {
// Basic list operations
get: defineRoute<GetListQuery, GetListResponse>("GET", "/"),
list: defineRoute<ListsListQuery, ListUserListsResponse>("GET", "/list"),
create: defineRoute<CreateListRequest, CreateListResponse>("POST", "/"),
update: defineRoute<UpdateListRequest, UpdateListResponse>("PATCH", "/"),
delete: defineRoute<DeleteListRequest, DeleteListResponse>("DELETE", "/"),
// Feed management
addFeeds: defineRoute<AddFeedsRequest, AddFeedsResponse>("POST", "/feeds"),
removeFeed: defineRoute<RemoveFeedRequest, RemoveFeedResponse>(
"DELETE",
"/feeds",
),
},
})
// Export the API type
export type ListsAPI = typeof listsModule.api
// Re-export types for external consumption
export type * from "./types"