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:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user