-- Agency Signup Templates (SuperAdmin → Agencies) CREATE TABLE IF NOT EXISTS agency_signup_templates ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), name VARCHAR(255) NOT NULL, slug VARCHAR(100) UNIQUE NOT NULL, description TEXT, -- Campos do formulário (JSONB com campos habilitados/desabilitados) form_fields JSONB NOT NULL DEFAULT '[]', -- Módulos disponíveis para a agência available_modules JSONB NOT NULL DEFAULT '[]', -- Personalização custom_primary_color VARCHAR(7), custom_logo_url TEXT, -- Redirecionamento após cadastro redirect_url TEXT, success_message TEXT, -- Controle is_active BOOLEAN DEFAULT true, usage_count INTEGER DEFAULT 0, max_uses INTEGER, expires_at TIMESTAMP WITH TIME ZONE, created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP ); -- Index para busca rápida por slug CREATE INDEX idx_agency_templates_slug ON agency_signup_templates(slug); CREATE INDEX idx_agency_templates_active ON agency_signup_templates(is_active); COMMENT ON TABLE agency_signup_templates IS 'Templates de cadastro de agências (SuperAdmin → Agências)'; COMMENT ON COLUMN agency_signup_templates.form_fields IS 'Campos do formulário em JSONB: [{"name": "cnpj", "required": true, "enabled": true}]'; COMMENT ON COLUMN agency_signup_templates.available_modules IS 'Módulos disponíveis: ["CRM", "Financial", "Projects"]';