Files
headquarter/apps/web/src/api/ssh-keys.ts
T
Developer bea71ab85b merge: integrate main restructuring into dev
- Resolve 57 merge conflicts from codebase restructure
- Port dev feature code to new directory structure:
  * Update import paths to use @/ aliases
  * Add backward-compatible API signatures (createInstance, startInstance, deleteInstance)
  * Add missing type exports (ProjectWithRepos, InstanceHealth, Branch, BranchesResponse)
  * Extend Session and GitRepository types for dev features
  * Extend TerminalComponent props for mobile terminal wrapper
  * Add missing icon names (bell, drag, undo)

Quality gates: tsc pass (0 errors), build pass, 127/131 tests pass
(4 pre-existing failures unrelated to merge)
2026-06-03 09:23:06 +00:00

54 lines
1.3 KiB
TypeScript

import { apiClient } from "./client";
export interface SSHKey {
id: string;
name: string;
public_key: string;
created_at: string;
}
export interface SSHKeyCreate {
name: string;
}
export async function listSSHKeys(): Promise<SSHKey[]> {
const response = await apiClient.get<SSHKey[]>("/ssh-keys");
return response.data;
}
export async function createSSHKey(data: SSHKeyCreate): Promise<SSHKey> {
const response = await apiClient.post<SSHKey>("/ssh-keys", data);
return response.data;
}
export async function deleteSSHKey(keyId: string): Promise<void> {
await apiClient.delete(`/ssh-keys/${keyId}`);
}
export interface SignPayloadRequest {
payload: string;
}
export interface SignatureResponse {
signature: string;
}
export interface VerifySignatureRequest {
payload: string;
signature: string;
}
export interface VerifySignatureResponse {
valid: boolean;
}
export async function signPayload(keyId: string, data: SignPayloadRequest): Promise<SignatureResponse> {
const response = await apiClient.post<SignatureResponse>(`/ssh-keys/${keyId}/sign`, data);
return response.data;
}
export async function verifySignature(keyId: string, data: VerifySignatureRequest): Promise<VerifySignatureResponse> {
const response = await apiClient.post<VerifySignatureResponse>(`/ssh-keys/${keyId}/verify`, data);
return response.data;
}