create schema if not exists gis;

CREATE TABLE if not exists gis.maps
(
    map_id text DEFAULT next_id(), -- -
    name text , -- Назва
    center numeric[] , -- Геометрія центру
    zoom integer DEFAULT 10, -- Зум
    widgets json,
    layers text[],
    map_key text , -- Унікальний ключ
    description text , -- Опис
    image text , -- Фото
    holder text , -- Власник/Утримувач/Відповідальний
    keywords text[] , -- Ключові слова
    is_public boolean DEFAULT true, -- Чи публічна карта
    srid integer DEFAULT 4326, -- Система координат
    config jsonb , -- Опціональна конфігурація
    created_by text , -- -
    updated_by text , -- -
    updated_at timestamp without time zone , -- -
    created_at timestamp without time zone DEFAULT now(),
    CONSTRAINT maps_pkey  PRIMARY KEY (map_id)
);

-- update gis.maps set center1=case when center is not null then array[st_x(center),st_y(center)] else null end
alter table gis.maps add column if not exists center numeric[];
alter table gis.maps add column if not exists zoom int;
alter table gis.maps add column if not exists widgets json;
alter table gis.maps add column if not exists layers text[];
