app

Local-first trade for farms and co-ops
git clone https://radroots.dev/git/app.git
Log | Files | Refs | README | LICENSE

0012_local_interop_imports.sql (1283B)


      1 CREATE TABLE local_interop_imports (
      2     record_id TEXT PRIMARY KEY NOT NULL,
      3     local_seq INTEGER NOT NULL CHECK (local_seq >= 0),
      4     record_family TEXT NOT NULL CHECK (record_family IN ('local_work', 'signed_event')),
      5     local_status TEXT NOT NULL CHECK (
      6         local_status IN (
      7             'local_draft',
      8             'local_saved',
      9             'pending_publish',
     10             'published',
     11             'failed',
     12             'conflict'
     13         )
     14     ),
     15     source_runtime TEXT NOT NULL,
     16     owner_account_id TEXT,
     17     owner_pubkey TEXT,
     18     farm_key TEXT,
     19     listing_addr TEXT,
     20     projected_kind TEXT NOT NULL CHECK (
     21         projected_kind IN ('farm', 'listing', 'signed_event', 'unsupported')
     22     ),
     23     projected_id TEXT,
     24     event_id TEXT,
     25     event_kind INTEGER,
     26     outbox_status TEXT NOT NULL CHECK (
     27         outbox_status IN ('none', 'pending', 'acknowledged', 'failed')
     28     ),
     29     relay_delivery_json TEXT,
     30     imported_at TEXT NOT NULL
     31 );
     32 
     33 CREATE INDEX idx_local_interop_imports_seq
     34     ON local_interop_imports(local_seq);
     35 
     36 CREATE INDEX idx_local_interop_imports_owner_status
     37     ON local_interop_imports(owner_account_id, local_status, local_seq DESC);
     38 
     39 CREATE INDEX idx_local_interop_imports_projected
     40     ON local_interop_imports(projected_kind, projected_id);