Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions .github/scripts/daily-digest.sh
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,8 @@ if [ -n "${ASSETS_DATABASE_URL_RO:-}" ] && [ -n "${OPERATION_DATABASE_URL_RO:-}"
if [ "$admin_count" -gt 0 ]; then
# 2) verified counts per admin from assets DB
# yesterday 윈도우 = [어제 00:00 KST, 오늘 00:00 KST). last_7d 윈도우 = 7일 rolling.
admin_ids_array=$(echo "$admins_json" | jq -r '[.[].id] | join("\",\"")')
# PostgreSQL ARRAY 안의 string literal 은 single quote — double quote 는 identifier 해석.
admin_ids_array=$(echo "$admins_json" | jq -r "[.[].id] | join(\"','\")")
counts_json=$(PGCONNECT_TIMEOUT=10 psql "$ASSETS_DATABASE_URL_RO" -t -A -F$'\t' -c \
"SELECT verified_by::text,
COUNT(*) FILTER (
Expand All @@ -90,13 +91,15 @@ if [ -n "${ASSETS_DATABASE_URL_RO:-}" ] && [ -n "${OPERATION_DATABASE_URL_RO:-}"
) AS yesterday,
COUNT(*) FILTER (WHERE verified_at >= now() - interval '7 days') AS last_7d
FROM public.raw_posts
WHERE verified_by = ANY(ARRAY[\"$admin_ids_array\"]::uuid[])
WHERE verified_by = ANY(ARRAY['$admin_ids_array']::uuid[])
AND verified_at IS NOT NULL
AND verified_at >= now() - interval '7 days'
GROUP BY verified_by" \
2>/dev/null \
| jq -R -s 'split("\n") | map(select(length > 0) | split("\t") | {admin_id:.[0], yesterday:(.[1] | tonumber), last_7d:(.[2] | tonumber)})' \
|| echo "[]")
# SQL 실패 또는 빈 결과 시 fallback
if [ -z "$counts_json" ]; then counts_json="[]"; fi

# 3) zip — admin + counts (fall-through to 0 if no row)
VERIFY_STATS_JSON=$(jq -n \
Expand Down
Loading