diff --git a/cameleer3-server-app/src/main/java/com/cameleer3/server/app/config/ClickHouseConfig.java b/cameleer3-server-app/src/main/java/com/cameleer3/server/app/config/ClickHouseConfig.java index 5a36d5de..89298a88 100644 --- a/cameleer3-server-app/src/main/java/com/cameleer3/server/app/config/ClickHouseConfig.java +++ b/cameleer3-server-app/src/main/java/com/cameleer3/server/app/config/ClickHouseConfig.java @@ -27,7 +27,8 @@ public class ClickHouseConfig { private static final Logger log = LoggerFactory.getLogger(ClickHouseConfig.class); private static final String[] SCHEMA_FILES = { "clickhouse/01-schema.sql", "clickhouse/02-search-columns.sql", - "clickhouse/03-users.sql", "clickhouse/04-oidc-config.sql" + "clickhouse/03-users.sql", "clickhouse/04-oidc-config.sql", + "clickhouse/05-oidc-auto-signup.sql" }; private final DataSource dataSource; diff --git a/cameleer3-server-app/src/main/resources/clickhouse/04-oidc-config.sql b/cameleer3-server-app/src/main/resources/clickhouse/04-oidc-config.sql index 3c0275b6..8f967733 100644 --- a/cameleer3-server-app/src/main/resources/clickhouse/04-oidc-config.sql +++ b/cameleer3-server-app/src/main/resources/clickhouse/04-oidc-config.sql @@ -6,6 +6,7 @@ CREATE TABLE IF NOT EXISTS oidc_config ( client_secret String DEFAULT '', roles_claim String DEFAULT 'realm_access.roles', default_roles Array(LowCardinality(String)), + auto_signup Bool DEFAULT true, updated_at DateTime64(3, 'UTC') DEFAULT now64(3, 'UTC') ) ENGINE = ReplacingMergeTree(updated_at) ORDER BY (config_id); diff --git a/cameleer3-server-app/src/main/resources/clickhouse/05-oidc-auto-signup.sql b/cameleer3-server-app/src/main/resources/clickhouse/05-oidc-auto-signup.sql new file mode 100644 index 00000000..643a69ea --- /dev/null +++ b/cameleer3-server-app/src/main/resources/clickhouse/05-oidc-auto-signup.sql @@ -0,0 +1 @@ +ALTER TABLE oidc_config ADD COLUMN IF NOT EXISTS auto_signup Bool DEFAULT true; diff --git a/cameleer3-server-app/src/test/java/com/cameleer3/server/app/AbstractClickHouseIT.java b/cameleer3-server-app/src/test/java/com/cameleer3/server/app/AbstractClickHouseIT.java index 63a40f27..d1271adb 100644 --- a/cameleer3-server-app/src/test/java/com/cameleer3/server/app/AbstractClickHouseIT.java +++ b/cameleer3-server-app/src/test/java/com/cameleer3/server/app/AbstractClickHouseIT.java @@ -56,7 +56,7 @@ public abstract class AbstractClickHouseIT { } // Load all schema files in order - String[] schemaFiles = {"01-schema.sql", "02-search-columns.sql", "03-users.sql", "04-oidc-config.sql"}; + String[] schemaFiles = {"01-schema.sql", "02-search-columns.sql", "03-users.sql", "04-oidc-config.sql", "05-oidc-auto-signup.sql"}; try (Connection conn = DriverManager.getConnection( CLICKHOUSE.getJdbcUrl(), diff --git a/clickhouse/init/05-oidc-auto-signup.sql b/clickhouse/init/05-oidc-auto-signup.sql new file mode 100644 index 00000000..643a69ea --- /dev/null +++ b/clickhouse/init/05-oidc-auto-signup.sql @@ -0,0 +1 @@ +ALTER TABLE oidc_config ADD COLUMN IF NOT EXISTS auto_signup Bool DEFAULT true;