All files / src/lib/api admin-auth.ts

100% Statements 6/6
100% Branches 0/0
100% Functions 5/5
100% Lines 6/6

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48    120x   1x                             1x           1x           1x                     1x          
import { request } from "./base";
 
export const adminAuthApi = {
	async getUserSessions(userId: string) {
		return request<
			{
				id: string;
				token: string;
				userId: string;
				expiresAt: string;
				createdAt: string;
				updatedAt: string;
				ipAddress: string | null;
				userAgent: string | null;
			}[]
		>(`/api/admin/users/${userId}/sessions`);
	},
 
	async revokeSession(userId: string, sessionId: string) {
		return request(`/api/admin/users/${userId}/sessions/${sessionId}`, {
			method: "DELETE",
		});
	},
 
	async revokeAllSessions(userId: string) {
		return request(`/api/admin/users/${userId}/sessions`, {
			method: "DELETE",
		});
	},
 
	async getUserAccounts(userId: string) {
		return request<
			{
				id: string;
				providerId: string;
				accountId: string;
				createdAt: string;
			}[]
		>(`/api/admin/users/${userId}/accounts`);
	},
 
	async unlinkAccount(userId: string, accountId: string) {
		return request(`/api/admin/users/${userId}/accounts/${accountId}`, {
			method: "DELETE",
		});
	},
};