notiflows 0.0.1
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 +7 -0
- data/README.md +305 -0
- data/SECURITY.md +27 -0
- data/lib/notiflows/client.rb +117 -0
- data/lib/notiflows/errors.rb +228 -0
- data/lib/notiflows/file_part.rb +58 -0
- data/lib/notiflows/internal/cursor_page.rb +100 -0
- data/lib/notiflows/internal/transport/base_client.rb +573 -0
- data/lib/notiflows/internal/transport/pooled_net_requester.rb +210 -0
- data/lib/notiflows/internal/type/array_of.rb +168 -0
- data/lib/notiflows/internal/type/base_model.rb +531 -0
- data/lib/notiflows/internal/type/base_page.rb +55 -0
- data/lib/notiflows/internal/type/boolean.rb +77 -0
- data/lib/notiflows/internal/type/converter.rb +327 -0
- data/lib/notiflows/internal/type/enum.rb +131 -0
- data/lib/notiflows/internal/type/file_input.rb +111 -0
- data/lib/notiflows/internal/type/hash_of.rb +188 -0
- data/lib/notiflows/internal/type/request_parameters.rb +42 -0
- data/lib/notiflows/internal/type/union.rb +237 -0
- data/lib/notiflows/internal/type/unknown.rb +81 -0
- data/lib/notiflows/internal/util.rb +920 -0
- data/lib/notiflows/internal.rb +20 -0
- data/lib/notiflows/models/delivery.rb +189 -0
- data/lib/notiflows/models/delivery_list_params.rb +78 -0
- data/lib/notiflows/models/delivery_retrieve_params.rb +14 -0
- data/lib/notiflows/models/notification.rb +151 -0
- data/lib/notiflows/models/notification_list_deliveries_params.rb +78 -0
- data/lib/notiflows/models/notification_list_params.rb +70 -0
- data/lib/notiflows/models/notification_retrieve_params.rb +14 -0
- data/lib/notiflows/models/notiflow_run_params.rb +197 -0
- data/lib/notiflows/models/notiflow_run_response.rb +19 -0
- data/lib/notiflows/models/topic.rb +27 -0
- data/lib/notiflows/models/topic_delete_params.rb +14 -0
- data/lib/notiflows/models/topic_list_params.rb +38 -0
- data/lib/notiflows/models/topic_retrieve_params.rb +14 -0
- data/lib/notiflows/models/topics/bulk_operation_response.rb +51 -0
- data/lib/notiflows/models/topics/bulk_subscribe_request.rb +20 -0
- data/lib/notiflows/models/topics/subscription_list_params.rb +56 -0
- data/lib/notiflows/models/topics/subscription_subscribe_bulk_params.rb +16 -0
- data/lib/notiflows/models/topics/subscription_unsubscribe_bulk_params.rb +16 -0
- data/lib/notiflows/models/user.rb +111 -0
- data/lib/notiflows/models/user_delete_params.rb +14 -0
- data/lib/notiflows/models/user_list_params.rb +54 -0
- data/lib/notiflows/models/user_retrieve_params.rb +14 -0
- data/lib/notiflows/models/user_upsert_params.rb +122 -0
- data/lib/notiflows/models/users/channel_setting_delete_params.rb +22 -0
- data/lib/notiflows/models/users/channel_setting_retrieve_params.rb +22 -0
- data/lib/notiflows/models/users/channel_setting_update_params.rb +45 -0
- data/lib/notiflows/models/users/channel_settings.rb +91 -0
- data/lib/notiflows/models/users/delivery_list_params.rb +80 -0
- data/lib/notiflows/models/users/delivery_retrieve_params.rb +22 -0
- data/lib/notiflows/models/users/mobile_push_settings.rb +20 -0
- data/lib/notiflows/models/users/notification_list_params.rb +72 -0
- data/lib/notiflows/models/users/notification_retrieve_params.rb +22 -0
- data/lib/notiflows/models/users/preference_retrieve_params.rb +16 -0
- data/lib/notiflows/models/users/preference_update_params.rb +16 -0
- data/lib/notiflows/models/users/preferences.rb +116 -0
- data/lib/notiflows/models/users/slack_settings.rb +29 -0
- data/lib/notiflows/models/users/subscription.rb +45 -0
- data/lib/notiflows/models/users/subscription_list_params.rb +56 -0
- data/lib/notiflows/models/users/subscription_retrieve_params.rb +22 -0
- data/lib/notiflows/models/users/subscription_subscribe_params.rb +28 -0
- data/lib/notiflows/models/users/subscription_unsubscribe_params.rb +22 -0
- data/lib/notiflows/models/users/update_preferences_request.rb +45 -0
- data/lib/notiflows/models.rb +79 -0
- data/lib/notiflows/request_options.rb +77 -0
- data/lib/notiflows/resources/deliveries.rb +77 -0
- data/lib/notiflows/resources/notifications.rb +112 -0
- data/lib/notiflows/resources/notiflows.rb +60 -0
- data/lib/notiflows/resources/topics/subscriptions.rb +106 -0
- data/lib/notiflows/resources/topics.rb +91 -0
- data/lib/notiflows/resources/users/channel_settings.rb +132 -0
- data/lib/notiflows/resources/users/deliveries.rb +82 -0
- data/lib/notiflows/resources/users/notifications.rb +80 -0
- data/lib/notiflows/resources/users/preferences.rb +86 -0
- data/lib/notiflows/resources/users/subscriptions.rb +135 -0
- data/lib/notiflows/resources/users.rb +167 -0
- data/lib/notiflows/version.rb +5 -0
- data/lib/notiflows.rb +109 -0
- data/manifest.yaml +17 -0
- data/rbi/notiflows/client.rbi +82 -0
- data/rbi/notiflows/errors.rbi +205 -0
- data/rbi/notiflows/file_part.rbi +37 -0
- data/rbi/notiflows/internal/cursor_page.rbi +37 -0
- data/rbi/notiflows/internal/transport/base_client.rbi +298 -0
- data/rbi/notiflows/internal/transport/pooled_net_requester.rbi +83 -0
- data/rbi/notiflows/internal/type/array_of.rbi +104 -0
- data/rbi/notiflows/internal/type/base_model.rbi +308 -0
- data/rbi/notiflows/internal/type/base_page.rbi +42 -0
- data/rbi/notiflows/internal/type/boolean.rbi +58 -0
- data/rbi/notiflows/internal/type/converter.rbi +216 -0
- data/rbi/notiflows/internal/type/enum.rbi +82 -0
- data/rbi/notiflows/internal/type/file_input.rbi +59 -0
- data/rbi/notiflows/internal/type/hash_of.rbi +104 -0
- data/rbi/notiflows/internal/type/request_parameters.rbi +29 -0
- data/rbi/notiflows/internal/type/union.rbi +128 -0
- data/rbi/notiflows/internal/type/unknown.rbi +58 -0
- data/rbi/notiflows/internal/util.rbi +487 -0
- data/rbi/notiflows/internal.rbi +18 -0
- data/rbi/notiflows/models/delivery.rbi +226 -0
- data/rbi/notiflows/models/delivery_list_params.rbi +123 -0
- data/rbi/notiflows/models/delivery_retrieve_params.rbi +27 -0
- data/rbi/notiflows/models/notification.rbi +190 -0
- data/rbi/notiflows/models/notification_list_deliveries_params.rbi +126 -0
- data/rbi/notiflows/models/notification_list_params.rbi +112 -0
- data/rbi/notiflows/models/notification_retrieve_params.rbi +30 -0
- data/rbi/notiflows/models/notiflow_run_params.rbi +320 -0
- data/rbi/notiflows/models/notiflow_run_response.rbi +31 -0
- data/rbi/notiflows/models/topic.rbi +32 -0
- data/rbi/notiflows/models/topic_delete_params.rbi +27 -0
- data/rbi/notiflows/models/topic_list_params.rbi +68 -0
- data/rbi/notiflows/models/topic_retrieve_params.rbi +27 -0
- data/rbi/notiflows/models/topics/bulk_operation_response.rbi +93 -0
- data/rbi/notiflows/models/topics/bulk_subscribe_request.rbi +35 -0
- data/rbi/notiflows/models/topics/subscription_list_params.rbi +95 -0
- data/rbi/notiflows/models/topics/subscription_subscribe_bulk_params.rbi +32 -0
- data/rbi/notiflows/models/topics/subscription_unsubscribe_bulk_params.rbi +32 -0
- data/rbi/notiflows/models/user.rbi +126 -0
- data/rbi/notiflows/models/user_delete_params.rbi +27 -0
- data/rbi/notiflows/models/user_list_params.rbi +90 -0
- data/rbi/notiflows/models/user_retrieve_params.rbi +27 -0
- data/rbi/notiflows/models/user_upsert_params.rbi +203 -0
- data/rbi/notiflows/models/users/channel_setting_delete_params.rbi +43 -0
- data/rbi/notiflows/models/users/channel_setting_retrieve_params.rbi +43 -0
- data/rbi/notiflows/models/users/channel_setting_update_params.rbi +92 -0
- data/rbi/notiflows/models/users/channel_settings.rbi +156 -0
- data/rbi/notiflows/models/users/delivery_list_params.rbi +128 -0
- data/rbi/notiflows/models/users/delivery_retrieve_params.rbi +43 -0
- data/rbi/notiflows/models/users/mobile_push_settings.rbi +35 -0
- data/rbi/notiflows/models/users/notification_list_params.rbi +117 -0
- data/rbi/notiflows/models/users/notification_retrieve_params.rbi +43 -0
- data/rbi/notiflows/models/users/preference_retrieve_params.rbi +32 -0
- data/rbi/notiflows/models/users/preference_update_params.rbi +34 -0
- data/rbi/notiflows/models/users/preferences.rbi +241 -0
- data/rbi/notiflows/models/users/slack_settings.rbi +49 -0
- data/rbi/notiflows/models/users/subscription.rbi +64 -0
- data/rbi/notiflows/models/users/subscription_list_params.rbi +95 -0
- data/rbi/notiflows/models/users/subscription_retrieve_params.rbi +43 -0
- data/rbi/notiflows/models/users/subscription_subscribe_params.rbi +47 -0
- data/rbi/notiflows/models/users/subscription_unsubscribe_params.rbi +43 -0
- data/rbi/notiflows/models/users/update_preferences_request.rbi +124 -0
- data/rbi/notiflows/models.rbi +42 -0
- data/rbi/notiflows/request_options.rbi +59 -0
- data/rbi/notiflows/resources/deliveries.rbi +67 -0
- data/rbi/notiflows/resources/notifications.rbi +100 -0
- data/rbi/notiflows/resources/notiflows.rbi +52 -0
- data/rbi/notiflows/resources/topics/subscriptions.rbi +88 -0
- data/rbi/notiflows/resources/topics.rbi +69 -0
- data/rbi/notiflows/resources/users/channel_settings.rbi +104 -0
- data/rbi/notiflows/resources/users/deliveries.rbi +69 -0
- data/rbi/notiflows/resources/users/notifications.rbi +66 -0
- data/rbi/notiflows/resources/users/preferences.rbi +76 -0
- data/rbi/notiflows/resources/users/subscriptions.rbi +102 -0
- data/rbi/notiflows/resources/users.rbi +147 -0
- data/rbi/notiflows/version.rbi +5 -0
- data/sig/notiflows/client.rbs +41 -0
- data/sig/notiflows/errors.rbs +117 -0
- data/sig/notiflows/file_part.rbs +21 -0
- data/sig/notiflows/internal/cursor_page.rbs +22 -0
- data/sig/notiflows/internal/transport/base_client.rbs +133 -0
- data/sig/notiflows/internal/transport/pooled_net_requester.rbs +48 -0
- data/sig/notiflows/internal/type/array_of.rbs +48 -0
- data/sig/notiflows/internal/type/base_model.rbs +102 -0
- data/sig/notiflows/internal/type/base_page.rbs +24 -0
- data/sig/notiflows/internal/type/boolean.rbs +26 -0
- data/sig/notiflows/internal/type/converter.rbs +79 -0
- data/sig/notiflows/internal/type/enum.rbs +32 -0
- data/sig/notiflows/internal/type/file_input.rbs +25 -0
- data/sig/notiflows/internal/type/hash_of.rbs +48 -0
- data/sig/notiflows/internal/type/request_parameters.rbs +19 -0
- data/sig/notiflows/internal/type/union.rbs +52 -0
- data/sig/notiflows/internal/type/unknown.rbs +26 -0
- data/sig/notiflows/internal/util.rbs +185 -0
- data/sig/notiflows/internal.rbs +9 -0
- data/sig/notiflows/models/delivery.rbs +130 -0
- data/sig/notiflows/models/delivery_list_params.rbs +77 -0
- data/sig/notiflows/models/delivery_retrieve_params.rbs +15 -0
- data/sig/notiflows/models/notification.rbs +104 -0
- data/sig/notiflows/models/notification_list_deliveries_params.rbs +77 -0
- data/sig/notiflows/models/notification_list_params.rbs +70 -0
- data/sig/notiflows/models/notification_retrieve_params.rbs +15 -0
- data/sig/notiflows/models/notiflow_run_params.rbs +199 -0
- data/sig/notiflows/models/notiflow_run_response.rbs +13 -0
- data/sig/notiflows/models/topic.rbs +15 -0
- data/sig/notiflows/models/topic_delete_params.rbs +15 -0
- data/sig/notiflows/models/topic_list_params.rbs +38 -0
- data/sig/notiflows/models/topic_retrieve_params.rbs +15 -0
- data/sig/notiflows/models/topics/bulk_operation_response.rbs +39 -0
- data/sig/notiflows/models/topics/bulk_subscribe_request.rbs +15 -0
- data/sig/notiflows/models/topics/subscription_list_params.rbs +58 -0
- data/sig/notiflows/models/topics/subscription_subscribe_bulk_params.rbs +17 -0
- data/sig/notiflows/models/topics/subscription_unsubscribe_bulk_params.rbs +17 -0
- data/sig/notiflows/models/user.rbs +75 -0
- data/sig/notiflows/models/user_delete_params.rbs +15 -0
- data/sig/notiflows/models/user_list_params.rbs +56 -0
- data/sig/notiflows/models/user_retrieve_params.rbs +15 -0
- data/sig/notiflows/models/user_upsert_params.rbs +112 -0
- data/sig/notiflows/models/users/channel_setting_delete_params.rbs +26 -0
- data/sig/notiflows/models/users/channel_setting_retrieve_params.rbs +26 -0
- data/sig/notiflows/models/users/channel_setting_update_params.rbs +42 -0
- data/sig/notiflows/models/users/channel_settings.rbs +68 -0
- data/sig/notiflows/models/users/delivery_list_params.rbs +79 -0
- data/sig/notiflows/models/users/delivery_retrieve_params.rbs +26 -0
- data/sig/notiflows/models/users/mobile_push_settings.rbs +15 -0
- data/sig/notiflows/models/users/notification_list_params.rbs +72 -0
- data/sig/notiflows/models/users/notification_retrieve_params.rbs +26 -0
- data/sig/notiflows/models/users/preference_retrieve_params.rbs +17 -0
- data/sig/notiflows/models/users/preference_update_params.rbs +17 -0
- data/sig/notiflows/models/users/preferences.rbs +118 -0
- data/sig/notiflows/models/users/slack_settings.rbs +24 -0
- data/sig/notiflows/models/users/subscription.rbs +32 -0
- data/sig/notiflows/models/users/subscription_list_params.rbs +58 -0
- data/sig/notiflows/models/users/subscription_retrieve_params.rbs +26 -0
- data/sig/notiflows/models/users/subscription_subscribe_params.rbs +25 -0
- data/sig/notiflows/models/users/subscription_unsubscribe_params.rbs +26 -0
- data/sig/notiflows/models/users/update_preferences_request.rbs +52 -0
- data/sig/notiflows/models.rbs +39 -0
- data/sig/notiflows/request_options.rbs +34 -0
- data/sig/notiflows/resources/deliveries.rbs +24 -0
- data/sig/notiflows/resources/notifications.rbs +36 -0
- data/sig/notiflows/resources/notiflows.rbs +16 -0
- data/sig/notiflows/resources/topics/subscriptions.rbs +31 -0
- data/sig/notiflows/resources/topics.rbs +23 -0
- data/sig/notiflows/resources/users/channel_settings.rbs +28 -0
- data/sig/notiflows/resources/users/deliveries.rbs +28 -0
- data/sig/notiflows/resources/users/notifications.rbs +27 -0
- data/sig/notiflows/resources/users/preferences.rbs +21 -0
- data/sig/notiflows/resources/users/subscriptions.rbs +37 -0
- data/sig/notiflows/resources/users.rbs +52 -0
- data/sig/notiflows/version.rbs +3 -0
- metadata +302 -0
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Notiflows
|
|
4
|
+
module Models
|
|
5
|
+
module Topics
|
|
6
|
+
class BulkOperationResponse < Notiflows::Internal::Type::BaseModel
|
|
7
|
+
OrHash =
|
|
8
|
+
T.type_alias do
|
|
9
|
+
T.any(
|
|
10
|
+
Notiflows::Topics::BulkOperationResponse,
|
|
11
|
+
Notiflows::Internal::AnyHash
|
|
12
|
+
)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# Failed operations with error details
|
|
16
|
+
sig do
|
|
17
|
+
returns(T::Array[Notiflows::Topics::BulkOperationResponse::Failed])
|
|
18
|
+
end
|
|
19
|
+
attr_accessor :failed
|
|
20
|
+
|
|
21
|
+
# Successfully processed subscriptions
|
|
22
|
+
sig { returns(T::Array[Notiflows::Users::Subscription]) }
|
|
23
|
+
attr_accessor :successful
|
|
24
|
+
|
|
25
|
+
# Response for bulk operations showing successful and failed items
|
|
26
|
+
sig do
|
|
27
|
+
params(
|
|
28
|
+
failed:
|
|
29
|
+
T::Array[
|
|
30
|
+
Notiflows::Topics::BulkOperationResponse::Failed::OrHash
|
|
31
|
+
],
|
|
32
|
+
successful: T::Array[Notiflows::Users::Subscription::OrHash]
|
|
33
|
+
).returns(T.attached_class)
|
|
34
|
+
end
|
|
35
|
+
def self.new(
|
|
36
|
+
# Failed operations with error details
|
|
37
|
+
failed:,
|
|
38
|
+
# Successfully processed subscriptions
|
|
39
|
+
successful:
|
|
40
|
+
)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
sig do
|
|
44
|
+
override.returns(
|
|
45
|
+
{
|
|
46
|
+
failed:
|
|
47
|
+
T::Array[Notiflows::Topics::BulkOperationResponse::Failed],
|
|
48
|
+
successful: T::Array[Notiflows::Users::Subscription]
|
|
49
|
+
}
|
|
50
|
+
)
|
|
51
|
+
end
|
|
52
|
+
def to_hash
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
class Failed < Notiflows::Internal::Type::BaseModel
|
|
56
|
+
OrHash =
|
|
57
|
+
T.type_alias do
|
|
58
|
+
T.any(
|
|
59
|
+
Notiflows::Topics::BulkOperationResponse::Failed,
|
|
60
|
+
Notiflows::Internal::AnyHash
|
|
61
|
+
)
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
# The external ID that failed
|
|
65
|
+
sig { returns(String) }
|
|
66
|
+
attr_accessor :external_id
|
|
67
|
+
|
|
68
|
+
# Human-readable error reason
|
|
69
|
+
sig { returns(String) }
|
|
70
|
+
attr_accessor :reason
|
|
71
|
+
|
|
72
|
+
# Details of a failed bulk operation item
|
|
73
|
+
sig do
|
|
74
|
+
params(external_id: String, reason: String).returns(
|
|
75
|
+
T.attached_class
|
|
76
|
+
)
|
|
77
|
+
end
|
|
78
|
+
def self.new(
|
|
79
|
+
# The external ID that failed
|
|
80
|
+
external_id:,
|
|
81
|
+
# Human-readable error reason
|
|
82
|
+
reason:
|
|
83
|
+
)
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
sig { override.returns({ external_id: String, reason: String }) }
|
|
87
|
+
def to_hash
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Notiflows
|
|
4
|
+
module Models
|
|
5
|
+
module Topics
|
|
6
|
+
class BulkSubscribeRequest < Notiflows::Internal::Type::BaseModel
|
|
7
|
+
OrHash =
|
|
8
|
+
T.type_alias do
|
|
9
|
+
T.any(
|
|
10
|
+
Notiflows::Topics::BulkSubscribeRequest,
|
|
11
|
+
Notiflows::Internal::AnyHash
|
|
12
|
+
)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# List of user external IDs to subscribe/unsubscribe
|
|
16
|
+
sig { returns(T::Array[String]) }
|
|
17
|
+
attr_accessor :user_external_ids
|
|
18
|
+
|
|
19
|
+
# Request body for bulk subscribe/unsubscribe operations
|
|
20
|
+
sig do
|
|
21
|
+
params(user_external_ids: T::Array[String]).returns(T.attached_class)
|
|
22
|
+
end
|
|
23
|
+
def self.new(
|
|
24
|
+
# List of user external IDs to subscribe/unsubscribe
|
|
25
|
+
user_external_ids:
|
|
26
|
+
)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
sig { override.returns({ user_external_ids: T::Array[String] }) }
|
|
30
|
+
def to_hash
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Notiflows
|
|
4
|
+
module Models
|
|
5
|
+
module Topics
|
|
6
|
+
class SubscriptionListParams < Notiflows::Internal::Type::BaseModel
|
|
7
|
+
extend Notiflows::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include Notiflows::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
OrHash =
|
|
11
|
+
T.type_alias do
|
|
12
|
+
T.any(
|
|
13
|
+
Notiflows::Topics::SubscriptionListParams,
|
|
14
|
+
Notiflows::Internal::AnyHash
|
|
15
|
+
)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
# Cursor for fetching the next page
|
|
19
|
+
sig { returns(T.nilable(String)) }
|
|
20
|
+
attr_reader :after
|
|
21
|
+
|
|
22
|
+
sig { params(after: String).void }
|
|
23
|
+
attr_writer :after
|
|
24
|
+
|
|
25
|
+
# Cursor for fetching the previous page
|
|
26
|
+
sig { returns(T.nilable(String)) }
|
|
27
|
+
attr_reader :before
|
|
28
|
+
|
|
29
|
+
sig { params(before: String).void }
|
|
30
|
+
attr_writer :before
|
|
31
|
+
|
|
32
|
+
# Filter by created after (ISO 8601 datetime)
|
|
33
|
+
sig { returns(T.nilable(String)) }
|
|
34
|
+
attr_reader :created_after
|
|
35
|
+
|
|
36
|
+
sig { params(created_after: String).void }
|
|
37
|
+
attr_writer :created_after
|
|
38
|
+
|
|
39
|
+
# Filter by created before (ISO 8601 datetime)
|
|
40
|
+
sig { returns(T.nilable(String)) }
|
|
41
|
+
attr_reader :created_before
|
|
42
|
+
|
|
43
|
+
sig { params(created_before: String).void }
|
|
44
|
+
attr_writer :created_before
|
|
45
|
+
|
|
46
|
+
# Number of items per page (default: 25, max: 1000)
|
|
47
|
+
sig { returns(T.nilable(Integer)) }
|
|
48
|
+
attr_reader :limit
|
|
49
|
+
|
|
50
|
+
sig { params(limit: Integer).void }
|
|
51
|
+
attr_writer :limit
|
|
52
|
+
|
|
53
|
+
sig do
|
|
54
|
+
params(
|
|
55
|
+
after: String,
|
|
56
|
+
before: String,
|
|
57
|
+
created_after: String,
|
|
58
|
+
created_before: String,
|
|
59
|
+
limit: Integer,
|
|
60
|
+
request_options: Notiflows::RequestOptions::OrHash
|
|
61
|
+
).returns(T.attached_class)
|
|
62
|
+
end
|
|
63
|
+
def self.new(
|
|
64
|
+
# Cursor for fetching the next page
|
|
65
|
+
after: nil,
|
|
66
|
+
# Cursor for fetching the previous page
|
|
67
|
+
before: nil,
|
|
68
|
+
# Filter by created after (ISO 8601 datetime)
|
|
69
|
+
created_after: nil,
|
|
70
|
+
# Filter by created before (ISO 8601 datetime)
|
|
71
|
+
created_before: nil,
|
|
72
|
+
# Number of items per page (default: 25, max: 1000)
|
|
73
|
+
limit: nil,
|
|
74
|
+
request_options: {}
|
|
75
|
+
)
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
sig do
|
|
79
|
+
override.returns(
|
|
80
|
+
{
|
|
81
|
+
after: String,
|
|
82
|
+
before: String,
|
|
83
|
+
created_after: String,
|
|
84
|
+
created_before: String,
|
|
85
|
+
limit: Integer,
|
|
86
|
+
request_options: Notiflows::RequestOptions
|
|
87
|
+
}
|
|
88
|
+
)
|
|
89
|
+
end
|
|
90
|
+
def to_hash
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Notiflows
|
|
4
|
+
module Models
|
|
5
|
+
module Topics
|
|
6
|
+
class SubscriptionSubscribeBulkParams < Notiflows::Models::Topics::BulkSubscribeRequest
|
|
7
|
+
extend Notiflows::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include Notiflows::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
OrHash =
|
|
11
|
+
T.type_alias do
|
|
12
|
+
T.any(
|
|
13
|
+
Notiflows::Topics::SubscriptionSubscribeBulkParams,
|
|
14
|
+
Notiflows::Internal::AnyHash
|
|
15
|
+
)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
sig do
|
|
19
|
+
params(request_options: Notiflows::RequestOptions::OrHash).returns(
|
|
20
|
+
T.attached_class
|
|
21
|
+
)
|
|
22
|
+
end
|
|
23
|
+
def self.new(request_options: {})
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
sig { override.returns({ request_options: Notiflows::RequestOptions }) }
|
|
27
|
+
def to_hash
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Notiflows
|
|
4
|
+
module Models
|
|
5
|
+
module Topics
|
|
6
|
+
class SubscriptionUnsubscribeBulkParams < Notiflows::Models::Topics::BulkSubscribeRequest
|
|
7
|
+
extend Notiflows::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include Notiflows::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
OrHash =
|
|
11
|
+
T.type_alias do
|
|
12
|
+
T.any(
|
|
13
|
+
Notiflows::Topics::SubscriptionUnsubscribeBulkParams,
|
|
14
|
+
Notiflows::Internal::AnyHash
|
|
15
|
+
)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
sig do
|
|
19
|
+
params(request_options: Notiflows::RequestOptions::OrHash).returns(
|
|
20
|
+
T.attached_class
|
|
21
|
+
)
|
|
22
|
+
end
|
|
23
|
+
def self.new(request_options: {})
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
sig { override.returns({ request_options: Notiflows::RequestOptions }) }
|
|
27
|
+
def to_hash
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Notiflows
|
|
4
|
+
module Models
|
|
5
|
+
class User < Notiflows::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias { T.any(Notiflows::User, Notiflows::Internal::AnyHash) }
|
|
8
|
+
|
|
9
|
+
# Internal Notiflows user ID (UUIDv7)
|
|
10
|
+
sig { returns(String) }
|
|
11
|
+
attr_accessor :id
|
|
12
|
+
|
|
13
|
+
# When the user was created (ISO 8601)
|
|
14
|
+
sig { returns(Time) }
|
|
15
|
+
attr_accessor :created_at
|
|
16
|
+
|
|
17
|
+
# Your system's unique identifier for this user
|
|
18
|
+
sig { returns(String) }
|
|
19
|
+
attr_accessor :external_id
|
|
20
|
+
|
|
21
|
+
# When the user was last updated (ISO 8601)
|
|
22
|
+
sig { returns(Time) }
|
|
23
|
+
attr_accessor :updated_at
|
|
24
|
+
|
|
25
|
+
# URL to user's avatar image (must be https://)
|
|
26
|
+
sig { returns(T.nilable(String)) }
|
|
27
|
+
attr_accessor :avatar
|
|
28
|
+
|
|
29
|
+
# Arbitrary JSON object for additional user attributes. Accessible in templates as
|
|
30
|
+
# `recipient.custom_fields.*`
|
|
31
|
+
sig { returns(T.nilable(T.anything)) }
|
|
32
|
+
attr_accessor :custom_fields
|
|
33
|
+
|
|
34
|
+
# User's email address for email notifications
|
|
35
|
+
sig { returns(T.nilable(String)) }
|
|
36
|
+
attr_accessor :email
|
|
37
|
+
|
|
38
|
+
# User's first name for personalization
|
|
39
|
+
sig { returns(T.nilable(String)) }
|
|
40
|
+
attr_accessor :first_name
|
|
41
|
+
|
|
42
|
+
# User's last name for personalization
|
|
43
|
+
sig { returns(T.nilable(String)) }
|
|
44
|
+
attr_accessor :last_name
|
|
45
|
+
|
|
46
|
+
# BCP 47 locale code for localized notifications
|
|
47
|
+
sig { returns(T.nilable(String)) }
|
|
48
|
+
attr_accessor :locale
|
|
49
|
+
|
|
50
|
+
# User's phone number in E.164 format for SMS notifications
|
|
51
|
+
sig { returns(T.nilable(String)) }
|
|
52
|
+
attr_accessor :phone
|
|
53
|
+
|
|
54
|
+
# IANA timezone for time-sensitive notifications
|
|
55
|
+
sig { returns(T.nilable(String)) }
|
|
56
|
+
attr_accessor :timezone
|
|
57
|
+
|
|
58
|
+
# A user (recipient) in your project
|
|
59
|
+
sig do
|
|
60
|
+
params(
|
|
61
|
+
id: String,
|
|
62
|
+
created_at: Time,
|
|
63
|
+
external_id: String,
|
|
64
|
+
updated_at: Time,
|
|
65
|
+
avatar: T.nilable(String),
|
|
66
|
+
custom_fields: T.nilable(T.anything),
|
|
67
|
+
email: T.nilable(String),
|
|
68
|
+
first_name: T.nilable(String),
|
|
69
|
+
last_name: T.nilable(String),
|
|
70
|
+
locale: T.nilable(String),
|
|
71
|
+
phone: T.nilable(String),
|
|
72
|
+
timezone: T.nilable(String)
|
|
73
|
+
).returns(T.attached_class)
|
|
74
|
+
end
|
|
75
|
+
def self.new(
|
|
76
|
+
# Internal Notiflows user ID (UUIDv7)
|
|
77
|
+
id:,
|
|
78
|
+
# When the user was created (ISO 8601)
|
|
79
|
+
created_at:,
|
|
80
|
+
# Your system's unique identifier for this user
|
|
81
|
+
external_id:,
|
|
82
|
+
# When the user was last updated (ISO 8601)
|
|
83
|
+
updated_at:,
|
|
84
|
+
# URL to user's avatar image (must be https://)
|
|
85
|
+
avatar: nil,
|
|
86
|
+
# Arbitrary JSON object for additional user attributes. Accessible in templates as
|
|
87
|
+
# `recipient.custom_fields.*`
|
|
88
|
+
custom_fields: nil,
|
|
89
|
+
# User's email address for email notifications
|
|
90
|
+
email: nil,
|
|
91
|
+
# User's first name for personalization
|
|
92
|
+
first_name: nil,
|
|
93
|
+
# User's last name for personalization
|
|
94
|
+
last_name: nil,
|
|
95
|
+
# BCP 47 locale code for localized notifications
|
|
96
|
+
locale: nil,
|
|
97
|
+
# User's phone number in E.164 format for SMS notifications
|
|
98
|
+
phone: nil,
|
|
99
|
+
# IANA timezone for time-sensitive notifications
|
|
100
|
+
timezone: nil
|
|
101
|
+
)
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
sig do
|
|
105
|
+
override.returns(
|
|
106
|
+
{
|
|
107
|
+
id: String,
|
|
108
|
+
created_at: Time,
|
|
109
|
+
external_id: String,
|
|
110
|
+
updated_at: Time,
|
|
111
|
+
avatar: T.nilable(String),
|
|
112
|
+
custom_fields: T.nilable(T.anything),
|
|
113
|
+
email: T.nilable(String),
|
|
114
|
+
first_name: T.nilable(String),
|
|
115
|
+
last_name: T.nilable(String),
|
|
116
|
+
locale: T.nilable(String),
|
|
117
|
+
phone: T.nilable(String),
|
|
118
|
+
timezone: T.nilable(String)
|
|
119
|
+
}
|
|
120
|
+
)
|
|
121
|
+
end
|
|
122
|
+
def to_hash
|
|
123
|
+
end
|
|
124
|
+
end
|
|
125
|
+
end
|
|
126
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Notiflows
|
|
4
|
+
module Models
|
|
5
|
+
class UserDeleteParams < Notiflows::Internal::Type::BaseModel
|
|
6
|
+
extend Notiflows::Internal::Type::RequestParameters::Converter
|
|
7
|
+
include Notiflows::Internal::Type::RequestParameters
|
|
8
|
+
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(Notiflows::UserDeleteParams, Notiflows::Internal::AnyHash)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
sig do
|
|
15
|
+
params(request_options: Notiflows::RequestOptions::OrHash).returns(
|
|
16
|
+
T.attached_class
|
|
17
|
+
)
|
|
18
|
+
end
|
|
19
|
+
def self.new(request_options: {})
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
sig { override.returns({ request_options: Notiflows::RequestOptions }) }
|
|
23
|
+
def to_hash
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Notiflows
|
|
4
|
+
module Models
|
|
5
|
+
class UserListParams < Notiflows::Internal::Type::BaseModel
|
|
6
|
+
extend Notiflows::Internal::Type::RequestParameters::Converter
|
|
7
|
+
include Notiflows::Internal::Type::RequestParameters
|
|
8
|
+
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(Notiflows::UserListParams, Notiflows::Internal::AnyHash)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# Cursor for fetching the next page
|
|
15
|
+
sig { returns(T.nilable(String)) }
|
|
16
|
+
attr_reader :after
|
|
17
|
+
|
|
18
|
+
sig { params(after: String).void }
|
|
19
|
+
attr_writer :after
|
|
20
|
+
|
|
21
|
+
# Cursor for fetching the previous page
|
|
22
|
+
sig { returns(T.nilable(String)) }
|
|
23
|
+
attr_reader :before
|
|
24
|
+
|
|
25
|
+
sig { params(before: String).void }
|
|
26
|
+
attr_writer :before
|
|
27
|
+
|
|
28
|
+
# Filter users created after this datetime (ISO 8601)
|
|
29
|
+
sig { returns(T.nilable(String)) }
|
|
30
|
+
attr_reader :created_after
|
|
31
|
+
|
|
32
|
+
sig { params(created_after: String).void }
|
|
33
|
+
attr_writer :created_after
|
|
34
|
+
|
|
35
|
+
# Filter users created before this datetime (ISO 8601)
|
|
36
|
+
sig { returns(T.nilable(String)) }
|
|
37
|
+
attr_reader :created_before
|
|
38
|
+
|
|
39
|
+
sig { params(created_before: String).void }
|
|
40
|
+
attr_writer :created_before
|
|
41
|
+
|
|
42
|
+
# Number of items per page (default: 25, max: 1000)
|
|
43
|
+
sig { returns(T.nilable(Integer)) }
|
|
44
|
+
attr_reader :limit
|
|
45
|
+
|
|
46
|
+
sig { params(limit: Integer).void }
|
|
47
|
+
attr_writer :limit
|
|
48
|
+
|
|
49
|
+
sig do
|
|
50
|
+
params(
|
|
51
|
+
after: String,
|
|
52
|
+
before: String,
|
|
53
|
+
created_after: String,
|
|
54
|
+
created_before: String,
|
|
55
|
+
limit: Integer,
|
|
56
|
+
request_options: Notiflows::RequestOptions::OrHash
|
|
57
|
+
).returns(T.attached_class)
|
|
58
|
+
end
|
|
59
|
+
def self.new(
|
|
60
|
+
# Cursor for fetching the next page
|
|
61
|
+
after: nil,
|
|
62
|
+
# Cursor for fetching the previous page
|
|
63
|
+
before: nil,
|
|
64
|
+
# Filter users created after this datetime (ISO 8601)
|
|
65
|
+
created_after: nil,
|
|
66
|
+
# Filter users created before this datetime (ISO 8601)
|
|
67
|
+
created_before: nil,
|
|
68
|
+
# Number of items per page (default: 25, max: 1000)
|
|
69
|
+
limit: nil,
|
|
70
|
+
request_options: {}
|
|
71
|
+
)
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
sig do
|
|
75
|
+
override.returns(
|
|
76
|
+
{
|
|
77
|
+
after: String,
|
|
78
|
+
before: String,
|
|
79
|
+
created_after: String,
|
|
80
|
+
created_before: String,
|
|
81
|
+
limit: Integer,
|
|
82
|
+
request_options: Notiflows::RequestOptions
|
|
83
|
+
}
|
|
84
|
+
)
|
|
85
|
+
end
|
|
86
|
+
def to_hash
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Notiflows
|
|
4
|
+
module Models
|
|
5
|
+
class UserRetrieveParams < Notiflows::Internal::Type::BaseModel
|
|
6
|
+
extend Notiflows::Internal::Type::RequestParameters::Converter
|
|
7
|
+
include Notiflows::Internal::Type::RequestParameters
|
|
8
|
+
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(Notiflows::UserRetrieveParams, Notiflows::Internal::AnyHash)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
sig do
|
|
15
|
+
params(request_options: Notiflows::RequestOptions::OrHash).returns(
|
|
16
|
+
T.attached_class
|
|
17
|
+
)
|
|
18
|
+
end
|
|
19
|
+
def self.new(request_options: {})
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
sig { override.returns({ request_options: Notiflows::RequestOptions }) }
|
|
23
|
+
def to_hash
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|