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>
26 lines
1.0 KiB
TypeScript
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}`),
|
|
};
|