mirror of
https://github.com/truewhile/MeBox.git
synced 2026-09-29 03:26:37 +08:00
55 lines
1.1 KiB
Go
55 lines
1.1 KiB
Go
package handler
|
|
|
|
import (
|
|
"net/url"
|
|
"strings"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
"go.uber.org/zap"
|
|
|
|
"github.com/ShukeBta/MediaStationGo/internal/middleware"
|
|
"github.com/ShukeBta/MediaStationGo/internal/service"
|
|
)
|
|
|
|
func subscriptionRequestUserID(c *gin.Context) string {
|
|
if c == nil {
|
|
return ""
|
|
}
|
|
if uid, ok := c.Get(middleware.CtxUserID); ok {
|
|
if userID, ok := uid.(string); ok {
|
|
return userID
|
|
}
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func subscriptionFeedKind(feedURL string) string {
|
|
raw := strings.TrimSpace(feedURL)
|
|
if raw == "" {
|
|
return "empty"
|
|
}
|
|
lower := strings.ToLower(raw)
|
|
if strings.HasPrefix(lower, "site-search://") {
|
|
return "site-search"
|
|
}
|
|
parsed, err := url.Parse(raw)
|
|
if err == nil && parsed.Scheme != "" {
|
|
return parsed.Scheme
|
|
}
|
|
return "unknown"
|
|
}
|
|
|
|
func logSubscriptionInfo(svc *service.Container, msg string, fields ...zap.Field) {
|
|
if svc == nil || svc.Log == nil {
|
|
return
|
|
}
|
|
svc.Log.Info(msg, fields...)
|
|
}
|
|
|
|
func logSubscriptionWarn(svc *service.Container, msg string, fields ...zap.Field) {
|
|
if svc == nil || svc.Log == nil {
|
|
return
|
|
}
|
|
svc.Log.Warn(msg, fields...)
|
|
}
|