Files
paperclip/ui/src/api/secrets.ts
Forgotten 5c259a9470 UI: secrets-aware env editor, issue hiding, and adapter env bindings
Replace plain text env var editor with structured EnvVarEditor
supporting plain values and secret references with inline "Seal"
to convert a value to a managed secret. Add issue hide action via
popover menu on issue detail. Adapters now emit envBindings with
typed plain/secret_ref entries instead of raw KEY=VALUE strings.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 15:44:05 -06:00

26 lines
1.0 KiB
TypeScript

import type { CompanySecret, SecretProviderDescriptor, SecretProvider } from "@paperclip/shared";
import { api } from "./client";
export const secretsApi = {
list: (companyId: string) => api.get<CompanySecret[]>(`/companies/${companyId}/secrets`),
providers: (companyId: string) =>
api.get<SecretProviderDescriptor[]>(`/companies/${companyId}/secret-providers`),
create: (
companyId: string,
data: {
name: string;
value: string;
provider?: SecretProvider;
description?: string | null;
externalRef?: string | null;
},
) => api.post<CompanySecret>(`/companies/${companyId}/secrets`, data),
rotate: (id: string, data: { value: string; externalRef?: string | null }) =>
api.post<CompanySecret>(`/secrets/${id}/rotate`, data),
update: (
id: string,
data: { name?: string; description?: string | null; externalRef?: string | null },
) => api.patch<CompanySecret>(`/secrets/${id}`, data),
remove: (id: string) => api.delete<{ ok: true }>(`/secrets/${id}`),
};