Add put task endpoint (#33)

Closes #23

Reviewed-on: #33
This commit was merged in pull request #33.
This commit is contained in:
2025-05-13 13:01:29 +02:00
parent 0521710032
commit 44d85fc155
4 changed files with 89 additions and 4 deletions

View File

@@ -102,7 +102,7 @@ func (db *Db) CreateGoal(userId int, goal *CreateGoalRequest) (int, error) {
if err != nil {
return 0, err
}
defer tx.Rollback()
defer tx.MustRollback()
// Insert the new goal
err = tx.Query("insert into goals (user_id, name, target, progress, weight) values (?, ?, ?, 0, ?)").
@@ -156,7 +156,7 @@ func (db *Db) CreateTask(task *CreateTaskRequest) (int, error) {
if err != nil {
return 0, err
}
defer tx.Rollback()
defer tx.MustRollback()
// Insert the new task
err = tx.Query("insert into tasks (name, reward, assigned) values (?, ?, ?)").
@@ -211,3 +211,29 @@ func (db *Db) GetTask(id int) (Task, error) {
}
return task, nil
}
func (db *Db) HasTask(id int) (bool, error) {
count := 0
err := db.db.Query("select count(*) from tasks where id = ?").
Bind(id).ScanSingle(&count)
if err != nil {
return false, err
}
return count > 0, nil
}
func (db *Db) UpdateTask(id int, task *CreateTaskRequest) error {
tx, err := db.db.Begin()
if err != nil {
return err
}
defer tx.MustRollback()
err = tx.Query("update tasks set name=?, reward=?, assigned=? where id = ?").
Bind(task.Name, task.Reward, task.Assigned, id).
Exec()
if err != nil {
return err
}
return tx.Commit()
}