Files
EvoBGP/internal/render/publish.go
T

32 lines
850 B
Go

package render
import (
"context"
"log"
"evobgp/internal/store"
)
// PublishLatestTenantRevision sets each speaker's published_revision_id to the newest tenant revision (by created_at).
// Simplification for single-tenant / demo stacks; multi-module tenants may prefer explicit publish policies later.
func PublishLatestTenantRevision(ctx context.Context, st store.Backend) {
_ = ctx
tenants, err := st.ListTenantIDs()
if err != nil {
log.Printf("evobgp-render: list tenants: %v", err)
return
}
for _, tid := range tenants {
revs, _, _ := st.ListRevisions(tid, "", "", 1)
if len(revs) == 0 {
continue
}
rid := revs[0].ID
for _, sp := range st.ListSpeakersForTenant(tid) {
if err := st.PublishRevisionForSpeaker(sp.ID, rid); err != nil {
log.Printf("evobgp-render: publish speaker %s: %v", sp.ID, err)
}
}
}
}