17 lines
817 B
SQL
17 lines
817 B
SQL
CREATE TABLE assessor_scoped_risk_acceptances (
|
|
id text PRIMARY KEY CHECK (btrim(id) <> ''),
|
|
project_id text NOT NULL REFERENCES assessor_projects(id) ON DELETE CASCADE,
|
|
scope_kind text NOT NULL CHECK (scope_kind IN ('device-finding', 'device-snapshot')),
|
|
device_key text NOT NULL CHECK (btrim(device_key) <> ''),
|
|
revision integer NOT NULL CHECK (revision >= 1),
|
|
created_at timestamptz NOT NULL,
|
|
updated_at timestamptz NOT NULL,
|
|
data jsonb NOT NULL CHECK (jsonb_typeof(data) = 'object')
|
|
);
|
|
|
|
CREATE INDEX assessor_scoped_risk_acceptances_project_device_idx
|
|
ON assessor_scoped_risk_acceptances (project_id, device_key, updated_at DESC, id);
|
|
|
|
COMMENT ON TABLE assessor_scoped_risk_acceptances IS
|
|
'Project-owned append-only decision histories for immutable Defender device/finding target snapshots.';
|