From 3125b511bbabaa79f23b1b3559b264c7a4bc880d Mon Sep 17 00:00:00 2001 From: borean <MY_NAME@example.com> Date: Tue, 19 Mar 2024 01:38:40 +0100 Subject: [PATCH] correcting AddProject --- backend/internal/database/db.go | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/backend/internal/database/db.go b/backend/internal/database/db.go index e95ae4c..ad408a7 100644 --- a/backend/internal/database/db.go +++ b/backend/internal/database/db.go @@ -201,15 +201,19 @@ func (d *Db) GetProjectId(projectname string) (int, error) { // Creates a new project in the database, associated with a user func (d *Db) AddProject(name string, description string, username string) error { - _, err1 := d.Exec(projectInsert, name, description, username) - - // Immediately promotes said user to project manager - err2 := d.ChangeUserRole(username, name, "project_manager") - if err2 != nil { - panic(err2) + tx := d.MustBegin() + _, err := tx.Exec(projectInsert, name, description, username) + if err != nil { + tx.Rollback() + return err } - - return err1 + _, err = tx.Exec(changeUserRole, "project_manager", username, name) + if err != nil { + tx.Rollback() + return err + } + tx.Commit() + return err } func (d *Db) GetAllUsersProject(projectname string) ([]UserProjectMember, error) {