Files
OmniOilPersonal/services/backend-api/migrations/20260507000000_access_requests.sql
2026-05-07 10:27:37 -05:00

24 lines
964 B
SQL

CREATE TABLE IF NOT EXISTS access_requests (
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
full_name VARCHAR(200) NOT NULL,
email VARCHAR(150) NOT NULL,
company VARCHAR(200) NOT NULL,
nit VARCHAR(30) NOT NULL,
position VARCHAR(150) NOT NULL,
phone VARCHAR(50) NOT NULL,
message TEXT,
status VARCHAR(30) NOT NULL DEFAULT 'pending'
CHECK (status IN ('pending', 'in_review', 'approved', 'rejected')),
rejection_reason TEXT,
reviewed_by UUID REFERENCES users(id) ON DELETE SET NULL,
reviewed_at TIMESTAMPTZ,
request_ip TEXT,
user_agent TEXT,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE INDEX IF NOT EXISTS idx_access_requests_status ON access_requests(status, created_at DESC);
CREATE INDEX IF NOT EXISTS idx_access_requests_email ON access_requests(email);
CREATE INDEX IF NOT EXISTS idx_access_requests_nit ON access_requests(nit);