Refactor: Implement database queue infrastructure

This commit is contained in:
gpt-engineer-app[bot]
2025-10-06 14:34:11 +00:00
parent a340985f32
commit 93a99432ec
2 changed files with 51 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
-- Create moderation queue in pgmq
SELECT pgmq.create('moderation_queue');
-- Add queue management columns to content_submissions
ALTER TABLE content_submissions
ADD COLUMN IF NOT EXISTS priority INTEGER NOT NULL DEFAULT 3,
ADD COLUMN IF NOT EXISTS assigned_to UUID REFERENCES auth.users(id),
ADD COLUMN IF NOT EXISTS assigned_at TIMESTAMP WITH TIME ZONE,
ADD COLUMN IF NOT EXISTS locked_until TIMESTAMP WITH TIME ZONE,
ADD COLUMN IF NOT EXISTS submitted_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT NOW(),
ADD COLUMN IF NOT EXISTS first_reviewed_at TIMESTAMP WITH TIME ZONE,
ADD COLUMN IF NOT EXISTS resolved_at TIMESTAMP WITH TIME ZONE,
ADD COLUMN IF NOT EXISTS review_count INTEGER DEFAULT 0;
-- Create indexes for queue operations
CREATE INDEX IF NOT EXISTS idx_submissions_queue_status
ON content_submissions(status, priority DESC, submitted_at ASC)
WHERE status IN ('pending', 'partially_approved');
CREATE INDEX IF NOT EXISTS idx_submissions_assigned
ON content_submissions(assigned_to, locked_until)
WHERE assigned_to IS NOT NULL;
-- Simple index on locked_until for expired lock cleanup
CREATE INDEX IF NOT EXISTS idx_submissions_locked_until
ON content_submissions(locked_until)
WHERE locked_until IS NOT NULL;