ff56cea4b8
- Introduced new migration for `facebook_accounts` and `facebook_scrape_logs` tables. - Updated the scraping logic to handle Facebook accounts, including success and failure tracking. - Implemented API endpoints for managing Facebook accounts and their scrape logs. - Enhanced user permissions to restrict access to Facebook account management to admins and super admins. - Added a dialog component for displaying and managing Facebook accounts in the UI. - Updated lead fetching logic to include user role checks for assignment and access.
35 lines
1.3 KiB
SQL
35 lines
1.3 KiB
SQL
CREATE TABLE IF NOT EXISTS facebook_accounts (
|
|
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
|
|
label VARCHAR(100) NOT NULL,
|
|
profile_path TEXT NOT NULL,
|
|
cookie_file TEXT NOT NULL,
|
|
is_active BOOLEAN NOT NULL DEFAULT TRUE,
|
|
last_scrape_at TIMESTAMPTZ,
|
|
last_success_at TIMESTAMPTZ,
|
|
last_error_at TIMESTAMPTZ,
|
|
last_error_message TEXT,
|
|
consecutive_failures INT NOT NULL DEFAULT 0,
|
|
flagged BOOLEAN NOT NULL DEFAULT FALSE,
|
|
flagged_at TIMESTAMPTZ,
|
|
flagged_reason TEXT,
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_fb_accounts_active ON facebook_accounts(is_active);
|
|
CREATE INDEX IF NOT EXISTS idx_fb_accounts_flagged ON facebook_accounts(flagged);
|
|
|
|
CREATE TABLE IF NOT EXISTS facebook_scrape_logs (
|
|
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
|
|
account_id UUID NOT NULL REFERENCES facebook_accounts(id) ON DELETE CASCADE,
|
|
started_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
completed_at TIMESTAMPTZ,
|
|
success BOOLEAN NOT NULL DEFAULT FALSE,
|
|
leads_found INT NOT NULL DEFAULT 0,
|
|
error_message TEXT,
|
|
detected_flag VARCHAR(50),
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_fb_scrape_logs_account ON facebook_scrape_logs(account_id, created_at DESC);
|