Skip to content

Commit 046dc37

Browse files
committed
rust: Fix (de)serialization of discriminator field for struct enums
1 parent fdc686a commit 046dc37

File tree

3 files changed

+51
-0
lines changed

3 files changed

+51
-0
lines changed

rust/src/models/ingest_source_in.rs

+25
Original file line numberDiff line numberDiff line change
@@ -23,30 +23,55 @@ pub struct IngestSourceIn {
2323
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
2424
#[serde(tag = "type", content = "config")]
2525
pub enum IngestSourceInConfig {
26+
#[serde(rename = "generic-webhook")]
2627
GenericWebhook,
28+
#[serde(rename = "cron")]
2729
Cron(CronConfig),
30+
#[serde(rename = "adobe-sign")]
2831
AdobeSign(AdobeSignConfig),
32+
#[serde(rename = "beehiiv")]
2933
Beehiiv(SvixConfig),
34+
#[serde(rename = "brex")]
3035
Brex(SvixConfig),
36+
#[serde(rename = "clerk")]
3137
Clerk(SvixConfig),
38+
#[serde(rename = "docusign")]
3239
Docusign(DocusignConfig),
40+
#[serde(rename = "github")]
3341
Github(GithubConfig),
42+
#[serde(rename = "guesty")]
3443
Guesty(SvixConfig),
44+
#[serde(rename = "hubspot")]
3545
Hubspot(HubspotConfig),
46+
#[serde(rename = "incident-io")]
3647
IncidentIo(SvixConfig),
48+
#[serde(rename = "lithic")]
3749
Lithic(SvixConfig),
50+
#[serde(rename = "nash")]
3851
Nash(SvixConfig),
52+
#[serde(rename = "pleo")]
3953
Pleo(SvixConfig),
54+
#[serde(rename = "replicate")]
4055
Replicate(SvixConfig),
56+
#[serde(rename = "resend")]
4157
Resend(SvixConfig),
58+
#[serde(rename = "safebase")]
4259
Safebase(SvixConfig),
60+
#[serde(rename = "sardine")]
4361
Sardine(SvixConfig),
62+
#[serde(rename = "segment")]
4463
Segment(SegmentConfig),
64+
#[serde(rename = "shopify")]
4565
Shopify(ShopifyConfig),
66+
#[serde(rename = "slack")]
4667
Slack(SlackConfig),
68+
#[serde(rename = "stripe")]
4769
Stripe(StripeConfig),
70+
#[serde(rename = "stych")]
4871
Stych(SvixConfig),
72+
#[serde(rename = "svix")]
4973
Svix(SvixConfig),
74+
#[serde(rename = "zoom")]
5075
Zoom(ZoomConfig),
5176
}
5277

rust/src/models/ingest_source_out.rs

+25
Original file line numberDiff line numberDiff line change
@@ -38,30 +38,55 @@ pub struct IngestSourceOut {
3838
#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
3939
#[serde(tag = "type", content = "config")]
4040
pub enum IngestSourceOutConfig {
41+
#[serde(rename = "generic-webhook")]
4142
GenericWebhook,
43+
#[serde(rename = "cron")]
4244
Cron(CronConfig),
45+
#[serde(rename = "adobe-sign")]
4346
AdobeSign(AdobeSignConfigOut),
47+
#[serde(rename = "beehiiv")]
4448
Beehiiv(SvixConfigOut),
49+
#[serde(rename = "brex")]
4550
Brex(SvixConfigOut),
51+
#[serde(rename = "clerk")]
4652
Clerk(SvixConfigOut),
53+
#[serde(rename = "docusign")]
4754
Docusign(DocusignConfigOut),
55+
#[serde(rename = "github")]
4856
Github(GithubConfigOut),
57+
#[serde(rename = "guesty")]
4958
Guesty(SvixConfigOut),
59+
#[serde(rename = "hubspot")]
5060
Hubspot(HubspotConfigOut),
61+
#[serde(rename = "incident-io")]
5162
IncidentIo(SvixConfigOut),
63+
#[serde(rename = "lithic")]
5264
Lithic(SvixConfigOut),
65+
#[serde(rename = "nash")]
5366
Nash(SvixConfigOut),
67+
#[serde(rename = "pleo")]
5468
Pleo(SvixConfigOut),
69+
#[serde(rename = "replicate")]
5570
Replicate(SvixConfigOut),
71+
#[serde(rename = "resend")]
5672
Resend(SvixConfigOut),
73+
#[serde(rename = "safebase")]
5774
Safebase(SvixConfigOut),
75+
#[serde(rename = "sardine")]
5876
Sardine(SvixConfigOut),
77+
#[serde(rename = "segment")]
5978
Segment(SegmentConfigOut),
79+
#[serde(rename = "shopify")]
6080
Shopify(ShopifyConfigOut),
81+
#[serde(rename = "slack")]
6182
Slack(SlackConfigOut),
83+
#[serde(rename = "stripe")]
6284
Stripe(StripeConfigOut),
85+
#[serde(rename = "stych")]
6386
Stych(SvixConfigOut),
87+
#[serde(rename = "svix")]
6488
Svix(SvixConfigOut),
89+
#[serde(rename = "zoom")]
6590
Zoom(ZoomConfigOut),
6691
}
6792

rust/templates/types/struct_enum.rs.jinja

+1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ use super::{
3030
#[serde(tag = "{{ type.discriminator_field }}", content = "{{ type.content_field }}")]
3131
pub enum {{ enum_type_name }} {
3232
{% for variant in type.variants -%}
33+
#[serde(rename = "{{ variant.name }}")]
3334
{{ variant.name | to_upper_camel_case -}}
3435
{% if variant.schema_ref is defined -%}
3536
({{ variant.schema_ref | to_upper_camel_case }})

0 commit comments

Comments
 (0)