-- Migración 003: tabla de libretas CardDAV (addressbooks).
--
-- La DB es la fuente de verdad de las libretas de contactos: el ingest DAV
-- itera todas las libretas registradas aquí (no solo la colección fija) y cada
-- contacto guarda su collection real. Los endpoints de escritura crean libretas
-- nuevas en Xandikos y las registran aquí.
--
-- Aditiva e idempotente: CREATE TABLE IF NOT EXISTS + seed ON CONFLICT DO NOTHING.

CREATE TABLE IF NOT EXISTS addressbooks (
    slug            VARCHAR PRIMARY KEY,
    display_name    VARCHAR,
    collection_path VARCHAR,
    description     VARCHAR,
    color           VARCHAR,
    created_at      TIMESTAMP DEFAULT now()
);

-- Seed idempotente de la libreta por defecto (la que apunta config.py por
-- defecto). Re-aplicar la migración no la duplica.
INSERT INTO addressbooks (slug, display_name, collection_path, description, color)
VALUES ('addressbook', 'Contactos', '/enmanuel/contacts/addressbook/', NULL, NULL)
ON CONFLICT (slug) DO NOTHING;
