CREATE TABLE smile_preview_jobs (
id INTEGER PRIMARY KEY AUTOINCREMENT,
chatbot_id INTEGER NOT NULL,
requester_user_id INTEGER,
treatment_type TEXT NOT NULL,
orthodontic_color TEXT,
before_media_id INTEGER NOT NULL,
after_media_id INTEGER,
status TEXT NOT NULL DEFAULT 'pending',
prompt_version TEXT NOT NULL DEFAULT 'v1',
error_message TEXT,
credits_charged INTEGER NOT NULL DEFAULT 0,
generation_attempt INTEGER NOT NULL DEFAULT 1,
source TEXT NOT NULL DEFAULT 'admin',
reference_id TEXT UNIQUE,
created_at TEXT NOT NULL,
updated_at TEXT NOT NULL,
teeth_mask_media_id INTEGER,
adjusted_after_media_id INTEGER,
shade_level INTEGER NOT NULL DEFAULT 0,
embed_visitor_key TEXT,
source_page_url TEXT,
FOREIGN KEY (chatbot_id) REFERENCES chatbots(id) ON DELETE CASCADE,
FOREIGN KEY (requester_user_id) REFERENCES users(id) ON DELETE SET NULL,
FOREIGN KEY (before_media_id) REFERENCES media_files(id) ON DELETE SET NULL,
FOREIGN KEY (after_media_id) REFERENCES media_files(id) ON DELETE SET NULL
)