All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 4m39s
Replaces direct browser-to-Gitea API calls with a backend service that proxies and caches the feed (1-min TTL), served via the existing GraphQL HomeData query. Commit message parsing now happens server-side. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
36 lines
784 B
Go
36 lines
784 B
Go
package handlers
|
|
|
|
import (
|
|
"time"
|
|
|
|
"adam-french.co.uk/backend/services"
|
|
"github.com/anthropics/anthropic-sdk-go"
|
|
"github.com/zmb3/spotify/v2"
|
|
spotifyauth "github.com/zmb3/spotify/v2/auth"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
type Store struct {
|
|
DB *gorm.DB
|
|
SpotifyAuth *spotifyauth.Authenticator
|
|
SpotifyClient *spotify.Client
|
|
ClaudeClient *anthropic.Client
|
|
Auth *services.Auth
|
|
Notes *services.Notes
|
|
|
|
RecentSongs *[]spotify.RecentlyPlayedItem
|
|
RecentSongsFetchedAt time.Time
|
|
|
|
GiteaHost string
|
|
GiteaPort string
|
|
GiteaFeed *services.GiteaFeedResponse
|
|
GiteaFeedFetchedAt time.Time
|
|
}
|
|
|
|
func (s *Store) GiteaFeedFresh() bool {
|
|
if s.GiteaFeed == nil {
|
|
return false
|
|
}
|
|
return time.Since(s.GiteaFeedFetchedAt) < time.Minute
|
|
}
|