dodopayments 1.51.1 → 1.52.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -0
- data/README.md +1 -1
- data/lib/dodopayments/client.rb +8 -0
- data/lib/dodopayments/models/add_meter_to_price.rb +58 -0
- data/lib/dodopayments/models/event.rb +71 -0
- data/lib/dodopayments/models/event_input.rb +70 -0
- data/lib/dodopayments/models/invoices/payment_retrieve_refund_params.rb +16 -0
- data/lib/dodopayments/models/meter.rb +88 -0
- data/lib/dodopayments/models/meter_aggregation.rb +40 -0
- data/lib/dodopayments/models/meter_archive_params.rb +14 -0
- data/lib/dodopayments/models/meter_create_params.rb +62 -0
- data/lib/dodopayments/models/meter_filter.rb +482 -0
- data/lib/dodopayments/models/meter_list_params.rb +38 -0
- data/lib/dodopayments/models/{product_delete_params.rb → meter_retrieve_params.rb} +2 -2
- data/lib/dodopayments/models/meter_unarchive_params.rb +14 -0
- data/lib/dodopayments/models/price.rb +122 -7
- data/lib/dodopayments/models/product.rb +2 -2
- data/lib/dodopayments/models/product_archive_params.rb +14 -0
- data/lib/dodopayments/models/product_create_params.rb +2 -2
- data/lib/dodopayments/models/product_list_response.rb +2 -2
- data/lib/dodopayments/models/product_update_params.rb +2 -2
- data/lib/dodopayments/models/subscription_retrieve_usage_history_params.rb +54 -0
- data/lib/dodopayments/models/subscription_retrieve_usage_history_response.rb +101 -0
- data/lib/dodopayments/models/usage_event_ingest_params.rb +22 -0
- data/lib/dodopayments/models/usage_event_ingest_response.rb +16 -0
- data/lib/dodopayments/models/usage_event_list_params.rb +75 -0
- data/lib/dodopayments/models/usage_event_retrieve_params.rb +14 -0
- data/lib/dodopayments/models.rb +32 -2
- data/lib/dodopayments/resources/invoices/payments.rb +18 -0
- data/lib/dodopayments/resources/meters.rb +123 -0
- data/lib/dodopayments/resources/products.rb +5 -5
- data/lib/dodopayments/resources/subscriptions.rb +74 -0
- data/lib/dodopayments/resources/usage_events.rb +193 -0
- data/lib/dodopayments/version.rb +1 -1
- data/lib/dodopayments.rb +21 -1
- data/rbi/dodopayments/client.rbi +6 -0
- data/rbi/dodopayments/models/add_meter_to_price.rbi +75 -0
- data/rbi/dodopayments/models/event.rbi +88 -0
- data/rbi/dodopayments/models/event_input.rbi +102 -0
- data/rbi/dodopayments/models/invoices/payment_retrieve_refund_params.rbi +34 -0
- data/rbi/dodopayments/models/meter.rbi +107 -0
- data/rbi/dodopayments/models/meter_aggregation.rbi +73 -0
- data/rbi/dodopayments/models/meter_archive_params.rbi +32 -0
- data/rbi/dodopayments/models/meter_create_params.rbi +92 -0
- data/rbi/dodopayments/models/meter_filter.rbi +1042 -0
- data/rbi/dodopayments/models/meter_list_params.rbi +68 -0
- data/rbi/dodopayments/models/{product_delete_params.rbi → meter_retrieve_params.rbi} +2 -2
- data/rbi/dodopayments/models/meter_unarchive_params.rbi +32 -0
- data/rbi/dodopayments/models/price.rbi +153 -7
- data/rbi/dodopayments/models/product.rbi +2 -1
- data/rbi/dodopayments/models/product_archive_params.rbi +32 -0
- data/rbi/dodopayments/models/product_create_params.rbi +6 -3
- data/rbi/dodopayments/models/product_list_response.rbi +2 -1
- data/rbi/dodopayments/models/product_update_params.rbi +6 -3
- data/rbi/dodopayments/models/subscription_retrieve_usage_history_params.rbi +78 -0
- data/rbi/dodopayments/models/subscription_retrieve_usage_history_response.rbi +159 -0
- data/rbi/dodopayments/models/usage_event_ingest_params.rbi +46 -0
- data/rbi/dodopayments/models/usage_event_ingest_response.rbi +26 -0
- data/rbi/dodopayments/models/usage_event_list_params.rbi +119 -0
- data/rbi/dodopayments/models/usage_event_retrieve_params.rbi +32 -0
- data/rbi/dodopayments/models.rbi +33 -2
- data/rbi/dodopayments/resources/invoices/payments.rbi +9 -0
- data/rbi/dodopayments/resources/meters.rbi +102 -0
- data/rbi/dodopayments/resources/products.rbi +5 -3
- data/rbi/dodopayments/resources/subscriptions.rbi +74 -0
- data/rbi/dodopayments/resources/usage_events.rbi +175 -0
- data/sig/dodopayments/client.rbs +4 -0
- data/sig/dodopayments/models/add_meter_to_price.rbs +45 -0
- data/sig/dodopayments/models/event.rbs +53 -0
- data/sig/dodopayments/models/event_input.rbs +48 -0
- data/sig/dodopayments/models/invoices/payment_retrieve_refund_params.rbs +17 -0
- data/sig/dodopayments/models/meter.rbs +65 -0
- data/sig/dodopayments/models/meter_aggregation.rbs +36 -0
- data/sig/dodopayments/models/meter_archive_params.rbs +15 -0
- data/sig/dodopayments/models/meter_create_params.rbs +51 -0
- data/sig/dodopayments/models/meter_filter.rbs +417 -0
- data/sig/dodopayments/models/meter_list_params.rbs +38 -0
- data/sig/dodopayments/models/{product_delete_params.rbs → meter_retrieve_params.rbs} +2 -2
- data/sig/dodopayments/models/meter_unarchive_params.rbs +15 -0
- data/sig/dodopayments/models/price.rbs +88 -9
- data/sig/dodopayments/models/product_archive_params.rbs +15 -0
- data/sig/dodopayments/models/subscription_retrieve_usage_history_params.rbs +46 -0
- data/sig/dodopayments/models/subscription_retrieve_usage_history_response.rbs +82 -0
- data/sig/dodopayments/models/usage_event_ingest_params.rbs +24 -0
- data/sig/dodopayments/models/usage_event_ingest_response.rbs +13 -0
- data/sig/dodopayments/models/usage_event_list_params.rbs +70 -0
- data/sig/dodopayments/models/usage_event_retrieve_params.rbs +15 -0
- data/sig/dodopayments/models.rbs +32 -2
- data/sig/dodopayments/resources/invoices/payments.rbs +5 -0
- data/sig/dodopayments/resources/meters.rbs +39 -0
- data/sig/dodopayments/resources/products.rbs +1 -1
- data/sig/dodopayments/resources/subscriptions.rbs +10 -0
- data/sig/dodopayments/resources/usage_events.rbs +28 -0
- metadata +65 -5
@@ -0,0 +1,88 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module Dodopayments
|
4
|
+
module Models
|
5
|
+
class Event < Dodopayments::Internal::Type::BaseModel
|
6
|
+
OrHash =
|
7
|
+
T.type_alias do
|
8
|
+
T.any(Dodopayments::Event, Dodopayments::Internal::AnyHash)
|
9
|
+
end
|
10
|
+
|
11
|
+
sig { returns(String) }
|
12
|
+
attr_accessor :business_id
|
13
|
+
|
14
|
+
sig { returns(String) }
|
15
|
+
attr_accessor :customer_id
|
16
|
+
|
17
|
+
sig { returns(String) }
|
18
|
+
attr_accessor :event_id
|
19
|
+
|
20
|
+
sig { returns(String) }
|
21
|
+
attr_accessor :event_name
|
22
|
+
|
23
|
+
sig { returns(Time) }
|
24
|
+
attr_accessor :timestamp
|
25
|
+
|
26
|
+
# Arbitrary key-value metadata. Values can be string, integer, number, or boolean.
|
27
|
+
sig do
|
28
|
+
returns(
|
29
|
+
T.nilable(T::Hash[Symbol, Dodopayments::Event::Metadata::Variants])
|
30
|
+
)
|
31
|
+
end
|
32
|
+
attr_accessor :metadata
|
33
|
+
|
34
|
+
sig do
|
35
|
+
params(
|
36
|
+
business_id: String,
|
37
|
+
customer_id: String,
|
38
|
+
event_id: String,
|
39
|
+
event_name: String,
|
40
|
+
timestamp: Time,
|
41
|
+
metadata:
|
42
|
+
T.nilable(T::Hash[Symbol, Dodopayments::Event::Metadata::Variants])
|
43
|
+
).returns(T.attached_class)
|
44
|
+
end
|
45
|
+
def self.new(
|
46
|
+
business_id:,
|
47
|
+
customer_id:,
|
48
|
+
event_id:,
|
49
|
+
event_name:,
|
50
|
+
timestamp:,
|
51
|
+
# Arbitrary key-value metadata. Values can be string, integer, number, or boolean.
|
52
|
+
metadata: nil
|
53
|
+
)
|
54
|
+
end
|
55
|
+
|
56
|
+
sig do
|
57
|
+
override.returns(
|
58
|
+
{
|
59
|
+
business_id: String,
|
60
|
+
customer_id: String,
|
61
|
+
event_id: String,
|
62
|
+
event_name: String,
|
63
|
+
timestamp: Time,
|
64
|
+
metadata:
|
65
|
+
T.nilable(
|
66
|
+
T::Hash[Symbol, Dodopayments::Event::Metadata::Variants]
|
67
|
+
)
|
68
|
+
}
|
69
|
+
)
|
70
|
+
end
|
71
|
+
def to_hash
|
72
|
+
end
|
73
|
+
|
74
|
+
# Metadata value can be a string, integer, number, or boolean
|
75
|
+
module Metadata
|
76
|
+
extend Dodopayments::Internal::Type::Union
|
77
|
+
|
78
|
+
Variants = T.type_alias { T.any(String, Float, T::Boolean) }
|
79
|
+
|
80
|
+
sig do
|
81
|
+
override.returns(T::Array[Dodopayments::Event::Metadata::Variants])
|
82
|
+
end
|
83
|
+
def self.variants
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
@@ -0,0 +1,102 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module Dodopayments
|
4
|
+
module Models
|
5
|
+
class EventInput < Dodopayments::Internal::Type::BaseModel
|
6
|
+
OrHash =
|
7
|
+
T.type_alias do
|
8
|
+
T.any(Dodopayments::EventInput, Dodopayments::Internal::AnyHash)
|
9
|
+
end
|
10
|
+
|
11
|
+
# customer_id of the customer whose usage needs to be tracked
|
12
|
+
sig { returns(String) }
|
13
|
+
attr_accessor :customer_id
|
14
|
+
|
15
|
+
# Event Id acts as an idempotency key. Any subsequent requests with the same
|
16
|
+
# event_id will be ignored
|
17
|
+
sig { returns(String) }
|
18
|
+
attr_accessor :event_id
|
19
|
+
|
20
|
+
# Name of the event
|
21
|
+
sig { returns(String) }
|
22
|
+
attr_accessor :event_name
|
23
|
+
|
24
|
+
# Custom metadata. Only key value pairs are accepted, objects or arrays submitted
|
25
|
+
# will be rejected.
|
26
|
+
sig do
|
27
|
+
returns(
|
28
|
+
T.nilable(
|
29
|
+
T::Hash[Symbol, Dodopayments::EventInput::Metadata::Variants]
|
30
|
+
)
|
31
|
+
)
|
32
|
+
end
|
33
|
+
attr_accessor :metadata
|
34
|
+
|
35
|
+
# Custom Timestamp. Defaults to current timestamp in UTC. Timestamps that are
|
36
|
+
# older that 1 hour or after 5 mins, from current timestamp, will be rejected.
|
37
|
+
sig { returns(T.nilable(Time)) }
|
38
|
+
attr_accessor :timestamp
|
39
|
+
|
40
|
+
sig do
|
41
|
+
params(
|
42
|
+
customer_id: String,
|
43
|
+
event_id: String,
|
44
|
+
event_name: String,
|
45
|
+
metadata:
|
46
|
+
T.nilable(
|
47
|
+
T::Hash[Symbol, Dodopayments::EventInput::Metadata::Variants]
|
48
|
+
),
|
49
|
+
timestamp: T.nilable(Time)
|
50
|
+
).returns(T.attached_class)
|
51
|
+
end
|
52
|
+
def self.new(
|
53
|
+
# customer_id of the customer whose usage needs to be tracked
|
54
|
+
customer_id:,
|
55
|
+
# Event Id acts as an idempotency key. Any subsequent requests with the same
|
56
|
+
# event_id will be ignored
|
57
|
+
event_id:,
|
58
|
+
# Name of the event
|
59
|
+
event_name:,
|
60
|
+
# Custom metadata. Only key value pairs are accepted, objects or arrays submitted
|
61
|
+
# will be rejected.
|
62
|
+
metadata: nil,
|
63
|
+
# Custom Timestamp. Defaults to current timestamp in UTC. Timestamps that are
|
64
|
+
# older that 1 hour or after 5 mins, from current timestamp, will be rejected.
|
65
|
+
timestamp: nil
|
66
|
+
)
|
67
|
+
end
|
68
|
+
|
69
|
+
sig do
|
70
|
+
override.returns(
|
71
|
+
{
|
72
|
+
customer_id: String,
|
73
|
+
event_id: String,
|
74
|
+
event_name: String,
|
75
|
+
metadata:
|
76
|
+
T.nilable(
|
77
|
+
T::Hash[Symbol, Dodopayments::EventInput::Metadata::Variants]
|
78
|
+
),
|
79
|
+
timestamp: T.nilable(Time)
|
80
|
+
}
|
81
|
+
)
|
82
|
+
end
|
83
|
+
def to_hash
|
84
|
+
end
|
85
|
+
|
86
|
+
# Metadata value can be a string, integer, number, or boolean
|
87
|
+
module Metadata
|
88
|
+
extend Dodopayments::Internal::Type::Union
|
89
|
+
|
90
|
+
Variants = T.type_alias { T.any(String, Float, T::Boolean) }
|
91
|
+
|
92
|
+
sig do
|
93
|
+
override.returns(
|
94
|
+
T::Array[Dodopayments::EventInput::Metadata::Variants]
|
95
|
+
)
|
96
|
+
end
|
97
|
+
def self.variants
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module Dodopayments
|
4
|
+
module Models
|
5
|
+
module Invoices
|
6
|
+
class PaymentRetrieveRefundParams < Dodopayments::Internal::Type::BaseModel
|
7
|
+
extend Dodopayments::Internal::Type::RequestParameters::Converter
|
8
|
+
include Dodopayments::Internal::Type::RequestParameters
|
9
|
+
|
10
|
+
OrHash =
|
11
|
+
T.type_alias do
|
12
|
+
T.any(
|
13
|
+
Dodopayments::Invoices::PaymentRetrieveRefundParams,
|
14
|
+
Dodopayments::Internal::AnyHash
|
15
|
+
)
|
16
|
+
end
|
17
|
+
|
18
|
+
sig do
|
19
|
+
params(request_options: Dodopayments::RequestOptions::OrHash).returns(
|
20
|
+
T.attached_class
|
21
|
+
)
|
22
|
+
end
|
23
|
+
def self.new(request_options: {})
|
24
|
+
end
|
25
|
+
|
26
|
+
sig do
|
27
|
+
override.returns({ request_options: Dodopayments::RequestOptions })
|
28
|
+
end
|
29
|
+
def to_hash
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,107 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module Dodopayments
|
4
|
+
module Models
|
5
|
+
class Meter < Dodopayments::Internal::Type::BaseModel
|
6
|
+
OrHash =
|
7
|
+
T.type_alias do
|
8
|
+
T.any(Dodopayments::Meter, Dodopayments::Internal::AnyHash)
|
9
|
+
end
|
10
|
+
|
11
|
+
sig { returns(String) }
|
12
|
+
attr_accessor :id
|
13
|
+
|
14
|
+
sig { returns(Dodopayments::MeterAggregation) }
|
15
|
+
attr_reader :aggregation
|
16
|
+
|
17
|
+
sig { params(aggregation: Dodopayments::MeterAggregation::OrHash).void }
|
18
|
+
attr_writer :aggregation
|
19
|
+
|
20
|
+
sig { returns(String) }
|
21
|
+
attr_accessor :business_id
|
22
|
+
|
23
|
+
sig { returns(Time) }
|
24
|
+
attr_accessor :created_at
|
25
|
+
|
26
|
+
sig { returns(String) }
|
27
|
+
attr_accessor :event_name
|
28
|
+
|
29
|
+
sig { returns(String) }
|
30
|
+
attr_accessor :measurement_unit
|
31
|
+
|
32
|
+
sig { returns(String) }
|
33
|
+
attr_accessor :name
|
34
|
+
|
35
|
+
sig { returns(Time) }
|
36
|
+
attr_accessor :updated_at
|
37
|
+
|
38
|
+
sig { returns(T.nilable(String)) }
|
39
|
+
attr_accessor :description
|
40
|
+
|
41
|
+
# A filter structure that combines multiple conditions with logical conjunctions
|
42
|
+
# (AND/OR).
|
43
|
+
#
|
44
|
+
# Supports up to 3 levels of nesting to create complex filter expressions. Each
|
45
|
+
# filter has a conjunction (and/or) and clauses that can be either direct
|
46
|
+
# conditions or nested filters.
|
47
|
+
sig { returns(T.nilable(Dodopayments::MeterFilter)) }
|
48
|
+
attr_reader :filter
|
49
|
+
|
50
|
+
sig { params(filter: T.nilable(Dodopayments::MeterFilter::OrHash)).void }
|
51
|
+
attr_writer :filter
|
52
|
+
|
53
|
+
sig do
|
54
|
+
params(
|
55
|
+
id: String,
|
56
|
+
aggregation: Dodopayments::MeterAggregation::OrHash,
|
57
|
+
business_id: String,
|
58
|
+
created_at: Time,
|
59
|
+
event_name: String,
|
60
|
+
measurement_unit: String,
|
61
|
+
name: String,
|
62
|
+
updated_at: Time,
|
63
|
+
description: T.nilable(String),
|
64
|
+
filter: T.nilable(Dodopayments::MeterFilter::OrHash)
|
65
|
+
).returns(T.attached_class)
|
66
|
+
end
|
67
|
+
def self.new(
|
68
|
+
id:,
|
69
|
+
aggregation:,
|
70
|
+
business_id:,
|
71
|
+
created_at:,
|
72
|
+
event_name:,
|
73
|
+
measurement_unit:,
|
74
|
+
name:,
|
75
|
+
updated_at:,
|
76
|
+
description: nil,
|
77
|
+
# A filter structure that combines multiple conditions with logical conjunctions
|
78
|
+
# (AND/OR).
|
79
|
+
#
|
80
|
+
# Supports up to 3 levels of nesting to create complex filter expressions. Each
|
81
|
+
# filter has a conjunction (and/or) and clauses that can be either direct
|
82
|
+
# conditions or nested filters.
|
83
|
+
filter: nil
|
84
|
+
)
|
85
|
+
end
|
86
|
+
|
87
|
+
sig do
|
88
|
+
override.returns(
|
89
|
+
{
|
90
|
+
id: String,
|
91
|
+
aggregation: Dodopayments::MeterAggregation,
|
92
|
+
business_id: String,
|
93
|
+
created_at: Time,
|
94
|
+
event_name: String,
|
95
|
+
measurement_unit: String,
|
96
|
+
name: String,
|
97
|
+
updated_at: Time,
|
98
|
+
description: T.nilable(String),
|
99
|
+
filter: T.nilable(Dodopayments::MeterFilter)
|
100
|
+
}
|
101
|
+
)
|
102
|
+
end
|
103
|
+
def to_hash
|
104
|
+
end
|
105
|
+
end
|
106
|
+
end
|
107
|
+
end
|
@@ -0,0 +1,73 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module Dodopayments
|
4
|
+
module Models
|
5
|
+
class MeterAggregation < Dodopayments::Internal::Type::BaseModel
|
6
|
+
OrHash =
|
7
|
+
T.type_alias do
|
8
|
+
T.any(Dodopayments::MeterAggregation, Dodopayments::Internal::AnyHash)
|
9
|
+
end
|
10
|
+
|
11
|
+
# Aggregation type for the meter
|
12
|
+
sig { returns(Dodopayments::MeterAggregation::Type::OrSymbol) }
|
13
|
+
attr_accessor :type
|
14
|
+
|
15
|
+
# Required when type is not COUNT
|
16
|
+
sig { returns(T.nilable(String)) }
|
17
|
+
attr_accessor :key
|
18
|
+
|
19
|
+
sig do
|
20
|
+
params(
|
21
|
+
type: Dodopayments::MeterAggregation::Type::OrSymbol,
|
22
|
+
key: T.nilable(String)
|
23
|
+
).returns(T.attached_class)
|
24
|
+
end
|
25
|
+
def self.new(
|
26
|
+
# Aggregation type for the meter
|
27
|
+
type:,
|
28
|
+
# Required when type is not COUNT
|
29
|
+
key: nil
|
30
|
+
)
|
31
|
+
end
|
32
|
+
|
33
|
+
sig do
|
34
|
+
override.returns(
|
35
|
+
{
|
36
|
+
type: Dodopayments::MeterAggregation::Type::OrSymbol,
|
37
|
+
key: T.nilable(String)
|
38
|
+
}
|
39
|
+
)
|
40
|
+
end
|
41
|
+
def to_hash
|
42
|
+
end
|
43
|
+
|
44
|
+
# Aggregation type for the meter
|
45
|
+
module Type
|
46
|
+
extend Dodopayments::Internal::Type::Enum
|
47
|
+
|
48
|
+
TaggedSymbol =
|
49
|
+
T.type_alias { T.all(Symbol, Dodopayments::MeterAggregation::Type) }
|
50
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
51
|
+
|
52
|
+
COUNT =
|
53
|
+
T.let(:count, Dodopayments::MeterAggregation::Type::TaggedSymbol)
|
54
|
+
SUM = T.let(:sum, Dodopayments::MeterAggregation::Type::TaggedSymbol)
|
55
|
+
UNIQUE_COUNT =
|
56
|
+
T.let(
|
57
|
+
:unique_count,
|
58
|
+
Dodopayments::MeterAggregation::Type::TaggedSymbol
|
59
|
+
)
|
60
|
+
MAX = T.let(:max, Dodopayments::MeterAggregation::Type::TaggedSymbol)
|
61
|
+
LAST = T.let(:last, Dodopayments::MeterAggregation::Type::TaggedSymbol)
|
62
|
+
|
63
|
+
sig do
|
64
|
+
override.returns(
|
65
|
+
T::Array[Dodopayments::MeterAggregation::Type::TaggedSymbol]
|
66
|
+
)
|
67
|
+
end
|
68
|
+
def self.values
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module Dodopayments
|
4
|
+
module Models
|
5
|
+
class MeterArchiveParams < Dodopayments::Internal::Type::BaseModel
|
6
|
+
extend Dodopayments::Internal::Type::RequestParameters::Converter
|
7
|
+
include Dodopayments::Internal::Type::RequestParameters
|
8
|
+
|
9
|
+
OrHash =
|
10
|
+
T.type_alias do
|
11
|
+
T.any(
|
12
|
+
Dodopayments::MeterArchiveParams,
|
13
|
+
Dodopayments::Internal::AnyHash
|
14
|
+
)
|
15
|
+
end
|
16
|
+
|
17
|
+
sig do
|
18
|
+
params(request_options: Dodopayments::RequestOptions::OrHash).returns(
|
19
|
+
T.attached_class
|
20
|
+
)
|
21
|
+
end
|
22
|
+
def self.new(request_options: {})
|
23
|
+
end
|
24
|
+
|
25
|
+
sig do
|
26
|
+
override.returns({ request_options: Dodopayments::RequestOptions })
|
27
|
+
end
|
28
|
+
def to_hash
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,92 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module Dodopayments
|
4
|
+
module Models
|
5
|
+
class MeterCreateParams < Dodopayments::Internal::Type::BaseModel
|
6
|
+
extend Dodopayments::Internal::Type::RequestParameters::Converter
|
7
|
+
include Dodopayments::Internal::Type::RequestParameters
|
8
|
+
|
9
|
+
OrHash =
|
10
|
+
T.type_alias do
|
11
|
+
T.any(
|
12
|
+
Dodopayments::MeterCreateParams,
|
13
|
+
Dodopayments::Internal::AnyHash
|
14
|
+
)
|
15
|
+
end
|
16
|
+
|
17
|
+
# Aggregation configuration for the meter
|
18
|
+
sig { returns(Dodopayments::MeterAggregation) }
|
19
|
+
attr_reader :aggregation
|
20
|
+
|
21
|
+
sig { params(aggregation: Dodopayments::MeterAggregation::OrHash).void }
|
22
|
+
attr_writer :aggregation
|
23
|
+
|
24
|
+
# Event name to track
|
25
|
+
sig { returns(String) }
|
26
|
+
attr_accessor :event_name
|
27
|
+
|
28
|
+
# measurement unit
|
29
|
+
sig { returns(String) }
|
30
|
+
attr_accessor :measurement_unit
|
31
|
+
|
32
|
+
# Name of the meter
|
33
|
+
sig { returns(String) }
|
34
|
+
attr_accessor :name
|
35
|
+
|
36
|
+
# Optional description of the meter
|
37
|
+
sig { returns(T.nilable(String)) }
|
38
|
+
attr_accessor :description
|
39
|
+
|
40
|
+
# Optional filter to apply to the meter
|
41
|
+
sig { returns(T.nilable(Dodopayments::MeterFilter)) }
|
42
|
+
attr_reader :filter
|
43
|
+
|
44
|
+
sig { params(filter: T.nilable(Dodopayments::MeterFilter::OrHash)).void }
|
45
|
+
attr_writer :filter
|
46
|
+
|
47
|
+
sig do
|
48
|
+
params(
|
49
|
+
aggregation: Dodopayments::MeterAggregation::OrHash,
|
50
|
+
event_name: String,
|
51
|
+
measurement_unit: String,
|
52
|
+
name: String,
|
53
|
+
description: T.nilable(String),
|
54
|
+
filter: T.nilable(Dodopayments::MeterFilter::OrHash),
|
55
|
+
request_options: Dodopayments::RequestOptions::OrHash
|
56
|
+
).returns(T.attached_class)
|
57
|
+
end
|
58
|
+
def self.new(
|
59
|
+
# Aggregation configuration for the meter
|
60
|
+
aggregation:,
|
61
|
+
# Event name to track
|
62
|
+
event_name:,
|
63
|
+
# measurement unit
|
64
|
+
measurement_unit:,
|
65
|
+
# Name of the meter
|
66
|
+
name:,
|
67
|
+
# Optional description of the meter
|
68
|
+
description: nil,
|
69
|
+
# Optional filter to apply to the meter
|
70
|
+
filter: nil,
|
71
|
+
request_options: {}
|
72
|
+
)
|
73
|
+
end
|
74
|
+
|
75
|
+
sig do
|
76
|
+
override.returns(
|
77
|
+
{
|
78
|
+
aggregation: Dodopayments::MeterAggregation,
|
79
|
+
event_name: String,
|
80
|
+
measurement_unit: String,
|
81
|
+
name: String,
|
82
|
+
description: T.nilable(String),
|
83
|
+
filter: T.nilable(Dodopayments::MeterFilter),
|
84
|
+
request_options: Dodopayments::RequestOptions
|
85
|
+
}
|
86
|
+
)
|
87
|
+
end
|
88
|
+
def to_hash
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|