Sync latest-evidence search and distinct source counts
This commit is contained in:
parent
27330207c5
commit
849dba6047
16
src/db.ts
16
src/db.ts
@ -813,7 +813,9 @@ export async function listSources() {
|
||||
export async function sourceStatus() {
|
||||
const result = await pool.query(`
|
||||
SELECT s.*,
|
||||
(SELECT COUNT(*)::int FROM signals sig WHERE sig.source_id=s.id) AS signal_count,
|
||||
(SELECT COUNT(DISTINCT sig.external_id)::int
|
||||
FROM signals sig
|
||||
WHERE sig.source_id=s.id) AS signal_count,
|
||||
(SELECT COUNT(*)::int
|
||||
FROM opportunities o
|
||||
JOIN signals sig ON sig.id=o.signal_id
|
||||
@ -924,11 +926,17 @@ export async function getEvidence(id: string) {
|
||||
|
||||
export async function searchEvidence(query: string, limit = 20) {
|
||||
const result = await pool.query(
|
||||
`SELECT e.*, s.source_id,s.title,s.summary,s.url,s.published_at,
|
||||
`WITH latest_signal AS (
|
||||
SELECT DISTINCT ON (source_id,external_id) id
|
||||
FROM signals
|
||||
ORDER BY source_id,external_id,detected_at DESC
|
||||
)
|
||||
SELECT e.*, s.source_id,s.title,s.summary,s.url,s.published_at,
|
||||
src.publisher,src.source_class,src.independence_group,src.authority_tier,
|
||||
ss.retrieved_at AS snapshot_retrieved_at
|
||||
FROM evidence e
|
||||
JOIN signals s ON s.id=e.signal_id
|
||||
FROM latest_signal ls
|
||||
JOIN signals s ON s.id=ls.id
|
||||
JOIN evidence e ON e.signal_id=s.id
|
||||
LEFT JOIN sources src ON src.id=s.source_id
|
||||
LEFT JOIN source_snapshots ss ON ss.id=e.snapshot_id
|
||||
WHERE e.excerpt ILIKE $1 OR s.title ILIKE $1 OR s.summary ILIKE $1
|
||||
|
||||
@ -143,7 +143,7 @@ app.get("/ready", async (_req, res) => {
|
||||
try {
|
||||
const result = await pool.query(
|
||||
`SELECT s.id, s.name, s.last_synced_at, s.last_error,
|
||||
COUNT(sig.id)::int AS signal_count
|
||||
COUNT(DISTINCT sig.external_id)::int AS signal_count
|
||||
FROM sources s
|
||||
LEFT JOIN signals sig ON sig.source_id=s.id
|
||||
GROUP BY s.id,s.name,s.last_synced_at,s.last_error,s.baseline_complete
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user