Backend: - Fix migrations 037-041 to use UUID v7 (uuid_generate_v7) - Fix CORS defaults to include localhost:8963 - Fix FRONTEND_URL default to localhost:8963 - Update superadmin password hash with pepper - Add PASSWORD_PEPPER environment variable Frontend: - Replace mockJobs with real API calls in home page - Replace mockNotifications with notificationsApi in context - Replace mockApplications with applicationsApi in dashboard - Fix register/user page to call real registerCandidate API - Fix hardcoded values in backoffice and messages pages Auth: - Support both HTTPOnly cookie and Bearer token authentication - Login returns token + sets HTTPOnly cookie - Logout clears HTTPOnly cookie - Token valid for 24h
31 lines
1.1 KiB
SQL
31 lines
1.1 KiB
SQL
-- Migration: Create activity_logs table - uses UUID v7
|
|
-- Description: Stores activity logs for auditing and monitoring
|
|
|
|
CREATE TABLE IF NOT EXISTS activity_logs (
|
|
id UUID PRIMARY KEY DEFAULT uuid_generate_v7(),
|
|
user_id UUID REFERENCES users(id) ON DELETE SET NULL,
|
|
tenant_id UUID,
|
|
|
|
-- Activity Info
|
|
action VARCHAR(100) NOT NULL,
|
|
resource_type VARCHAR(50),
|
|
resource_id VARCHAR(50),
|
|
|
|
-- Details
|
|
description TEXT,
|
|
metadata JSONB,
|
|
ip_address VARCHAR(45),
|
|
user_agent TEXT,
|
|
|
|
-- Metadata
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
-- Indexes for efficient querying
|
|
CREATE INDEX IF NOT EXISTS idx_activity_logs_user ON activity_logs(user_id);
|
|
CREATE INDEX IF NOT EXISTS idx_activity_logs_tenant ON activity_logs(tenant_id);
|
|
CREATE INDEX IF NOT EXISTS idx_activity_logs_action ON activity_logs(action);
|
|
CREATE INDEX IF NOT EXISTS idx_activity_logs_resource ON activity_logs(resource_type, resource_id);
|
|
CREATE INDEX IF NOT EXISTS idx_activity_logs_created ON activity_logs(created_at DESC);
|
|
|
|
COMMENT ON TABLE activity_logs IS 'Audit log of all system activities';
|