-- Adds the 3 form definitions the allBETs storefront (abos-site) already submits to but that
-- never had a dim_web_forms row: beta-access-request (corporate-home CTA), contact (Contact Us
-- page), and delete-account-request (footer "Delete account" link). Without these rows,
-- PublicWebService.submitForm throws "Form not found" for every visitor who submits one of
-- these forms — confirmed by testing the live storefront against a freshly-seeded database.
-- The generic public form endpoints (GET/POST /api/public/web/forms/{formKey}) already handle
-- any form_key present here — no backend code change needed, this is purely data, matching the
-- larcare_forms_seed.sql precedent for this exact gap on a different site.
-- Idempotent (guarded by form_key existence per site), additive only.
-- Deploy: mysql -u root -p db_abos_v0.1 < db/allbets_forms_seed.sql

USE db_abos_v0.1;

SET @site_id = (SELECT id FROM dim_web_sites WHERE primary_domain = 'allbetsgo.com' LIMIT 1);
SET @tenant_id = (SELECT tenant_id FROM dim_web_sites WHERE id = @site_id);
SET @business_id = (SELECT business_id FROM dim_web_sites WHERE id = @site_id);

-- ---- Beta Access Request (corporate home "Get early access") ----
INSERT INTO dim_web_forms (tenant_id, business_id, site_id, form_key, name, success_message, is_active)
SELECT @tenant_id, @business_id, @site_id, 'beta-access-request', 'Beta Access Request',
       'You''re on the list — we''ll email you when the ''BET Society'' beta opens up.', 1
WHERE @site_id IS NOT NULL
  AND NOT EXISTS (SELECT 1 FROM dim_web_forms WHERE site_id = @site_id AND form_key = 'beta-access-request');

SET @beta_access_id = (SELECT id FROM dim_web_forms WHERE site_id = @site_id AND form_key = 'beta-access-request');

INSERT INTO dim_web_form_fields (form_id, field_key, label, field_type, is_required, sort_order)
SELECT * FROM (SELECT @beta_access_id AS a, 'name' AS b, 'Name' AS c, 'text' AS d, 1 AS e, 1 AS f) AS t
WHERE @beta_access_id IS NOT NULL
  AND NOT EXISTS (SELECT 1 FROM dim_web_form_fields WHERE form_id = @beta_access_id AND field_key = 'name');
INSERT INTO dim_web_form_fields (form_id, field_key, label, field_type, is_required, sort_order)
SELECT * FROM (SELECT @beta_access_id AS a, 'email' AS b, 'Email' AS c, 'email' AS d, 1 AS e, 2 AS f) AS t
WHERE @beta_access_id IS NOT NULL
  AND NOT EXISTS (SELECT 1 FROM dim_web_form_fields WHERE form_id = @beta_access_id AND field_key = 'email');
INSERT INTO dim_web_form_fields (form_id, field_key, label, field_type, is_required, sort_order)
SELECT * FROM (SELECT @beta_access_id AS a, 'phone' AS b, 'Phone' AS c, 'tel' AS d, 0 AS e, 3 AS f) AS t
WHERE @beta_access_id IS NOT NULL
  AND NOT EXISTS (SELECT 1 FROM dim_web_form_fields WHERE form_id = @beta_access_id AND field_key = 'phone');

-- ---- Contact (Contact Us page) ----
INSERT INTO dim_web_forms (tenant_id, business_id, site_id, form_key, name, success_message, is_active)
SELECT @tenant_id, @business_id, @site_id, 'contact', 'Contact Us',
       'Thanks — your message is in. We''ll get back to you shortly.', 1
WHERE @site_id IS NOT NULL
  AND NOT EXISTS (SELECT 1 FROM dim_web_forms WHERE site_id = @site_id AND form_key = 'contact');

SET @contact_id = (SELECT id FROM dim_web_forms WHERE site_id = @site_id AND form_key = 'contact');

