18 lines
878 B
SQL
18 lines
878 B
SQL
-- 022_surfaces.sql
|
|
-- Surface registry for dynamic surface lifecycle (v0.25.0)
|
|
-- Core surfaces are seeded at startup. Extension surfaces are uploaded via admin.
|
|
|
|
CREATE TABLE IF NOT EXISTS surface_registry (
|
|
id TEXT PRIMARY KEY,
|
|
title TEXT NOT NULL,
|
|
manifest JSONB NOT NULL DEFAULT '{}',
|
|
enabled BOOLEAN NOT NULL DEFAULT true,
|
|
source TEXT NOT NULL DEFAULT 'core',
|
|
installed_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
|
);
|
|
|
|
COMMENT ON TABLE surface_registry IS 'Registry of all surfaces (core + extension). Controls enable/disable and stores manifest metadata.';
|
|
COMMENT ON COLUMN surface_registry.source IS 'core = built-in, extension = uploaded via admin';
|
|
COMMENT ON COLUMN surface_registry.enabled IS 'Admin toggle — disabled surfaces redirect to / and hide from nav';
|