import { apiClient } from "./client"; import type { Project, ProjectWithRepos } from "../types"; export type ProjectCreateInput = { name: string; description?: string | null; }; export type ProjectUpdateInput = { name?: string | null; description?: string | null; }; export type SetDefaultSSHKeyInput = { ssh_key_id: string; }; export const listProjects = async (): Promise => { const response = await apiClient.get("/projects"); return response.data; }; export const createProject = async ( input: ProjectCreateInput, ): Promise => { const response = await apiClient.post("/projects", input); return response.data; }; export const updateProject = async ( projectId: string, input: ProjectUpdateInput, ): Promise => { const response = await apiClient.patch( `/projects/${projectId}`, input, ); return response.data; }; export const deleteProject = async (projectId: string): Promise => { await apiClient.delete(`/projects/${projectId}`); }; export const setDefaultSSHKey = async ( projectId: string, input: SetDefaultSSHKeyInput, ): Promise => { const response = await apiClient.patch( `/projects/${projectId}/default-ssh-key`, input, ); return response.data; };