INSERT INTO dim_web_form_fields (form_id, field_key, label, field_type, is_required, sort_order)
SELECT * FROM (SELECT @contact_id AS a, 'name' AS b, 'Name' AS c, 'text' AS d, 1 AS e, 1 AS f) AS t
WHERE @contact_id IS NOT NULL
  AND NOT EXISTS (SELECT 1 FROM dim_web_form_fields WHERE form_id = @contact_id AND field_key = 'name');
INSERT INTO dim_web_form_fields (form_id, field_key, label, field_type, is_required, sort_order)
SELECT * FROM (SELECT @contact_id AS a, 'email' AS b, 'Email' AS c, 'email' AS d, 1 AS e, 2 AS f) AS t
WHERE @contact_id IS NOT NULL
  AND NOT EXISTS (SELECT 1 FROM dim_web_form_fields WHERE form_id = @contact_id AND field_key = 'email');
INSERT INTO dim_web_form_fields (form_id, field_key, label, field_type, is_required, sort_order)
SELECT * FROM (SELECT @contact_id AS a, 'phone' AS b, 'Phone' AS c, 'tel' AS d, 0 AS e, 3 AS f) AS t
WHERE @contact_id IS NOT NULL
  AND NOT EXISTS (SELECT 1 FROM dim_web_form_fields WHERE form_id = @contact_id AND field_key = 'phone');
INSERT INTO dim_web_form_fields (form_id, field_key, label, field_type, is_required, sort_order)
SELECT * FROM (SELECT @contact_id AS a, 'topic' AS b, 'Topic' AS c, 'select' AS d, 0 AS e, 4 AS f) AS t
WHERE @contact_id IS NOT NULL
  AND NOT EXISTS (SELECT 1 FROM dim_web_form_fields WHERE form_id = @contact_id AND field_key = 'topic');
INSERT INTO dim_web_form_fields (form_id, field_key, label, field_type, is_required, sort_order)
SELECT * FROM (SELECT @contact_id AS a, 'message' AS b, 'Message' AS c, 'textarea' AS d, 1 AS e, 5 AS f) AS t
WHERE @contact_id IS NOT NULL
  AND NOT EXISTS (SELECT 1 FROM dim_web_form_fields WHERE form_id = @contact_id AND field_key = 'message');

-- ---- Delete Account Request (footer "Delete account" link) ----
INSERT INTO dim_web_forms (tenant_id, business_id, site_id, form_key, name, success_message, is_active)
SELECT @tenant_id, @business_id, @site_id, 'delete-account-request', 'Delete Account Request',
       'Request received — our team will process your account-deletion request and follow up by email within 30 days.', 1
WHERE @site_id IS NOT NULL
  AND NOT EXISTS (SELECT 1 FROM dim_web_forms WHERE site_id = @site_id AND form_key = 'delete-account-request');

SET @delete_account_id = (SELECT id FROM dim_web_forms WHERE site_id = @site_id AND form_key = 'delete-account-request');

INSERT INTO dim_web_form_fields (form_id, field_key, label, field_type, is_required, sort_order)
SELECT * FROM (SELECT @delete_account_id AS a, 'email' AS b, 'Account Email' AS c, 'email' AS d, 1 AS e, 1 AS f) AS t
WHERE @delete_account_id IS NOT NULL
  AND NOT EXISTS (SELECT 1 FROM dim_web_form_fields WHERE form_id = @delete_account_id AND field_key = 'email');
INSERT INTO dim_web_form_fields (form_id, field_key, label, field_type, is_required, sort_order)
SELECT * FROM (SELECT @delete_account_id AS a, 'reason' AS b, 'Reason (optional)' AS c, 'textarea' AS d, 0 AS e, 2 AS f) AS t
WHERE @delete_account_id IS NOT NULL
  AND NOT EXISTS (SELECT 1 FROM dim_web_form_fields WHERE form_id = @delete_account_id AND field_key = 'reason');
