feedback
Overview
The feedback table stores user-submitted feedback about the platform. Each entry includes the feedback text, a category, and browser context information (URL, user agent, viewport size) to help developers reproduce and understand issues.
Schema
-- From 20260206_feedback_table.sql
CREATE TABLE feedback (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
user_id UUID REFERENCES auth.users(id) ON DELETE SET NULL,
category TEXT DEFAULT 'general',
content TEXT NOT NULL,
page_url TEXT,
user_agent TEXT,
viewport_width INTEGER,
viewport_height INTEGER,
status TEXT DEFAULT 'new' CHECK (status IN ('new', 'reviewed', 'resolved', 'wontfix')),
admin_notes TEXT,
created_at TIMESTAMPTZ DEFAULT NOW()
);
Columns
| Column | Type | Nullable | Default | Description |
|---|---|---|---|---|
id | uuid | No | gen_random_uuid() | Primary key |
user_id | uuid | Yes | -- | User who submitted (null if deleted) |
category | text | No | 'general' | Feedback category |
content | text | No | -- | Feedback text |
page_url | text | Yes | -- | URL where feedback was submitted |
user_agent | text | Yes | -- | Browser user agent |
viewport_width | integer | Yes | -- | Browser viewport width |
viewport_height | integer | Yes | -- | Browser viewport height |
status | text | No | 'new' | Review status: new, reviewed, resolved, wontfix |
admin_notes | text | Yes | -- | Admin notes on the feedback |
created_at | timestamptz | No | NOW() | Submission timestamp |
RLS Policies
-- SELECT: Users can view their own feedback; admins can view all
CREATE POLICY "Users can view own feedback"
ON feedback FOR SELECT
USING (
auth.uid() = user_id OR
EXISTS (SELECT 1 FROM admin_roles WHERE admin_roles.user_id = auth.uid())
);
-- INSERT: Authenticated users can submit feedback
CREATE POLICY "Users can submit feedback"
ON feedback FOR INSERT
WITH CHECK (auth.uid() = user_id);
-- UPDATE: Admins can update feedback status
CREATE POLICY "Admins can update feedback"
ON feedback FOR UPDATE
USING (EXISTS (SELECT 1 FROM admin_roles WHERE admin_roles.user_id = auth.uid()));
Related
- profiles -- Feedback author
- admin_roles -- Admins who review feedback
Last updated: 2026-02-07