feat: public API, SEO and existing surfaces

This commit is contained in:
Florian Sylvain committed 2026-11-03 03:58:10 +01:00
1 parent 45fbbc33b1
commit c390fcfe8d
103 files changed
+4476 -231

No files matched your search

+11
View File
@@ -121,6 +121,16 @@ func NewArticleRouter(container *UseCases, trustedProxies []string) http.Handler
return r
}
func NewPublicRouter(container *UseCases) http.Handler {
r := chi.NewRouter()
publicHandler := article.NewPublicHandler(container.ResolvePublicArticleUseCase)
r.Get("/site/{key}/lang/{lang}/article/{slug}", publicHandler.Lookup)
r.Get("/site/{key}/story/{story_id}", publicHandler.Story)
return r
}
func NewStoryRouter(container *UseCases, trustedProxies []string) http.Handler {
r := chi.NewRouter()
r.Use(container.apiKeyAuth())
@@ -627,6 +637,7 @@ func InitBackendRoutes(container *UseCases, settings config.Settings) *chi.Mux {
r.Mount("/article", NewArticleRouter(container, settings.TrustedProxies))
r.Mount("/story", NewStoryRouter(container, settings.TrustedProxies))
})
r.Mount("/public", NewPublicRouter(container))
r.Mount("/user", NewUserRouter(container, settings.IsProduction(), settings.AuthRateLimit, settings.TrustedProxies))
r.Mount("/settings", NewSettingsRouter(container, settings.TrustedProxies))
r.Mount("/site", NewSiteRouter(container, settings.TrustedProxies))