-- Push-notiser för försenade handläggare
-- Kör i phpMyAdmin / cPanel MySQL

-- 1. Beräknad sluttid på handlaggare_status (sätts vid utcheckning)
ALTER TABLE handlaggare_status
  ADD COLUMN IF NOT EXISTS estimated_end_time VARCHAR(5) NULL,
  ADD COLUMN IF NOT EXISTS checkout_date DATE NULL;

-- 2. Tabell för chefernas push-prenumerationer
CREATE TABLE IF NOT EXISTS push_subscriptions (
  id            VARCHAR(36)  PRIMARY KEY,
  user_id       VARCHAR(36)  NOT NULL,
  user_role     VARCHAR(20)  NOT NULL DEFAULT 'chef',
  enhet_id      VARCHAR(36)  NOT NULL,
  endpoint      TEXT         NOT NULL,
  p256dh        TEXT         NOT NULL,
  auth          TEXT         NOT NULL,
  created_at    TIMESTAMP    NOT NULL DEFAULT CURRENT_TIMESTAMP,
  updated_at    TIMESTAMP    NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  INDEX idx_enhet (enhet_id),
  INDEX idx_user  (user_id)
);

-- 3. Tabell för att undvika att skicka samma notis flera gånger per utcheckningstillfälle
CREATE TABLE IF NOT EXISTS push_notifications_sent (
  id              VARCHAR(36)  PRIMARY KEY,
  handlaggare_id  VARCHAR(36)  NOT NULL,
  sent_date       DATE         NOT NULL,
  sent_at         TIMESTAMP    NOT NULL DEFAULT CURRENT_TIMESTAMP,
  UNIQUE KEY unique_per_day (handlaggare_id, sent_date)
);
