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.
Files changed (231) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +305 -0
  3. data/SECURITY.md +27 -0
  4. data/lib/notiflows/client.rb +117 -0
  5. data/lib/notiflows/errors.rb +228 -0
  6. data/lib/notiflows/file_part.rb +58 -0
  7. data/lib/notiflows/internal/cursor_page.rb +100 -0
  8. data/lib/notiflows/internal/transport/base_client.rb +573 -0
  9. data/lib/notiflows/internal/transport/pooled_net_requester.rb +210 -0
  10. data/lib/notiflows/internal/type/array_of.rb +168 -0
  11. data/lib/notiflows/internal/type/base_model.rb +531 -0
  12. data/lib/notiflows/internal/type/base_page.rb +55 -0
  13. data/lib/notiflows/internal/type/boolean.rb +77 -0
  14. data/lib/notiflows/internal/type/converter.rb +327 -0
  15. data/lib/notiflows/internal/type/enum.rb +131 -0
  16. data/lib/notiflows/internal/type/file_input.rb +111 -0
  17. data/lib/notiflows/internal/type/hash_of.rb +188 -0
  18. data/lib/notiflows/internal/type/request_parameters.rb +42 -0
  19. data/lib/notiflows/internal/type/union.rb +237 -0
  20. data/lib/notiflows/internal/type/unknown.rb +81 -0
  21. data/lib/notiflows/internal/util.rb +920 -0
  22. data/lib/notiflows/internal.rb +20 -0
  23. data/lib/notiflows/models/delivery.rb +189 -0
  24. data/lib/notiflows/models/delivery_list_params.rb +78 -0
  25. data/lib/notiflows/models/delivery_retrieve_params.rb +14 -0
  26. data/lib/notiflows/models/notification.rb +151 -0
  27. data/lib/notiflows/models/notification_list_deliveries_params.rb +78 -0
  28. data/lib/notiflows/models/notification_list_params.rb +70 -0
  29. data/lib/notiflows/models/notification_retrieve_params.rb +14 -0
  30. data/lib/notiflows/models/notiflow_run_params.rb +197 -0
  31. data/lib/notiflows/models/notiflow_run_response.rb +19 -0
  32. data/lib/notiflows/models/topic.rb +27 -0
  33. data/lib/notiflows/models/topic_delete_params.rb +14 -0
  34. data/lib/notiflows/models/topic_list_params.rb +38 -0
  35. data/lib/notiflows/models/topic_retrieve_params.rb +14 -0
  36. data/lib/notiflows/models/topics/bulk_operation_response.rb +51 -0
  37. data/lib/notiflows/models/topics/bulk_subscribe_request.rb +20 -0
  38. data/lib/notiflows/models/topics/subscription_list_params.rb +56 -0
  39. data/lib/notiflows/models/topics/subscription_subscribe_bulk_params.rb +16 -0
  40. data/lib/notiflows/models/topics/subscription_unsubscribe_bulk_params.rb +16 -0
  41. data/lib/notiflows/models/user.rb +111 -0
  42. data/lib/notiflows/models/user_delete_params.rb +14 -0
  43. data/lib/notiflows/models/user_list_params.rb +54 -0
  44. data/lib/notiflows/models/user_retrieve_params.rb +14 -0
  45. data/lib/notiflows/models/user_upsert_params.rb +122 -0
  46. data/lib/notiflows/models/users/channel_setting_delete_params.rb +22 -0
  47. data/lib/notiflows/models/users/channel_setting_retrieve_params.rb +22 -0
  48. data/lib/notiflows/models/users/channel_setting_update_params.rb +45 -0
  49. data/lib/notiflows/models/users/channel_settings.rb +91 -0
  50. data/lib/notiflows/models/users/delivery_list_params.rb +80 -0
  51. data/lib/notiflows/models/users/delivery_retrieve_params.rb +22 -0
  52. data/lib/notiflows/models/users/mobile_push_settings.rb +20 -0
  53. data/lib/notiflows/models/users/notification_list_params.rb +72 -0
  54. data/lib/notiflows/models/users/notification_retrieve_params.rb +22 -0
  55. data/lib/notiflows/models/users/preference_retrieve_params.rb +16 -0
  56. data/lib/notiflows/models/users/preference_update_params.rb +16 -0
  57. data/lib/notiflows/models/users/preferences.rb +116 -0
  58. data/lib/notiflows/models/users/slack_settings.rb +29 -0
  59. data/lib/notiflows/models/users/subscription.rb +45 -0
  60. data/lib/notiflows/models/users/subscription_list_params.rb +56 -0
  61. data/lib/notiflows/models/users/subscription_retrieve_params.rb +22 -0
  62. data/lib/notiflows/models/users/subscription_subscribe_params.rb +28 -0
  63. data/lib/notiflows/models/users/subscription_unsubscribe_params.rb +22 -0
  64. data/lib/notiflows/models/users/update_preferences_request.rb +45 -0
  65. data/lib/notiflows/models.rb +79 -0
  66. data/lib/notiflows/request_options.rb +77 -0
  67. data/lib/notiflows/resources/deliveries.rb +77 -0
  68. data/lib/notiflows/resources/notifications.rb +112 -0
  69. data/lib/notiflows/resources/notiflows.rb +60 -0
  70. data/lib/notiflows/resources/topics/subscriptions.rb +106 -0
  71. data/lib/notiflows/resources/topics.rb +91 -0
  72. data/lib/notiflows/resources/users/channel_settings.rb +132 -0
  73. data/lib/notiflows/resources/users/deliveries.rb +82 -0
  74. data/lib/notiflows/resources/users/notifications.rb +80 -0
  75. data/lib/notiflows/resources/users/preferences.rb +86 -0
  76. data/lib/notiflows/resources/users/subscriptions.rb +135 -0
  77. data/lib/notiflows/resources/users.rb +167 -0
  78. data/lib/notiflows/version.rb +5 -0
  79. data/lib/notiflows.rb +109 -0
  80. data/manifest.yaml +17 -0
  81. data/rbi/notiflows/client.rbi +82 -0
  82. data/rbi/notiflows/errors.rbi +205 -0
  83. data/rbi/notiflows/file_part.rbi +37 -0
  84. data/rbi/notiflows/internal/cursor_page.rbi +37 -0
  85. data/rbi/notiflows/internal/transport/base_client.rbi +298 -0
  86. data/rbi/notiflows/internal/transport/pooled_net_requester.rbi +83 -0
  87. data/rbi/notiflows/internal/type/array_of.rbi +104 -0
  88. data/rbi/notiflows/internal/type/base_model.rbi +308 -0
  89. data/rbi/notiflows/internal/type/base_page.rbi +42 -0
  90. data/rbi/notiflows/internal/type/boolean.rbi +58 -0
  91. data/rbi/notiflows/internal/type/converter.rbi +216 -0
  92. data/rbi/notiflows/internal/type/enum.rbi +82 -0
  93. data/rbi/notiflows/internal/type/file_input.rbi +59 -0
  94. data/rbi/notiflows/internal/type/hash_of.rbi +104 -0
  95. data/rbi/notiflows/internal/type/request_parameters.rbi +29 -0
  96. data/rbi/notiflows/internal/type/union.rbi +128 -0
  97. data/rbi/notiflows/internal/type/unknown.rbi +58 -0
  98. data/rbi/notiflows/internal/util.rbi +487 -0
  99. data/rbi/notiflows/internal.rbi +18 -0
  100. data/rbi/notiflows/models/delivery.rbi +226 -0
  101. data/rbi/notiflows/models/delivery_list_params.rbi +123 -0
  102. data/rbi/notiflows/models/delivery_retrieve_params.rbi +27 -0
  103. data/rbi/notiflows/models/notification.rbi +190 -0
  104. data/rbi/notiflows/models/notification_list_deliveries_params.rbi +126 -0
  105. data/rbi/notiflows/models/notification_list_params.rbi +112 -0
  106. data/rbi/notiflows/models/notification_retrieve_params.rbi +30 -0
  107. data/rbi/notiflows/models/notiflow_run_params.rbi +320 -0
  108. data/rbi/notiflows/models/notiflow_run_response.rbi +31 -0
  109. data/rbi/notiflows/models/topic.rbi +32 -0
  110. data/rbi/notiflows/models/topic_delete_params.rbi +27 -0
  111. data/rbi/notiflows/models/topic_list_params.rbi +68 -0
  112. data/rbi/notiflows/models/topic_retrieve_params.rbi +27 -0
  113. data/rbi/notiflows/models/topics/bulk_operation_response.rbi +93 -0
  114. data/rbi/notiflows/models/topics/bulk_subscribe_request.rbi +35 -0
  115. data/rbi/notiflows/models/topics/subscription_list_params.rbi +95 -0
  116. data/rbi/notiflows/models/topics/subscription_subscribe_bulk_params.rbi +32 -0
  117. data/rbi/notiflows/models/topics/subscription_unsubscribe_bulk_params.rbi +32 -0
  118. data/rbi/notiflows/models/user.rbi +126 -0
  119. data/rbi/notiflows/models/user_delete_params.rbi +27 -0
  120. data/rbi/notiflows/models/user_list_params.rbi +90 -0
  121. data/rbi/notiflows/models/user_retrieve_params.rbi +27 -0
  122. data/rbi/notiflows/models/user_upsert_params.rbi +203 -0
  123. data/rbi/notiflows/models/users/channel_setting_delete_params.rbi +43 -0
  124. data/rbi/notiflows/models/users/channel_setting_retrieve_params.rbi +43 -0
  125. data/rbi/notiflows/models/users/channel_setting_update_params.rbi +92 -0
  126. data/rbi/notiflows/models/users/channel_settings.rbi +156 -0
  127. data/rbi/notiflows/models/users/delivery_list_params.rbi +128 -0
  128. data/rbi/notiflows/models/users/delivery_retrieve_params.rbi +43 -0
  129. data/rbi/notiflows/models/users/mobile_push_settings.rbi +35 -0
  130. data/rbi/notiflows/models/users/notification_list_params.rbi +117 -0
  131. data/rbi/notiflows/models/users/notification_retrieve_params.rbi +43 -0
  132. data/rbi/notiflows/models/users/preference_retrieve_params.rbi +32 -0
  133. data/rbi/notiflows/models/users/preference_update_params.rbi +34 -0
  134. data/rbi/notiflows/models/users/preferences.rbi +241 -0
  135. data/rbi/notiflows/models/users/slack_settings.rbi +49 -0
  136. data/rbi/notiflows/models/users/subscription.rbi +64 -0
  137. data/rbi/notiflows/models/users/subscription_list_params.rbi +95 -0
  138. data/rbi/notiflows/models/users/subscription_retrieve_params.rbi +43 -0
  139. data/rbi/notiflows/models/users/subscription_subscribe_params.rbi +47 -0
  140. data/rbi/notiflows/models/users/subscription_unsubscribe_params.rbi +43 -0
  141. data/rbi/notiflows/models/users/update_preferences_request.rbi +124 -0
  142. data/rbi/notiflows/models.rbi +42 -0
  143. data/rbi/notiflows/request_options.rbi +59 -0
  144. data/rbi/notiflows/resources/deliveries.rbi +67 -0
  145. data/rbi/notiflows/resources/notifications.rbi +100 -0
  146. data/rbi/notiflows/resources/notiflows.rbi +52 -0
  147. data/rbi/notiflows/resources/topics/subscriptions.rbi +88 -0
  148. data/rbi/notiflows/resources/topics.rbi +69 -0
  149. data/rbi/notiflows/resources/users/channel_settings.rbi +104 -0
  150. data/rbi/notiflows/resources/users/deliveries.rbi +69 -0
  151. data/rbi/notiflows/resources/users/notifications.rbi +66 -0
  152. data/rbi/notiflows/resources/users/preferences.rbi +76 -0
  153. data/rbi/notiflows/resources/users/subscriptions.rbi +102 -0
  154. data/rbi/notiflows/resources/users.rbi +147 -0
  155. data/rbi/notiflows/version.rbi +5 -0
  156. data/sig/notiflows/client.rbs +41 -0
  157. data/sig/notiflows/errors.rbs +117 -0
  158. data/sig/notiflows/file_part.rbs +21 -0
  159. data/sig/notiflows/internal/cursor_page.rbs +22 -0
  160. data/sig/notiflows/internal/transport/base_client.rbs +133 -0
  161. data/sig/notiflows/internal/transport/pooled_net_requester.rbs +48 -0
  162. data/sig/notiflows/internal/type/array_of.rbs +48 -0
  163. data/sig/notiflows/internal/type/base_model.rbs +102 -0
  164. data/sig/notiflows/internal/type/base_page.rbs +24 -0
  165. data/sig/notiflows/internal/type/boolean.rbs +26 -0
  166. data/sig/notiflows/internal/type/converter.rbs +79 -0
  167. data/sig/notiflows/internal/type/enum.rbs +32 -0
  168. data/sig/notiflows/internal/type/file_input.rbs +25 -0
  169. data/sig/notiflows/internal/type/hash_of.rbs +48 -0
  170. data/sig/notiflows/internal/type/request_parameters.rbs +19 -0
  171. data/sig/notiflows/internal/type/union.rbs +52 -0
  172. data/sig/notiflows/internal/type/unknown.rbs +26 -0
  173. data/sig/notiflows/internal/util.rbs +185 -0
  174. data/sig/notiflows/internal.rbs +9 -0
  175. data/sig/notiflows/models/delivery.rbs +130 -0
  176. data/sig/notiflows/models/delivery_list_params.rbs +77 -0
  177. data/sig/notiflows/models/delivery_retrieve_params.rbs +15 -0
  178. data/sig/notiflows/models/notification.rbs +104 -0
  179. data/sig/notiflows/models/notification_list_deliveries_params.rbs +77 -0
  180. data/sig/notiflows/models/notification_list_params.rbs +70 -0
  181. data/sig/notiflows/models/notification_retrieve_params.rbs +15 -0
  182. data/sig/notiflows/models/notiflow_run_params.rbs +199 -0
  183. data/sig/notiflows/models/notiflow_run_response.rbs +13 -0
  184. data/sig/notiflows/models/topic.rbs +15 -0
  185. data/sig/notiflows/models/topic_delete_params.rbs +15 -0
  186. data/sig/notiflows/models/topic_list_params.rbs +38 -0
  187. data/sig/notiflows/models/topic_retrieve_params.rbs +15 -0
  188. data/sig/notiflows/models/topics/bulk_operation_response.rbs +39 -0
  189. data/sig/notiflows/models/topics/bulk_subscribe_request.rbs +15 -0
  190. data/sig/notiflows/models/topics/subscription_list_params.rbs +58 -0
  191. data/sig/notiflows/models/topics/subscription_subscribe_bulk_params.rbs +17 -0
  192. data/sig/notiflows/models/topics/subscription_unsubscribe_bulk_params.rbs +17 -0
  193. data/sig/notiflows/models/user.rbs +75 -0
  194. data/sig/notiflows/models/user_delete_params.rbs +15 -0
  195. data/sig/notiflows/models/user_list_params.rbs +56 -0
  196. data/sig/notiflows/models/user_retrieve_params.rbs +15 -0
  197. data/sig/notiflows/models/user_upsert_params.rbs +112 -0
  198. data/sig/notiflows/models/users/channel_setting_delete_params.rbs +26 -0
  199. data/sig/notiflows/models/users/channel_setting_retrieve_params.rbs +26 -0
  200. data/sig/notiflows/models/users/channel_setting_update_params.rbs +42 -0
  201. data/sig/notiflows/models/users/channel_settings.rbs +68 -0
  202. data/sig/notiflows/models/users/delivery_list_params.rbs +79 -0
  203. data/sig/notiflows/models/users/delivery_retrieve_params.rbs +26 -0
  204. data/sig/notiflows/models/users/mobile_push_settings.rbs +15 -0
  205. data/sig/notiflows/models/users/notification_list_params.rbs +72 -0
  206. data/sig/notiflows/models/users/notification_retrieve_params.rbs +26 -0
  207. data/sig/notiflows/models/users/preference_retrieve_params.rbs +17 -0
  208. data/sig/notiflows/models/users/preference_update_params.rbs +17 -0
  209. data/sig/notiflows/models/users/preferences.rbs +118 -0
  210. data/sig/notiflows/models/users/slack_settings.rbs +24 -0
  211. data/sig/notiflows/models/users/subscription.rbs +32 -0
  212. data/sig/notiflows/models/users/subscription_list_params.rbs +58 -0
  213. data/sig/notiflows/models/users/subscription_retrieve_params.rbs +26 -0
  214. data/sig/notiflows/models/users/subscription_subscribe_params.rbs +25 -0
  215. data/sig/notiflows/models/users/subscription_unsubscribe_params.rbs +26 -0
  216. data/sig/notiflows/models/users/update_preferences_request.rbs +52 -0
  217. data/sig/notiflows/models.rbs +39 -0
  218. data/sig/notiflows/request_options.rbs +34 -0
  219. data/sig/notiflows/resources/deliveries.rbs +24 -0
  220. data/sig/notiflows/resources/notifications.rbs +36 -0
  221. data/sig/notiflows/resources/notiflows.rbs +16 -0
  222. data/sig/notiflows/resources/topics/subscriptions.rbs +31 -0
  223. data/sig/notiflows/resources/topics.rbs +23 -0
  224. data/sig/notiflows/resources/users/channel_settings.rbs +28 -0
  225. data/sig/notiflows/resources/users/deliveries.rbs +28 -0
  226. data/sig/notiflows/resources/users/notifications.rbs +27 -0
  227. data/sig/notiflows/resources/users/preferences.rbs +21 -0
  228. data/sig/notiflows/resources/users/subscriptions.rbs +37 -0
  229. data/sig/notiflows/resources/users.rbs +52 -0
  230. data/sig/notiflows/version.rbs +3 -0
  231. metadata +302 -0
