Some checks failed
Deploy to Server (Docker) / deploy (push) Failing after 48s
48 lines
1.2 KiB
Go
48 lines
1.2 KiB
Go
package persistance
|
|
|
|
import (
|
|
"log"
|
|
"task_manager/internal/domain/users"
|
|
|
|
_ "github.com/lib/pq"
|
|
)
|
|
|
|
func (tm *TaskManagerRepository) AddUser(user *users.User) error {
|
|
err := tm.db.QueryRow("INSERT INTO task_manager.users(login, password, email) VALUES($1,$2,$3) RETURNING id",
|
|
user.Name,
|
|
GetMD5Hash(user.Password),
|
|
user.Email).Scan(&user.Id)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (tm *TaskManagerRepository) DeleteUser(user *users.User) error {
|
|
_, err := tm.db.Exec("DELETE FROM task_manager.users WHERE login=$1", user.Name)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (tm *TaskManagerRepository) UpdateUser(user *users.User) error {
|
|
_, err := tm.db.Exec("UPDATE task_manager.users SET login=$1, password=$2 WHERE id=$3", user.Name, user.Password, user.Id)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (tm *TaskManagerRepository) GetUser(user_name string) (*users.User, error) {
|
|
user := users.User{}
|
|
row := tm.db.QueryRow("SELECT id,login,password,email FROM task_manager.users WHERE login=$1", user_name)
|
|
err := row.Scan(&user.Id, &user.Name, &user.Password, &user.Email)
|
|
if err != nil {
|
|
log.Println("Ошибка получения пользователя:", err)
|
|
return nil, err
|
|
}
|
|
|
|
return &user, nil
|
|
}
|