Make upgrade-triggers endpoint public for app initialization

Move /subscription/upgrade-triggers/ from authenticated routes to public
routes so the app can fetch upgrade trigger data at startup before user
login. This enables showing subscription benefits during onboarding.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Trey t
2025-12-04 15:55:41 -06:00
parent 77c8c4fad8
commit 44990c9131

View File

@@ -140,7 +140,7 @@ func SetupRouter(deps *Dependencies) *gin.Engine {
setupPublicAuthRoutes(api, authHandler)
// Public data routes (no auth required)
setupPublicDataRoutes(api, residenceHandler, taskHandler, contractorHandler, staticDataHandler)
setupPublicDataRoutes(api, residenceHandler, taskHandler, contractorHandler, staticDataHandler, subscriptionHandler)
// Protected routes (auth required)
protected := api.Group("")
@@ -220,7 +220,7 @@ func setupProtectedAuthRoutes(api *gin.RouterGroup, authHandler *handlers.AuthHa
}
// setupPublicDataRoutes configures public data routes (lookups, static data)
func setupPublicDataRoutes(api *gin.RouterGroup, residenceHandler *handlers.ResidenceHandler, taskHandler *handlers.TaskHandler, contractorHandler *handlers.ContractorHandler, staticDataHandler *handlers.StaticDataHandler) {
func setupPublicDataRoutes(api *gin.RouterGroup, residenceHandler *handlers.ResidenceHandler, taskHandler *handlers.TaskHandler, contractorHandler *handlers.ContractorHandler, staticDataHandler *handlers.StaticDataHandler, subscriptionHandler *handlers.SubscriptionHandler) {
// Static data routes (public, cached)
staticData := api.Group("/static_data")
{
@@ -228,6 +228,12 @@ func setupPublicDataRoutes(api *gin.RouterGroup, residenceHandler *handlers.Resi
staticData.POST("/refresh/", staticDataHandler.RefreshStaticData)
}
// Public subscription routes (upgrade triggers needed at app start before login)
subscriptionPublic := api.Group("/subscription")
{
subscriptionPublic.GET("/upgrade-triggers/", subscriptionHandler.GetAllUpgradeTriggers)
}
// Lookup routes (public)
api.GET("/residences/types/", residenceHandler.GetResidenceTypes)
api.GET("/tasks/categories/", taskHandler.GetCategories)
@@ -342,13 +348,13 @@ func setupNotificationRoutes(api *gin.RouterGroup, notificationHandler *handlers
}
}
// setupSubscriptionRoutes configures subscription routes
// setupSubscriptionRoutes configures subscription routes (authenticated)
// Note: /upgrade-triggers/ is in setupPublicDataRoutes (public, no auth required)
func setupSubscriptionRoutes(api *gin.RouterGroup, subscriptionHandler *handlers.SubscriptionHandler) {
subscription := api.Group("/subscription")
{
subscription.GET("/", subscriptionHandler.GetSubscription)
subscription.GET("/status/", subscriptionHandler.GetSubscriptionStatus)
subscription.GET("/upgrade-triggers/", subscriptionHandler.GetAllUpgradeTriggers)
subscription.GET("/upgrade-trigger/:key/", subscriptionHandler.GetUpgradeTrigger)
subscription.GET("/features/", subscriptionHandler.GetFeatureBenefits)
subscription.GET("/promotions/", subscriptionHandler.GetPromotions)