Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RegisterRoutes ¶
func RegisterRoutes( e *echo.Group, logger *zap.Logger, tsClient *timescaledb.Client, vapidPublic string, )
RegisterRoutes registers notification-related API routes
func SubscribeHandler ¶
func SubscribeHandler( logger *zap.Logger, tsClient *timescaledb.Client, ) echo.HandlerFunc
SubscribeHandler handles POST /v1/notifications/subscribe @Summary Subscribe to push notifications @Description Subscribe a user/device to receive web push notifications @Tags notifications @Accept json @Produce json @Param request body models.PushSubscriptionRequest true "Subscription details from browser" @Failure 400 {object} map[string]string "Invalid request" @Failure 401 {object} map[string]string "Unauthorized" @Failure 500 {object} map[string]string "Internal server error" @Router /telemetry/v1/notifications/subscribe [post] @Security Bearer
func UnsubscribeHandler ¶
func UnsubscribeHandler( logger *zap.Logger, tsClient *timescaledb.Client, ) echo.HandlerFunc
UnsubscribeHandler handles DELETE /v1/notifications/subscribe/:id @Summary Unsubscribe from push notifications @Description Remove a push notification subscription @Tags notifications @Param id path string true "Subscription ID" @Success 204 @Failure 400 {object} map[string]string "Invalid request" @Failure 401 {object} map[string]string "Unauthorized" @Failure 404 {object} map[string]string "Subscription not found" @Failure 500 {object} map[string]string "Internal server error" @Router /telemetry/v1/notifications/subscribe/{id} [delete] @Security Bearer
Types ¶
This section is empty.