ch11.2
This commit is contained in:
@@ -22,6 +22,7 @@ type application struct {
|
||||
errorLog *log.Logger
|
||||
infoLog *log.Logger
|
||||
snippets *models.SnippetModel
|
||||
users *models.UserModel
|
||||
templateCache map[string]*template.Template
|
||||
formDecoder *form.Decoder
|
||||
sessionManager *scs.SessionManager
|
||||
@@ -63,6 +64,7 @@ func main() {
|
||||
errorLog: errorLog,
|
||||
infoLog: infoLog,
|
||||
snippets: &models.SnippetModel{DB: db},
|
||||
users: &models.UserModel{DB: db},
|
||||
templateCache: templateCache,
|
||||
formDecoder: formDecoder,
|
||||
sessionManager: sessionManager,
|
||||
|
||||
@@ -2,4 +2,8 @@ package models
|
||||
|
||||
import "errors"
|
||||
|
||||
var ErrNoRecord = errors.New("models: no matching record found")
|
||||
var (
|
||||
ErrNoRecord = errors.New("models: no matching record found")
|
||||
ErrInvalidCredentials = errors.New("models: invalid credentials")
|
||||
ErrDuplicateEmail = errors.New("models: duplicate email")
|
||||
)
|
||||
|
||||
30
internal/models/users.go
Normal file
30
internal/models/users.go
Normal file
@@ -0,0 +1,30 @@
|
||||
package models
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
"time"
|
||||
)
|
||||
|
||||
type User struct {
|
||||
ID int
|
||||
Name string
|
||||
Email string
|
||||
HashedPassword []byte
|
||||
Created time.Time
|
||||
}
|
||||
|
||||
type UserModel struct {
|
||||
DB *sql.DB
|
||||
}
|
||||
|
||||
func (m *UserModel) Insert(name, email, password string) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *UserModel) Authenticate(email, password string) (int, error) {
|
||||
return 0, nil
|
||||
}
|
||||
|
||||
func (m *UserModel) Exists(id int) (bool, error) {
|
||||
return false, nil
|
||||
}
|
||||
Reference in New Issue
Block a user