CREATE TABLE hotspot (id VARCHAR(64) NOT NULL, label VARCHAR(255) NOT NULL, description LONGTEXT DEFAULT NULL, rx DOUBLE PRECISION NOT NULL, ry DOUBLE PRECISION NOT NULL, rz DOUBLE PRECISION NOT NULL, image VARCHAR(255) DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB;
CREATE TABLE hotspot_produit (id INT AUTO_INCREMENT NOT NULL, hotspot_id VARCHAR(64) NOT NULL, produit_id INT NOT NULL, default_qty DOUBLE PRECISION NOT NULL, sort_order INT DEFAULT 0 NOT NULL, INDEX idx_hotspot_produit_hotspot (hotspot_id), INDEX idx_hotspot_produit_produit (produit_id), UNIQUE INDEX uniq_hotspot_produit (hotspot_id, produit_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB;
ALTER TABLE hotspot_produit ADD CONSTRAINT FK_HOTSPOT_PRODUIT_HOTSPOT FOREIGN KEY (hotspot_id) REFERENCES hotspot (id) ON DELETE CASCADE;
ALTER TABLE hotspot_produit ADD CONSTRAINT FK_HOTSPOT_PRODUIT_PRODUIT FOREIGN KEY (produit_id) REFERENCES produit (id) ON DELETE CASCADE;
INSERT INTO hotspot (id, label, description, rx, ry, rz, image) VALUES
    ('front_left', 'Aile avant gauche', 'Aile avant cote gauche.', 1, 0, 1, NULL),
    ('front_door_left', 'Portiere avant gauche', 'Portiere avant cote gauche.', 1, 0, 0.2, NULL),
    ('back_door_left', 'Portiere arriere gauche', 'Portiere arriere cote gauche.', 1, 0, -0.35, NULL),
    ('back_door_right', 'Portiere arriere droite', 'Portiere arriere cote droite.', -1, 0, -0.35, NULL),
    ('back_glass', 'Lunette arriere', 'Vitre arriere et lunette.', 0, 0.80, -0.75, NULL),
    ('front_right', 'Aile avant droite', 'Aile avant cote droite.', -1, 0, 1, NULL),
    ('front_door_right', 'Portiere avant droite', 'Portiere avant cote droite.', -1, 0, 0.2, NULL),
    ('back_right', 'Aile arriere droite', 'Aile arriere cote droite.', -1, 0, -1.05, NULL),
    ('back_left', 'Aile arriere gauche', 'Aile arriere cote gauche.', 1, 0, -1.05, NULL),
    ('front_glass', 'Pare-brise', 'Pare-brise avant.', 0, 0.80, 0.60, NULL),
    ('front_middle', 'Pare-chocs avant', 'Pare-chocs et bouclier avant.', 0, 0, 1, NULL),
    ('back_middle', 'Pare-chocs arriere', 'Pare-chocs et bouclier arriere.', 0, 0, -1.10, NULL),
    ('roof_top', 'Toit', 'Panneau de toit.', 0, 1.05, -0.20, NULL);
INSERT INTO droit (nom, label, entite) VALUES
    ('catalogue_carrosserie', 'Acceder au catalogue carrosserie', 'Catalogue');
