From cac2f49b0622544304de23d133cc60cec8410d2c Mon Sep 17 00:00:00 2001 From: Azalea <22280294+hykilpikonna@users.noreply.github.com> Date: Wed, 21 Feb 2024 17:42:15 -0500 Subject: [PATCH] [+] Card summary sdk --- AquaNet/src/libs/generalTypes.ts | 15 +++++++++++++++ AquaNet/src/libs/sdk.ts | 23 ++++++++++++----------- 2 files changed, 27 insertions(+), 11 deletions(-) diff --git a/AquaNet/src/libs/generalTypes.ts b/AquaNet/src/libs/generalTypes.ts index dc285b74..96461cc6 100644 --- a/AquaNet/src/libs/generalTypes.ts +++ b/AquaNet/src/libs/generalTypes.ts @@ -23,4 +23,19 @@ export interface UserMe { ghostCard: Card cards: Card[] computedName: string +} + +export interface CardSummaryGame { + name: string + rating: number + lastLogin: string +} + +export interface CardSummary { + maimai: CardSummaryGame | null + maimai2: CardSummaryGame | null + chusan: CardSummaryGame | null + chunithm: CardSummaryGame | null + ongeki: CardSummaryGame | null + diva: CardSummaryGame | null } \ No newline at end of file diff --git a/AquaNet/src/libs/sdk.ts b/AquaNet/src/libs/sdk.ts index a30b31f3..94ecafbb 100644 --- a/AquaNet/src/libs/sdk.ts +++ b/AquaNet/src/libs/sdk.ts @@ -1,5 +1,5 @@ import { AQUA_HOST } from "./config"; -import type { UserMe } from "./generalTypes"; +import type { Card, CardSummary, UserMe } from "./generalTypes"; interface RequestInitWithParams extends RequestInit { params?: { [index: string]: string } @@ -72,18 +72,19 @@ async function login(user: { email: string, password: string, turnstile: string localStorage.setItem('token', data.token) } -async function confirmEmail(token: string) { - return await post('/api/v2/user/confirm-email', { token }) -} - -async function me(): Promise { - return await post('/api/v2/user/me', {}) -} - export const USER = { register, login, - confirmEmail, - me, + confirmEmail: (token: string) => + post('/api/v2/user/confirm-email', { token }), + me: (): Promise => + post('/api/v2/user/me', {}), isLoggedIn: () => !!localStorage.getItem('token') +} + +export const CARD = { + summary: (cardId: string): Promise<{card: Card, summary: CardSummary}> => + post('/api/v2/card/summary', { cardId }), + bind: (props: { cardId: string, migrate: string }) => + post('/api/v2/card/bind', props), } \ No newline at end of file