This commit is contained in:
pavel 2026-05-15 18:42:52 +02:00
commit 9cdb441dc5
3 changed files with 2 additions and 5 deletions

View file

@ -600,6 +600,6 @@ func cliUsageText() string {
Commands: Commands:
login OAuth browser login (PKCE) and save tokens/defaults in ~/.config/boxctl/config.json login OAuth browser login (PKCE) and save tokens/defaults in ~/.config/boxctl/config.json
provision Upsert project via API using bearer token provision Upsert project via API using bearer token
unprovision Tear down project service/db/route and remove project record unprovision Tear down project service/route and remove project record (keeps DB)
` `
} }

View file

@ -219,9 +219,6 @@ func (a *App) unprovisionProject(ctx context.Context, userID string, projectID i
if err := a.removeSystemdForProject(p); err != nil { if err := a.removeSystemdForProject(p); err != nil {
return err return err
} }
if err := a.dropProjectDatabase(ctx, p); err != nil {
return err
}
if _, err := a.db.ExecContext(ctx, `DELETE FROM projects WHERE id=$1 AND user_id=$2`, p.ID, userID); err != nil { if _, err := a.db.ExecContext(ctx, `DELETE FROM projects WHERE id=$1 AND user_id=$2`, p.ID, userID); err != nil {
return err return err
} }

View file

@ -105,7 +105,7 @@ function renderProjects() {
await refreshProjects(); await refreshProjects();
}); });
div.querySelector('[data-unprovision]').addEventListener('click', async () => { div.querySelector('[data-unprovision]').addEventListener('click', async () => {
const ok = confirm(`Unprovision ${p.name}? This removes service/db/route and project record.`); const ok = confirm(`Unprovision ${p.name}? This removes service/route and project record, but keeps DB.`);
if (!ok) return; if (!ok) return;
await api(`/projects/${p.id}/unprovision`, { method: 'POST' }); await api(`/projects/${p.id}/unprovision`, { method: 'POST' });
await refreshProjects(); await refreshProjects();