Skip to content

Commit

Permalink
feat: added serialize_extra and deserialize_extra feature flags
Browse files Browse the repository at this point in the history
  • Loading branch information
lasantosr committed Aug 25, 2024
1 parent 48d4653 commit e80622b
Show file tree
Hide file tree
Showing 290 changed files with 2,628 additions and 75 deletions.
4 changes: 3 additions & 1 deletion async-stripe-types/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,10 @@ serde_json = { workspace = true, optional = true }

[features]
serialize = []
serialize_extra = ["serialize"]
deserialize = ["dep:serde_json"]
deserialize_extra = ["deserialize"]

[dev-dependencies]
serde_qs.workspace = true
serde_json.workspace = true
serde_json.workspace = true
2 changes: 2 additions & 0 deletions async-stripe-webhook/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,9 @@ serde_json.workspace = true

[features]
serialize = ["async-stripe-types/serialize", "async-stripe-shared/serialize"]
serialize_extra = ["async-stripe-types/serialize_extra", "async-stripe-shared/serialize_extra"]
deserialize = ["async-stripe-types/deserialize", "async-stripe-shared/deserialize", "dep:serde_json"]
deserialize_extra = ["async-stripe-types/deserialize_extra", "async-stripe-shared/deserialize_extra", "dep:serde_json"]

