Skip to content

Commit 108c979

Browse files
authored
Make config type, variant names less confusing (#1327)
## Motivation I want to add a kafka variant to `SenderConfig` and `ReceiverOut`, but with current variant names, that will either cause a common suffix (which clippy will likely complain about) or odd-looking naming inconsistencies. ## Solution Remove the unnecessary `Consumer`, `Producer` variant name suffixes. Since both enums are `#[serde(untagged)]`, this does not affect deserialization. Also rename `QueueConsumerConfig` to `QueueSenderConfig`, which seems to be correct naming given it contains fields of type `Sender*Opts` and it's contained in the only variant of `SenderConfig`, whereas the previous name was rather confusing. Part of svix/monorepo-private#8508.
2 parents 2b7a4b3 + 014c579 commit 108c979

File tree

4 files changed

+16
-17
lines changed

4 files changed

+16
-17
lines changed

bridge/svix-bridge-plugin-queue/src/config.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,15 @@ pub use crate::{
1313
};
1414

1515
#[derive(Deserialize)]
16-
pub struct QueueConsumerConfig {
16+
pub struct QueueSenderConfig {
1717
pub name: String,
1818
pub input: SenderInputOpts,
1919
#[serde(default)]
2020
pub transformation: Option<TransformationConfig>,
2121
pub output: SenderOutputOpts,
2222
}
2323

24-
impl QueueConsumerConfig {
24+
impl QueueSenderConfig {
2525
pub fn into_sender_input(self) -> Result<Box<dyn SenderInput>, &'static str> {
2626
// FIXME: see if this check is still needed. String transforms worked for the omniqueue redis receiver, I think?
2727
if matches!(self.input, SenderInputOpts::Redis(_))
@@ -92,7 +92,7 @@ mod tests {
9292
SenderOutputOpts, SvixSenderOutputOpts, TransformationConfig, TransformerInputFormat,
9393
};
9494

95-
use super::{into_receiver_output, QueueConsumerConfig};
95+
use super::{into_receiver_output, QueueSenderConfig};
9696
use crate::{
9797
config::{ReceiverOutputOpts, SenderInputOpts},
9898
redis::{RedisInputOpts, RedisOutputOpts},
@@ -102,7 +102,7 @@ mod tests {
102102
// Revisit after `omniqueue` adoption.
103103
#[test]
104104
fn redis_sender_with_string_transformation_is_err() {
105-
let cfg = QueueConsumerConfig {
105+
let cfg = QueueSenderConfig {
106106
name: "redis-with-string-transformation".to_string(),
107107
input: SenderInputOpts::Redis(RedisInputOpts {
108108
dsn: "".to_string(),

bridge/svix-bridge-types/src/lib.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -161,14 +161,13 @@ pub enum WebhookVerifier {
161161
}
162162

163163
#[derive(Debug, Clone, Deserialize)]
164-
#[serde(tag = "type", rename_all = "lowercase")]
164+
#[serde(tag = "type", rename_all = "kebab-case")]
165165
pub enum ReceiverInputOpts {
166166
Webhook {
167167
path_id: String,
168168
#[serde(default)]
169169
verification: WebhookVerifier,
170170
},
171-
#[serde(rename = "svix-webhook")]
172171
SvixWebhook {
173172
path_id: String,
174173
endpoint_secret: String,

bridge/svix-bridge/src/config/mod.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ use std::{
1111
use serde::Deserialize;
1212
use shellexpand::LookupError;
1313
use svix_bridge_plugin_queue::config::{
14-
into_receiver_output, QueueConsumerConfig, ReceiverOutputOpts as QueueOutOpts,
14+
into_receiver_output, QueueSenderConfig, ReceiverOutputOpts as QueueOutOpts,
1515
};
1616
use svix_bridge_types::{ReceiverInputOpts, ReceiverOutput, SenderInput, TransformationConfig};
1717
use tracing::Level;
@@ -150,18 +150,18 @@ pub enum SenderConfig {
150150
feature = "redis",
151151
feature = "sqs"
152152
))]
153-
QueueConsumer(QueueConsumerConfig),
153+
Queue(QueueSenderConfig),
154154
}
155155

156156
impl SenderConfig {
157157
pub fn name(&self) -> &str {
158158
match self {
159-
SenderConfig::QueueConsumer(cfg) => &cfg.name,
159+
SenderConfig::Queue(cfg) => &cfg.name,
160160
}
161161
}
162162
pub fn transformation(&self) -> Option<&TransformationConfig> {
163163
match self {
164-
SenderConfig::QueueConsumer(cfg) => cfg.transformation.as_ref(),
164+
SenderConfig::Queue(cfg) => cfg.transformation.as_ref(),
165165
}
166166
}
167167
}
@@ -176,7 +176,7 @@ impl TryFrom<SenderConfig> for Box<dyn SenderInput> {
176176
feature = "redis",
177177
feature = "sqs"
178178
))]
179-
SenderConfig::QueueConsumer(backend) => backend.into_sender_input(),
179+
SenderConfig::Queue(backend) => backend.into_sender_input(),
180180
}
181181
}
182182
}
@@ -199,13 +199,13 @@ pub enum ReceiverOut {
199199
feature = "redis",
200200
feature = "sqs"
201201
))]
202-
QueueProducer(QueueOutOpts),
202+
Queue(QueueOutOpts),
203203
}
204204

205205
impl ReceiverConfig {
206206
pub async fn into_receiver_output(self) -> std::io::Result<Box<dyn ReceiverOutput>> {
207207
match self.output {
208-
ReceiverOut::QueueProducer(x) => {
208+
ReceiverOut::Queue(x) => {
209209
into_receiver_output(self.name.clone(), x, self.transformation.as_ref())
210210
.await
211211
.map_err(Into::into)

bridge/svix-bridge/src/config/tests.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use std::collections::HashMap;
22

3-
use svix_bridge_plugin_queue::config::{QueueConsumerConfig, RabbitMqInputOpts, SenderInputOpts};
3+
use svix_bridge_plugin_queue::config::{QueueSenderConfig, RabbitMqInputOpts, SenderInputOpts};
44
use svix_bridge_types::{SenderOutputOpts, SvixSenderOutputOpts};
55

66
use super::Config;
@@ -340,7 +340,7 @@ fn test_senders_example() {
340340
#[test]
341341
fn test_variable_substitution_missing_vars() {
342342
let src = r#"
343-
opentelemetry:
343+
opentelemetry:
344344
address: "${OTEL_ADDR}"
345345
"#;
346346
let vars = HashMap::new();
@@ -455,7 +455,7 @@ fn test_variable_substitution_repeated_lookups() {
455455
vars.insert(String::from("SVIX_TOKEN"), String::from("x"));
456456
let cfg = Config::from_src(src, Some(&vars)).unwrap();
457457

458-
if let SenderConfig::QueueConsumer(QueueConsumerConfig {
458+
if let SenderConfig::Queue(QueueSenderConfig {
459459
input:
460460
SenderInputOpts::RabbitMQ(RabbitMqInputOpts {
461461
uri, queue_name, ..
@@ -471,7 +471,7 @@ fn test_variable_substitution_repeated_lookups() {
471471
panic!("sender did not match expected pattern");
472472
}
473473

474-
if let SenderConfig::QueueConsumer(QueueConsumerConfig {
474+
if let SenderConfig::Queue(QueueSenderConfig {
475475
input:
476476
SenderInputOpts::RabbitMQ(RabbitMqInputOpts {
477477
uri, queue_name, ..

0 commit comments

Comments
 (0)