diff --git a/graphql/server-test/__fixtures__/seed/simple-seed-services/setup.sql b/graphql/server-test/__fixtures__/seed/simple-seed-services/setup.sql index 9f50cb495..b6b73cd35 100644 --- a/graphql/server-test/__fixtures__/seed/simple-seed-services/setup.sql +++ b/graphql/server-test/__fixtures__/seed/simple-seed-services/setup.sql @@ -302,6 +302,7 @@ CREATE TABLE IF NOT EXISTS services_public.database_settings ( enable_connection_filter boolean NOT NULL DEFAULT true, enable_ltree boolean NOT NULL DEFAULT true, enable_llm boolean NOT NULL DEFAULT false, + enable_realtime boolean NOT NULL DEFAULT false, options jsonb NOT NULL DEFAULT '{}'::jsonb, CONSTRAINT ds_db_fkey FOREIGN KEY (database_id) REFERENCES metaschema_public.database (id) ON DELETE CASCADE ); @@ -320,6 +321,7 @@ CREATE TABLE IF NOT EXISTS services_public.api_settings ( enable_connection_filter boolean, enable_ltree boolean, enable_llm boolean, + enable_realtime boolean, options jsonb NOT NULL DEFAULT '{}'::jsonb, CONSTRAINT as_db_fkey FOREIGN KEY (database_id) REFERENCES metaschema_public.database (id) ON DELETE CASCADE, CONSTRAINT as_api_fkey FOREIGN KEY (api_id) REFERENCES services_public.apis (id) ON DELETE CASCADE diff --git a/graphql/server/src/middleware/api.ts b/graphql/server/src/middleware/api.ts index 147a39be9..b21134165 100644 --- a/graphql/server/src/middleware/api.ts +++ b/graphql/server/src/middleware/api.ts @@ -226,7 +226,8 @@ const DATABASE_SETTINGS_SQL = ` COALESCE(aps.enable_many_to_many, ds.enable_many_to_many) AS resolved_enable_many_to_many, COALESCE(aps.enable_connection_filter, ds.enable_connection_filter) AS resolved_enable_connection_filter, COALESCE(aps.enable_ltree, ds.enable_ltree) AS resolved_enable_ltree, - COALESCE(aps.enable_llm, ds.enable_llm) AS resolved_enable_llm + COALESCE(aps.enable_llm, ds.enable_llm) AS resolved_enable_llm, + COALESCE(aps.enable_realtime, ds.enable_realtime) AS resolved_enable_realtime FROM services_public.database_settings ds LEFT JOIN services_public.api_settings aps ON ds.database_id = aps.database_id AND aps.api_id = $2 WHERE ds.database_id = $1 @@ -325,6 +326,7 @@ interface DatabaseSettingsRow { resolved_enable_connection_filter: boolean; resolved_enable_ltree: boolean; resolved_enable_llm: boolean; + resolved_enable_realtime: boolean; } interface ApiListRow { @@ -672,9 +674,7 @@ const toDatabaseSettings = (row: DatabaseSettingsRow | null): DatabaseSettings | enableConnectionFilter: row.resolved_enable_connection_filter, enableLtree: row.resolved_enable_ltree, enableLlm: row.resolved_enable_llm, - // Reads from the COALESCE cascade once constructive-db#1105 is merged and - // the enable_realtime column exists in database_settings / api_settings. - enableRealtime: false, + enableRealtime: row.resolved_enable_realtime, }; };