Skip to content

Commit 4f01699

Browse files
authored
fix(api): Skip serializing option config (supabase#285)
1 parent 0ea81c7 commit 4f01699

File tree

3 files changed

+10
-0
lines changed

3 files changed

+10
-0
lines changed

etl-api/src/configs/destination.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,10 @@ pub enum FullApiDestinationConfig {
2424
#[schema(example = "{\"type\": \"service_account\", \"project_id\": \"my-project\"}")]
2525
service_account_key: SerializableSecretString,
2626
#[schema(example = 15)]
27+
#[serde(skip_serializing_if = "Option::is_none")]
2728
max_staleness_mins: Option<u16>,
2829
#[schema(example = 8)]
30+
#[serde(skip_serializing_if = "Option::is_none")]
2931
max_concurrent_streams: Option<usize>,
3032
},
3133
}

etl-api/src/configs/pipeline.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,13 @@ const DEFAULT_TABLE_ERROR_RETRY_DELAY_MS: u64 = 10000;
1111
pub struct FullApiPipelineConfig {
1212
#[schema(example = "my_publication")]
1313
pub publication_name: String,
14+
#[serde(skip_serializing_if = "Option::is_none")]
1415
pub batch: Option<BatchConfig>,
1516
#[schema(example = 1000)]
17+
#[serde(skip_serializing_if = "Option::is_none")]
1618
pub table_error_retry_delay_ms: Option<u64>,
1719
#[schema(example = 4)]
20+
#[serde(skip_serializing_if = "Option::is_none")]
1821
pub max_table_sync_workers: Option<u16>,
1922
}
2023

@@ -32,12 +35,16 @@ impl From<StoredPipelineConfig> for FullApiPipelineConfig {
3235
#[derive(Debug, Clone, Serialize, Deserialize, ToSchema)]
3336
pub struct PartialApiPipelineConfig {
3437
#[schema(example = "my_publication")]
38+
#[serde(skip_serializing_if = "Option::is_none")]
3539
pub publication_name: Option<String>,
3640
#[schema(example = r#"{"max_size": 1000000, "max_fill_ms": 10000}"#)]
41+
#[serde(skip_serializing_if = "Option::is_none")]
3742
pub batch: Option<BatchConfig>,
3843
#[schema(example = 1000)]
44+
#[serde(skip_serializing_if = "Option::is_none")]
3945
pub table_error_retry_delay_ms: Option<u64>,
4046
#[schema(example = 4)]
47+
#[serde(skip_serializing_if = "Option::is_none")]
4148
pub max_table_sync_workers: Option<u16>,
4249
}
4350

etl-api/src/configs/source.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ pub struct FullApiSourceConfig {
2525
#[schema(example = "postgres")]
2626
pub username: String,
2727
#[schema(example = "secret123")]
28+
#[serde(skip_serializing_if = "Option::is_none")]
2829
pub password: Option<SerializableSecretString>,
2930
}
3031

0 commit comments

Comments
 (0)