activitysmith 1.13.0 → 1.14.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 +4 -4
- data/README.md +27 -5
- data/generated/activitysmith_openapi/api/push_notifications_api.rb +80 -2
- data/generated/activitysmith_openapi/models/app_icon_badge_count_update_response.rb +34 -4
- data/generated/activitysmith_openapi/models/live_activity_end_response.rb +64 -4
- data/generated/activitysmith_openapi/models/live_activity_start_response.rb +35 -4
- data/generated/activitysmith_openapi/models/live_activity_stream_delete_response.rb +53 -4
- data/generated/activitysmith_openapi/models/live_activity_stream_put_response.rb +54 -4
- data/generated/activitysmith_openapi/models/live_activity_update_response.rb +76 -4
- data/generated/activitysmith_openapi/models/push_notification_replace_request.rb +434 -0
- data/generated/activitysmith_openapi/models/push_notification_replace_response.rb +298 -0
- data/generated/activitysmith_openapi/models/push_notification_response.rb +63 -4
- data/generated/activitysmith_openapi.rb +2 -0
- data/generated/openapi-source.json +2 -2
- data/lib/activitysmith/notifications.rb +12 -0
- data/lib/activitysmith/version.rb +1 -1
- metadata +4 -2
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#ActivitySmith API
|
|
3
|
+
|
|
4
|
+
#Send push notifications and Live Activities to your own devices via a single API key.
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.0
|
|
7
|
+
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.7.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'date'
|
|
14
|
+
require 'time'
|
|
15
|
+
|
|
16
|
+
module OpenapiClient
|
|
17
|
+
# Apple APNs acceptance result for the replacement. Acceptance does not confirm device delivery or presentation.
|
|
18
|
+
class PushNotificationReplaceResponse
|
|
19
|
+
# True when APNs accepts the replacement for at least one device.
|
|
20
|
+
attr_accessor :success
|
|
21
|
+
|
|
22
|
+
# ID of the replaced Push Notification. It stays the same, so you can replace it again.
|
|
23
|
+
attr_accessor :notification_id
|
|
24
|
+
|
|
25
|
+
# Number of device tokens for which APNs accepted the notification, without confirming on-device delivery.
|
|
26
|
+
attr_accessor :devices_notified
|
|
27
|
+
|
|
28
|
+
attr_accessor :users_notified
|
|
29
|
+
|
|
30
|
+
attr_accessor :effective_channel_slugs
|
|
31
|
+
|
|
32
|
+
# Optional tags to organize and filter notification history.
|
|
33
|
+
attr_accessor :tags
|
|
34
|
+
|
|
35
|
+
attr_accessor :timestamp
|
|
36
|
+
|
|
37
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
|
38
|
+
def self.attribute_map
|
|
39
|
+
{
|
|
40
|
+
:'success' => :'success',
|
|
41
|
+
:'notification_id' => :'notification_id',
|
|
42
|
+
:'devices_notified' => :'devices_notified',
|
|
43
|
+
:'users_notified' => :'users_notified',
|
|
44
|
+
:'effective_channel_slugs' => :'effective_channel_slugs',
|
|
45
|
+
:'tags' => :'tags',
|
|
46
|
+
:'timestamp' => :'timestamp'
|
|
47
|
+
}
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# Returns all the JSON keys this model knows about
|
|
51
|
+
def self.acceptable_attributes
|
|
52
|
+
attribute_map.values
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
# Attribute type mapping.
|
|
56
|
+
def self.openapi_types
|
|
57
|
+
{
|
|
58
|
+
:'success' => :'Boolean',
|
|
59
|
+
:'notification_id' => :'String',
|
|
60
|
+
:'devices_notified' => :'Integer',
|
|
61
|
+
:'users_notified' => :'Integer',
|
|
62
|
+
:'effective_channel_slugs' => :'Array<String>',
|
|
63
|
+
:'tags' => :'Array<String>',
|
|
64
|
+
:'timestamp' => :'Time'
|
|
65
|
+
}
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
# List of attributes with nullable: true
|
|
69
|
+
def self.openapi_nullable
|
|
70
|
+
Set.new([
|
|
71
|
+
])
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
# Initializes the object
|
|
75
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
76
|
+
def initialize(attributes = {})
|
|
77
|
+
if (!attributes.is_a?(Hash))
|
|
78
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `OpenapiClient::PushNotificationReplaceResponse` initialize method"
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
|
82
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
83
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
|
84
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `OpenapiClient::PushNotificationReplaceResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
|
85
|
+
end
|
|
86
|
+
h[k.to_sym] = v
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
if attributes.key?(:'success')
|
|
90
|
+
self.success = attributes[:'success']
|
|
91
|
+
else
|
|
92
|
+
self.success = nil
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
if attributes.key?(:'notification_id')
|
|
96
|
+
self.notification_id = attributes[:'notification_id']
|
|
97
|
+
else
|
|
98
|
+
self.notification_id = nil
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
if attributes.key?(:'devices_notified')
|
|
102
|
+
self.devices_notified = attributes[:'devices_notified']
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
if attributes.key?(:'users_notified')
|
|
106
|
+
self.users_notified = attributes[:'users_notified']
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
if attributes.key?(:'effective_channel_slugs')
|
|
110
|
+
if (value = attributes[:'effective_channel_slugs']).is_a?(Array)
|
|
111
|
+
self.effective_channel_slugs = value
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
if attributes.key?(:'tags')
|
|
116
|
+
if (value = attributes[:'tags']).is_a?(Array)
|
|
117
|
+
self.tags = value
|
|
118
|
+
end
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
if attributes.key?(:'timestamp')
|
|
122
|
+
self.timestamp = attributes[:'timestamp']
|
|
123
|
+
else
|
|
124
|
+
self.timestamp = nil
|
|
125
|
+
end
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
|
129
|
+
# @return Array for valid properties with the reasons
|
|
130
|
+
def list_invalid_properties
|
|
131
|
+
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
|
132
|
+
invalid_properties = Array.new
|
|
133
|
+
if @success.nil?
|
|
134
|
+
invalid_properties.push('invalid value for "success", success cannot be nil.')
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
if @notification_id.nil?
|
|
138
|
+
invalid_properties.push('invalid value for "notification_id", notification_id cannot be nil.')
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
if @timestamp.nil?
|
|
142
|
+
invalid_properties.push('invalid value for "timestamp", timestamp cannot be nil.')
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
invalid_properties
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
# Check to see if the all the properties in the model are valid
|
|
149
|
+
# @return true if the model is valid
|
|
150
|
+
def valid?
|
|
151
|
+
warn '[DEPRECATED] the `valid?` method is obsolete'
|
|
152
|
+
return false if @success.nil?
|
|
153
|
+
return false if @notification_id.nil?
|
|
154
|
+
return false if @timestamp.nil?
|
|
155
|
+
true
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
# Checks equality by comparing each attribute.
|
|
159
|
+
# @param [Object] Object to be compared
|
|
160
|
+
def ==(o)
|
|
161
|
+
return true if self.equal?(o)
|
|
162
|
+
self.class == o.class &&
|
|
163
|
+
success == o.success &&
|
|
164
|
+
notification_id == o.notification_id &&
|
|
165
|
+
devices_notified == o.devices_notified &&
|
|
166
|
+
users_notified == o.users_notified &&
|
|
167
|
+
effective_channel_slugs == o.effective_channel_slugs &&
|
|
168
|
+
tags == o.tags &&
|
|
169
|
+
timestamp == o.timestamp
|
|
170
|
+
end
|
|
171
|
+
|
|
172
|
+
# @see the `==` method
|
|
173
|
+
# @param [Object] Object to be compared
|
|
174
|
+
def eql?(o)
|
|
175
|
+
self == o
|
|
176
|
+
end
|
|
177
|
+
|
|
178
|
+
# Calculates hash code according to all attributes.
|
|
179
|
+
# @return [Integer] Hash code
|
|
180
|
+
def hash
|
|
181
|
+
[success, notification_id, devices_notified, users_notified, effective_channel_slugs, tags, timestamp].hash
|
|
182
|
+
end
|
|
183
|
+
|
|
184
|
+
# Builds the object from hash
|
|
185
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
186
|
+
# @return [Object] Returns the model itself
|
|
187
|
+
def self.build_from_hash(attributes)
|
|
188
|
+
return nil unless attributes.is_a?(Hash)
|
|
189
|
+
attributes = attributes.transform_keys(&:to_sym)
|
|
190
|
+
transformed_hash = {}
|
|
191
|
+
openapi_types.each_pair do |key, type|
|
|
192
|
+
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
|
|
193
|
+
transformed_hash["#{key}"] = nil
|
|
194
|
+
elsif type =~ /\AArray<(.*)>/i
|
|
195
|
+
# check to ensure the input is an array given that the attribute
|
|
196
|
+
# is documented as an array but the input is not
|
|
197
|
+
if attributes[attribute_map[key]].is_a?(Array)
|
|
198
|
+
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
|
|
199
|
+
end
|
|
200
|
+
elsif !attributes[attribute_map[key]].nil?
|
|
201
|
+
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
|
|
202
|
+
end
|
|
203
|
+
end
|
|
204
|
+
new(transformed_hash)
|
|
205
|
+
end
|
|
206
|
+
|
|
207
|
+
# Deserializes the data based on type
|
|
208
|
+
# @param string type Data type
|
|
209
|
+
# @param string value Value to be deserialized
|
|
210
|
+
# @return [Object] Deserialized data
|
|
211
|
+
def self._deserialize(type, value)
|
|
212
|
+
case type.to_sym
|
|
213
|
+
when :Time
|
|
214
|
+
Time.parse(value)
|
|
215
|
+
when :Date
|
|
216
|
+
Date.parse(value)
|
|
217
|
+
when :String
|
|
218
|
+
value.to_s
|
|
219
|
+
when :Integer
|
|
220
|
+
value.to_i
|
|
221
|
+
when :Float
|
|
222
|
+
value.to_f
|
|
223
|
+
when :Boolean
|
|
224
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
|
225
|
+
true
|
|
226
|
+
else
|
|
227
|
+
false
|
|
228
|
+
end
|
|
229
|
+
when :Object
|
|
230
|
+
# generic object (usually a Hash), return directly
|
|
231
|
+
value
|
|
232
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
|
233
|
+
inner_type = Regexp.last_match[:inner_type]
|
|
234
|
+
value.map { |v| _deserialize(inner_type, v) }
|
|
235
|
+
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
|
236
|
+
k_type = Regexp.last_match[:k_type]
|
|
237
|
+
v_type = Regexp.last_match[:v_type]
|
|
238
|
+
{}.tap do |hash|
|
|
239
|
+
value.each do |k, v|
|
|
240
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
241
|
+
end
|
|
242
|
+
end
|
|
243
|
+
else # model
|
|
244
|
+
# models (e.g. Pet) or oneOf
|
|
245
|
+
klass = OpenapiClient.const_get(type)
|
|
246
|
+
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
247
|
+
end
|
|
248
|
+
end
|
|
249
|
+
|
|
250
|
+
# Returns the string representation of the object
|
|
251
|
+
# @return [String] String presentation of the object
|
|
252
|
+
def to_s
|
|
253
|
+
to_hash.to_s
|
|
254
|
+
end
|
|
255
|
+
|
|
256
|
+
# to_body is an alias to to_hash (backward compatibility)
|
|
257
|
+
# @return [Hash] Returns the object in the form of hash
|
|
258
|
+
def to_body
|
|
259
|
+
to_hash
|
|
260
|
+
end
|
|
261
|
+
|
|
262
|
+
# Returns the object in the form of hash
|
|
263
|
+
# @return [Hash] Returns the object in the form of hash
|
|
264
|
+
def to_hash
|
|
265
|
+
hash = {}
|
|
266
|
+
self.class.attribute_map.each_pair do |attr, param|
|
|
267
|
+
value = self.send(attr)
|
|
268
|
+
if value.nil?
|
|
269
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
|
270
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
|
271
|
+
end
|
|
272
|
+
|
|
273
|
+
hash[param] = _to_hash(value)
|
|
274
|
+
end
|
|
275
|
+
hash
|
|
276
|
+
end
|
|
277
|
+
|
|
278
|
+
# Outputs non-array value in the form of hash
|
|
279
|
+
# For object, use to_hash. Otherwise, just return the value
|
|
280
|
+
# @param [Object] value Any valid value
|
|
281
|
+
# @return [Hash] Returns the value in the form of hash
|
|
282
|
+
def _to_hash(value)
|
|
283
|
+
if value.is_a?(Array)
|
|
284
|
+
value.compact.map { |v| _to_hash(v) }
|
|
285
|
+
elsif value.is_a?(Hash)
|
|
286
|
+
{}.tap do |hash|
|
|
287
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
288
|
+
end
|
|
289
|
+
elsif value.respond_to? :to_hash
|
|
290
|
+
value.to_hash
|
|
291
|
+
else
|
|
292
|
+
value
|
|
293
|
+
end
|
|
294
|
+
end
|
|
295
|
+
|
|
296
|
+
end
|
|
297
|
+
|
|
298
|
+
end
|
|
@@ -19,6 +19,9 @@ module OpenapiClient
|
|
|
19
19
|
# True when APNs accepts the notification for at least one targeted device.
|
|
20
20
|
attr_accessor :success
|
|
21
21
|
|
|
22
|
+
# ID of this Push Notification. Pass it to `PUT /push-notification/{notification_id}` to replace the notification later.
|
|
23
|
+
attr_accessor :notification_id
|
|
24
|
+
|
|
22
25
|
# Number of device tokens for which APNs accepted the notification, without confirming on-device delivery.
|
|
23
26
|
attr_accessor :devices_notified
|
|
24
27
|
|
|
@@ -31,15 +34,35 @@ module OpenapiClient
|
|
|
31
34
|
|
|
32
35
|
attr_accessor :timestamp
|
|
33
36
|
|
|
37
|
+
# Number of device tokens targeted.
|
|
38
|
+
attr_accessor :devices_targeted
|
|
39
|
+
|
|
40
|
+
# Number of device tokens deactivated because APNs reported them unregistered.
|
|
41
|
+
attr_accessor :devices_deactivated
|
|
42
|
+
|
|
43
|
+
# Number of targeted device tokens APNs reported as unregistered.
|
|
44
|
+
attr_accessor :devices_unregistered
|
|
45
|
+
|
|
46
|
+
# True when the request was an integration connection test and no paired devices were available.
|
|
47
|
+
attr_accessor :credential_test
|
|
48
|
+
|
|
49
|
+
attr_accessor :message
|
|
50
|
+
|
|
34
51
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
35
52
|
def self.attribute_map
|
|
36
53
|
{
|
|
37
54
|
:'success' => :'success',
|
|
55
|
+
:'notification_id' => :'notification_id',
|
|
38
56
|
:'devices_notified' => :'devices_notified',
|
|
39
57
|
:'users_notified' => :'users_notified',
|
|
40
58
|
:'effective_channel_slugs' => :'effective_channel_slugs',
|
|
41
59
|
:'tags' => :'tags',
|
|
42
|
-
:'timestamp' => :'timestamp'
|
|
60
|
+
:'timestamp' => :'timestamp',
|
|
61
|
+
:'devices_targeted' => :'devices_targeted',
|
|
62
|
+
:'devices_deactivated' => :'devices_deactivated',
|
|
63
|
+
:'devices_unregistered' => :'devices_unregistered',
|
|
64
|
+
:'credential_test' => :'credential_test',
|
|
65
|
+
:'message' => :'message'
|
|
43
66
|
}
|
|
44
67
|
end
|
|
45
68
|
|
|
@@ -52,11 +75,17 @@ module OpenapiClient
|
|
|
52
75
|
def self.openapi_types
|
|
53
76
|
{
|
|
54
77
|
:'success' => :'Boolean',
|
|
78
|
+
:'notification_id' => :'String',
|
|
55
79
|
:'devices_notified' => :'Integer',
|
|
56
80
|
:'users_notified' => :'Integer',
|
|
57
81
|
:'effective_channel_slugs' => :'Array<String>',
|
|
58
82
|
:'tags' => :'Array<String>',
|
|
59
|
-
:'timestamp' => :'Time'
|
|
83
|
+
:'timestamp' => :'Time',
|
|
84
|
+
:'devices_targeted' => :'Integer',
|
|
85
|
+
:'devices_deactivated' => :'Integer',
|
|
86
|
+
:'devices_unregistered' => :'Integer',
|
|
87
|
+
:'credential_test' => :'Boolean',
|
|
88
|
+
:'message' => :'String'
|
|
60
89
|
}
|
|
61
90
|
end
|
|
62
91
|
|
|
@@ -87,6 +116,10 @@ module OpenapiClient
|
|
|
87
116
|
self.success = nil
|
|
88
117
|
end
|
|
89
118
|
|
|
119
|
+
if attributes.key?(:'notification_id')
|
|
120
|
+
self.notification_id = attributes[:'notification_id']
|
|
121
|
+
end
|
|
122
|
+
|
|
90
123
|
if attributes.key?(:'devices_notified')
|
|
91
124
|
self.devices_notified = attributes[:'devices_notified']
|
|
92
125
|
end
|
|
@@ -112,6 +145,26 @@ module OpenapiClient
|
|
|
112
145
|
else
|
|
113
146
|
self.timestamp = nil
|
|
114
147
|
end
|
|
148
|
+
|
|
149
|
+
if attributes.key?(:'devices_targeted')
|
|
150
|
+
self.devices_targeted = attributes[:'devices_targeted']
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
if attributes.key?(:'devices_deactivated')
|
|
154
|
+
self.devices_deactivated = attributes[:'devices_deactivated']
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
if attributes.key?(:'devices_unregistered')
|
|
158
|
+
self.devices_unregistered = attributes[:'devices_unregistered']
|
|
159
|
+
end
|
|
160
|
+
|
|
161
|
+
if attributes.key?(:'credential_test')
|
|
162
|
+
self.credential_test = attributes[:'credential_test']
|
|
163
|
+
end
|
|
164
|
+
|
|
165
|
+
if attributes.key?(:'message')
|
|
166
|
+
self.message = attributes[:'message']
|
|
167
|
+
end
|
|
115
168
|
end
|
|
116
169
|
|
|
117
170
|
# Show invalid properties with the reasons. Usually used together with valid?
|
|
@@ -145,11 +198,17 @@ module OpenapiClient
|
|
|
145
198
|
return true if self.equal?(o)
|
|
146
199
|
self.class == o.class &&
|
|
147
200
|
success == o.success &&
|
|
201
|
+
notification_id == o.notification_id &&
|
|
148
202
|
devices_notified == o.devices_notified &&
|
|
149
203
|
users_notified == o.users_notified &&
|
|
150
204
|
effective_channel_slugs == o.effective_channel_slugs &&
|
|
151
205
|
tags == o.tags &&
|
|
152
|
-
timestamp == o.timestamp
|
|
206
|
+
timestamp == o.timestamp &&
|
|
207
|
+
devices_targeted == o.devices_targeted &&
|
|
208
|
+
devices_deactivated == o.devices_deactivated &&
|
|
209
|
+
devices_unregistered == o.devices_unregistered &&
|
|
210
|
+
credential_test == o.credential_test &&
|
|
211
|
+
message == o.message
|
|
153
212
|
end
|
|
154
213
|
|
|
155
214
|
# @see the `==` method
|
|
@@ -161,7 +220,7 @@ module OpenapiClient
|
|
|
161
220
|
# Calculates hash code according to all attributes.
|
|
162
221
|
# @return [Integer] Hash code
|
|
163
222
|
def hash
|
|
164
|
-
[success, devices_notified, users_notified, effective_channel_slugs, tags, timestamp].hash
|
|
223
|
+
[success, notification_id, devices_notified, users_notified, effective_channel_slugs, tags, timestamp, devices_targeted, devices_deactivated, devices_unregistered, credential_test, message].hash
|
|
165
224
|
end
|
|
166
225
|
|
|
167
226
|
# Builds the object from hash
|
|
@@ -59,6 +59,8 @@ require 'activitysmith_openapi/models/not_found_error'
|
|
|
59
59
|
require 'activitysmith_openapi/models/push_interruption_level'
|
|
60
60
|
require 'activitysmith_openapi/models/push_notification_action'
|
|
61
61
|
require 'activitysmith_openapi/models/push_notification_action_type'
|
|
62
|
+
require 'activitysmith_openapi/models/push_notification_replace_request'
|
|
63
|
+
require 'activitysmith_openapi/models/push_notification_replace_response'
|
|
62
64
|
require 'activitysmith_openapi/models/push_notification_request'
|
|
63
65
|
require 'activitysmith_openapi/models/push_notification_response'
|
|
64
66
|
require 'activitysmith_openapi/models/push_notification_webhook_method'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"repository": "ActivitySmithHQ/activitysmith-backend",
|
|
3
|
-
"commit": "
|
|
3
|
+
"commit": "dd6757c5defa3d1e6524faef789b6829184fb852",
|
|
4
4
|
"path": "openapi.json",
|
|
5
|
-
"sha256": "
|
|
5
|
+
"sha256": "24dae2d064095351d5e5cf800228e64a2d23c40b1e31a9754503081ddf31c5d8"
|
|
6
6
|
}
|
|
@@ -18,6 +18,18 @@ module ActivitySmith
|
|
|
18
18
|
send(push_notification_request, opts, tags: tags, **request_fields)
|
|
19
19
|
end
|
|
20
20
|
|
|
21
|
+
# Silently replaces a sent Push Notification, using the notification_id returned by send.
|
|
22
|
+
def replace(notification_id, request = nil, opts = {}, tags: nil, **request_fields)
|
|
23
|
+
normalized = with_tags(combine_request(request, request_fields), tags)
|
|
24
|
+
assert_valid_media_actions!(normalized)
|
|
25
|
+
@api.replace_push_notification(notification_id, normalized, opts)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# Generated-style alias.
|
|
29
|
+
def replace_push_notification(notification_id, push_notification_replace_request = nil, opts = {}, tags: nil, **request_fields)
|
|
30
|
+
replace(notification_id, push_notification_replace_request, opts, tags: tags, **request_fields)
|
|
31
|
+
end
|
|
32
|
+
|
|
21
33
|
def method_missing(name, *args, &block)
|
|
22
34
|
return @api.public_send(name, *args, &block) if @api.respond_to?(name)
|
|
23
35
|
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: activitysmith
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.14.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- ActivitySmith
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-10-
|
|
11
|
+
date: 2026-10-12 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: json
|
|
@@ -125,6 +125,8 @@ files:
|
|
|
125
125
|
- generated/activitysmith_openapi/models/push_interruption_level.rb
|
|
126
126
|
- generated/activitysmith_openapi/models/push_notification_action.rb
|
|
127
127
|
- generated/activitysmith_openapi/models/push_notification_action_type.rb
|
|
128
|
+
- generated/activitysmith_openapi/models/push_notification_replace_request.rb
|
|
129
|
+
- generated/activitysmith_openapi/models/push_notification_replace_response.rb
|
|
128
130
|
- generated/activitysmith_openapi/models/push_notification_request.rb
|
|
129
131
|
- generated/activitysmith_openapi/models/push_notification_response.rb
|
|
130
132
|
- generated/activitysmith_openapi/models/push_notification_webhook_method.rb
|