UNPKG

@follow-app/client-sdk

Version:

TypeScript client SDK for Follow RSS Server API

61 lines (49 loc) 1.36 kB
import type { achievements } from "@folo-services/drizzle" import type { InferSelectModel } from "drizzle-orm" import type { EmptyResponse, SerializedModel, SuccessResponse } from "../../types" // Database types type Achievement = SerializedModel<InferSelectModel<typeof achievements>> // Achievement types export type AchievementType = | "checking" | "completed" | "incomplete" | "audit" | "received" // Request types export interface ListAchievementsRequest { type?: AchievementType | "all" } export interface ClaimAchievementRequest { actionId: number } export interface CheckAchievementRequest { actionId: number } export interface AuditAchievementRequest { actionId: number payload: any } // Response data types export interface AchievementWithPower extends Achievement { power: string } export interface ListAchievementsData { data: AchievementWithPower[] total: number done: number } export interface AchievementActionResult { actionId: number result: boolean } // Response types export type ListAchievementsResponse = SuccessResponse< AchievementWithPower[] > & { total: number done: number } export type ClaimAchievementResponse = SuccessResponse<AchievementActionResult> export type CheckAchievementResponse = SuccessResponse<AchievementActionResult> export type AuditAchievementResponse = EmptyResponse