start implementing auth

This commit is contained in:
2026-02-23 14:34:19 -05:00
parent 715c122eb7
commit af9c23c521
14 changed files with 341 additions and 24 deletions
+6 -2
View File
@@ -3,7 +3,6 @@ package main
import (
"database/sql"
"fmt"
_ "github.com/lib/pq"
"go-weather/config"
"go-weather/handlers"
"go-weather/services"
@@ -12,6 +11,8 @@ import (
"os"
"os/signal"
"time"
_ "github.com/lib/pq"
)
func startPoller(db *sql.DB, ws *services.WeatherService, defaultCity string, interval time.Duration) {
@@ -58,13 +59,15 @@ func main() {
log.Fatalf("failed to connect to db: %v", err)
}
defer database.Close()
databaseService := services.NewDatabaseService(database)
// Create services
databaseService := services.NewDatabaseService(database)
weatherService := services.NewWeatherService(config.APIKey)
userService := services.NewUserService(database)
// Create route handlers
weatherHandler := handlers.NewWeatherHandler(weatherService, databaseService, config.DefaultCity)
userHandler := handlers.NewUserHandler(userService)
// Start background poller
go startPoller(database, weatherService, config.DefaultCity, 10*time.Minute)
@@ -75,6 +78,7 @@ func main() {
http.HandleFunc("/health", handlers.Health)
http.HandleFunc("/latest-temperature", handlers.LatestTemperature)
http.HandleFunc("/test", handlers.Test)
http.HandleFunc("/register", userHandler.Register)
// Start server
go func() {
fmt.Println("server listening on :8080")