-- Katalog tabloları (isteğe bağlı — boşsa data/catalog.json kullanılır)
SET NAMES utf8mb4;

CREATE TABLE IF NOT EXISTS `catalog_categories` (
  `id` VARCHAR(64) NOT NULL PRIMARY KEY,
  `slug` VARCHAR(80) NOT NULL,
  `name_tr` VARCHAR(120) NOT NULL,
  `icon` VARCHAR(16) NULL,
  `sort_order` INT NOT NULL DEFAULT 0,
  `active` TINYINT(1) NOT NULL DEFAULT 1,
  `personalized` TINYINT(1) NOT NULL DEFAULT 0,
  UNIQUE KEY `uq_catalog_cat_slug` (`slug`),
  INDEX `idx_catalog_cat_sort` (`sort_order`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE IF NOT EXISTS `catalog_products` (
  `id` VARCHAR(64) NOT NULL PRIMARY KEY,
  `category_id` VARCHAR(64) NOT NULL,
  `slug` VARCHAR(80) NOT NULL,
  `title_tr` VARCHAR(180) NOT NULL,
  `description_tr` TEXT NOT NULL,
  `image_url` VARCHAR(500) NOT NULL DEFAULT '',
  `stl_file` VARCHAR(255) NULL,
  `stl_url` VARCHAR(500) NULL,
  `makerworld_url` VARCHAR(500) NULL,
  `makerworld_id` VARCHAR(64) NULL,
  `material` VARCHAR(20) NOT NULL DEFAULT 'PLA',
  `suggested_color` VARCHAR(60) NULL,
  `sort_order` INT NOT NULL DEFAULT 0,
  `active` TINYINT(1) NOT NULL DEFAULT 1,
  `personalized` TINYINT(1) NOT NULL DEFAULT 0,
  UNIQUE KEY `uq_catalog_prod_slug` (`slug`),
  INDEX `idx_catalog_prod_category` (`category_id`),
  INDEX `idx_catalog_prod_sort` (`sort_order`),
  CONSTRAINT `fk_catalog_prod_category` FOREIGN KEY (`category_id`) REFERENCES `catalog_categories`(`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
