| |
| CREATE TABLE IF NOT EXISTS audit_logs ( |
| id UUID PRIMARY KEY DEFAULT uuid_generate_v4(), |
| user_id UUID REFERENCES auth.users(id), |
| agent_id UUID REFERENCES agents(id), |
| task_id UUID REFERENCES tasks(id), |
| action TEXT NOT NULL, |
| metadata JSONB, |
| created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP |
| ); |
|
|
| |
| CREATE TABLE IF NOT EXISTS task_feedback ( |
| id UUID PRIMARY KEY DEFAULT uuid_generate_v4(), |
| task_id UUID REFERENCES tasks(id) UNIQUE, |
| user_id UUID REFERENCES auth.users(id), |
| rating INT CHECK (rating IN (-1, 1)), |
| comment TEXT, |
| created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP |
| ); |
|
|
| |
| ALTER TABLE audit_logs ENABLE ROW LEVEL SECURITY; |
| ALTER TABLE task_feedback ENABLE ROW LEVEL SECURITY; |
|
|
| CREATE POLICY "Users can view their own audit logs" ON audit_logs |
| FOR SELECT USING (auth.uid() = user_id); |
|
|
| CREATE POLICY "Users can manage their own feedback" ON task_feedback |
| FOR ALL USING (auth.uid() = user_id); |
|
|