-- Create notifications table for in-app alerts CREATE TABLE IF NOT EXISTS notifications ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), organization_id UUID NOT NULL, user_id UUID NOT NULL, title VARCHAR(255) NOT NULL, message TEXT NOT NULL, notification_type VARCHAR(50) DEFAULT 'info', -- 'info', 'warning', 'success', 'deadline' is_read BOOLEAN DEFAULT FALSE, link_url VARCHAR(255), -- Optional link to redirect the user created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW() ); CREATE INDEX IF NOT EXISTS idx_notifications_user_id ON notifications(user_id); CREATE INDEX IF NOT EXISTS idx_notifications_org_id ON notifications(organization_id); CREATE INDEX IF NOT EXISTS idx_notifications_unread ON notifications(user_id) WHERE is_read = FALSE;