ChangeUserPassword Handler + API
This commit is contained in:
parent
47d4bda99b
commit
0176f78067
8 changed files with 163 additions and 7 deletions
|
|
@ -48,6 +48,7 @@ type Database interface {
|
|||
UnsignWeeklyReport(reportId int, projectManagerId int) error
|
||||
DeleteReport(reportID int) error
|
||||
ChangeProjectName(projectName string, newProjectName string) error
|
||||
ChangeUserPassword(username string, password string) error
|
||||
}
|
||||
|
||||
// This struct is a wrapper type that holds the database connection
|
||||
|
|
@ -677,3 +678,8 @@ func (d *Db) ChangeProjectName(projectName string, newProjectName string) error
|
|||
_, err := d.Exec("UPDATE projects SET name = ? WHERE name = ?", newProjectName, projectName)
|
||||
return err
|
||||
}
|
||||
|
||||
func (d *Db) ChangeUserPassword(username string, password string) error {
|
||||
_, err := d.Exec("UPDATE users SET password = ? WHERE username = ?", password, username)
|
||||
return err
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1120,3 +1120,25 @@ func TestChangeProjectName(t *testing.T) {
|
|||
t.Error("ChangeProjectName failed: expected newprojectname, got", projects[0].Name)
|
||||
}
|
||||
}
|
||||
|
||||
func TestChangeUserPassword(t *testing.T) {
|
||||
db, err := setupState()
|
||||
if err != nil {
|
||||
t.Error("setupState failed:", err)
|
||||
}
|
||||
|
||||
// Add a user
|
||||
_ = db.AddUser("testuser", "password")
|
||||
|
||||
// Change user password
|
||||
err = db.ChangeUserPassword("testuser", "newpassword")
|
||||
if err != nil {
|
||||
t.Error("ChangeUserPassword failed:", err)
|
||||
}
|
||||
|
||||
// Check if the password was changed
|
||||
if !db.CheckUser("testuser", "newpassword") {
|
||||
t.Error("ChangeUserPassword failed: password not changed")
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue