summaryrefslogtreecommitdiff
path: root/api
diff options
context:
space:
mode:
Diffstat (limited to 'api')
-rw-r--r--api/settings.ts39
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;