diff options
| author | JustZvan <justzvan@justzvan.xyz> | 2026-04-08 19:48:30 +0200 |
|---|---|---|
| committer | JustZvan <justzvan@justzvan.xyz> | 2026-04-08 19:48:30 +0200 |
| commit | fef579b2b794be6f4b8e963fe4ed2c4c8f734aec (patch) | |
| tree | b87047d87107ca693e151984f7a8faffe07d6c5c /api/settings.ts | |
| parent | 3273e7a0fbbce82f4ce6cacbcdb7b6d6848f6c1b (diff) | |
feat: 1.2main
Diffstat (limited to 'api/settings.ts')
| -rw-r--r-- | api/settings.ts | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/api/settings.ts b/api/settings.ts index 2823afa..217be01 100644 --- a/api/settings.ts +++ b/api/settings.ts @@ -5,6 +5,13 @@ interface VerifyEmailResponse { reason?: string; } +interface KidLinkCodeResponse { + success: boolean; + code?: string; + expiresInSeconds?: number; + reason?: string; +} + export async function verifyEmail( code: string, ): Promise<{ success: boolean; error?: string }> { @@ -23,6 +30,38 @@ export async function verifyEmail( } } +export async function requestKidLinkCode(): Promise<{ + success: boolean; + code?: string; + expiresInSeconds?: number; + error?: string; +}> { + try { + const response: KidLinkCodeResponse = await apiClient.post( + "/parent/kid-link-code", + ); + + if (!response.success || !response.code) { + return { + success: false, + error: response.reason || "Failed to generate link code", + }; + } + + return { + success: true, + code: response.code, + expiresInSeconds: response.expiresInSeconds, + }; + } catch (e) { + console.error("Failed to request kid link code", e); + return { + success: false, + error: e instanceof Error ? e.message : "Failed to generate link code", + }; + } +} + export interface UserProfile { email: string; emailVerified: boolean; |