39 lines
1.1 KiB
Go
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))
|
|
}
|