UNPKG

@follow-app/client-sdk

Version:

TypeScript client SDK for Follow RSS Server API

47 lines (42 loc) 1.3 kB
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"