// Package main is the entry point for the auth-api service. package main import ( "git.threesix.ai/jordan/slack-auth-1770277926/pkg/app" "git.threesix.ai/jordan/slack-auth-1770277926/pkg/logging" "git.threesix.ai/jordan/slack-auth-1770277926/services/auth-api/internal/adapter/memory" "git.threesix.ai/jordan/slack-auth-1770277926/services/auth-api/internal/api" "git.threesix.ai/jordan/slack-auth-1770277926/services/auth-api/internal/config" "git.threesix.ai/jordan/slack-auth-1770277926/services/auth-api/internal/service" ) func main() { // Create logger logger := logging.Default() // Load configuration cfg := config.Load() // Create adapters (repositories) exampleRepo := memory.NewExampleRepository() userRepo := memory.NewUserRepository() // Create services (business logic) exampleService := service.NewExampleService(exampleRepo, logger) userService := service.NewUserService(userRepo, []byte(cfg.JWTSecret), "slack-auth-1770277926", logger) // Create application application := app.New("auth-api", app.WithDefaultPort(8001)) // Register routes with dependency injection api.RegisterRoutes(application, exampleService, userService) // Start server application.Run() }