package postgres import ( "database/sql" "github.com/dustinpianalto/quartermaster" ) type userService struct { db *sql.DB } func (s userService) User(username string) (*quartermaster.User, error) { var user quartermaster.User queryString := "SELECT id, username, password FROM users WHERE username = $1" row := s.db.QueryRow(queryString, username) err := row.Scan(&user.ID, &user.Username, &user.Password) return &user, err } func (s userService) AddUser(u *quartermaster.User) (*quartermaster.User, error) { queryString := "INSERT INTO users (username, password) VALUES ($1, $2) RETURNING id" err := s.db.QueryRow(queryString, u.Username, u.Password).Scan(&u.ID) return u, err } func (s userService) RemoveUser(u *quartermaster.User) error { queryString := "DELETE FROM users WHERE id = $1" _, err := s.db.Exec(queryString, u.ID) return err } func (s userService) UpdateUser(u *quartermaster.User) error { queryString := "UPDATE users SET password = $1 WHERE id = $2" _, err := s.db.Exec(queryString, u.Password, u.ID) return err }