Files
AstralRinth/apps/labrinth/migrations/20260106225635_moderation_locks.sql
Calum H. b46f6d0141 feat: moderation locking (#5070)
* feat: base locking impl

* feat: lock logic in place in rev endpoint + fetch rev

* feat: frontend impl and finalize

* feat: auto skip if using the moderation queue page

* fix: qa issues

* fix: async state + locking fix

* fix: lint

* fix: fmt

* fix: qa issue

* fix: qa + redirect bug

* fix: lint

* feat: delete all locks endpoint for admins

* fix: dedupe

* fix: fmt

* fix: project redirect move to middleware

* fix: lint
2026-01-12 17:08:30 +00:00

9 lines
389 B
SQL

CREATE TABLE moderation_locks (
project_id BIGINT PRIMARY KEY REFERENCES mods(id) ON DELETE CASCADE,
moderator_id BIGINT NOT NULL REFERENCES users(id) ON DELETE CASCADE,
locked_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP NOT NULL
);
CREATE INDEX idx_moderation_locks_moderator ON moderation_locks(moderator_id);
CREATE INDEX idx_moderation_locks_locked_at ON moderation_locks(locked_at);