@follow-app/client-sdk
Version:
TypeScript client SDK for Follow RSS Server API
47 lines (40 loc) • 1.21 kB
text/typescript
import { defineModule, defineRoute } from "../../shared/define-module"
import type {
CreateMessagingTokenRequest,
CreateMessagingTokenResponse,
DeleteMessagingTokenRequest,
DeleteMessagingTokenResponse,
GetMessagingTokensResponse,
TestMessagingQuery,
TestMessagingResponse,
} from "./types"
/**
* Messaging module for push notification management
*/
export const messagingModule = defineModule({
name: "messaging",
prefix: "/messaging",
routes: {
// List messaging tokens for user
getTokens: defineRoute<never, GetMessagingTokensResponse>("GET", "/"),
// Create or update messaging token
createToken: defineRoute<
CreateMessagingTokenRequest,
CreateMessagingTokenResponse
>("POST", "/"),
// Remove messaging token
deleteToken: defineRoute<
DeleteMessagingTokenRequest,
DeleteMessagingTokenResponse
>("DELETE", "/"),
// Test messaging notification
testNotification: defineRoute<TestMessagingQuery, TestMessagingResponse>(
"GET",
"/test",
),
},
})
// Export the API type
export type MessagingAPI = typeof messagingModule.api
// Re-export types for external consumption
export type * from "./types"