-- 013: AML detection alerts (compliance-service) CREATE TABLE IF NOT EXISTS aml_alerts ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), user_id UUID NOT NULL REFERENCES users(id), alert_type VARCHAR(30) NOT NULL CHECK (alert_type IN ( 'buy_transfer_withdraw', 'fan_out', 'self_dealing', 'cross_border', 'structuring' )), severity VARCHAR(10) NOT NULL CHECK (severity IN ('low', 'medium', 'high', 'critical')), details JSONB NOT NULL DEFAULT '{}', status VARCHAR(20) NOT NULL DEFAULT 'open' CHECK (status IN ('open', 'investigating', 'resolved', 'escalated', 'dismissed')), resolved_by UUID REFERENCES users(id), resolved_at TIMESTAMPTZ, created_at TIMESTAMPTZ NOT NULL DEFAULT NOW() ); CREATE INDEX idx_aml_alerts_user_id ON aml_alerts(user_id); CREATE INDEX idx_aml_alerts_type ON aml_alerts(alert_type); CREATE INDEX idx_aml_alerts_severity ON aml_alerts(severity); CREATE INDEX idx_aml_alerts_status ON aml_alerts(status);