CREATE TABLE IF NOT EXISTS `#__circolari` (
`id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,

`state` TINYINT(1)  NULL  DEFAULT 1,
`ordering` INT(11)  NULL  DEFAULT 0,
`checked_out` INT(11)  UNSIGNED,
`checked_out_time` DATETIME NULL  DEFAULT NULL ,
`created_by` INT(11)  NULL  DEFAULT 0,
`modified_by` INT(11)  NULL  DEFAULT 0,
`title` VARCHAR(255)  NULL  DEFAULT "",
`description` TEXT NULL ,
`attachment` VARCHAR(255)  NULL  DEFAULT "",
`image` VARCHAR(255)  NULL  DEFAULT "",
PRIMARY KEY (`id`)
,KEY `idx_state` (`state`)
,KEY `idx_checked_out` (`checked_out`)
,KEY `idx_created_by` (`created_by`)
,KEY `idx_modified_by` (`modified_by`)
) DEFAULT COLLATE=utf8mb4_unicode_ci;



-- Aggiunta campi extra alla tabella circolari
ALTER TABLE `#__circolari`
ADD COLUMN `tipologia_firma` ENUM('presa_visione','aderisco','non_aderisco','non_in_servizio') DEFAULT 'presa_visione',
ADD COLUMN `firma_obbligatoria` TINYINT(1) DEFAULT 0,
ADD COLUMN `scadenza` DATE DEFAULT NULL;

-- Creazione tabella firme se non esiste
CREATE TABLE IF NOT EXISTS `#__circolari_firme` (
  `id` INT NOT NULL AUTO_INCREMENT,
  `circolare_id` INT NOT NULL,
  `user_id` INT NOT NULL,
  `firma` ENUM('presa_visione','aderisco','non_aderisco','non_in_servizio') NOT NULL,
  `data_firma` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `firma_unica` (`circolare_id`, `user_id`)
);


-- Tabella delle tipologie di firma (per gestione dinamica)
CREATE TABLE IF NOT EXISTS `#__circolari_firmetipi` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `nome` VARCHAR(100) NOT NULL,
  `descrizione` TEXT DEFAULT NULL,
  `state` TINYINT(1) DEFAULT 1,
  PRIMARY KEY (`id`)
);