@@ -0,0 +1,118 @@
1
+ module Notiflows
2
+ module Models
3
+ module Users
4
+ type users_preferences =
5
+ {
6
+ channel_types: ::Notiflows::Users::UsersPreferences::ChannelTypes,
7
+ notiflows: ::Hash[Symbol, ::Notiflows::Users::UsersPreferences::Notiflow]
8
+ }
9
+
10
+ class UsersPreferences < ::Notiflows::Internal::Type::BaseModel
11
+ attr_reader channel_types: ::Notiflows::Users::UsersPreferences::ChannelTypes?
12
+
13
+ def channel_types=: (
14
+ ::Notiflows::Users::UsersPreferences::ChannelTypes
15
+ ) -> ::Notiflows::Users::UsersPreferences::ChannelTypes
16
+
17
+ attr_reader notiflows: ::Hash[Symbol, ::Notiflows::Users::UsersPreferences::Notiflow]?
18
+
19
+ def notiflows=: (
20
+ ::Hash[Symbol, ::Notiflows::Users::UsersPreferences::Notiflow]
21
+ ) -> ::Hash[Symbol, ::Notiflows::Users::UsersPreferences::Notiflow]
22
+
23
+ def initialize: (
24
+ ?channel_types: ::Notiflows::Users::UsersPreferences::ChannelTypes,
25
+ ?notiflows: ::Hash[Symbol, ::Notiflows::Users::UsersPreferences::Notiflow]
26
+ ) -> void
27
+
28
+ def to_hash: -> {
29
+ channel_types: ::Notiflows::Users::UsersPreferences::ChannelTypes,
30
+ notiflows: ::Hash[Symbol, ::Notiflows::Users::UsersPreferences::Notiflow]
31
+ }
32
+
33
+ type channel_types =
34
+ {
35
+ chat: bool,
36
+ email: bool,
37
+ in_app: bool,
38
+ mobile_push: bool,
39
+ sms: bool,
40
+ web_push: bool
41
+ }
42
+
43
+ class ChannelTypes < ::Notiflows::Internal::Type::BaseModel
44
+ attr_reader chat: bool?
45
+
46
+ def chat=: (bool) -> bool
47
+
48
+ attr_reader email: bool?
49
+
50
+ def email=: (bool) -> bool
51
+
52
+ attr_reader in_app: bool?
53
+
54
+ def in_app=: (bool) -> bool
55
+
56
+ attr_reader mobile_push: bool?
57
+
58
+ def mobile_push=: (bool) -> bool
59
+
60
+ attr_reader sms: bool?
61
+
62
+ def sms=: (bool) -> bool
63
+
64
+ attr_reader web_push: bool?
65
+
66
+ def web_push=: (bool) -> bool
67
+
68
+ def initialize: (
69
+ ?chat: bool,
70
+ ?email: bool,
71
+ ?in_app: bool,
72
+ ?mobile_push: bool,
73
+ ?sms: bool,
74
+ ?web_push: bool
75
+ ) -> void
76
+
77
+ def to_hash: -> {
78
+ chat: bool,
79
+ email: bool,
80
+ in_app: bool,
81
+ mobile_push: bool,
82
+ sms: bool,
83
+ web_push: bool
84
+ }
85
+ end
86
+
87
+ type notiflow =
88
+ { channel_types: ::Hash[Symbol, bool], enabled: bool, name: String }
89
+
90
+ class Notiflow < ::Notiflows::Internal::Type::BaseModel
91
+ attr_reader channel_types: ::Hash[Symbol, bool]?
92
+
93
+ def channel_types=: (::Hash[Symbol, bool]) -> ::Hash[Symbol, bool]
94
+
95
+ attr_reader enabled: bool?
96
+
97
+ def enabled=: (bool) -> bool
98
+
99
+ attr_reader name: String?
100
+
101
+ def name=: (String) -> String
102
+
103
+ def initialize: (
104
+ ?channel_types: ::Hash[Symbol, bool],
105
+ ?enabled: bool,
106
+ ?name: String
107
+ ) -> void
108
+
109
+ def to_hash: -> {
110
+ channel_types: ::Hash[Symbol, bool],
111
+ enabled: bool,
112
+ name: String
113
+ }
114
+ end
115
+ end
116
+ end
117
+ end
118
+ end
@@ -0,0 +1,24 @@
1
+ module Notiflows
2
+ module Models
3
+ module Users
4
+ type slack_settings = { slack_channel_id: String, slack_user_id: String }
5
+
6
+ class SlackSettings < Notiflows::Internal::Type::BaseModel
7
+ attr_reader slack_channel_id: String?
8
+
9
+ def slack_channel_id=: (String) -> String
10
+
11
+ attr_reader slack_user_id: String?
12
+
13
+ def slack_user_id=: (String) -> String
14
+
15
+ def initialize: (
16
+ ?slack_channel_id: String,
17
+ ?slack_user_id: String
18
+ ) -> void
19
+
20
+ def to_hash: -> { slack_channel_id: String, slack_user_id: String }
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,32 @@
1
+ module Notiflows
2
+ module Models
3
+ module Users
4
+ type subscription =
5
+ { id: String, created_at: Time, topic_name: String, user_id: String }
6
+
7
+ class Subscription < Notiflows::Internal::Type::BaseModel
8
+ attr_accessor id: String
9
+
10
+ attr_accessor created_at: Time
11
+
12
+ attr_accessor topic_name: String
13
+
14
+ attr_accessor user_id: String
15
+
16
+ def initialize: (
17
+ id: String,
18
+ created_at: Time,
19
+ topic_name: String,
20
+ user_id: String
21
+ ) -> void
22
+
23
+ def to_hash: -> {
24
+ id: String,
25
+ created_at: Time,
26
+ topic_name: String,
27
+ user_id: String
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,58 @@
1
+ module Notiflows
2
+ module Models
3
+ module Users
4
+ type subscription_list_params =
5
+ {
6
+ after: String,
7
+ before: String,
8
+ created_after: String,
9
+ created_before: String,
10
+ limit: Integer
11
+ }
12
+ & Notiflows::Internal::Type::request_parameters
13
+
14
+ class SubscriptionListParams < Notiflows::Internal::Type::BaseModel
15
+ extend Notiflows::Internal::Type::RequestParameters::Converter
16
+ include Notiflows::Internal::Type::RequestParameters
17
+
18
+ attr_reader after: String?
19
+
20
+ def after=: (String) -> String
21
+
22
+ attr_reader before: String?
23
+
24
+ def before=: (String) -> String
25
+
26
+ attr_reader created_after: String?
27
+
28
+ def created_after=: (String) -> String
29
+
30
+ attr_reader created_before: String?
31
+
32
+ def created_before=: (String) -> String
33
+
34
+ attr_reader limit: Integer?
35
+
36
+ def limit=: (Integer) -> Integer
37
+
38
+ def initialize: (
39
+ ?after: String,
40
+ ?before: String,
41
+ ?created_after: String,
42
+ ?created_before: String,
43
+ ?limit: Integer,
44
+ ?request_options: Notiflows::request_opts
45
+ ) -> void
46
+
47
+ def to_hash: -> {
48
+ after: String,
49
+ before: String,
50
+ created_after: String,
51
+ created_before: String,
52
+ limit: Integer,
53
+ request_options: Notiflows::RequestOptions
54
+ }
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,26 @@
1
+ module Notiflows
2
+ module Models
3
+ module Users
4
+ type subscription_retrieve_params =
5
+ { user_external_id: String }
6
+ & Notiflows::Internal::Type::request_parameters
7
+
8
+ class SubscriptionRetrieveParams < Notiflows::Internal::Type::BaseModel
9
+ extend Notiflows::Internal::Type::RequestParameters::Converter
10
+ include Notiflows::Internal::Type::RequestParameters
11
+
12
+ attr_accessor user_external_id: String
13
+
14
+ def initialize: (
15
+ user_external_id: String,
16
+ ?request_options: Notiflows::request_opts
17
+ ) -> void
18
+
19
+ def to_hash: -> {
20
+ user_external_id: String,
21
+ request_options: Notiflows::RequestOptions
22
+ }
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,25 @@
1
+ module Notiflows
2
+ module Models
3
+ module Users
4
+ type subscription_subscribe_params =
5
+ { topic_name: String } & Notiflows::Internal::Type::request_parameters
6
+
7
+ class SubscriptionSubscribeParams < Notiflows::Internal::Type::BaseModel
8
+ extend Notiflows::Internal::Type::RequestParameters::Converter
9
+ include Notiflows::Internal::Type::RequestParameters
10
+
11
+ attr_accessor topic_name: String
12
+
13
+ def initialize: (
14
+ topic_name: String,
15
+ ?request_options: Notiflows::request_opts
16
+ ) -> void
17
+
18
+ def to_hash: -> {
19
+ topic_name: String,
20
+ request_options: Notiflows::RequestOptions
21
+ }
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,26 @@
1
+ module Notiflows
2
+ module Models
3
+ module Users
4
+ type subscription_unsubscribe_params =
5
+ { user_external_id: String }
6
+ & Notiflows::Internal::Type::request_parameters
7
+
8
+ class SubscriptionUnsubscribeParams < Notiflows::Internal::Type::BaseModel
9
+ extend Notiflows::Internal::Type::RequestParameters::Converter
10
+ include Notiflows::Internal::Type::RequestParameters
11
+
12
+ attr_accessor user_external_id: String
13
+
14
+ def initialize: (
15
+ user_external_id: String,
16
+ ?request_options: Notiflows::request_opts
17
+ ) -> void
18
+
19
+ def to_hash: -> {
20
+ user_external_id: String,
21
+ request_options: Notiflows::RequestOptions
22
+ }
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,52 @@
1
+ module Notiflows
2
+ module Models
3
+ module Users
4
+ type update_preferences_request =
5
+ {
6
+ channel_types: ::Hash[Symbol, bool],
7
+ notiflows: ::Hash[Symbol, ::Notiflows::Users::UpdatePreferencesRequest::Notiflow]
8
+ }
9
+
10
+ class UpdatePreferencesRequest < ::Notiflows::Internal::Type::BaseModel
11
+ attr_reader channel_types: ::Hash[Symbol, bool]?
12
+
13
+ def channel_types=: (::Hash[Symbol, bool]) -> ::Hash[Symbol, bool]
14
+
15
+ attr_reader notiflows: ::Hash[Symbol, ::Notiflows::Users::UpdatePreferencesRequest::Notiflow]?
16
+
17
+ def notiflows=: (
18
+ ::Hash[Symbol, ::Notiflows::Users::UpdatePreferencesRequest::Notiflow]
19
+ ) -> ::Hash[Symbol, ::Notiflows::Users::UpdatePreferencesRequest::Notiflow]
20
+
21
+ def initialize: (
22
+ ?channel_types: ::Hash[Symbol, bool],
23
+ ?notiflows: ::Hash[Symbol, ::Notiflows::Users::UpdatePreferencesRequest::Notiflow]
24
+ ) -> void
25
+
26
+ def to_hash: -> {
27
+ channel_types: ::Hash[Symbol, bool],
28
+ notiflows: ::Hash[Symbol, ::Notiflows::Users::UpdatePreferencesRequest::Notiflow]
29
+ }
30
+
31
+ type notiflow = { channel_types: ::Hash[Symbol, bool], enabled: bool }
32
+
33
+ class Notiflow < ::Notiflows::Internal::Type::BaseModel
34
+ attr_reader channel_types: ::Hash[Symbol, bool]?
35
+
36
+ def channel_types=: (::Hash[Symbol, bool]) -> ::Hash[Symbol, bool]
37
+
38
+ attr_reader enabled: bool?
39
+
40
+ def enabled=: (bool) -> bool
41
+
42
+ def initialize: (
43
+ ?channel_types: ::Hash[Symbol, bool],
44
+ ?enabled: bool
45
+ ) -> void
46
+
47
+ def to_hash: -> { channel_types: ::Hash[Symbol, bool], enabled: bool }
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,39 @@
1
+ module Notiflows
2
+ class Delivery = Notiflows::Models::Delivery
3
+
4
+ class DeliveryListParams = Notiflows::Models::DeliveryListParams
5
+
6
+ class DeliveryRetrieveParams = Notiflows::Models::DeliveryRetrieveParams
7
+
8
+ class Notification = Notiflows::Models::Notification
9
+
10
+ class NotificationListDeliveriesParams = Notiflows::Models::NotificationListDeliveriesParams
11
+
12
+ class NotificationListParams = Notiflows::Models::NotificationListParams
13
+
14
+ class NotificationRetrieveParams = Notiflows::Models::NotificationRetrieveParams
15
+
16
+ class NotiflowRunParams = Notiflows::Models::NotiflowRunParams
17
+
18
+ class Topic = Notiflows::Models::Topic
19
+
20
+ class TopicDeleteParams = Notiflows::Models::TopicDeleteParams
21
+
22
+ class TopicListParams = Notiflows::Models::TopicListParams
23
+
24
+ class TopicRetrieveParams = Notiflows::Models::TopicRetrieveParams
25
+
26
+ module Topics = Notiflows::Models::Topics
27
+
28
+ class User = Notiflows::Models::User
29
+
30
+ class UserDeleteParams = Notiflows::Models::UserDeleteParams
31
+
32
+ class UserListParams = Notiflows::Models::UserListParams
33
+
34
+ class UserRetrieveParams = Notiflows::Models::UserRetrieveParams
35
+
36
+ module Users = Notiflows::Models::Users
37
+
38
+ class UserUpsertParams = Notiflows::Models::UserUpsertParams
39
+ end
@@ -0,0 +1,34 @@
1
+ module Notiflows
2
+ type request_opts =
3
+ Notiflows::RequestOptions | Notiflows::request_options | ::Hash[Symbol, top]
4
+
5
+ type request_options =
6
+ {
7
+ idempotency_key: String?,
8
+ extra_query: ::Hash[String, (::Array[String] | String)?]?,
9
+ extra_headers: ::Hash[String, String?]?,
10
+ extra_body: top?,
11
+ max_retries: Integer?,
12
+ timeout: Float?
13
+ }
14
+
15
+ class RequestOptions < Notiflows::Internal::Type::BaseModel
16
+ def self.validate!: (Notiflows::request_opts opts) -> void
17
+
18
+ attr_accessor idempotency_key: String?
19
+
20
+ attr_accessor extra_query: ::Hash[String, (::Array[String] | String)?]?
21
+
22
+ attr_accessor extra_headers: ::Hash[String, String?]?
23
+
24
+ attr_accessor extra_body: top?
25
+
26
+ attr_accessor max_retries: Integer?
27
+
28
+ attr_accessor timeout: Float?
29
+
30
+ def initialize: (
31
+ ?Notiflows::request_options | ::Hash[Symbol, top] values
32
+ ) -> void
33
+ end
34
+ end
@@ -0,0 +1,24 @@
1
+ module Notiflows
2
+ module Resources
3
+ class Deliveries
4
+ def retrieve: (
5
+ String id,
6
+ ?request_options: Notiflows::request_opts
7
+ ) -> Notiflows::Delivery
8
+
9
+ def list: (
10
+ ?after: String,
11
+ ?before: String,
12
+ ?channel_id: String,
13
+ ?created_after: String,
14
+ ?created_before: String,
15
+ ?limit: Integer,
16
+ ?status: String,
17
+ ?topic: String,
18
+ ?request_options: Notiflows::request_opts
19
+ ) -> Notiflows::Internal::CursorPage[Notiflows::Delivery]
20
+
21
+ def initialize: (client: Notiflows::Client) -> void
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,36 @@
1
+ module Notiflows
2
+ module Resources
3
+ class Notifications
4
+ def retrieve: (
5
+ String id,
6
+ ?request_options: Notiflows::request_opts
7
+ ) -> Notiflows::Notification
8
+
9
+ def list: (
10
+ ?after: String,
11
+ ?before: String,
12
+ ?created_after: String,
13
+ ?created_before: String,
14
+ ?limit: Integer,
15
+ ?status: String,
16
+ ?topic: String,
17
+ ?request_options: Notiflows::request_opts
18
+ ) -> Notiflows::Internal::CursorPage[Notiflows::Notification]
19
+
20
+ def list_deliveries: (
21
+ String notification_id,
22
+ ?after: String,
23
+ ?before: String,
24
+ ?channel_id: String,
25
+ ?created_after: String,
26
+ ?created_before: String,
27
+ ?limit: Integer,
28
+ ?status: String,
29
+ ?topic: String,
30
+ ?request_options: Notiflows::request_opts
31
+ ) -> Notiflows::Internal::CursorPage[Notiflows::Delivery]
32
+
33
+ def initialize: (client: Notiflows::Client) -> void
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,16 @@
1
+ module Notiflows
2
+ module Resources
3
+ class Notiflows
4
+ def run: (
5
+ String notiflow_id,
6
+ ?actor: Notiflows::NotiflowRunParams::Actor,
7
+ ?data: top,
8
+ ?recipients: ::Array[Notiflows::NotiflowRunParams::Recipient],
9
+ ?topic: String,
10
+ ?request_options: Notiflows::request_opts
11
+ ) -> Notiflows::Models::NotiflowRunResponse
12
+
13
+ def initialize: (client: Notiflows::Client) -> void
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,31 @@
1
+ module Notiflows
2
+ module Resources
3
+ class Topics
4
+ class Subscriptions
5
+ def list: (
6
+ String topic_id,
7
+ ?after: String,
8
+ ?before: String,
9
+ ?created_after: String,
10
+ ?created_before: String,
11
+ ?limit: Integer,
12
+ ?request_options: Notiflows::request_opts
13
+ ) -> Notiflows::Internal::CursorPage[Notiflows::Users::Subscription]
14
+
15
+ def subscribe_bulk: (
16
+ String topic_id,
17
+ user_external_ids: ::Array[String],
18
+ ?request_options: Notiflows::request_opts
19
+ ) -> Notiflows::Topics::BulkOperationResponse
20
+
21
+ def unsubscribe_bulk: (
22
+ String topic_id,
23
+ user_external_ids: ::Array[String],
24
+ ?request_options: Notiflows::request_opts
25
+ ) -> Notiflows::Topics::BulkOperationResponse
26
+
27
+ def initialize: (client: Notiflows::Client) -> void
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,23 @@
1
+ module Notiflows
2
+ module Resources
3
+ class Topics
4
+ attr_reader subscriptions: Notiflows::Resources::Topics::Subscriptions
5
+
6
+ def retrieve: (
7
+ String id,
8
+ ?request_options: Notiflows::request_opts
9
+ ) -> Notiflows::Topic
10
+
11
+ def list: (
12
+ ?after: String,
13
+ ?before: String,
14
+ ?limit: Integer,
15
+ ?request_options: Notiflows::request_opts
16
+ ) -> Notiflows::Internal::CursorPage[Notiflows::Topic]
17
+
18
+ def delete: (String id, ?request_options: Notiflows::request_opts) -> nil
19
+
20
+ def initialize: (client: Notiflows::Client) -> void
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,28 @@
1
+ module Notiflows
2
+ module Resources
3
+ class Users
4
+ class ChannelSettings
5
+ def retrieve: (
6
+ String channel_id,
7
+ user_external_id: String,
8
+ ?request_options: Notiflows::request_opts
9
+ ) -> Notiflows::Users::UsersChannelSettings
10
+
11
+ def update: (
12
+ String channel_id,
13
+ user_external_id: String,
14
+ settings: Notiflows::Models::Users::ChannelSettingUpdateParams::settings,
15
+ ?request_options: Notiflows::request_opts
16
+ ) -> Notiflows::Users::UsersChannelSettings
17
+
18
+ def delete: (
19
+ String channel_id,
20
+ user_external_id: String,
21
+ ?request_options: Notiflows::request_opts
22
+ ) -> nil
23
+
24
+ def initialize: (client: Notiflows::Client) -> void
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,28 @@
1
+ module Notiflows
2
+ module Resources
3
+ class Users
4
+ class Deliveries
5
+ def retrieve: (
6
+ String delivery_id,
7
+ user_external_id: String,
8
+ ?request_options: Notiflows::request_opts
9
+ ) -> Notiflows::Delivery
10
+
11
+ def list: (
12
+ String user_external_id,
13
+ ?after: String,
14
+ ?before: String,
15
+ ?channel_id: String,
16
+ ?created_after: String,
17
+ ?created_before: String,
18
+ ?limit: Integer,
19
+ ?status: String,
20
+ ?topic: String,
21
+ ?request_options: Notiflows::request_opts
22
+ ) -> Notiflows::Internal::CursorPage[Notiflows::Delivery]
23
+
24
+ def initialize: (client: Notiflows::Client) -> void
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,27 @@
1
+ module Notiflows
2
+ module Resources
3
+ class Users
4
+ class Notifications
5
+ def retrieve: (
6
+ String notification_id,
7
+ user_external_id: String,
8
+ ?request_options: Notiflows::request_opts
9
+ ) -> Notiflows::Notification
10
+
11
+ def list: (
12
+ String user_external_id,
13
+ ?after: String,
14
+ ?before: String,
15
+ ?created_after: String,
16
+ ?created_before: String,
17
+ ?limit: Integer,
18
+ ?status: String,
19
+ ?topic: String,
20
+ ?request_options: Notiflows::request_opts
21
+ ) -> Notiflows::Internal::CursorPage[Notiflows::Notification]
22
+
23
+ def initialize: (client: Notiflows::Client) -> void
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,21 @@
1
+ module Notiflows
2
+ module Resources
3
+ class Users
4
+ class Preferences
5
+ def retrieve: (
6
+ String user_external_id,
7
+ ?request_options: Notiflows::request_opts
8
+ ) -> ::Notiflows::Users::UsersPreferences
9
+
10
+ def update: (
11
+ String user_external_id,
12
+ ?channel_types: ::Hash[Symbol, bool],
13
+ ?notiflows: ::Hash[Symbol, ::Notiflows::Users::UpdatePreferencesRequest::Notiflow],
14
+ ?request_options: Notiflows::request_opts
15
+ ) -> ::Notiflows::Users::UsersPreferences
16
+
17
+ def initialize: (client: Notiflows::Client) -> void
18
+ end
19
+ end
20
+ end
21
+ end