From 7c1246adb4e6aa4e72da607b6eb4e5b722c9f668 Mon Sep 17 00:00:00 2001 From: "Gustavo \"Guz\" L de Mello" Date: Wed, 19 Mar 2025 11:27:48 -0300 Subject: [PATCH] feat(db): delete project method --- database/projects.go | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/database/projects.go b/database/projects.go index a243eb4..6d9f9eb 100644 --- a/database/projects.go +++ b/database/projects.go @@ -126,3 +126,31 @@ func (db *Database) ListProjects() ([]Project, error) { return ps, nil } + +func (db *Database) DeleteProject(id string) error { + db.assert.NotNil(db.sql) + db.assert.NotNil(db.ctx) + db.assert.NotNil(db.log) + db.assert.NotZero(id) + + q := fmt.Sprintf(`DELETE FROM projects WHERE id = '%s'`, id) + + db.log.Debug("Deleting from Projects", slog.String("query", q)) + + tx, err := db.sql.BeginTx(db.ctx, nil) + if err != nil { + return err + } + + _, err = tx.ExecContext(db.ctx, q) + if err != nil { + return err + } + + err = tx.Commit() + if err != nil { + return err + } + + return nil +}