/
ilyagdn
/
gin-feed-queue
Обзор
Документация
Войти
/
ilyagdn
/
gin-feed-queue
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
controllers/api_controller.go
41 строка
937 B
Ilya Gordon
feat(core): add main.go with controllers, Firebase and Telegram setup
11 дек 2024, 04:51
11 дек 2024, 04:51
638e757
Код
Авторство
О чём код?
package controllers import ( "net/http" "os" "strconv" "strings" "gin-feed-queue/services" "github.com/gin-gonic/gin" ) func FetchRSSNews(c *gin.Context) { daysParam := c.Query("days") days, err := strconv.Atoi(daysParam) if err != nil || days <= 0 { c.JSON(http.StatusBadRequest, gin.H{"error": "Invalid 'days' parameter"}) return } rssURLs := strings.Split(os.Getenv("RSS_FEEDS"), ",") if len(rssURLs) == 0 { c.JSON(http.StatusInternalServerError, gin.H{"error": "No RSS feeds provided"}) return } news, err := services.FetchRSSFeeds(rssURLs, days) if err != nil { c.JSON(http.StatusInternalServerError, gin.H{"error": "Failed to fetch RSS feeds"}) return } err = services.SaveNews(news) if err != nil { c.JSON(http.StatusInternalServerError, gin.H{"error": "Failed to save news to Firebase"}) return } c.JSON(http.StatusOK, gin.H{"message": "News fetched and saved", "count": len(news)}) }