Compare commits

...

4 Commits

Author SHA1 Message Date
9a48522aa7 feat: user updated with phone_number field 2025-05-18 20:05:01 +02:00
097eef0016 feat: pass root router 2025-05-18 20:04:36 +02:00
33c4dbaca9 feat: get both api and normal router 2025-05-18 20:04:27 +02:00
7b342a5fec feat: add phone number migration 2025-05-18 20:04:09 +02:00
5 changed files with 17 additions and 6 deletions

View File

@ -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)
} }

View File

@ -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"`
} }

View File

@ -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
} }

View File

@ -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)
} }

View 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