fix and update

This commit is contained in:
lendry
2026-07-07 09:01:49 +03:00
parent 881e5d764b
commit 29306eb2ec
14 changed files with 551 additions and 60 deletions

View File

@@ -236,6 +236,8 @@ export interface QrLoginSession {
status: 'PENDING' | 'APPROVED' | 'EXPIRED';
expiresAt: string;
qrPayload?: string;
claimed?: boolean;
claimedDeviceName?: string;
auth?: AuthTokens & { user?: PublicUser };
}
@@ -255,6 +257,23 @@ export async function pollQrLoginSession(sessionId: string) {
return apiFetch<QrLoginSession>(`/auth/advanced/qr/session/${sessionId}`);
}
export async function createDeviceLinkQrSession(userId: string, token: string) {
return apiFetch<QrLoginSession>(`/security/users/${userId}/device-link/session`, { method: 'POST' }, token);
}
export async function claimQrLoginSession(sessionId: string) {
const { buildAuthDevicePayload } = await import('@/lib/device-client');
const device = buildAuthDevicePayload();
return apiFetch<QrLoginSession>(`/auth/advanced/qr/session/${sessionId}/claim`, {
method: 'POST',
body: JSON.stringify(device)
});
}
export async function approveQrLoginSession(sessionId: string, token: string) {
return apiFetch<QrLoginSession>(`/auth/advanced/qr/session/${sessionId}/approve`, { method: 'POST' }, token);
}
export interface TotpSetupResponse {
secret: string;
otpauthUrl: string;