CREATE TABLE invitations (
id TEXT PRIMARY KEY,
invite_token TEXT NOT NULL UNIQUE,
inviter_user_id TEXT NOT NULL,
invitee_phone TEXT NOT NULL DEFAULT '',
invitee_name TEXT NOT NULL DEFAULT '',
status TEXT NOT NULL DEFAULT 'pending'
CHECK (status IN ('pending', 'phone_verified', 'qr_generated', 'bot_scanned', 'bot_connected', 'completed', 'expired', 'cancelled')),
qrcode_key TEXT NOT NULL DEFAULT '',
qrcode_url TEXT NOT NULL DEFAULT '',
bot_token TEXT NOT NULL DEFAULT '',
ilink_bot_id TEXT NOT NULL DEFAULT '',
baseurl TEXT NOT NULL DEFAULT '',
cdn_baseurl TEXT NOT NULL DEFAULT '',
created_user_id TEXT NOT NULL DEFAULT '',
created_user_dir TEXT NOT NULL DEFAULT '',
created_channel_id TEXT NOT NULL DEFAULT '',
project_root TEXT NOT NULL DEFAULT '',
expires_at INTEGER NOT NULL,
created_at TEXT NOT NULL DEFAULT (datetime('now')),
updated_at TEXT NOT NULL DEFAULT (datetime('now')),
FOREIGN KEY (inviter_user_id) REFERENCES user(id) ON DELETE CASCADE
)