-- Kullanıcı bazlı bildirimler (header zili; okundu durumu kullanıcı başına)
CREATE TABLE IF NOT EXISTS `kullanici_bildirimleri` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `user_id` int(11) unsigned NOT NULL,
  `kaynak_id` varchar(64) NOT NULL COMMENT 'Benzersiz kaynak: surum-1.4.0, whatsapp-randevu-123 vb.',
  `tip` varchar(32) NOT NULL DEFAULT 'sistem' COMMENT 'surum, whatsapp, randevu, ekspertiz, sistem',
  `baslik` varchar(200) NOT NULL,
  `ozet` text NOT NULL,
  `surum` varchar(20) NULL,
  `link` varchar(255) NULL,
  `okundu` tinyint(1) NOT NULL DEFAULT 0,
  `okundu_at` datetime NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_kb_user_kaynak` (`user_id`, `kaynak_id`),
  KEY `idx_kb_user_okundu` (`user_id`, `okundu`, `created_at`),
  CONSTRAINT `fk_kb_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
