Files
buzz/migrations/0042_git_policy_authority_epoch.sql
Cea Stapleton Cordasco eedb356f3d feat(db): persist protected object authority
Canonical O4 slice: 04_protected_authority
Final-tree source: e45553ea65b66631771c16908513f983d3c0b881

Signed-off-by: Cea Stapleton Cordasco <261786559+cea-block@users.noreply.github.com>
2026-08-04 11:43:38 -05:00

19 lines
780 B
SQL

-- Kind 30617 is live Git authorization policy. Its replacement or deletion
-- must advance the independently witnessed PostgreSQL authority vector so a
-- stale restore cannot revive an earlier, more permissive policy.
CREATE TRIGGER git_policy_insert_authority_epoch
AFTER INSERT ON events
FOR EACH ROW WHEN (NEW.kind = 30617)
EXECUTE FUNCTION advance_authorization_authority_epoch();
CREATE TRIGGER git_policy_update_authority_epoch
AFTER UPDATE ON events
FOR EACH ROW WHEN (OLD.kind = 30617 OR NEW.kind = 30617)
EXECUTE FUNCTION advance_authorization_authority_epoch();
CREATE TRIGGER git_policy_delete_authority_epoch
AFTER DELETE ON events
FOR EACH ROW WHEN (OLD.kind = 30617)
EXECUTE FUNCTION advance_authorization_authority_epoch();