-- ═══════════════════════════════════════════════════════════════
-- Calculateur de prix — réglages et produits par artisan
-- Persistance uniquement après création de compte (accès prospect
-- = calcul client pur, localStorage, aucun appel API tant que
-- l'utilisateur n'a pas de user_id).
-- ═══════════════════════════════════════════════════════════════

CREATE TABLE IF NOT EXISTS pricing_calculator_settings (
  user_id      VARCHAR(40)    NOT NULL PRIMARY KEY,
  taux_horaire DECIMAL(6,2)   NOT NULL DEFAULT 25,
  frais_fixes  DECIMAL(10,2)  NOT NULL DEFAULT 0,
  marge_cible  DECIMAL(5,2)   NOT NULL DEFAULT 40,
  updated_at   DATETIME       NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS pricing_calculator_products (
  id                VARCHAR(40)    NOT NULL PRIMARY KEY,
  user_id           VARCHAR(40)    NOT NULL,
  nom               VARCHAR(120)   NOT NULL DEFAULT '',
  cout_matieres     DECIMAL(10,2)  NOT NULL DEFAULT 0,
  temps_h           DECIMAL(6,2)   NOT NULL DEFAULT 0,
  volume_mois       INT UNSIGNED   NOT NULL DEFAULT 0,
  rarete            ENUM('serie_ouverte','serie_limitee','piece_unique') NOT NULL DEFAULT 'serie_ouverte',
  prix_vente_actuel DECIMAL(10,2)  NOT NULL DEFAULT 0,
  sort_order        SMALLINT UNSIGNED NOT NULL DEFAULT 0,
  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_pcp_user (user_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
