Implemented proper User struct

This commit is contained in:
2024-03-01 12:25:53 +01:00
parent f59321b9c6
commit 4b5929911e
5 changed files with 75 additions and 71 deletions

View File

@ -34,7 +34,7 @@ func OpenDB(dbName string) (*DB, error) {
return &db, nil
}
func (db *DB) AddUser(user, pass, first, last string, writer, editor, admin bool) error {
func (db *DB) AddUser(user User, pass string) error {
hashedPass, err := bcrypt.GenerateFromPassword([]byte(pass), bcrypt.DefaultCost)
if err != nil {
return fmt.Errorf("error creating password hash: %v", err)
@ -42,11 +42,11 @@ func (db *DB) AddUser(user, pass, first, last string, writer, editor, admin bool
query := `
INSERT INTO users
(username, password, first_name, last_name, writer, editor, admin)
(username, password, first_name, last_name, role)
VALUES
(?, ?, ?, ?, ?, ?, ?)
(?, ?, ?, ?, ?)
`
_, err = db.Exec(query, user, string(hashedPass), first, last, writer, editor, admin)
_, err = db.Exec(query, user.UserName, string(hashedPass), user.FirstName, user.LastName, user.Role)
if err != nil {
return fmt.Errorf("error inserting user into DB: %v", err)
}
@ -54,7 +54,7 @@ func (db *DB) AddUser(user, pass, first, last string, writer, editor, admin bool
return nil
}
func (db *DB) GetID(user string) (int64, error) {
func (db *DB) GetID(userName string) (int64, error) {
var id int64
query := `
@ -63,7 +63,7 @@ func (db *DB) GetID(user string) (int64, error) {
WHERE
username = ?
`
row := db.QueryRow(query, user)
row := db.QueryRow(query, userName)
if err := row.Scan(&id); err != nil {
return 0, fmt.Errorf("user not in DB: %v", err)
}

18
cmd/data/user.go Normal file
View File

@ -0,0 +1,18 @@
package data
const (
Admin = iota
Editor
Writer
)
type Role int
type User struct {
RejectedArticles *ArticleList
UserName string
FirstName string
LastName string
ID int64
Role
}