Compare commits
4 Commits
49432dcbe5
...
9a48522aa7
Author | SHA1 | Date | |
---|---|---|---|
9a48522aa7
|
|||
097eef0016
|
|||
33c4dbaca9
|
|||
7b342a5fec
|
@ -35,7 +35,7 @@ func (s *APIServer) Run() error {
|
|||||||
|
|
||||||
router.Route("/api/v1", func(r chi.Router) {
|
router.Route("/api/v1", func(r chi.Router) {
|
||||||
userHandler := user.NewUserHandler()
|
userHandler := user.NewUserHandler()
|
||||||
userHandler.RegisterRoutes(r)
|
userHandler.RegisterRoutes(router, r)
|
||||||
})
|
})
|
||||||
|
|
||||||
// Handle unknown routes
|
// Handle unknown routes
|
||||||
@ -55,4 +55,3 @@ func (s *APIServer) Run() error {
|
|||||||
|
|
||||||
return http.ListenAndServe(s.addr, router)
|
return http.ListenAndServe(s.addr, router)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,4 +18,5 @@ type User struct {
|
|||||||
CreatedAt pgtype.Timestamptz `json:"created_at"`
|
CreatedAt pgtype.Timestamptz `json:"created_at"`
|
||||||
UpdatedAt pgtype.Timestamptz `json:"updated_at"`
|
UpdatedAt pgtype.Timestamptz `json:"updated_at"`
|
||||||
LastLogin pgtype.Timestamptz `json:"last_login"`
|
LastLogin pgtype.Timestamptz `json:"last_login"`
|
||||||
|
PhoneNumber pgtype.Text `json:"phone_number"`
|
||||||
}
|
}
|
||||||
|
@ -12,7 +12,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const findAllUsers = `-- name: FindAllUsers :many
|
const findAllUsers = `-- name: FindAllUsers :many
|
||||||
SELECT id, email, full_name, password_hash, is_admin, created_at, updated_at, last_login FROM users
|
SELECT id, email, full_name, password_hash, is_admin, created_at, updated_at, last_login, phone_number FROM users
|
||||||
`
|
`
|
||||||
|
|
||||||
func (q *Queries) FindAllUsers(ctx context.Context) ([]User, error) {
|
func (q *Queries) FindAllUsers(ctx context.Context) ([]User, error) {
|
||||||
@ -33,6 +33,7 @@ func (q *Queries) FindAllUsers(ctx context.Context) ([]User, error) {
|
|||||||
&i.CreatedAt,
|
&i.CreatedAt,
|
||||||
&i.UpdatedAt,
|
&i.UpdatedAt,
|
||||||
&i.LastLogin,
|
&i.LastLogin,
|
||||||
|
&i.PhoneNumber,
|
||||||
); err != nil {
|
); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -7,13 +7,13 @@ import (
|
|||||||
"github.com/go-chi/chi/v5"
|
"github.com/go-chi/chi/v5"
|
||||||
)
|
)
|
||||||
|
|
||||||
type UserHandler struct {}
|
type UserHandler struct{}
|
||||||
|
|
||||||
func NewUserHandler() *UserHandler {
|
func NewUserHandler() *UserHandler {
|
||||||
return &UserHandler{}
|
return &UserHandler{}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (h *UserHandler) RegisterRoutes(router chi.Router) {
|
func (h *UserHandler) RegisterRoutes(router chi.Router, api chi.Router) {
|
||||||
router.Get("/login", h.loginPage)
|
router.Get("/login", h.loginPage)
|
||||||
router.Get("/register", h.registerPage)
|
router.Get("/register", h.registerPage)
|
||||||
}
|
}
|
||||||
@ -33,4 +33,3 @@ func (h *UserHandler) registerPage(w http.ResponseWriter, r *http.Request) {
|
|||||||
|
|
||||||
web.RenderTemplate(w, "register", data)
|
web.RenderTemplate(w, "register", data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
11
migrations/00002_add_phone_number.sql
Normal file
11
migrations/00002_add_phone_number.sql
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
-- +goose Up
|
||||||
|
-- +goose StatementBegin
|
||||||
|
ALTER TABLE users
|
||||||
|
ADD phone_number TEXT NOT NULL;
|
||||||
|
-- +goose StatementEnd
|
||||||
|
|
||||||
|
-- +goose Down
|
||||||
|
-- +goose StatementBegin
|
||||||
|
ALTER TABLE users
|
||||||
|
DROP COLUMN phone_number;
|
||||||
|
-- +goose StatementEnd
|
Reference in New Issue
Block a user