Files
Minikura/apps/web/lib/api-helpers.ts
T

31 lines
878 B
TypeScript
Raw Normal View History

2026-02-17 18:12:02 +07:00
import { api } from "@/lib/api-client";
2026-02-13 15:52:13 +07:00
type ReverseProxyApi = {
2026-08-13 03:29:33 +07:00
get: () => Promise<{ data?: unknown; error?: unknown }>;
2026-02-17 18:12:02 +07:00
(params: {
id: string;
}): {
2026-02-13 15:52:13 +07:00
delete: () => Promise<{ data?: unknown; error?: unknown }>;
2026-08-13 03:29:33 +07:00
patch: (body: unknown) => Promise<{ data?: unknown; error?: unknown }>;
"connection-info": { get: () => Promise<{ data?: unknown; error?: unknown }> };
2026-02-13 15:52:13 +07:00
};
};
type UserSuspensionApi = {
suspension: {
2026-02-17 18:12:02 +07:00
patch: (body: {
isSuspended: boolean;
suspendedUntil: string | null;
}) => Promise<{ error?: unknown }>;
2026-02-13 15:52:13 +07:00
};
};
export const getReverseProxyApi = (): ReverseProxyApi => {
const apiRoot = api.api as unknown as { "reverse-proxy": ReverseProxyApi };
return apiRoot["reverse-proxy"];
};
export const getUserApi = (id: string): UserSuspensionApi => {
return api.api.users({ id }) as unknown as UserSuspensionApi;
};