feat(workspace): real database + template entry points in Add Service

type=database now provisions a managed database via POST /databases
(engine + plan pickers) instead of a hollow service row; template source
navigates to the existing catalog with the project preselected
(/templates?project= now seeds the deploy target). api-client gains
createManagedDatabase + DatabaseEntity from generated schemas.

Authored By: TDvorak <[email protected]>
This commit is contained in:
Tomas Dvorak committed 2026-09-17 10:40:28 +02:00
1 parent 25703592c6
commit e6e76c1084
4 files changed
+113 -15

No files matched your search

+16
View File
@@ -1231,6 +1231,22 @@ export async function listGitBranches(
return payload.branches ?? [];
}
export type CreateDatabaseInput = components['schemas']['CreateDatabaseRequest'];
export type DatabaseEntity = components['schemas']['Database'];
export async function createManagedDatabase(
input: CreateDatabaseInput,
): Promise<{ id: string; status: string }> {
const payload = await requestJson<{ id?: string; status?: string }>('/databases', {
method: 'POST',
body: JSON.stringify(input),
});
if (!payload.id) {
throw new ApiError('Database response is invalid', 500);
}
return { id: payload.id, status: payload.status ?? 'building' };
}
export type ConnectGitRepositoryInput = components['schemas']['ConnectGitRepoRequest'];
export type CreateGitWebhookInput = components['schemas']['CreateWebhookRequest'];
export type GitWebhookEntity = components['schemas']['GitWebhook'];