sentdm 0.42.1 → 0.44.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.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -0
  3. data/README.md +5 -5
  4. data/lib/sentdm/internal/calls_page.rb +25 -1
  5. data/lib/sentdm/internal/contacts_page.rb +25 -1
  6. data/lib/sentdm/internal/conversations_page.rb +25 -1
  7. data/lib/sentdm/internal/templates_page.rb +25 -1
  8. data/lib/sentdm/internal/voice_agents_page.rb +25 -1
  9. data/lib/sentdm/internal/webhook_events_page.rb +25 -1
  10. data/lib/sentdm/internal/webhooks_page.rb +25 -1
  11. data/lib/sentdm/models/message_resend_params.rb +32 -0
  12. data/lib/sentdm/models/message_send_response.rb +3 -4
  13. data/lib/sentdm/models.rb +4 -0
  14. data/lib/sentdm/resources/messages.rb +62 -1
  15. data/lib/sentdm/version.rb +1 -1
  16. data/lib/sentdm.rb +1 -0
  17. data/rbi/sentdm/internal/calls_page.rbi +51 -3
  18. data/rbi/sentdm/internal/contacts_page.rbi +51 -3
  19. data/rbi/sentdm/internal/conversations_page.rbi +51 -3
  20. data/rbi/sentdm/internal/templates_page.rbi +51 -3
  21. data/rbi/sentdm/internal/voice_agents_page.rbi +51 -3
  22. data/rbi/sentdm/internal/webhook_events_page.rbi +51 -3
  23. data/rbi/sentdm/internal/webhooks_page.rbi +51 -3
  24. data/rbi/sentdm/models/message_resend_params.rbi +59 -0
  25. data/rbi/sentdm/models/message_send_response.rbi +11 -22
  26. data/rbi/sentdm/models.rbi +4 -0
  27. data/rbi/sentdm/resources/messages.rbi +57 -1
  28. data/sig/sentdm/internal/calls_page.rbs +38 -3
  29. data/sig/sentdm/internal/contacts_page.rbs +38 -3
  30. data/sig/sentdm/internal/conversations_page.rbs +38 -3
  31. data/sig/sentdm/internal/templates_page.rbs +38 -3
  32. data/sig/sentdm/internal/voice_agents_page.rbs +38 -3
  33. data/sig/sentdm/internal/webhook_events_page.rbs +38 -3
  34. data/sig/sentdm/internal/webhooks_page.rbs +38 -3
  35. data/sig/sentdm/models/message_resend_params.rbs +38 -0
  36. data/sig/sentdm/models/message_send_response.rbs +10 -10
  37. data/sig/sentdm/models.rbs +4 -0
  38. data/sig/sentdm/resources/messages.rbs +9 -1
  39. metadata +5 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dd3b3bed92e98b1956bd019920853c3e129c80d3e1c7e7d2620c5900ae3ed704
4
- data.tar.gz: fecba2039a8648e24e75724cde8a36217760296de0e1374a466dfab20968cd44
3
+ metadata.gz: 46c6f38c1bac617a9d4b5f114cf1315c0165581995884399707a19b74db1d1c7
4
+ data.tar.gz: 9fd166f6b0d86b2fe8bba638891c98bcf80f77bbdd6a035aa9524ec5a666c239
5
5
  SHA512:
6
- metadata.gz: 447e13859d654e6ba7ca912ec279a3ae5b8a0e03639cd866d0df35f5dc7bd8273db34e0d4769f9861afce48ed1320fe2583475d1a4d22f513bb86678bbba383d
7
- data.tar.gz: cc688d4a9ceefdf327a8f09372ab8e14ae77cf94f25a5f662138cbb72a8ff8c656c5fd98ad289ce08bd43605929f31101b5a2dceacd4d4ca7c56826df4f89247
6
+ metadata.gz: e313815b9a52feac9bf9cc74368eec76805d90c4d4e83bdf01866e7ba837745fd8bb089b901ae602c3aec9041994aef97b66a74dae712ef5586b774f120eeb59
7
+ data.tar.gz: 473e10edb48f2d5c5c46df341966ca4db2bab6b024eb7e57369a474f816f8fa1490534287c58d3917d0a6c14b01a017ad329601d8ce0e052732ccfb5892ab953
data/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.44.0](https://github.com/sentdm/sent-dm-ruby/compare/v0.43.0...v0.44.0) (2026-11-04)
4
+
5
+
6
+ ### Features
7
+
8
+ * **pagination:** expose page, page_size, total_count and total_pages on every page model ([2403928](https://github.com/sentdm/sent-dm-ruby/commit/24039285c1ed89e4e7b3ec22e71ac984b590dcf3))
9
+
10
+ ## [0.43.0](https://github.com/sentdm/sent-dm-ruby/compare/v0.42.1...v0.43.0) (2026-11-03)
11
+
12
+
13
+ ### Features
14
+
15
+ * **api:** add messages.resend to resend a message on its id ([9a2f65f](https://github.com/sentdm/sent-dm-ruby/commit/9a2f65f47bee3c3dc784eb32fcb9a081f242ef50))
16
+
3
17
  ## [0.42.1](https://github.com/sentdm/sent-dm-ruby/compare/v0.42.0...v0.42.1) (2026-10-30)
4
18
 
5
19
 
data/README.md CHANGED
@@ -17,7 +17,7 @@ To use this gem, install via Bundler by adding the following to your application
17
17
  <!-- x-release-please-start-version -->
18
18
 
19
19
  ```ruby
20
- gem "sentdm", "~> 0.42.1"
20
+ gem "sentdm", "~> 0.44.0"
21
21
  ```
22
22
 
23
23
  <!-- x-release-please-end -->
@@ -32,7 +32,7 @@ sent = Sentdm::Client.new(
32
32
  api_key: ENV["SENT_DM_API_KEY"] # This is the default and can be omitted
33
33
  )
34
34
 
35
- response = sent.messages.send_(
35
+ message_send_response = sent.messages.send_(
36
36
  channel: ["sms", "whatsapp"],
37
37
  template: {
38
38
  id: "7ba7b820-9dad-11d1-80b4-00c04fd430c8",
@@ -42,7 +42,7 @@ response = sent.messages.send_(
42
42
  to: ["+14155551234", "+14155555678"]
43
43
  )
44
44
 
45
- puts(response.data)
45
+ puts(message_send_response.data)
46
46
  ```
47
47
 
48
48
  ### Pagination
@@ -192,7 +192,7 @@ You can send undocumented parameters to any endpoint, and read undocumented resp
192
192
  Note: the `extra_` parameters of the same name overrides the documented parameters.
193
193
 
194
194
  ```ruby
195
- response =
195
+ message_send_response =
196
196
  sent.messages.send_(
197
197
  channel: ["sms"],
198
198
  template: {
@@ -208,7 +208,7 @@ response =
208
208
  }
209
209
  )
210
210
 
211
- puts(response[:my_undocumented_property])
211
+ puts(message_send_response[:my_undocumented_property])
212
212
  ```
213
213
 
214
214
  #### Undocumented request params
@@ -106,8 +106,32 @@ module Sentdm
106
106
  # @return [Boolean, nil]
107
107
  optional :has_more, Sentdm::Internal::Type::Boolean
108
108
 
109
- # @!method initialize(has_more: nil)
109
+ # @!attribute page
110
+ #
111
+ # @return [Integer, nil]
112
+ optional :page, Integer
113
+
114
+ # @!attribute page_size
115
+ #
116
+ # @return [Integer, nil]
117
+ optional :page_size, Integer
118
+
119
+ # @!attribute total_count
120
+ #
121
+ # @return [Integer, nil]
122
+ optional :total_count, Integer
123
+
124
+ # @!attribute total_pages
125
+ #
126
+ # @return [Integer, nil]
127
+ optional :total_pages, Integer
128
+
129
+ # @!method initialize(has_more: nil, page: nil, page_size: nil, total_count: nil, total_pages: nil)
110
130
  # @param has_more [Boolean]
131
+ # @param page [Integer]
132
+ # @param page_size [Integer]
133
+ # @param total_count [Integer]
134
+ # @param total_pages [Integer]
111
135
  end
112
136
  end
113
137
  end
@@ -106,8 +106,32 @@ module Sentdm
106
106
  # @return [Boolean, nil]
107
107
  optional :has_more, Sentdm::Internal::Type::Boolean
108
108
 
109
- # @!method initialize(has_more: nil)
109
+ # @!attribute page
110
+ #
111
+ # @return [Integer, nil]
112
+ optional :page, Integer
113
+
114
+ # @!attribute page_size
115
+ #
116
+ # @return [Integer, nil]
117
+ optional :page_size, Integer
118
+
119
+ # @!attribute total_count
120
+ #
121
+ # @return [Integer, nil]
122
+ optional :total_count, Integer
123
+
124
+ # @!attribute total_pages
125
+ #
126
+ # @return [Integer, nil]
127
+ optional :total_pages, Integer
128
+
129
+ # @!method initialize(has_more: nil, page: nil, page_size: nil, total_count: nil, total_pages: nil)
110
130
  # @param has_more [Boolean]
131
+ # @param page [Integer]
132
+ # @param page_size [Integer]
133
+ # @param total_count [Integer]
134
+ # @param total_pages [Integer]
111
135
  end
112
136
  end
113
137
  end
@@ -106,8 +106,32 @@ module Sentdm
106
106
  # @return [Boolean, nil]
107
107
  optional :has_more, Sentdm::Internal::Type::Boolean
108
108
 
109
- # @!method initialize(has_more: nil)
109
+ # @!attribute page
110
+ #
111
+ # @return [Integer, nil]
112
+ optional :page, Integer
113
+
114
+ # @!attribute page_size
115
+ #
116
+ # @return [Integer, nil]
117
+ optional :page_size, Integer
118
+
119
+ # @!attribute total_count
120
+ #
121
+ # @return [Integer, nil]
122
+ optional :total_count, Integer
123
+
124
+ # @!attribute total_pages
125
+ #
126
+ # @return [Integer, nil]
127
+ optional :total_pages, Integer
128
+
129
+ # @!method initialize(has_more: nil, page: nil, page_size: nil, total_count: nil, total_pages: nil)
110
130
  # @param has_more [Boolean]
131
+ # @param page [Integer]
132
+ # @param page_size [Integer]
133
+ # @param total_count [Integer]
134
+ # @param total_pages [Integer]
111
135
  end
112
136
  end
113
137
  end
@@ -106,8 +106,32 @@ module Sentdm
106
106
  # @return [Boolean, nil]
107
107
  optional :has_more, Sentdm::Internal::Type::Boolean
108
108
 
109
- # @!method initialize(has_more: nil)
109
+ # @!attribute page
110
+ #
111
+ # @return [Integer, nil]
112
+ optional :page, Integer
113
+
114
+ # @!attribute page_size
115
+ #
116
+ # @return [Integer, nil]
117
+ optional :page_size, Integer
118
+
119
+ # @!attribute total_count
120
+ #
121
+ # @return [Integer, nil]
122
+ optional :total_count, Integer
123
+
124
+ # @!attribute total_pages
125
+ #
126
+ # @return [Integer, nil]
127
+ optional :total_pages, Integer
128
+
129
+ # @!method initialize(has_more: nil, page: nil, page_size: nil, total_count: nil, total_pages: nil)
110
130
  # @param has_more [Boolean]
131
+ # @param page [Integer]
132
+ # @param page_size [Integer]
133
+ # @param total_count [Integer]
134
+ # @param total_pages [Integer]
111
135
  end
112
136
  end
113
137
  end
@@ -106,8 +106,32 @@ module Sentdm
106
106
  # @return [Boolean, nil]
107
107
  optional :has_more, Sentdm::Internal::Type::Boolean
108
108
 
109
- # @!method initialize(has_more: nil)
109
+ # @!attribute page
110
+ #
111
+ # @return [Integer, nil]
112
+ optional :page, Integer
113
+
114
+ # @!attribute page_size
115
+ #
116
+ # @return [Integer, nil]
117
+ optional :page_size, Integer
118
+
119
+ # @!attribute total_count
120
+ #
121
+ # @return [Integer, nil]
122
+ optional :total_count, Integer
123
+
124
+ # @!attribute total_pages
125
+ #
126
+ # @return [Integer, nil]
127
+ optional :total_pages, Integer
128
+
129
+ # @!method initialize(has_more: nil, page: nil, page_size: nil, total_count: nil, total_pages: nil)
110
130
  # @param has_more [Boolean]
131
+ # @param page [Integer]
132
+ # @param page_size [Integer]
133
+ # @param total_count [Integer]
134
+ # @param total_pages [Integer]
111
135
  end
112
136
  end
113
137
  end
@@ -106,8 +106,32 @@ module Sentdm
106
106
  # @return [Boolean, nil]
107
107
  optional :has_more, Sentdm::Internal::Type::Boolean
108
108
 
109
- # @!method initialize(has_more: nil)
109
+ # @!attribute page
110
+ #
111
+ # @return [Integer, nil]
112
+ optional :page, Integer
113
+
114
+ # @!attribute page_size
115
+ #
116
+ # @return [Integer, nil]
117
+ optional :page_size, Integer
118
+
119
+ # @!attribute total_count
120
+ #
121
+ # @return [Integer, nil]
122
+ optional :total_count, Integer
123
+
124
+ # @!attribute total_pages
125
+ #
126
+ # @return [Integer, nil]
127
+ optional :total_pages, Integer
128
+
129
+ # @!method initialize(has_more: nil, page: nil, page_size: nil, total_count: nil, total_pages: nil)
110
130
  # @param has_more [Boolean]
131
+ # @param page [Integer]
132
+ # @param page_size [Integer]
133
+ # @param total_count [Integer]
134
+ # @param total_pages [Integer]
111
135
  end
112
136
  end
113
137
  end
@@ -106,8 +106,32 @@ module Sentdm
106
106
  # @return [Boolean, nil]
107
107
  optional :has_more, Sentdm::Internal::Type::Boolean
108
108
 
109
- # @!method initialize(has_more: nil)
109
+ # @!attribute page
110
+ #
111
+ # @return [Integer, nil]
112
+ optional :page, Integer
113
+
114
+ # @!attribute page_size
115
+ #
116
+ # @return [Integer, nil]
117
+ optional :page_size, Integer
118
+
119
+ # @!attribute total_count
120
+ #
121
+ # @return [Integer, nil]
122
+ optional :total_count, Integer
123
+
124
+ # @!attribute total_pages
125
+ #
126
+ # @return [Integer, nil]
127
+ optional :total_pages, Integer
128
+
129
+ # @!method initialize(has_more: nil, page: nil, page_size: nil, total_count: nil, total_pages: nil)
110
130
  # @param has_more [Boolean]
131
+ # @param page [Integer]
132
+ # @param page_size [Integer]
133
+ # @param total_count [Integer]
134
+ # @param total_pages [Integer]
111
135
  end
112
136
  end
113
137
  end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ # @see Sentdm::Resources::Messages#resend
6
+ class MessageResendParams < Sentdm::Models::MutationRequest
7
+ extend Sentdm::Internal::Type::RequestParameters::Converter
8
+ include Sentdm::Internal::Type::RequestParameters
9
+
10
+ # @!attribute id
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
15
+ # @!attribute idempotency_key
16
+ #
17
+ # @return [String, nil]
18
+ optional :idempotency_key, String
19
+
20
+ # @!attribute x_profile_id
21
+ #
22
+ # @return [String, nil]
23
+ optional :x_profile_id, String
24
+
25
+ # @!method initialize(id:, idempotency_key: nil, x_profile_id: nil, request_options: {})
26
+ # @param id [String]
27
+ # @param idempotency_key [String]
28
+ # @param x_profile_id [String]
29
+ # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
30
+ end
31
+ end
32
+ end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Sentdm
4
4
  module Models
5
- # @see Sentdm::Resources::Messages#send_
5
+ # @see Sentdm::Resources::Messages#resend
6
6
  class MessageSendResponse < Sentdm::Internal::Type::BaseModel
7
7
  # @!attribute data
8
8
  # The result of a multi-recipient send.
@@ -19,7 +19,7 @@ module Sentdm
19
19
  # which of the two to answer with. From always returns this type.
20
20
  #
21
21
  # @return [Sentdm::Models::MessageSendResponse::Data, nil]
22
- optional :data, -> { Sentdm::Models::MessageSendResponse::Data }, nil?: true
22
+ optional :data, -> { Sentdm::MessageSendResponse::Data }, nil?: true
23
23
 
24
24
  # @!attribute error
25
25
  # Error information
@@ -58,8 +58,7 @@ module Sentdm
58
58
  # @!attribute recipients
59
59
  #
60
60
  # @return [Array<Sentdm::Models::MessageSendResponse::Data::Recipient>, nil]
61
- optional :recipients,
62
- -> { Sentdm::Internal::Type::ArrayOf[Sentdm::Models::MessageSendResponse::Data::Recipient] }
61
+ optional :recipients, -> { Sentdm::Internal::Type::ArrayOf[Sentdm::MessageSendResponse::Data::Recipient] }
63
62
 
64
63
  # @!attribute status
65
64
  # QUEUED: the batch is accepted. A request that carried scheduled_at is QUEUED
data/lib/sentdm/models.rb CHANGED
@@ -117,12 +117,16 @@ module Sentdm
117
117
 
118
118
  MessageEventPayload = Sentdm::Models::MessageEventPayload
119
119
 
120
+ MessageResendParams = Sentdm::Models::MessageResendParams
121
+
120
122
  MessageRetrieveActivitiesParams = Sentdm::Models::MessageRetrieveActivitiesParams
121
123
 
122
124
  MessageRetrieveStatusParams = Sentdm::Models::MessageRetrieveStatusParams
123
125
 
124
126
  MessageSendParams = Sentdm::Models::MessageSendParams
125
127
 
128
+ MessageSendResponse = Sentdm::Models::MessageSendResponse
129
+
126
130
  MutationRequest = Sentdm::Models::MutationRequest
127
131
 
128
132
  NumberLookupParams = Sentdm::Models::NumberLookupParams
@@ -25,6 +25,67 @@ module Sentdm
25
25
  # released yet. Cancelling is free, fires `message.cancelled`, and is final — a
26
26
  # cancelled message cannot be resent.
27
27
  class Messages
28
+ # Some parameter documentations has been truncated, see
29
+ # {Sentdm::Models::MessageResendParams} for more details.
30
+ #
31
+ # Resends a message you already sent, on the same message id, without rebuilding
32
+ # the request. The typical use is recovering a BLOCKED message — for example one
33
+ # refused for insufficient balance — after the account has been topped up.
34
+ #
35
+ # **A resend bills again.** Each accepted resend is a new delivery attempt and
36
+ # records a new charge against the same message id; a client that resends on every
37
+ # failure is charged on every loop.
38
+ #
39
+ # **Every policy runs again.** The resend goes back through the full send pipeline
40
+ # — consent, balance, KYC and channel quota, template approval, quiet hours and
41
+ # channel health — so it can land on BLOCKED, FILTERED or SCHEDULED again rather
42
+ # than being sent, exactly as a fresh send would. Status webhooks (message.sent,
43
+ # message.blocked, message.filtered, message.failed) fire again for the same
44
+ # message id, so consumers keyed on the id will see repeated transitions.
45
+ #
46
+ # **What can be resent.** A message in a terminal state — DELIVERED, FAILED, READ
47
+ # or BLOCKED — or one stuck at SENT for more than 15 minutes. A FILTERED message
48
+ # can never be resent: the recipient opted out or a routing rule refused the send.
49
+ # A message still in flight (QUEUED, PROCESSED, ROUTED), held for quiet hours
50
+ # (SCHEDULED), or SENT less than 15 minutes ago returns 409. Two concurrent
51
+ # resends of one id are serialised: one is accepted, the other gets 409.
52
+ #
53
+ # The resend keeps the channel the message was originally requested on; the
54
+ # channel cannot be changed on a resend — send a new message instead.
55
+ # `Idempotency-Key` is honoured, so a retried request replays the first accepted
56
+ # response instead of resending twice.
57
+ #
58
+ # The response has the same shape as `POST /v3/messages`: `recipients` has a
59
+ # single entry whose `message_id` is the id you resent.
60
+ #
61
+ # @overload resend(id, sandbox: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
62
+ #
63
+ # @param id [String] Path param: Message ID
64
+ #
65
+ # @param sandbox [Boolean] Body param: Sandbox flag - when true, the operation is simulated without side ef
66
+ #
67
+ # @param idempotency_key [String] Header param: Unique key to ensure idempotent request processing. Must be 1-255
68
+ #
69
+ # @param x_profile_id [String] Header param: Profile UUID to scope the request to a child profile. Only organiz
70
+ #
71
+ # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
72
+ #
73
+ # @return [Sentdm::Models::MessageSendResponse]
74
+ #
75
+ # @see Sentdm::Models::MessageResendParams
76
+ def resend(id, params = {})
77
+ parsed, options = Sentdm::MessageResendParams.dump_request(params)
78
+ header_params = {idempotency_key: "idempotency-key", x_profile_id: "x-profile-id"}
79
+ @client.request(
80
+ method: :post,
81
+ path: ["v3/messages/%1$s/resend", id],
82
+ headers: parsed.slice(*header_params.keys).transform_keys(header_params),
83
+ body: parsed.except(*header_params.keys),
84
+ model: Sentdm::MessageSendResponse,
85
+ options: options
86
+ )
87
+ end
88
+
28
89
  # Some parameter documentations has been truncated, see
29
90
  # {Sentdm::Models::MessageRetrieveActivitiesParams} for more details.
30
91
  #
@@ -163,7 +224,7 @@ module Sentdm
163
224
  path: "v3/messages",
164
225
  headers: parsed.slice(*header_params.keys).transform_keys(header_params),
165
226
  body: parsed.except(*header_params.keys),
166
- model: Sentdm::Models::MessageSendResponse,
227
+ model: Sentdm::MessageSendResponse,
167
228
  options: options
168
229
  )
169
230
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Sentdm
4
- VERSION = "0.42.1"
4
+ VERSION = "0.44.0"
5
5
  end
data/lib/sentdm.rb CHANGED
@@ -118,6 +118,7 @@ require_relative "sentdm/models/me_retrieve_params"
118
118
  require_relative "sentdm/models/me_retrieve_response"
119
119
  require_relative "sentdm/models/message_event"
120
120
  require_relative "sentdm/models/message_event_payload"
121
+ require_relative "sentdm/models/message_resend_params"
121
122
  require_relative "sentdm/models/message_retrieve_activities_params"
122
123
  require_relative "sentdm/models/message_retrieve_activities_response"
123
124
  require_relative "sentdm/models/message_retrieve_status_params"
@@ -57,11 +57,59 @@ module Sentdm
57
57
  sig { params(has_more: T::Boolean).void }
58
58
  attr_writer :has_more
59
59
 
60
- sig { params(has_more: T::Boolean).returns(T.attached_class) }
61
- def self.new(has_more: nil)
60
+ sig { returns(T.nilable(Integer)) }
61
+ attr_reader :page
62
+
63
+ sig { params(page: Integer).void }
64
+ attr_writer :page
65
+
66
+ sig { returns(T.nilable(Integer)) }
67
+ attr_reader :page_size
68
+
69
+ sig { params(page_size: Integer).void }
70
+ attr_writer :page_size
71
+
72
+ sig { returns(T.nilable(Integer)) }
73
+ attr_reader :total_count
74
+
75
+ sig { params(total_count: Integer).void }
76
+ attr_writer :total_count
77
+
78
+ sig { returns(T.nilable(Integer)) }
79
+ attr_reader :total_pages
80
+
81
+ sig { params(total_pages: Integer).void }
82
+ attr_writer :total_pages
83
+
84
+ sig do
85
+ params(
86
+ has_more: T::Boolean,
87
+ page: Integer,
88
+ page_size: Integer,
89
+ total_count: Integer,
90
+ total_pages: Integer
91
+ ).returns(T.attached_class)
92
+ end
93
+ def self.new(
94
+ has_more: nil,
95
+ page: nil,
96
+ page_size: nil,
97
+ total_count: nil,
98
+ total_pages: nil
99
+ )
62
100
  end
63
101
 
64
- sig { override.returns({ has_more: T::Boolean }) }
102
+ sig do
103
+ override.returns(
104
+ {
105
+ has_more: T::Boolean,
106
+ page: Integer,
107
+ page_size: Integer,
108
+ total_count: Integer,
109
+ total_pages: Integer
110
+ }
111
+ )
112
+ end
65
113
  def to_hash
66
114
  end
67
115
  end
@@ -57,11 +57,59 @@ module Sentdm
57
57
  sig { params(has_more: T::Boolean).void }
58
58
  attr_writer :has_more
59
59
 
60
- sig { params(has_more: T::Boolean).returns(T.attached_class) }
61
- def self.new(has_more: nil)
60
+ sig { returns(T.nilable(Integer)) }
61
+ attr_reader :page
62
+
63
+ sig { params(page: Integer).void }
64
+ attr_writer :page
65
+
66
+ sig { returns(T.nilable(Integer)) }
67
+ attr_reader :page_size
68
+
69
+ sig { params(page_size: Integer).void }
70
+ attr_writer :page_size
71
+
72
+ sig { returns(T.nilable(Integer)) }
73
+ attr_reader :total_count
74
+
75
+ sig { params(total_count: Integer).void }
76
+ attr_writer :total_count
77
+
78
+ sig { returns(T.nilable(Integer)) }
79
+ attr_reader :total_pages
80
+
81
+ sig { params(total_pages: Integer).void }
82
+ attr_writer :total_pages
83
+
84
+ sig do
85
+ params(
86
+ has_more: T::Boolean,
87
+ page: Integer,
88
+ page_size: Integer,
89
+ total_count: Integer,
90
+ total_pages: Integer
91
+ ).returns(T.attached_class)
92
+ end
93
+ def self.new(
94
+ has_more: nil,
95
+ page: nil,
96
+ page_size: nil,
97
+ total_count: nil,
98
+ total_pages: nil
99
+ )
62
100
  end
63
101
 
64
- sig { override.returns({ has_more: T::Boolean }) }
102
+ sig do
103
+ override.returns(
104
+ {
105
+ has_more: T::Boolean,
106
+ page: Integer,
107
+ page_size: Integer,
108
+ total_count: Integer,
109
+ total_pages: Integer
110
+ }
111
+ )
112
+ end
65
113
  def to_hash
66
114
  end
67
115
  end
@@ -57,11 +57,59 @@ module Sentdm
57
57
  sig { params(has_more: T::Boolean).void }
58
58
  attr_writer :has_more
59
59
 
60
- sig { params(has_more: T::Boolean).returns(T.attached_class) }
61
- def self.new(has_more: nil)
60
+ sig { returns(T.nilable(Integer)) }
61
+ attr_reader :page
62
+
63
+ sig { params(page: Integer).void }
64
+ attr_writer :page
65
+
66
+ sig { returns(T.nilable(Integer)) }
67
+ attr_reader :page_size
68
+
69
+ sig { params(page_size: Integer).void }
70
+ attr_writer :page_size
71
+
72
+ sig { returns(T.nilable(Integer)) }
73
+ attr_reader :total_count
74
+
75
+ sig { params(total_count: Integer).void }
76
+ attr_writer :total_count
77
+
78
+ sig { returns(T.nilable(Integer)) }
79
+ attr_reader :total_pages
80
+
81
+ sig { params(total_pages: Integer).void }
82
+ attr_writer :total_pages
83
+
84
+ sig do
85
+ params(
86
+ has_more: T::Boolean,
87
+ page: Integer,
88
+ page_size: Integer,
89
+ total_count: Integer,
90
+ total_pages: Integer
91
+ ).returns(T.attached_class)
92
+ end
93
+ def self.new(
94
+ has_more: nil,
95
+ page: nil,
96
+ page_size: nil,
97
+ total_count: nil,
98
+ total_pages: nil
99
+ )
62
100
  end
63
101
 
64
- sig { override.returns({ has_more: T::Boolean }) }
102
+ sig do
103
+ override.returns(
104
+ {
105
+ has_more: T::Boolean,
106
+ page: Integer,
107
+ page_size: Integer,
108
+ total_count: Integer,
109
+ total_pages: Integer
110
+ }
111
+ )
112
+ end
65
113
  def to_hash
66
114
  end
67
115
  end