full = [
"async-stripe-billing",
Expand Down
2 changes: 2 additions & 0 deletions generated/async-stripe-billing/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,9 @@ async-stripe-shared = {path = "../../generated/async-stripe-shared"}

[features]
serialize = ["async-stripe-types/serialize","async-stripe-shared/serialize"]
serialize_extra = ["async-stripe-types/serialize_extra","async-stripe-shared/serialize_extra"]
deserialize = ["async-stripe-types/deserialize","async-stripe-shared/deserialize", "dep:serde_json"]
deserialize_extra = ["async-stripe-types/deserialize_extra","async-stripe-shared/deserialize_extra", "dep:serde_json"]
billing_meter = []
billing_meter_event = []
billing_meter_event_adjustment = []
Expand Down
15 changes: 15 additions & 0 deletions generated/async-stripe-billing/src/billing_meter/requests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ use stripe_client_core::{
};

#[derive(Copy, Clone, Debug, serde::Serialize)]
#[cfg_attr(feature = "deserialize_extra", derive(serde::Deserialize))]
struct ListBillingMeterBuilder<'a> {
#[serde(skip_serializing_if = "Option::is_none")]
ending_before: Option<&'a str>,
Expand All @@ -22,6 +23,7 @@ impl<'a> ListBillingMeterBuilder<'a> {
}
/// Retrieve a list of billing meters.
#[derive(Clone, Debug, serde::Serialize)]
#[cfg_attr(feature = "deserialize_extra", derive(serde::Deserialize))]
pub struct ListBillingMeter<'a> {
inner: ListBillingMeterBuilder<'a>,
}
Expand Down Expand Up @@ -98,6 +100,7 @@ impl StripeRequest for ListBillingMeter<'_> {
}
}
#[derive(Copy, Clone, Debug, serde::Serialize)]
#[cfg_attr(feature = "deserialize_extra", derive(serde::Deserialize))]
struct RetrieveBillingMeterBuilder<'a> {
#[serde(skip_serializing_if = "Option::is_none")]
expand: Option<&'a [&'a str]>,
Expand All @@ -109,6 +112,7 @@ impl<'a> RetrieveBillingMeterBuilder<'a> {
}
/// Retrieves a billing meter given an ID
#[derive(Clone, Debug, serde::Serialize)]
#[cfg_attr(feature = "deserialize_extra", derive(serde::Deserialize))]
pub struct RetrieveBillingMeter<'a> {
inner: RetrieveBillingMeterBuilder<'a>,
id: &'a stripe_billing::BillingMeterId,
Expand Down Expand Up @@ -151,6 +155,7 @@ impl StripeRequest for RetrieveBillingMeter<'_> {
}
}
#[derive(Copy, Clone, Debug, serde::Serialize)]
#[cfg_attr(feature = "deserialize_extra", derive(serde::Deserialize))]
struct CreateBillingMeterBuilder<'a> {
#[serde(skip_serializing_if = "Option::is_none")]
customer_mapping: Option<CreateBillingMeterCustomerMapping<'a>>,
Expand Down Expand Up @@ -183,6 +188,7 @@ impl<'a> CreateBillingMeterBuilder<'a> {
}
/// Fields that specify how to map a meter event to a customer.
#[derive(Copy, Clone, Debug, serde::Serialize)]
#[cfg_attr(feature = "deserialize_extra", derive(serde::Deserialize))]
pub struct CreateBillingMeterCustomerMapping<'a> {
/// The key in the usage event payload to use for mapping the event to a customer.
pub event_payload_key: &'a str,
Expand Down Expand Up @@ -250,6 +256,7 @@ impl<'de> serde::Deserialize<'de> for CreateBillingMeterCustomerMappingType {
}
/// The default settings to aggregate a meter's events with.
#[derive(Copy, Clone, Debug, serde::Serialize)]
#[cfg_attr(feature = "deserialize_extra", derive(serde::Deserialize))]
pub struct CreateBillingMeterDefaultAggregation {
/// Specifies how events are aggregated.
/// Allowed values are `count` to count the number of events and `sum` to sum each event's value.
Expand Down Expand Up @@ -321,6 +328,7 @@ impl<'de> serde::Deserialize<'de> for CreateBillingMeterDefaultAggregationFormul
}
/// Fields that specify how to calculate a meter event's value.
#[derive(Copy, Clone, Debug, serde::Serialize)]
#[cfg_attr(feature = "deserialize_extra", derive(serde::Deserialize))]
pub struct CreateBillingMeterValueSettings<'a> {
/// The key in the usage event payload to use as the value for this meter.
/// For example, if the event payload contains usage on a `bytes_used` field, then set the event_payload_key to "bytes_used".
Expand All @@ -333,6 +341,7 @@ impl<'a> CreateBillingMeterValueSettings<'a> {
}
/// Creates a billing meter
#[derive(Clone, Debug, serde::Serialize)]
#[cfg_attr(feature = "deserialize_extra", derive(serde::Deserialize))]
pub struct CreateBillingMeter<'a> {
inner: CreateBillingMeterBuilder<'a>,
}
Expand Down Expand Up @@ -400,6 +409,7 @@ impl StripeRequest for CreateBillingMeter<'_> {
}
}
#[derive(Copy, Clone, Debug, serde::Serialize)]
#[cfg_attr(feature = "deserialize_extra", derive(serde::Deserialize))]
struct UpdateBillingMeterBuilder<'a> {
#[serde(skip_serializing_if = "Option::is_none")]
display_name: Option<&'a str>,
Expand All @@ -413,6 +423,7 @@ impl<'a> UpdateBillingMeterBuilder<'a> {
}
/// Updates a billing meter
#[derive(Clone, Debug, serde::Serialize)]
#[cfg_attr(feature = "deserialize_extra", derive(serde::Deserialize))]
pub struct UpdateBillingMeter<'a> {
inner: UpdateBillingMeterBuilder<'a>,
id: &'a stripe_billing::BillingMeterId,
Expand Down Expand Up @@ -460,6 +471,7 @@ impl StripeRequest for UpdateBillingMeter<'_> {
}
}
#[derive(Copy, Clone, Debug, serde::Serialize)]
#[cfg_attr(feature = "deserialize_extra", derive(serde::Deserialize))]
struct DeactivateBillingMeterBuilder<'a> {
#[serde(skip_serializing_if = "Option::is_none")]
expand: Option<&'a [&'a str]>,
Expand All @@ -471,6 +483,7 @@ impl<'a> DeactivateBillingMeterBuilder<'a> {
}
/// Deactivates a billing meter
#[derive(Clone, Debug, serde::Serialize)]
#[cfg_attr(feature = "deserialize_extra", derive(serde::Deserialize))]
pub struct DeactivateBillingMeter<'a> {
inner: DeactivateBillingMeterBuilder<'a>,
id: &'a stripe_billing::BillingMeterId,
Expand Down Expand Up @@ -514,6 +527,7 @@ impl StripeRequest for DeactivateBillingMeter<'_> {
}
}
#[derive(Copy, Clone, Debug, serde::Serialize)]
#[cfg_attr(feature = "deserialize_extra", derive(serde::Deserialize))]
struct ReactivateBillingMeterBuilder<'a> {
#[serde(skip_serializing_if = "Option::is_none")]
expand: Option<&'a [&'a str]>,
Expand All @@ -525,6 +539,7 @@ impl<'a> ReactivateBillingMeterBuilder<'a> {
}
/// Reactivates a billing meter
#[derive(Clone, Debug, serde::Serialize)]
#[cfg_attr(feature = "deserialize_extra", derive(serde::Deserialize))]
pub struct ReactivateBillingMeter<'a> {
inner: ReactivateBillingMeterBuilder<'a>,
id: &'a stripe_billing::BillingMeterId,
Expand Down
1 change: 1 addition & 0 deletions generated/async-stripe-billing/src/billing_meter/types.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
/// For example, you might create a billing meter to track the number of API calls made by a particular user.
/// You can then attach the billing meter to a price and attach the price to a subscription to charge the user for the number of API calls they make.
#[derive(Clone, Debug)]
#[cfg_attr(feature = "serialize_extra", derive(serde::Serialize))]
#[cfg_attr(feature = "deserialize", derive(serde::Deserialize))]
pub struct BillingMeter {
/// Time at which the object was created. Measured in seconds since the Unix epoch.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ use stripe_client_core::{
};

