Highly ambitious ATProtocol AppView service and sdks
1-- Job results table to store sync job outcomes
2CREATE TABLE job_results (
3 job_id UUID PRIMARY KEY,
4 user_did TEXT NOT NULL,
5 slice_uri TEXT NOT NULL,
6 status TEXT NOT NULL CHECK (status IN ('completed', 'failed')),
7 success BOOLEAN NOT NULL,
8 total_records BIGINT NOT NULL DEFAULT 0,
9 collections_synced JSONB NOT NULL DEFAULT '[]'::jsonb,
10 repos_processed BIGINT NOT NULL DEFAULT 0,
11 message TEXT NOT NULL,
12 error_message TEXT,
13 created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
14 completed_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
15);
16
17-- Index for looking up jobs by user
18CREATE INDEX idx_job_results_user_did ON job_results(user_did);
19-- Index for looking up recent jobs
20CREATE INDEX idx_job_results_completed_at ON job_results(completed_at DESC);