-- #migration 2026_08_18_186
-- Module Prospection : suivi personnel des 100 contacts cibles (3 messages,
-- temperature, statut de funnel) + modeles de texte reutilisables.

CREATE TABLE IF NOT EXISTS prospect_contacts (
  id                  VARCHAR(40)  NOT NULL PRIMARY KEY,
  user_id             VARCHAR(40)  NOT NULL,
  prenom              VARCHAR(100) NOT NULL DEFAULT '',
  nom                 VARCHAR(100) NOT NULL DEFAULT '',
  type                ENUM('particulier','designer','decorateur','artiste','ancien_client') NOT NULL DEFAULT 'particulier',
  moyen_contact       VARCHAR(100) NULL,          -- tél, mail, instagram, etc. (texte libre)
  accroche            TEXT         NULL,
  piece               VARCHAR(150) NULL,
  statut_temperature  ENUM('froid','tiede','chaud') NOT NULL DEFAULT 'froid',
  statut              ENUM('contacte','reponse','rdv','interesse','abandonne','vendu') NOT NULL DEFAULT 'contacte',
  m1_date             DATE         NULL,
  m2_date             DATE         NULL,
  m3_date             DATE         NULL,
  prochaine_action        TEXT     NULL,
  prochaine_action_date   DATE     NULL,
  template_id         VARCHAR(40)  NULL,
  notes               TEXT         NULL,
  created_at          DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP,
  updated_at          DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE,
  INDEX idx_pc_user (user_id),
  INDEX idx_pc_user_statut (user_id, statut),
  INDEX idx_pc_user_relance (user_id, statut, m1_date)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS prospect_templates (
  id            VARCHAR(40)  NOT NULL PRIMARY KEY,
  user_id       VARCHAR(40)  NULL,   -- NULL = modèle système (par défaut, non modifiable)
  titre         VARCHAR(150) NOT NULL,
  type_contact  ENUM('particulier','designer','decorateur','artiste','ancien_client') NULL, -- NULL = tous types
  message_1     TEXT NOT NULL DEFAULT '',
  message_2     TEXT NOT NULL DEFAULT '',
  message_3     TEXT NOT NULL DEFAULT '',
  created_at    DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  updated_at    DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE,
  INDEX idx_pt_user (user_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

ALTER TABLE prospect_contacts
  ADD CONSTRAINT fk_pc_template FOREIGN KEY (template_id) REFERENCES prospect_templates(id) ON DELETE SET NULL;

-- 5 modèles génériques par défaut (adaptés des scripts Steel Clin),
-- visibles par tous (user_id NULL), non modifiables côté client (clonables).
INSERT INTO prospect_templates (id, user_id, titre, type_contact, message_1, message_2, message_3) VALUES
('prospect_tpl_ancien_client', NULL, 'Ancien client', 'ancien_client',
 'Bonjour {prenom}, j''espère que tu profites bien de [la pièce réalisée] ! Je voulais prendre de tes nouvelles — comment ça se passe de ton côté ?',
 'Ah oui d''ailleurs, je me lance en ce moment dans [nouvelle offre/collection] — je pense que ça pourrait te plaire vu ton intérieur.',
 'Si jamais tu as des amis ou de la famille qui cherchent [type de pièce], n''hésite pas à leur parler de moi, ça me ferait très plaisir.'),
('prospect_tpl_particulier', NULL, 'Particulier (réseau)', 'particulier',
 'Bonjour {prenom}, ça fait un moment ! Comment vas-tu ?',
 'Ah oui d''ailleurs, je voulais te dire que je me suis lancé(e) dans la création de [type de pièces] sur mesure — c''est devenu mon activité principale.',
 'Si un jour tu cherches [type de pièce] ou que tu connais quelqu''un qui en cherche, pense à moi !'),
('prospect_tpl_designer', NULL, 'Designer d''intérieur', 'designer',
 'Bonjour {prenom}, je suis [métier], je réalise des [type de pièces] sur mesure. J''ai vu vos réalisations et j''aimerais beaucoup échanger avec vous.',
 'Je travaille avec des designers sur des projets où mes pièces s''intègrent bien dans une ambiance globale — voici quelques exemples de mon travail.',
 'Seriez-vous disponible pour un appel rapide cette semaine, pour voir si on pourrait collaborer sur un futur projet ?'),
('prospect_tpl_decorateur', NULL, 'Décorateur d''intérieur', 'decorateur',
 'Bonjour {prenom}, je suis [métier] et je crée des pièces uniques en [matière]. Votre univers déco m''inspire beaucoup.',
 'J''aimerais vous proposer un partenariat : je peux réaliser des pièces sur mesure pour vos clients qui cherchent quelque chose d''unique.',
 'Auriez-vous un moment pour qu''on en discute ? Je peux vous envoyer mon book si utile.'),
('prospect_tpl_artiste', NULL, 'Artiste / prescripteur local', 'artiste',
 'Bonjour {prenom}, j''aime beaucoup ton travail ! Je suis [métier] et je me demandais si ça t''intéresserait qu''on se découvre mutuellement.',
 'On pourrait imaginer une collaboration ou au moins se recommander mutuellement auprès de nos réseaux respectifs.',
 'Tu serais partant(e) pour en discuter autour d''un café, ou même juste par message ?');