#[derive(Copy, Clone, Debug, serde::Serialize)]
#[cfg_attr(feature = "deserialize_extra", derive(serde::Deserialize))]
struct CreateBillingMeterEventBuilder<'a> {
event_name: &'a str,
#[serde(skip_serializing_if = "Option::is_none")]
Expand All @@ -20,6 +21,7 @@ impl<'a> CreateBillingMeterEventBuilder<'a> {
}
/// Creates a billing meter event
#[derive(Clone, Debug, serde::Serialize)]
#[cfg_attr(feature = "deserialize_extra", derive(serde::Deserialize))]
pub struct CreateBillingMeterEvent<'a> {
inner: CreateBillingMeterEventBuilder<'a>,
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
/// Meter events are used to bill a customer based on their usage.
/// Meter events are associated with billing meters, which define the shape of the event's payload and how those events are aggregated for billing.
#[derive(Clone, Debug)]
#[cfg_attr(feature = "serialize_extra", derive(serde::Serialize))]
#[cfg_attr(feature = "deserialize", derive(serde::Deserialize))]
pub struct BillingMeterEvent {
/// Time at which the object was created. Measured in seconds since the Unix epoch.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ use stripe_client_core::{
};

#[derive(Copy, Clone, Debug, serde::Serialize)]
#[cfg_attr(feature = "deserialize_extra", derive(serde::Deserialize))]
struct CreateBillingMeterEventAdjustmentBuilder<'a> {
#[serde(skip_serializing_if = "Option::is_none")]
cancel: Option<CreateBillingMeterEventAdjustmentCancel<'a>>,
Expand All @@ -19,6 +20,7 @@ impl<'a> CreateBillingMeterEventAdjustmentBuilder<'a> {
}
/// Specifies which event to cancel.
#[derive(Copy, Clone, Debug, serde::Serialize)]
#[cfg_attr(feature = "deserialize_extra", derive(serde::Deserialize))]
pub struct CreateBillingMeterEventAdjustmentCancel<'a> {
/// Unique identifier for the event.
/// You can only cancel events within 24 hours of Stripe receiving them.
Expand All @@ -37,6 +39,7 @@ impl<'a> Default for CreateBillingMeterEventAdjustmentCancel<'a> {
}
/// Creates a billing meter event adjustment
#[derive(Clone, Debug, serde::Serialize)]
#[cfg_attr(feature = "deserialize_extra", derive(serde::Deserialize))]
pub struct CreateBillingMeterEventAdjustment<'a> {
inner: CreateBillingMeterEventAdjustmentBuilder<'a>,
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
/// A billing meter event adjustment is a resource that allows you to cancel a meter event.
/// For example, you might create a billing meter event adjustment to cancel a meter event that was created in error or attached to the wrong customer.
#[derive(Clone, Debug)]
#[cfg_attr(feature = "serialize_extra", derive(serde::Serialize))]
#[cfg_attr(feature = "deserialize", derive(serde::Deserialize))]
pub struct BillingMeterEventAdjustment {
/// Specifies which event to cancel.
Expand All @@ -13,7 +14,7 @@ pub struct BillingMeterEventAdjustment {
pub status: BillingMeterEventAdjustmentStatus,
/// Specifies whether to cancel a single event or a range of events for a time period.
/// Time period cancellation is not supported yet.
#[cfg_attr(feature = "deserialize", serde(rename = "type"))]
#[cfg_attr(any(feature = "deserialize", feature = "serialize_extra"), serde(rename = "type"))]
pub type_: stripe_billing::BillingMeterEventAdjustmentType,
}
#[doc(hidden)]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ use stripe_client_core::{
};

#[derive(Copy, Clone, Debug, serde::Serialize)]
#[cfg_attr(feature = "deserialize_extra", derive(serde::Deserialize))]
struct ListIdBillingMeterEventSummaryBuilder<'a> {
customer: &'a str,
end_time: stripe_types::Timestamp,
Expand Down Expand Up @@ -94,6 +95,7 @@ impl<'de> serde::Deserialize<'de> for ListIdBillingMeterEventSummaryValueGroupin
}
/// Retrieve a list of billing meter event summaries.
#[derive(Clone, Debug, serde::Serialize)]
#[cfg_attr(feature = "deserialize_extra", derive(serde::Deserialize))]
pub struct ListIdBillingMeterEventSummary<'a> {
inner: ListIdBillingMeterEventSummaryBuilder<'a>,
id: &'a stripe_billing::BillingMeterId,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
/// It indicates how much.
/// usage was accrued by a customer for that period.
#[derive(Clone, Debug)]
#[cfg_attr(feature = "serialize_extra", derive(serde::Serialize))]
#[cfg_attr(feature = "deserialize", derive(serde::Deserialize))]
pub struct BillingMeterEventSummary {
/// Aggregated value of all the events within `start_time` (inclusive) and `end_time` (inclusive).
Expand Down
Loading

0 comments on commit e80622b

Please sign in to comment.