UNPKG

@follow-app/client-sdk

Version:

TypeScript client SDK for Follow RSS Server API

50 lines (42 loc) 1.12 kB
import { defineModule, defineRoute } from "../../shared/define-module" import type { MarkAllAsReadRequest, MarkAllAsReadResponse, MarkAsReadRequest, MarkAsUnreadRequest, ReadOperationResponse, ReadStatusQuery, ReadStatusResponse, TotalUnreadCountResponse, } from "./types" /** * Reads module definition with nested routes */ export const readsModule = defineModule({ name: "reads", prefix: "/reads", routes: { // Basic read operations get: defineRoute<ReadStatusQuery, ReadStatusResponse>("GET", "/"), markAsRead: defineRoute<MarkAsReadRequest, ReadOperationResponse>( "POST", "/", ), markAsUnread: defineRoute<MarkAsUnreadRequest, ReadOperationResponse>( "DELETE", "/", ), markAllAsRead: defineRoute<MarkAllAsReadRequest, MarkAllAsReadResponse>( "POST", "/all", ), getTotalCount: defineRoute<never, TotalUnreadCountResponse>( "GET", "/total-count", ), }, }) // Export the API type export type ReadsAPI = typeof readsModule.api // Re-export types for external consumption export type * from "./types"