-- ════════════════════════════════════════════════════
--  Vanity Salon — Database Setup
--  Esegui in phpMyAdmin oppure via SSH:
--  mysql -u UTENTE -p NOME_DB < database.sql
-- ════════════════════════════════════════════════════

SET NAMES utf8mb4;
SET time_zone = '+01:00';

-- ── OPERATRICI ──────────────────────────────────────
CREATE TABLE IF NOT EXISTS `operatrici` (
  `id`         INT AUTO_INCREMENT PRIMARY KEY,
  `nome`       VARCHAR(50)  NOT NULL,
  `ruolo`      VARCHAR(50)  DEFAULT 'Dipendente',
  `avatar`     CHAR(1)      NOT NULL,
  `colore`     VARCHAR(10)  DEFAULT '#B8965A',
  `ora_inizio` TIME         DEFAULT '09:00:00',
  `ora_fine`   TIME         DEFAULT '19:00:00',
  `attiva`     TINYINT(1)   DEFAULT 1,
  `creata_il`  DATETIME     DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- ── SERVIZI ─────────────────────────────────────────
CREATE TABLE IF NOT EXISTS `servizi` (
  `id`        INT AUTO_INCREMENT PRIMARY KEY,
  `slug`      VARCHAR(50)  NOT NULL UNIQUE,
  `nome`      VARCHAR(100) NOT NULL,
  `durata`    INT          NOT NULL COMMENT 'minuti',
  `prezzo`    DECIMAL(6,2) NOT NULL,
  `attivo`    TINYINT(1)   DEFAULT 1
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- ── OPERATRICE ↔ SERVIZI (relazione N:M) ────────────
CREATE TABLE IF NOT EXISTS `operatrice_servizi` (
  `operatrice_id` INT NOT NULL,
  `servizio_id`   INT NOT NULL,
  PRIMARY KEY (`operatrice_id`, `servizio_id`),
  FOREIGN KEY (`operatrice_id`) REFERENCES `operatrici`(`id`) ON DELETE CASCADE,
  FOREIGN KEY (`servizio_id`)   REFERENCES `servizi`(`id`)    ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- ── PRENOTAZIONI ────────────────────────────────────
CREATE TABLE IF NOT EXISTS `prenotazioni` (
  `id`            INT AUTO_INCREMENT PRIMARY KEY,
  `cliente_nome`  VARCHAR(100) NOT NULL,
  `cliente_tel`   VARCHAR(30)  DEFAULT '',
  `cliente_email` VARCHAR(100) DEFAULT '',
  `servizio_id`   INT          NOT NULL,
  `operatrice_id` INT          NOT NULL,
  `data`          DATE         NOT NULL,
  `ora`           TIME         NOT NULL,
  `ora_fine`      TIME         NOT NULL,
  `stato`         ENUM('pending','confirmed','cancelled') DEFAULT 'pending',
  `note`          TEXT,
  `creata_il`     DATETIME     DEFAULT CURRENT_TIMESTAMP,
  FOREIGN KEY (`servizio_id`)   REFERENCES `servizi`(`id`),
  FOREIGN KEY (`operatrice_id`) REFERENCES `operatrici`(`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- ── BLOCCHI ORARI (pausa, ferie, ecc.) ──────────────
CREATE TABLE IF NOT EXISTS `blocchi` (
  `id`            INT AUTO_INCREMENT PRIMARY KEY,
  `operatrice_id` INT          NOT NULL,
  `data`          DATE         NOT NULL,
  `ora_inizio`    TIME         NOT NULL,
  `ora_fine`      TIME         NOT NULL,
  `etichetta`     VARCHAR(100) DEFAULT 'Non disponibile',
  FOREIGN KEY (`operatrice_id`) REFERENCES `operatrici`(`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- ── ADMIN ───────────────────────────────────────────
CREATE TABLE IF NOT EXISTS `admin_utenti` (
  `id`           INT AUTO_INCREMENT PRIMARY KEY,
  `username`     VARCHAR(50)  NOT NULL UNIQUE,
  `password_hash`VARCHAR(255) NOT NULL,
  `creato_il`    DATETIME     DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- ════════════════════════════════════════════════════
--  DATI INIZIALI
-- ════════════════════════════════════════════════════

INSERT INTO `operatrici` (`nome`,`ruolo`,`avatar`,`colore`,`ora_inizio`,`ora_fine`) VALUES
  ('Sara',  'Titolare',   'S', '#4A90D9', '09:00:00', '19:00:00'),
  ('Giulia','Dipendente', 'G', '#7B68C8', '09:00:00', '18:00:00'),
  ('Marta', 'Stagista',   'M', '#FF9F0A', '10:00:00', '16:00:00');

INSERT INTO `servizi` (`slug`,`nome`,`durata`,`prezzo`) VALUES
  ('taglio-donna', 'Taglio Donna',   45,  35.00),
  ('taglio-uomo',  'Taglio Uomo',    30,  20.00),
  ('colore',       'Colore',         90,  65.00),
  ('piega',        'Piega',          30,  25.00),
  ('trattamento',  'Trattamento',    60,  45.00),
  ('taglio-piega', 'Taglio + Piega', 75,  55.00),
  ('colore-piega', 'Colore + Piega', 120, 85.00),
  ('meches',       'Mèches',         120, 90.00);

-- Sara: tutti i servizi (id 1-8)
INSERT INTO `operatrice_servizi` VALUES (1,1),(1,2),(1,3),(1,4),(1,5),(1,6),(1,7),(1,8);
-- Giulia: taglio donna, taglio uomo, piega, taglio+piega
INSERT INTO `operatrice_servizi` VALUES (2,1),(2,2),(2,4),(2,6);
-- Marta: solo piega
INSERT INTO `operatrice_servizi` VALUES (3,4);

-- Admin di default (password: vanity2024 — CAMBIALA subito!)
-- Genera un nuovo hash con: php -r "echo password_hash('TUA_PASSWORD', PASSWORD_DEFAULT);"
INSERT INTO `admin_utenti` (`username`,`password_hash`) VALUES
  ('admin', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi');
