CREATE TABLE IF NOT EXISTS calendar_item_chat_messages (
  id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
  calendar_item_id UUID NOT NULL REFERENCES calendar_items(id) ON DELETE CASCADE,
  channel TEXT NOT NULL CHECK (channel IN ('external', 'internal')),
  body TEXT NOT NULL,
  created_by UUID REFERENCES users(id) ON DELETE SET NULL,
  created_at TIMESTAMPTZ NOT NULL DEFAULT now()
);

CREATE INDEX IF NOT EXISTS idx_calendar_item_chat_messages_item_channel
  ON calendar_item_chat_messages (calendar_item_id, channel, created_at);
