24 lines
964 B
SQL
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);
|