feat: add settings page to analytics-frontend

This commit is contained in:
Usman Baig
2026-01-16 22:37:40 +01:00
parent 63921d5e04
commit e1cf7d4b13
6 changed files with 1343 additions and 0 deletions

40
lib/api/2fa.ts Normal file
View File

@@ -0,0 +1,40 @@
import apiRequest from './client'
export interface Setup2FAResponse {
secret: string
qr_code: string
}
export interface Verify2FAResponse {
message: string
recovery_codes: string[]
}
export interface RegenerateCodesResponse {
recovery_codes: string[]
}
export async function setup2FA(): Promise<Setup2FAResponse> {
return apiRequest<Setup2FAResponse>('/auth/2fa/setup', {
method: 'POST',
})
}
export async function verify2FA(code: string): Promise<Verify2FAResponse> {
return apiRequest<Verify2FAResponse>('/auth/2fa/verify', {
method: 'POST',
body: JSON.stringify({ code }),
})
}
export async function disable2FA(): Promise<void> {
return apiRequest<void>('/auth/2fa/disable', {
method: 'POST',
})
}
export async function regenerateRecoveryCodes(): Promise<RegenerateCodesResponse> {
return apiRequest<RegenerateCodesResponse>('/auth/2fa/recovery', {
method: 'POST',
})
}