scanner/backend/main.go
2025-04-24 20:44:45 +02:00

39 lines
1.1 KiB
Go

package main
import (
"log"
"net/http"
"github.com/scanner/backend/handlers"
"github.com/scanner/backend/middleware"
"github.com/scanner/backend/services"
)
func main() {
// Initialize services
scannerService := services.NewScannerService()
fileConverter := services.NewFileConverter()
// Initialize handlers
scanHandler := handlers.NewScanHandler(scannerService)
fileHandler := handlers.NewFileHandler(fileConverter)
// Set up routes with middleware
mux := http.NewServeMux()
// Register API routes
mux.HandleFunc("/scan/start", scanHandler.StartScan)
mux.HandleFunc("/scan/abort", scanHandler.AbortScan)
mux.HandleFunc("/scan/status", scanHandler.GetScanStatus)
mux.HandleFunc("/documents", scanHandler.GetDocuments)
mux.HandleFunc("/documents/merge", fileHandler.MergeFiles)
fileServer := http.FileServer(http.Dir("/home/backend/var/documents"))
mux.Handle("/files/", http.StripPrefix("/files", fileServer))
handler := middleware.CorsMiddleware(mux)
log.Println("Server starting on port 80...")
log.Fatal(http.ListenAndServe(":80", handler))
}