@follow-app/client-sdk
Version:
TypeScript client SDK for Follow RSS Server API
46 lines (39 loc) • 1.16 kB
text/typescript
import { defineModule, defineRoute } from "../../shared/define-module"
import type {
CreateInvitationRequest,
CreateInvitationResponse,
GetInvitationLimitationResponse,
GetInvitationsListResponse,
UseInvitationRequest,
UseInvitationResponse,
} from "./types"
/**
* Invitations module for managing invitation codes
*/
export const invitationsModule = defineModule({
name: "invitations",
prefix: "/invitations",
routes: {
// Get current invitation limit for user
getLimitation: defineRoute<never, GetInvitationLimitationResponse>(
"GET",
"/limitation",
),
// List all invitations created by user
list: defineRoute<never, GetInvitationsListResponse>("GET", "/"),
// Create new invitation code
create: defineRoute<CreateInvitationRequest, CreateInvitationResponse>(
"POST",
"/new",
),
// Use/redeem invitation code
use: defineRoute<UseInvitationRequest, UseInvitationResponse>(
"POST",
"/use",
),
},
})
// Export the API type
export type InvitationsAPI = typeof invitationsModule.api
// Re-export types for external consumption
export type * from "./types"