@follow-app/client-sdk
Version:
TypeScript client SDK for Follow RSS Server API
51 lines (44 loc) • 1.23 kB
text/typescript
import { defineModule, defineRoute } from "../../shared/define-module"
import type {
AuditAchievementRequest,
AuditAchievementResponse,
CheckAchievementRequest,
CheckAchievementResponse,
ClaimAchievementRequest,
ClaimAchievementResponse,
ListAchievementsRequest,
ListAchievementsResponse,
} from "./types"
/**
* Achievement module for user achievement management
*/
export const achievementModule = defineModule({
name: "achievement",
prefix: "/achievement",
routes: {
// List user achievements
list: defineRoute<ListAchievementsRequest, ListAchievementsResponse>(
"GET",
"/",
),
// Claim/receive achievement reward
claim: defineRoute<ClaimAchievementRequest, ClaimAchievementResponse>(
"PUT",
"/",
),
// Check achievement status
check: defineRoute<CheckAchievementRequest, CheckAchievementResponse>(
"POST",
"/check",
),
// Submit achievement for audit
audit: defineRoute<AuditAchievementRequest, AuditAchievementResponse>(
"POST",
"/audit",
),
},
})
// Export the API type
export type AchievementAPI = typeof achievementModule.api
// Re-export types for external consumption
export type * from "./types"