be25b31a0e
en-US (source of truth) and ru-RU were missing ~25 strings introduced by the
api-key management UI, so Russian users saw the controls in English and en-US
was incomplete. Add every new t() key to both locales (24 new in en-US, 26 in
ru-RU) with natural Russian translations, placeholders ({{name}}/{{date}})
preserved; existing keys left untouched (insertions only, no reordering).
Also fix the createApiKey() lifecycle comment: the gcTime:0 + invalidation
lives in queries/api-key-query.ts (there is no use-api-key-query file) and the
reset()-after-read of the token lives in components/api-keys-manager.tsx
handleCreate (create-api-key-modal.tsx only resets the form).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
31 lines
1.2 KiB
TypeScript
31 lines
1.2 KiB
TypeScript
import api from "@/lib/api-client";
|
|
import {
|
|
IApiKey,
|
|
ICreateApiKey,
|
|
ICreateApiKeyResponse,
|
|
} from "@/features/api-key/types/api-key.types";
|
|
|
|
// Mint a new key. The response carries the token ONCE — the caller must move it
|
|
// straight into the show-once modal's local state and never cache it. See
|
|
// queries/api-key-query.ts (gcTime: 0 + query invalidation) and
|
|
// components/api-keys-manager.tsx `handleCreate` (createMutation.reset() right
|
|
// after reading the token) for the reset()-after-read pattern.
|
|
export async function createApiKey(
|
|
data: ICreateApiKey,
|
|
): Promise<ICreateApiKeyResponse> {
|
|
const res = await api.post<ICreateApiKeyResponse>("/api-keys/create", data);
|
|
return res.data as ICreateApiKeyResponse;
|
|
}
|
|
|
|
// List the caller's keys (or, for an admin, every key in the workspace with
|
|
// creator attribution). Never returns token material.
|
|
export async function getApiKeys(): Promise<IApiKey[]> {
|
|
const res = await api.post<IApiKey[]>("/api-keys/list");
|
|
return res.data as IApiKey[];
|
|
}
|
|
|
|
// Revocation is server-side immediate; the caller drops the row on success.
|
|
export async function revokeApiKey(id: string): Promise<void> {
|
|
await api.post("/api-keys/revoke", { id });
|
|
}
|