mirror of
https://github.com/alkimake/paperclip.git
synced 2026-06-15 02:20:38 +09:00
26 lines
1 KiB
TypeScript
26 lines
1 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}`),
|
||
|
|
};
|