api-keys.ts 822 B

123456789101112131415161718192021222324
  1. import { apiClient, tenantParams } from "./client";
  2. import type { ApiKeyCreateRequest, ApiKeyCreateResponse, ApiKeyResponse, ApiKeyStatus } from "@/types";
  3. export async function createApiKey(payload: ApiKeyCreateRequest) {
  4. const { data } = await apiClient.post<ApiKeyCreateResponse>("/api-keys", payload);
  5. return data;
  6. }
  7. export async function listApiKeys() {
  8. const { data } = await apiClient.get<ApiKeyResponse[]>("/api-keys", { params: tenantParams() });
  9. return data;
  10. }
  11. export async function updateApiKeyStatus(apiKeyId: string, status: ApiKeyStatus) {
  12. const { data } = await apiClient.patch<ApiKeyResponse>(`/api-keys/${apiKeyId}/status`, {
  13. ...tenantParams(),
  14. status,
  15. });
  16. return data;
  17. }
  18. export async function revokeApiKey(apiKeyId: string) {
  19. return updateApiKeyStatus(apiKeyId, "revoked");
  20. }