UNPKG

@follow-app/client-sdk

Version:

TypeScript client SDK for Follow RSS Server API

56 lines (46 loc) 1.44 kB
import { defineModule, defineRoute } from "../../shared/define-module" import type { InboxCreateRequest, InboxCreateResponse, InboxDeleteRequest, InboxDeleteResponse, InboxEmailRequest, InboxEmailResponse, InboxGetQuery, InboxGetResponse, InboxListResponse, InboxUpdateRequest, InboxUpdateResponse, InboxWebhookRequest, InboxWebhookResponse, } from "./types" /** * Inboxes module definition - Email inboxes management */ export const inboxesModule = defineModule({ name: "inboxes", prefix: "/inboxes", routes: { // Get specific inbox by handle get: defineRoute<InboxGetQuery, InboxGetResponse>("GET", "/"), // List user's inboxes list: defineRoute<never, InboxListResponse>("GET", "/list"), // Create new inbox post: defineRoute<InboxCreateRequest, InboxCreateResponse>("POST", "/"), // Update inbox put: defineRoute<InboxUpdateRequest, InboxUpdateResponse>("PUT", "/"), // Delete inbox delete: defineRoute<InboxDeleteRequest, InboxDeleteResponse>("DELETE", "/"), // Email operations email: defineRoute<InboxEmailRequest, InboxEmailResponse>("POST", "/email"), // Webhook operations webhook: defineRoute<InboxWebhookRequest, InboxWebhookResponse>( "POST", "/webhook", ), }, }) // Export the API type export type InboxesAPI = typeof inboxesModule.api // Re-export types for external consumption export type * from "./types"