mirror of
https://github.com/Dvorinka/MyClubServer.git
synced 2026-06-04 02:32:57 +00:00
dev day #100 - WE ARE FUCKING DONE, hotfixes incoming but we did it in 100 days, lets fucking go guys, anyone reading this...i love you
This commit is contained in:
@@ -5,11 +5,13 @@ import (
|
||||
"fmt"
|
||||
"io"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"fotbal-club/internal/config"
|
||||
"fotbal-club/internal/services"
|
||||
"fotbal-club/pkg/logger"
|
||||
|
||||
@@ -149,9 +151,10 @@ func (gc *GalleryController) FetchAlbum(c *gin.Context) {
|
||||
body.PhotoLimit = 50 // Default to 50 photos per album
|
||||
}
|
||||
|
||||
// Call external API
|
||||
apiURL := fmt.Sprintf("https://zonerama.tdvorak.dev/zonerama-album?link=%s&photo_limit=%d",
|
||||
body.Link, body.PhotoLimit)
|
||||
// Call external API (configurable base)
|
||||
apiBase := strings.TrimSuffix(config.AppConfig.ZoneramaAPIBase, "/")
|
||||
apiURL := fmt.Sprintf("%s/zonerama-album?link=%s&photo_limit=%d",
|
||||
apiBase, url.QueryEscape(body.Link), body.PhotoLimit)
|
||||
|
||||
logger.Info("Fetching album from Zonerama API: %s", apiURL)
|
||||
|
||||
@@ -242,13 +245,13 @@ func (gc *GalleryController) FetchAlbum(c *gin.Context) {
|
||||
}
|
||||
|
||||
logger.Info("Album %s saved successfully with %d photos", albumData.ID, len(albumData.Photos))
|
||||
|
||||
|
||||
// Regenerate flat gallery files for frontend consumption
|
||||
if err := services.RegenerateFlatGalleryFiles(); err != nil {
|
||||
logger.Error("Failed to regenerate flat gallery files: %v", err)
|
||||
// Don't fail the request, just log the error
|
||||
}
|
||||
|
||||
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"message": "Album fetched and saved successfully",
|
||||
"album": albumData,
|
||||
@@ -300,13 +303,13 @@ func (gc *GalleryController) DeleteAlbum(c *gin.Context) {
|
||||
}
|
||||
|
||||
logger.Info("Deleted album: %s", albumID)
|
||||
|
||||
|
||||
// Regenerate flat gallery files for frontend consumption
|
||||
if err := services.RegenerateFlatGalleryFiles(); err != nil {
|
||||
logger.Error("Failed to regenerate flat gallery files: %v", err)
|
||||
// Don't fail the request, just log the error
|
||||
}
|
||||
|
||||
|
||||
c.JSON(http.StatusOK, gin.H{"message": "Album deleted successfully"})
|
||||
}
|
||||
|
||||
@@ -316,27 +319,27 @@ func (gc *GalleryController) RefreshFromZonerama(c *gin.Context) {
|
||||
var settings struct {
|
||||
GalleryURL string `json:"gallery_url"`
|
||||
}
|
||||
|
||||
|
||||
if err := gc.DB.Table("settings").Select("gallery_url").First(&settings).Error; err != nil {
|
||||
logger.Error("Failed to load settings: %v", err)
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"error": "Failed to load gallery settings"})
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
zoneramaURL := strings.TrimSpace(settings.GalleryURL)
|
||||
if zoneramaURL == "" {
|
||||
c.JSON(http.StatusBadRequest, gin.H{"error": "Zonerama URL is not configured in settings"})
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
// Validate it's a Zonerama URL
|
||||
if !strings.Contains(strings.ToLower(zoneramaURL), "zonerama.com") {
|
||||
c.JSON(http.StatusBadRequest, gin.H{"error": "Configured gallery URL is not a Zonerama URL"})
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
logger.Info("Triggering Zonerama refresh from: %s", zoneramaURL)
|
||||
|
||||
|
||||
// Call the refresh service in a goroutine to avoid blocking
|
||||
go func() {
|
||||
if err := services.RefreshZoneramaNow(zoneramaURL); err != nil {
|
||||
@@ -349,7 +352,7 @@ func (gc *GalleryController) RefreshFromZonerama(c *gin.Context) {
|
||||
}
|
||||
}
|
||||
}()
|
||||
|
||||
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"message": "Zonerama refresh started",
|
||||
"url": zoneramaURL,
|
||||
|
||||
Reference in New Issue
Block a user