#!/usr/bin/env nu
# on-content-published.nu
#
# Triggered by NATS subject: evol.website.prod.content.published
#
# Environment:
#   NATS_SUBJECT  — matched NATS subject string
#   NATS_PAYLOAD  — JSON payload from the publisher
#
# Expected payload shape:
#   { content_type: "blog", language: "en", id: "my-new-post" }

let payload = $env.NATS_PAYLOAD | from json

print $"[content-published] type=($payload.content_type) lang=($payload.language) id=($payload.id)"

# Rebuild the content index for this type/language so the next request
# picks it up immediately (complements the in-memory cache flush done
# by the cache_invalidate step before this script runs).
# Adjust path to your actual content build script.
let build_script = $"($env.SITE_CONTENT_PATH)/scripts/content/build-localized-content.sh"

if ($build_script | path exists) {
    run-external $build_script $payload.content_type $payload.language
} else {
    print $"[content-published] build script not found at ($build_script), skipping rebuild"
}
