search added

This commit is contained in:
Krispire Admin
2026-05-10 20:41:40 +05:30
parent b58c8d00fc
commit 76a144e1ea
8 changed files with 1787 additions and 24 deletions
+7 -4
View File
@@ -30,6 +30,7 @@ type Server struct {
magazineH *handler.MagazineHandler
otherDocH *handler.OtherDocumentHandler
transcriptionH *handler.TranscriptionHandler
searchH *handler.SearchHandler
}
// New creates a new Server with all routes registered.
@@ -39,6 +40,9 @@ func New(cfg *config.Config, logger *zap.Logger) *Server {
logger.Fatal("failed to connect to MongoDB", zap.Error(err))
}
// Initialize Typesense client
tsClient := repository.NewTypesenseClient(cfg.TypesenseURL, cfg.TypesenseAPIKey)
// Initialize repositories
bookRepo := repository.NewBookRepo(mongoDB)
letterRepo := repository.NewLetterRepo(mongoDB)
@@ -65,6 +69,7 @@ func New(cfg *config.Config, logger *zap.Logger) *Server {
magazineH: handler.NewMagazineHandler(magazineRepo),
otherDocH: handler.NewOtherDocumentHandler(otherDocRepo),
transcriptionH: handler.NewTranscriptionHandler(transcriptionRepo),
searchH: handler.NewSearchHandler(tsClient),
}
s.setupRouter()
@@ -297,10 +302,8 @@ func (s *Server) setupRouter() {
r.Get("/{slug}", s.transcriptionH.GetBySlug)
})
// Search (Meilisearch)
r.Route("/search", func(r chi.Router) {
// TODO: register search handlers
})
// Search (Typesense)
r.Get("/search", s.searchH.Search)
// User routes (PostgreSQL)
r.Route("/auth", func(r chi.Router) {