31 lines
1.4 KiB
SQL
31 lines
1.4 KiB
SQL
-- +goose Up
|
|
-- Stage 10 admin & dictionary ops: the word-check complaint resolution lifecycle.
|
|
-- Stage 3 created complaints with a free-form status (only ever 'open'); the admin
|
|
-- review queue (this stage) resolves them with a disposition that also feeds the
|
|
-- offline dictionary-rebuild pipeline: an accepted complaint records whether the
|
|
-- word should be added or removed, and is marked applied once a rebuilt dictionary
|
|
-- version is hot-reloaded. No operator identity is recorded (the gateway gates the
|
|
-- console behind Basic-Auth; the backend keeps no admin principal). Adds columns, so
|
|
-- the generated jet code is regenerated (cmd/jetgen).
|
|
SET search_path = backend, pg_catalog;
|
|
|
|
ALTER TABLE complaints
|
|
ADD COLUMN disposition text NOT NULL DEFAULT '',
|
|
ADD COLUMN resolution_note text NOT NULL DEFAULT '',
|
|
ADD COLUMN resolved_at timestamptz,
|
|
ADD COLUMN applied_in_version text NOT NULL DEFAULT '',
|
|
ADD CONSTRAINT complaints_status_chk CHECK (status IN ('open', 'resolved')),
|
|
ADD CONSTRAINT complaints_disposition_chk
|
|
CHECK (disposition IN ('', 'reject', 'accept_add', 'accept_remove'));
|
|
|
|
-- +goose Down
|
|
SET search_path = backend, pg_catalog;
|
|
|
|
ALTER TABLE complaints
|
|
DROP CONSTRAINT complaints_disposition_chk,
|
|
DROP CONSTRAINT complaints_status_chk,
|
|
DROP COLUMN applied_in_version,
|
|
DROP COLUMN resolved_at,
|
|
DROP COLUMN resolution_note,
|
|
DROP COLUMN disposition;
|