Ripped out literally everything to simplify the backend as much as possible. Some of the code was so horrifically complicated it's insaneeee
51 lines
1.3 KiB
Go
51 lines
1.3 KiB
Go
package main
|
|
|
|
import (
|
|
"database/sql"
|
|
"screenmark/screenmark/agents/client"
|
|
"screenmark/screenmark/auth"
|
|
"screenmark/screenmark/images"
|
|
"screenmark/screenmark/limits"
|
|
"screenmark/screenmark/stacks"
|
|
|
|
ourmiddleware "screenmark/screenmark/middleware"
|
|
|
|
"github.com/go-chi/chi/v5"
|
|
"github.com/go-chi/chi/v5/middleware"
|
|
)
|
|
|
|
type TestAiClient struct {
|
|
ImageInfo client.ImageMessageContent
|
|
}
|
|
|
|
func (client TestAiClient) GetImageInfo(imageName string, imageData []byte) (client.ImageMessageContent, error) {
|
|
return client.ImageInfo, nil
|
|
}
|
|
|
|
func setupRouter(db *sql.DB, jwtManager *ourmiddleware.JwtManager) chi.Router {
|
|
limitsManager := limits.CreateLimitsManager(db)
|
|
|
|
stackHandler := stacks.CreateStackHandler(db, limitsManager, jwtManager)
|
|
authHandler := auth.CreateAuthHandler(db, jwtManager)
|
|
imageHandler := images.CreateImageHandler(db, limitsManager, jwtManager)
|
|
|
|
notifier := NewNotifier[Notification](10)
|
|
|
|
r := chi.NewRouter()
|
|
|
|
r.Use(middleware.Logger)
|
|
r.Use(ourmiddleware.CorsMiddleware)
|
|
|
|
r.Route("/stacks", stackHandler.CreateRoutes)
|
|
r.Route("/auth", authHandler.CreateRoutes)
|
|
r.Route("/images", imageHandler.CreateRoutes)
|
|
|
|
r.Route("/notifications", func(r chi.Router) {
|
|
r.Use(ourmiddleware.GetUserIdFromUrl(jwtManager))
|
|
|
|
r.Get("/", CreateEventsHandler(¬ifier))
|
|
})
|
|
|
|
return r
|
|
}
|