sentdm 0.15.1 → 0.17.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '0489a7de54acde0eacdbbbe937326b155739c33737fe1ae22a5da83a0e64a37c'
4
- data.tar.gz: f2dc8eae2e6176c092abaabea11fad529789d18fc1199b0c8f228796aded5620
3
+ metadata.gz: a156f615bcb0c3a315688ef1b00ec81cfa032750d749642a0365e20d7ae4c9df
4
+ data.tar.gz: 0e1ef565451ca40155a468de7154f9faa663a6229b52e27ecc04e1160cb7acf9
5
5
  SHA512:
6
- metadata.gz: 065b821f06867fd6628339dcf555d56393ff993c9ee76bdd1f852eabbb0ea99b3cd7404647d24a398c74d4fae6a5ef45e0c157240510c3cc305bf2c923b9714c
7
- data.tar.gz: 5d531521c44a956193a345a31cb87b1e342792a97a71f315a057d82609f529b923ebde72fd848c4c7e0be8abebaec273114f8b2fe608ffc8988d82b761bcd007
6
+ metadata.gz: 2b0c996f6f0b65632fce6f0867021a06740f3db0b91cab4f451bd2ddac122e2f797fa124c942b9cce33fde78de2ccc053724d96ce1fb5017b5ecf285a7d7e010
7
+ data.tar.gz: 406bb232a1d48f76b18f0b4b0b55112c7c2cb5c31bf05bb258f52a8dd7e08279c54e59be388ba47420534f59d40cf9a897a1a799707f0e3fbf640b63f87732f6
data/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.17.0 (2026-04-29)
4
+
5
+ Full Changelog: [v0.16.0...v0.17.0](https://github.com/sentdm/sent-dm-ruby/compare/v0.16.0...v0.17.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** manual updates ([e91662c](https://github.com/sentdm/sent-dm-ruby/commit/e91662c693727bff3e0179be1b513532aeb168d3))
10
+
11
+ ## 0.16.0 (2026-04-28)
12
+
13
+ Full Changelog: [v0.15.1...v0.16.0](https://github.com/sentdm/sent-dm-ruby/compare/v0.15.1...v0.16.0)
14
+
15
+ ### Features
16
+
17
+ * support setting headers via env ([b5821b8](https://github.com/sentdm/sent-dm-ruby/commit/b5821b85bbb068d7625094c579dc26976700c4fb))
18
+
3
19
  ## 0.15.1 (2026-04-24)
4
20
 
5
21
  Full Changelog: [v0.15.0...v0.15.1](https://github.com/sentdm/sent-dm-ruby/compare/v0.15.0...v0.15.1)
data/README.md CHANGED
@@ -26,7 +26,7 @@ To use this gem, install via Bundler by adding the following to your application
26
26
  <!-- x-release-please-start-version -->
27
27
 
28
28
  ```ruby
29
- gem "sentdm", "~> 0.15.1"
29
+ gem "sentdm", "~> 0.17.0"
30
30
  ```
31
31
 
32
32
  <!-- x-release-please-end -->
data/lib/sentdm/client.rb CHANGED
@@ -89,6 +89,19 @@ module Sentdm
89
89
  raise ArgumentError.new("api_key is required, and can be set via environ: \"SENT_DM_API_KEY\"")
90
90
  end
91
91
 
92
+ headers = {}
93
+ custom_headers_env = ENV["SENT_CUSTOM_HEADERS"]
94
+ unless custom_headers_env.nil?
95
+ parsed = {}
96
+ custom_headers_env.split("\n").each do |line|
97
+ colon = line.index(":")
98
+ unless colon.nil?
99
+ parsed[line[0...colon].strip] = line[(colon + 1)..].strip
100
+ end
101
+ end
102
+ headers = parsed.merge(headers)
103
+ end
104
+
92
105
  @api_key = api_key.to_s
93
106
 
94
107
  super(
@@ -96,7 +109,8 @@ module Sentdm
96
109
  timeout: timeout,
97
110
  max_retries: max_retries,
98
111
  initial_retry_delay: initial_retry_delay,
99
- max_retry_delay: max_retry_delay
112
+ max_retry_delay: max_retry_delay,
113
+ headers: headers
100
114
  )
101
115
 
102
116
  @webhooks = Sentdm::Resources::Webhooks.new(client: self)
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ class WebhookEventType < Sentdm::Internal::Type::BaseModel
6
+ # @!attribute description
7
+ #
8
+ # @return [String, nil]
9
+ optional :description, String, nil?: true
10
+
11
+ # @!attribute display_name
12
+ #
13
+ # @return [String, nil]
14
+ optional :display_name, String
15
+
16
+ # @!attribute event_type
17
+ #
18
+ # @return [String, nil]
19
+ optional :event_type, String, nil?: true
20
+
21
+ # @!attribute is_active
22
+ #
23
+ # @return [Boolean, nil]
24
+ optional :is_active, Sentdm::Internal::Type::Boolean
25
+
26
+ # @!attribute name
27
+ #
28
+ # @return [String, nil]
29
+ optional :name, String
30
+
31
+ # @!attribute sub_types
32
+ #
33
+ # @return [Array<Sentdm::Models::WebhookEventType>, nil]
34
+ optional :sub_types, -> { Sentdm::Internal::Type::ArrayOf[Sentdm::WebhookEventType] }, nil?: true
35
+
36
+ # @!method initialize(description: nil, display_name: nil, event_type: nil, is_active: nil, name: nil, sub_types: nil)
37
+ # @param description [String, nil]
38
+ # @param display_name [String]
39
+ # @param event_type [String, nil]
40
+ # @param is_active [Boolean]
41
+ # @param name [String]
42
+ # @param sub_types [Array<Sentdm::Models::WebhookEventType>, nil]
43
+ end
44
+ end
45
+ end
@@ -43,54 +43,13 @@ module Sentdm
43
43
  class Data < Sentdm::Internal::Type::BaseModel
44
44
  # @!attribute event_types
45
45
  #
46
- # @return [Array<Sentdm::Models::WebhookListEventTypesResponse::Data::EventType>, nil]
47
- optional :event_types,
48
- -> { Sentdm::Internal::Type::ArrayOf[Sentdm::Models::WebhookListEventTypesResponse::Data::EventType] }
46
+ # @return [Array<Sentdm::Models::WebhookEventType>, nil]
47
+ optional :event_types, -> { Sentdm::Internal::Type::ArrayOf[Sentdm::WebhookEventType] }
49
48
 
50
49
  # @!method initialize(event_types: nil)
51
50
  # The response data (null if error)
52
51
  #
53
- # @param event_types [Array<Sentdm::Models::WebhookListEventTypesResponse::Data::EventType>]
54
-
55
- class EventType < Sentdm::Internal::Type::BaseModel
56
- # @!attribute description
57
- #
58
- # @return [String, nil]
59
- optional :description, String, nil?: true
60
-
61
- # @!attribute display_name
62
- #
63
- # @return [String, nil]
64
- optional :display_name, String
65
-
66
- # @!attribute event_type
67
- #
68
- # @return [String, nil]
69
- optional :event_type, String, nil?: true
70
-
71
- # @!attribute is_active
72
- #
73
- # @return [Boolean, nil]
74
- optional :is_active, Sentdm::Internal::Type::Boolean
75
-
76
- # @!attribute name
77
- #
78
- # @return [String, nil]
79
- optional :name, String
80
-
81
- # @!attribute sub_types
82
- #
83
- # @return [Array<Object>, nil]
84
- optional :sub_types, Sentdm::Internal::Type::ArrayOf[Sentdm::Internal::Type::Unknown], nil?: true
85
-
86
- # @!method initialize(description: nil, display_name: nil, event_type: nil, is_active: nil, name: nil, sub_types: nil)
87
- # @param description [String, nil]
88
- # @param display_name [String]
89
- # @param event_type [String, nil]
90
- # @param is_active [Boolean]
91
- # @param name [String]
92
- # @param sub_types [Array<Object>, nil]
93
- end
52
+ # @param event_types [Array<Sentdm::Models::WebhookEventType>]
94
53
  end
95
54
  end
96
55
  end
data/lib/sentdm/models.rb CHANGED
@@ -170,6 +170,8 @@ module Sentdm
170
170
 
171
171
  WebhookDeleteParams = Sentdm::Models::WebhookDeleteParams
172
172
 
173
+ WebhookEventType = Sentdm::Models::WebhookEventType
174
+
173
175
  WebhookListEventsParams = Sentdm::Models::WebhookListEventsParams
174
176
 
175
177
  WebhookListEventTypesParams = Sentdm::Models::WebhookListEventTypesParams
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Sentdm
4
- VERSION = "0.15.1"
4
+ VERSION = "0.17.0"
5
5
  end
data/lib/sentdm.rb CHANGED
@@ -133,6 +133,7 @@ require_relative "sentdm/models/user_retrieve_params"
133
133
  require_relative "sentdm/models/user_update_role_params"
134
134
  require_relative "sentdm/models/webhook_create_params"
135
135
  require_relative "sentdm/models/webhook_delete_params"
136
+ require_relative "sentdm/models/webhook_event_type"
136
137
  require_relative "sentdm/models/webhook_list_events_params"
137
138
  require_relative "sentdm/models/webhook_list_events_response"
138
139
  require_relative "sentdm/models/webhook_list_event_types_params"
@@ -0,0 +1,74 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class WebhookEventType < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::WebhookEventType, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ sig { returns(T.nilable(String)) }
12
+ attr_accessor :description
13
+
14
+ sig { returns(T.nilable(String)) }
15
+ attr_reader :display_name
16
+
17
+ sig { params(display_name: String).void }
18
+ attr_writer :display_name
19
+
20
+ sig { returns(T.nilable(String)) }
21
+ attr_accessor :event_type
22
+
23
+ sig { returns(T.nilable(T::Boolean)) }
24
+ attr_reader :is_active
25
+
26
+ sig { params(is_active: T::Boolean).void }
27
+ attr_writer :is_active
28
+
29
+ sig { returns(T.nilable(String)) }
30
+ attr_reader :name
31
+
32
+ sig { params(name: String).void }
33
+ attr_writer :name
34
+
35
+ sig { returns(T.nilable(T::Array[Sentdm::WebhookEventType])) }
36
+ attr_accessor :sub_types
37
+
38
+ sig do
39
+ params(
40
+ description: T.nilable(String),
41
+ display_name: String,
42
+ event_type: T.nilable(String),
43
+ is_active: T::Boolean,
44
+ name: String,
45
+ sub_types: T.nilable(T::Array[Sentdm::WebhookEventType])
46
+ ).returns(T.attached_class)
47
+ end
48
+ def self.new(
49
+ description: nil,
50
+ display_name: nil,
51
+ event_type: nil,
52
+ is_active: nil,
53
+ name: nil,
54
+ sub_types: nil
55
+ )
56
+ end
57
+
58
+ sig do
59
+ override.returns(
60
+ {
61
+ description: T.nilable(String),
62
+ display_name: String,
63
+ event_type: T.nilable(String),
64
+ is_active: T::Boolean,
65
+ name: String,
66
+ sub_types: T.nilable(T::Array[Sentdm::WebhookEventType])
67
+ }
68
+ )
69
+ end
70
+ def to_hash
71
+ end
72
+ end
73
+ end
74
+ end
@@ -95,123 +95,28 @@ module Sentdm
95
95
  )
96
96
  end
97
97
 
98
- sig do
99
- returns(
100
- T.nilable(
101
- T::Array[
102
- Sentdm::Models::WebhookListEventTypesResponse::Data::EventType
103
- ]
104
- )
105
- )
106
- end
98
+ sig { returns(T.nilable(T::Array[Sentdm::WebhookEventType])) }
107
99
  attr_reader :event_types
108
100
 
109
101
  sig do
110
- params(
111
- event_types:
112
- T::Array[
113
- Sentdm::Models::WebhookListEventTypesResponse::Data::EventType::OrHash
114
- ]
115
- ).void
102
+ params(event_types: T::Array[Sentdm::WebhookEventType::OrHash]).void
116
103
  end
117
104
  attr_writer :event_types
118
105
 
119
106
  # The response data (null if error)
120
107
  sig do
121
108
  params(
122
- event_types:
123
- T::Array[
124
- Sentdm::Models::WebhookListEventTypesResponse::Data::EventType::OrHash
125
- ]
109
+ event_types: T::Array[Sentdm::WebhookEventType::OrHash]
126
110
  ).returns(T.attached_class)
127
111
  end
128
112
  def self.new(event_types: nil)
129
113
  end
130
114
 
131
115
  sig do
132
- override.returns(
133
- {
134
- event_types:
135
- T::Array[
136
- Sentdm::Models::WebhookListEventTypesResponse::Data::EventType
137
- ]
138
- }
139
- )
116
+ override.returns({ event_types: T::Array[Sentdm::WebhookEventType] })
140
117
  end
141
118
  def to_hash
142
119
  end
143
-
144
- class EventType < Sentdm::Internal::Type::BaseModel
145
- OrHash =
146
- T.type_alias do
147
- T.any(
148
- Sentdm::Models::WebhookListEventTypesResponse::Data::EventType,
149
- Sentdm::Internal::AnyHash
150
- )
151
- end
152
-
153
- sig { returns(T.nilable(String)) }
154
- attr_accessor :description
155
-
156
- sig { returns(T.nilable(String)) }
157
- attr_reader :display_name
158
-
159
- sig { params(display_name: String).void }
160
- attr_writer :display_name
161
-
162
- sig { returns(T.nilable(String)) }
163
- attr_accessor :event_type
164
-
165
- sig { returns(T.nilable(T::Boolean)) }
166
- attr_reader :is_active
167
-
168
- sig { params(is_active: T::Boolean).void }
169
- attr_writer :is_active
170
-
171
- sig { returns(T.nilable(String)) }
172
- attr_reader :name
173
-
174
- sig { params(name: String).void }
175
- attr_writer :name
176
-
177
- sig { returns(T.nilable(T::Array[T.anything])) }
178
- attr_accessor :sub_types
179
-
180
- sig do
181
- params(
182
- description: T.nilable(String),
183
- display_name: String,
184
- event_type: T.nilable(String),
185
- is_active: T::Boolean,
186
- name: String,
187
- sub_types: T.nilable(T::Array[T.anything])
188
- ).returns(T.attached_class)
189
- end
190
- def self.new(
191
- description: nil,
192
- display_name: nil,
193
- event_type: nil,
194
- is_active: nil,
195
- name: nil,
196
- sub_types: nil
197
- )
198
- end
199
-
200
- sig do
201
- override.returns(
202
- {
203
- description: T.nilable(String),
204
- display_name: String,
205
- event_type: T.nilable(String),
206
- is_active: T::Boolean,
207
- name: String,
208
- sub_types: T.nilable(T::Array[T.anything])
209
- }
210
- )
211
- end
212
- def to_hash
213
- end
214
- end
215
120
  end
216
121
  end
217
122
  end
@@ -133,6 +133,8 @@ module Sentdm
133
133
 
134
134
  WebhookDeleteParams = Sentdm::Models::WebhookDeleteParams
135
135
 
136
+ WebhookEventType = Sentdm::Models::WebhookEventType
137
+
136
138
  WebhookListEventsParams = Sentdm::Models::WebhookListEventsParams
137
139
 
138
140
  WebhookListEventTypesParams = Sentdm::Models::WebhookListEventTypesParams
@@ -0,0 +1,51 @@
1
+ module Sentdm
2
+ module Models
3
+ type webhook_event_type =
4
+ {
5
+ description: String?,
6
+ display_name: String,
7
+ event_type: String?,
8
+ is_active: bool,
9
+ name: String,
10
+ sub_types: ::Array[Sentdm::WebhookEventType]?
11
+ }
12
+
13
+ class WebhookEventType < Sentdm::Internal::Type::BaseModel
14
+ attr_accessor description: String?
15
+
16
+ attr_reader display_name: String?
17
+
18
+ def display_name=: (String) -> String
19
+
20
+ attr_accessor event_type: String?
21
+
22
+ attr_reader is_active: bool?
23
+
24
+ def is_active=: (bool) -> bool
25
+
26
+ attr_reader name: String?
27
+
28
+ def name=: (String) -> String
29
+
30
+ attr_accessor sub_types: ::Array[Sentdm::WebhookEventType]?
31
+
32
+ def initialize: (
33
+ ?description: String?,
34
+ ?display_name: String,
35
+ ?event_type: String?,
36
+ ?is_active: bool,
37
+ ?name: String,
38
+ ?sub_types: ::Array[Sentdm::WebhookEventType]?
39
+ ) -> void
40
+
41
+ def to_hash: -> {
42
+ description: String?,
43
+ display_name: String,
44
+ event_type: String?,
45
+ is_active: bool,
46
+ name: String,
47
+ sub_types: ::Array[Sentdm::WebhookEventType]?
48
+ }
49
+ end
50
+ end
51
+ end
@@ -35,73 +35,20 @@ module Sentdm
35
35
  success: bool
36
36
  }
37
37
 
38
- type data =
39
- {
40
- event_types: ::Array[Sentdm::Models::WebhookListEventTypesResponse::Data::EventType]
41
- }
38
+ type data = { event_types: ::Array[Sentdm::WebhookEventType] }
42
39
 
43
40
  class Data < Sentdm::Internal::Type::BaseModel
44
- attr_reader event_types: ::Array[Sentdm::Models::WebhookListEventTypesResponse::Data::EventType]?
41
+ attr_reader event_types: ::Array[Sentdm::WebhookEventType]?
45
42
 
46
43
  def event_types=: (
47
- ::Array[Sentdm::Models::WebhookListEventTypesResponse::Data::EventType]
48
- ) -> ::Array[Sentdm::Models::WebhookListEventTypesResponse::Data::EventType]
44
+ ::Array[Sentdm::WebhookEventType]
45
+ ) -> ::Array[Sentdm::WebhookEventType]
49
46
 
50
47
  def initialize: (
51
- ?event_types: ::Array[Sentdm::Models::WebhookListEventTypesResponse::Data::EventType]
48
+ ?event_types: ::Array[Sentdm::WebhookEventType]
52
49
  ) -> void
53
50
 
54
- def to_hash: -> {
55
- event_types: ::Array[Sentdm::Models::WebhookListEventTypesResponse::Data::EventType]
56
- }
57
-
58
- type event_type =
59
- {
60
- description: String?,
61
- display_name: String,
62
- event_type: String?,
63
- is_active: bool,
64
- name: String,
65
- sub_types: ::Array[top]?
66
- }
67
-
68
- class EventType < Sentdm::Internal::Type::BaseModel
69
- attr_accessor description: String?
70
-
71
- attr_reader display_name: String?
72
-
73
- def display_name=: (String) -> String
74
-
75
- attr_accessor event_type: String?
76
-
77
- attr_reader is_active: bool?
78
-
79
- def is_active=: (bool) -> bool
80
-
81
- attr_reader name: String?
82
-
83
- def name=: (String) -> String
84
-
85
- attr_accessor sub_types: ::Array[top]?
86
-
87
- def initialize: (
88
- ?description: String?,
89
- ?display_name: String,
90
- ?event_type: String?,
91
- ?is_active: bool,
92
- ?name: String,
93
- ?sub_types: ::Array[top]?
94
- ) -> void
95
-
96
- def to_hash: -> {
97
- description: String?,
98
- display_name: String,
99
- event_type: String?,
100
- is_active: bool,
101
- name: String,
102
- sub_types: ::Array[top]?
103
- }
104
- end
51
+ def to_hash: -> { event_types: ::Array[Sentdm::WebhookEventType] }
105
52
  end
106
53
  end
107
54
  end
@@ -121,6 +121,8 @@ module Sentdm
121
121
 
122
122
  class WebhookDeleteParams = Sentdm::Models::WebhookDeleteParams
123
123
 
124
+ class WebhookEventType = Sentdm::Models::WebhookEventType
125
+
124
126
  class WebhookListEventsParams = Sentdm::Models::WebhookListEventsParams
125
127
 
126
128
  class WebhookListEventTypesParams = Sentdm::Models::WebhookListEventTypesParams
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sentdm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.15.1
4
+ version: 0.17.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sent
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-04-24 00:00:00.000000000 Z
11
+ date: 2026-04-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cgi
@@ -150,6 +150,7 @@ files:
150
150
  - lib/sentdm/models/user_update_role_params.rb
151
151
  - lib/sentdm/models/webhook_create_params.rb
152
152
  - lib/sentdm/models/webhook_delete_params.rb
153
+ - lib/sentdm/models/webhook_event_type.rb
153
154
  - lib/sentdm/models/webhook_list_event_types_params.rb
154
155
  - lib/sentdm/models/webhook_list_event_types_response.rb
155
156
  - lib/sentdm/models/webhook_list_events_params.rb
@@ -276,6 +277,7 @@ files:
276
277
  - rbi/sentdm/models/user_update_role_params.rbi
277
278
  - rbi/sentdm/models/webhook_create_params.rbi
278
279
  - rbi/sentdm/models/webhook_delete_params.rbi
280
+ - rbi/sentdm/models/webhook_event_type.rbi
279
281
  - rbi/sentdm/models/webhook_list_event_types_params.rbi
280
282
  - rbi/sentdm/models/webhook_list_event_types_response.rbi
281
283
  - rbi/sentdm/models/webhook_list_events_params.rbi
@@ -401,6 +403,7 @@ files:
401
403
  - sig/sentdm/models/user_update_role_params.rbs
402
404
  - sig/sentdm/models/webhook_create_params.rbs
403
405
  - sig/sentdm/models/webhook_delete_params.rbs
406
+ - sig/sentdm/models/webhook_event_type.rbs
404
407
  - sig/sentdm/models/webhook_list_event_types_params.rbs
405
408
  - sig/sentdm/models/webhook_list_event_types_response.rbs
406
409
  - sig/sentdm/models/webhook_list_events_params.rbs