trycourier 4.3.0 → 4.5.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 (175) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +23 -0
  3. data/README.md +1 -1
  4. data/lib/trycourier/internal/transport/pooled_net_requester.rb +12 -10
  5. data/lib/trycourier/internal/type/base_model.rb +4 -3
  6. data/lib/trycourier/internal/type/union.rb +7 -9
  7. data/lib/trycourier/internal/util.rb +7 -2
  8. data/lib/trycourier/models/airship_profile.rb +21 -0
  9. data/lib/trycourier/models/airship_profile_audience.rb +15 -0
  10. data/lib/trycourier/models/audience.rb +3 -3
  11. data/lib/trycourier/models/audience_filter.rb +52 -0
  12. data/lib/trycourier/models/audience_recipient.rb +36 -0
  13. data/lib/trycourier/models/audience_update_params.rb +3 -3
  14. data/lib/trycourier/models/bulk_create_job_params.rb +12 -3
  15. data/lib/trycourier/models/bulk_retrieve_job_response.rb +15 -3
  16. data/lib/trycourier/models/device_type.rb +7 -0
  17. data/lib/trycourier/models/discord.rb +16 -0
  18. data/lib/trycourier/models/expo.rb +16 -0
  19. data/lib/trycourier/models/filter.rb +8 -51
  20. data/lib/trycourier/models/filter_config.rb +8 -51
  21. data/lib/trycourier/models/inbound_bulk_message.rb +79 -113
  22. data/lib/trycourier/models/inbound_bulk_message_user.rb +21 -6
  23. data/lib/trycourier/models/intercom.rb +21 -0
  24. data/lib/trycourier/models/intercom_recipient.rb +15 -0
  25. data/lib/trycourier/models/list_filter.rb +52 -0
  26. data/lib/trycourier/models/list_pattern_recipient.rb +23 -0
  27. data/lib/trycourier/models/list_recipient.rb +29 -0
  28. data/lib/trycourier/models/ms_teams.rb +22 -0
  29. data/lib/trycourier/models/ms_teams_base_properties.rb +21 -0
  30. data/lib/trycourier/models/ms_teams_recipient.rb +17 -0
  31. data/lib/trycourier/models/multiple_tokens.rb +15 -0
  32. data/lib/trycourier/models/nested_filter_config.rb +49 -0
  33. data/lib/trycourier/models/pagerduty.rb +33 -0
  34. data/lib/trycourier/models/pagerduty_recipient.rb +17 -0
  35. data/lib/trycourier/models/send_direct_message.rb +15 -0
  36. data/lib/trycourier/models/send_message_params.rb +38 -8
  37. data/lib/trycourier/models/send_to_channel.rb +15 -0
  38. data/lib/trycourier/models/send_to_ms_teams_channel_id.rb +27 -0
  39. data/lib/trycourier/models/send_to_ms_teams_channel_name.rb +33 -0
  40. data/lib/trycourier/models/send_to_ms_teams_conversation_id.rb +27 -0
  41. data/lib/trycourier/models/send_to_ms_teams_email.rb +27 -0
  42. data/lib/trycourier/models/send_to_ms_teams_user_id.rb +27 -0
  43. data/lib/trycourier/models/send_to_slack_channel.rb +21 -0
  44. data/lib/trycourier/models/send_to_slack_email.rb +21 -0
  45. data/lib/trycourier/models/send_to_slack_user_id.rb +21 -0
  46. data/lib/trycourier/models/single_filter_config.rb +62 -0
  47. data/lib/trycourier/models/slack.rb +18 -0
  48. data/lib/trycourier/models/slack_base_properties.rb +15 -0
  49. data/lib/trycourier/models/slack_recipient.rb +17 -0
  50. data/lib/trycourier/models/token.rb +15 -0
  51. data/lib/trycourier/models/user_profile.rb +274 -0
  52. data/lib/trycourier/models/user_profile_firebase_token.rb +19 -0
  53. data/lib/trycourier/models/webhook_auth_mode.rb +16 -0
  54. data/lib/trycourier/models/webhook_authentication.rb +40 -0
  55. data/lib/trycourier/models/webhook_method.rb +15 -0
  56. data/lib/trycourier/models/webhook_profile.rb +53 -0
  57. data/lib/trycourier/models/webhook_profile_type.rb +15 -0
  58. data/lib/trycourier/models/webhook_recipient.rb +17 -0
  59. data/lib/trycourier/models.rb +84 -2
  60. data/lib/trycourier/resources/audiences.rb +1 -1
  61. data/lib/trycourier/resources/bulk.rb +17 -3
  62. data/lib/trycourier/version.rb +1 -1
  63. data/lib/trycourier.rb +42 -1
  64. data/rbi/trycourier/models/airship_profile.rbi +41 -0
  65. data/rbi/trycourier/models/airship_profile_audience.rbi +26 -0
  66. data/rbi/trycourier/models/audience.rbi +8 -7
  67. data/rbi/trycourier/models/audience_filter.rbi +88 -0
  68. data/rbi/trycourier/models/audience_recipient.rbi +52 -0
  69. data/rbi/trycourier/models/audience_update_params.rbi +25 -7
  70. data/rbi/trycourier/models/bulk_create_job_params.rbi +21 -20
  71. data/rbi/trycourier/models/bulk_retrieve_job_response.rbi +24 -9
  72. data/rbi/trycourier/models/device_type.rbi +7 -0
  73. data/rbi/trycourier/models/discord.rbi +18 -0
  74. data/rbi/trycourier/models/expo.rbi +16 -0
  75. data/rbi/trycourier/models/filter.rbi +8 -78
  76. data/rbi/trycourier/models/filter_config.rbi +8 -83
  77. data/rbi/trycourier/models/inbound_bulk_message.rbi +97 -153
  78. data/rbi/trycourier/models/inbound_bulk_message_user.rbi +20 -7
  79. data/rbi/trycourier/models/intercom.rbi +35 -0
  80. data/rbi/trycourier/models/intercom_recipient.rbi +23 -0
  81. data/rbi/trycourier/models/list_filter.rbi +86 -0
  82. data/rbi/trycourier/models/list_pattern_recipient.rbi +39 -0
  83. data/rbi/trycourier/models/list_recipient.rbi +44 -0
  84. data/rbi/trycourier/models/ms_teams.rbi +24 -0
  85. data/rbi/trycourier/models/ms_teams_base_properties.rbi +31 -0
  86. data/rbi/trycourier/models/ms_teams_recipient.rbi +58 -0
  87. data/rbi/trycourier/models/multiple_tokens.rbi +27 -0
  88. data/rbi/trycourier/models/nested_filter_config.rbi +104 -0
  89. data/rbi/trycourier/models/pagerduty.rbi +53 -0
  90. data/rbi/trycourier/models/pagerduty_recipient.rbi +31 -0
  91. data/rbi/trycourier/models/send_direct_message.rbi +23 -0
  92. data/rbi/trycourier/models/send_message_params.rbi +50 -11
  93. data/rbi/trycourier/models/send_to_channel.rbi +23 -0
  94. data/rbi/trycourier/models/send_to_ms_teams_channel_id.rbi +42 -0
  95. data/rbi/trycourier/models/send_to_ms_teams_channel_name.rbi +51 -0
  96. data/rbi/trycourier/models/send_to_ms_teams_conversation_id.rbi +42 -0
  97. data/rbi/trycourier/models/send_to_ms_teams_email.rbi +37 -0
  98. data/rbi/trycourier/models/send_to_ms_teams_user_id.rbi +37 -0
  99. data/rbi/trycourier/models/send_to_slack_channel.rbi +28 -0
  100. data/rbi/trycourier/models/send_to_slack_email.rbi +28 -0
  101. data/rbi/trycourier/models/send_to_slack_user_id.rbi +28 -0
  102. data/rbi/trycourier/models/single_filter_config.rbi +116 -0
  103. data/rbi/trycourier/models/slack.rbi +22 -0
  104. data/rbi/trycourier/models/slack_base_properties.rbi +23 -0
  105. data/rbi/trycourier/models/slack_recipient.rbi +52 -0
  106. data/rbi/trycourier/models/token.rbi +21 -0
  107. data/rbi/trycourier/models/user_profile.rbi +377 -0
  108. data/rbi/trycourier/models/user_profile_firebase_token.rbi +25 -0
  109. data/rbi/trycourier/models/webhook_auth_mode.rbi +22 -0
  110. data/rbi/trycourier/models/webhook_authentication.rbi +64 -0
  111. data/rbi/trycourier/models/webhook_method.rbi +21 -0
  112. data/rbi/trycourier/models/webhook_profile.rbi +80 -0
  113. data/rbi/trycourier/models/webhook_profile_type.rbi +22 -0
  114. data/rbi/trycourier/models/webhook_recipient.rbi +31 -0
  115. data/rbi/trycourier/models.rbi +84 -2
  116. data/rbi/trycourier/resources/audiences.rbi +7 -1
  117. data/rbi/trycourier/resources/bulk.rbi +22 -8
  118. data/sig/trycourier/models/airship_profile.rbs +25 -0
  119. data/sig/trycourier/models/airship_profile_audience.rbs +13 -0
  120. data/sig/trycourier/models/audience.rbs +4 -4
  121. data/sig/trycourier/models/audience_filter.rbs +50 -0
  122. data/sig/trycourier/models/audience_recipient.rbs +30 -0
  123. data/sig/trycourier/models/audience_update_params.rbs +8 -4
  124. data/sig/trycourier/models/bulk_create_job_params.rbs +4 -4
  125. data/sig/trycourier/models/bulk_retrieve_job_response.rbs +4 -4
  126. data/sig/trycourier/models/device_type.rbs +5 -0
  127. data/sig/trycourier/models/discord.rbs +11 -0
  128. data/sig/trycourier/models/expo.rbs +11 -0
  129. data/sig/trycourier/models/filter.rbs +4 -61
  130. data/sig/trycourier/models/filter_config.rbs +4 -61
  131. data/sig/trycourier/models/inbound_bulk_message.rbs +52 -99
  132. data/sig/trycourier/models/inbound_bulk_message_user.rbs +4 -6
  133. data/sig/trycourier/models/intercom.rbs +15 -0
  134. data/sig/trycourier/models/intercom_recipient.rbs +13 -0
  135. data/sig/trycourier/models/list_filter.rbs +50 -0
  136. data/sig/trycourier/models/list_pattern_recipient.rbs +19 -0
  137. data/sig/trycourier/models/list_recipient.rbs +30 -0
  138. data/sig/trycourier/models/ms_teams.rbs +16 -0
  139. data/sig/trycourier/models/ms_teams_base_properties.rbs +15 -0
  140. data/sig/trycourier/models/ms_teams_recipient.rbs +13 -0
  141. data/sig/trycourier/models/multiple_tokens.rbs +13 -0
  142. data/sig/trycourier/models/nested_filter_config.rbs +64 -0
  143. data/sig/trycourier/models/pagerduty.rbs +35 -0
  144. data/sig/trycourier/models/pagerduty_recipient.rbs +13 -0
  145. data/sig/trycourier/models/send_direct_message.rbs +13 -0
  146. data/sig/trycourier/models/send_message_params.rbs +22 -6
  147. data/sig/trycourier/models/send_to_channel.rbs +13 -0
  148. data/sig/trycourier/models/send_to_ms_teams_channel_id.rbs +26 -0
  149. data/sig/trycourier/models/send_to_ms_teams_channel_name.rbs +35 -0
  150. data/sig/trycourier/models/send_to_ms_teams_conversation_id.rbs +26 -0
  151. data/sig/trycourier/models/send_to_ms_teams_email.rbs +22 -0
  152. data/sig/trycourier/models/send_to_ms_teams_user_id.rbs +26 -0
  153. data/sig/trycourier/models/send_to_slack_channel.rbs +15 -0
  154. data/sig/trycourier/models/send_to_slack_email.rbs +15 -0
  155. data/sig/trycourier/models/send_to_slack_user_id.rbs +15 -0
  156. data/sig/trycourier/models/single_filter_config.rbs +69 -0
  157. data/sig/trycourier/models/slack.rbs +14 -0
  158. data/sig/trycourier/models/slack_base_properties.rbs +13 -0
  159. data/sig/trycourier/models/slack_recipient.rbs +13 -0
  160. data/sig/trycourier/models/token.rbs +13 -0
  161. data/sig/trycourier/models/user_profile.rbs +212 -0
  162. data/sig/trycourier/models/user_profile_firebase_token.rbs +13 -0
  163. data/sig/trycourier/models/webhook_auth_mode.rbs +15 -0
  164. data/sig/trycourier/models/webhook_authentication.rbs +35 -0
  165. data/sig/trycourier/models/webhook_method.rbs +14 -0
  166. data/sig/trycourier/models/webhook_profile.rbs +40 -0
  167. data/sig/trycourier/models/webhook_profile_type.rbs +14 -0
  168. data/sig/trycourier/models/webhook_recipient.rbs +13 -0
  169. data/sig/trycourier/models.rbs +87 -5
  170. data/sig/trycourier/resources/audiences.rbs +1 -1
  171. data/sig/trycourier/resources/bulk.rbs +1 -1
  172. metadata +128 -5
  173. data/lib/trycourier/models/recipient.rb +0 -113
  174. data/rbi/trycourier/models/recipient.rbi +0 -161
  175. data/sig/trycourier/models/recipient.rbs +0 -92
@@ -0,0 +1,22 @@
1
+ module Trycourier
2
+ module Models
3
+ type send_to_ms_teams_email =
4
+ { email: String, service_url: String, tenant_id: String }
5
+
6
+ class SendToMsTeamsEmail < Trycourier::Internal::Type::BaseModel
7
+ attr_accessor email: String
8
+
9
+ attr_accessor service_url: String
10
+
11
+ attr_accessor tenant_id: String
12
+
13
+ def initialize: (
14
+ email: String,
15
+ service_url: String,
16
+ tenant_id: String
17
+ ) -> void
18
+
19
+ def to_hash: -> { email: String, service_url: String, tenant_id: String }
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,26 @@
1
+ module Trycourier
2
+ module Models
3
+ type send_to_ms_teams_user_id =
4
+ { service_url: String, tenant_id: String, user_id: String }
5
+
6
+ class SendToMsTeamsUserID < Trycourier::Internal::Type::BaseModel
7
+ attr_accessor service_url: String
8
+
9
+ attr_accessor tenant_id: String
10
+
11
+ attr_accessor user_id: String
12
+
13
+ def initialize: (
14
+ service_url: String,
15
+ tenant_id: String,
16
+ user_id: String
17
+ ) -> void
18
+
19
+ def to_hash: -> {
20
+ service_url: String,
21
+ tenant_id: String,
22
+ user_id: String
23
+ }
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,15 @@
1
+ module Trycourier
2
+ module Models
3
+ type send_to_slack_channel = { access_token: String, channel: String }
4
+
5
+ class SendToSlackChannel < Trycourier::Internal::Type::BaseModel
6
+ attr_accessor access_token: String
7
+
8
+ attr_accessor channel: String
9
+
10
+ def initialize: (access_token: String, channel: String) -> void
11
+
12
+ def to_hash: -> { access_token: String, channel: String }
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ module Trycourier
2
+ module Models
3
+ type send_to_slack_email = { access_token: String, email: String }
4
+
5
+ class SendToSlackEmail < Trycourier::Internal::Type::BaseModel
6
+ attr_accessor access_token: String
7
+
8
+ attr_accessor email: String
9
+
10
+ def initialize: (access_token: String, email: String) -> void
11
+
12
+ def to_hash: -> { access_token: String, email: String }
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ module Trycourier
2
+ module Models
3
+ type send_to_slack_user_id = { access_token: String, user_id: String }
4
+
5
+ class SendToSlackUserID < Trycourier::Internal::Type::BaseModel
6
+ attr_accessor access_token: String
7
+
8
+ attr_accessor user_id: String
9
+
10
+ def initialize: (access_token: String, user_id: String) -> void
11
+
12
+ def to_hash: -> { access_token: String, user_id: String }
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,69 @@
1
+ module Trycourier
2
+ module Models
3
+ type single_filter_config =
4
+ {
5
+ operator: Trycourier::Models::SingleFilterConfig::operator,
6
+ path: String,
7
+ value: String
8
+ }
9
+
10
+ class SingleFilterConfig < Trycourier::Internal::Type::BaseModel
11
+ attr_accessor operator: Trycourier::Models::SingleFilterConfig::operator
12
+
13
+ attr_accessor path: String
14
+
15
+ attr_accessor value: String
16
+
17
+ def initialize: (
18
+ operator: Trycourier::Models::SingleFilterConfig::operator,
19
+ path: String,
20
+ value: String
21
+ ) -> void
22
+
23
+ def to_hash: -> {
24
+ operator: Trycourier::Models::SingleFilterConfig::operator,
25
+ path: String,
26
+ value: String
27
+ }
28
+
29
+ type operator =
30
+ :ENDS_WITH
31
+ | :EQ
32
+ | :EXISTS
33
+ | :GT
34
+ | :GTE
35
+ | :INCLUDES
36
+ | :IS_AFTER
37
+ | :IS_BEFORE
38
+ | :LT
39
+ | :LTE
40
+ | :NEQ
41
+ | :OMIT
42
+ | :STARTS_WITH
43
+ | :AND
44
+ | :OR
45
+
46
+ module Operator
47
+ extend Trycourier::Internal::Type::Enum
48
+
49
+ ENDS_WITH: :ENDS_WITH
50
+ EQ: :EQ
51
+ EXISTS: :EXISTS
52
+ GT: :GT
53
+ GTE: :GTE
54
+ INCLUDES: :INCLUDES
55
+ IS_AFTER: :IS_AFTER
56
+ IS_BEFORE: :IS_BEFORE
57
+ LT: :LT
58
+ LTE: :LTE
59
+ NEQ: :NEQ
60
+ OMIT: :OMIT
61
+ STARTS_WITH: :STARTS_WITH
62
+ AND: :AND
63
+ OR: :OR
64
+
65
+ def self?.values: -> ::Array[Trycourier::Models::SingleFilterConfig::operator]
66
+ end
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,14 @@
1
+ module Trycourier
2
+ module Models
3
+ type slack =
4
+ Trycourier::SendToSlackChannel
5
+ | Trycourier::SendToSlackEmail
6
+ | Trycourier::SendToSlackUserID
7
+
8
+ module Slack
9
+ extend Trycourier::Internal::Type::Union
10
+
11
+ def self?.variants: -> ::Array[Trycourier::Models::slack]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,13 @@
1
+ module Trycourier
2
+ module Models
3
+ type slack_base_properties = { access_token: String }
4
+
5
+ class SlackBaseProperties < Trycourier::Internal::Type::BaseModel
6
+ attr_accessor access_token: String
7
+
8
+ def initialize: (access_token: String) -> void
9
+
10
+ def to_hash: -> { access_token: String }
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ module Trycourier
2
+ module Models
3
+ type slack_recipient = { slack: Trycourier::Models::slack }
4
+
5
+ class SlackRecipient < Trycourier::Internal::Type::BaseModel
6
+ attr_accessor slack: Trycourier::Models::slack
7
+
8
+ def initialize: (slack: Trycourier::Models::slack) -> void
9
+
10
+ def to_hash: -> { slack: Trycourier::Models::slack }
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ module Trycourier
2
+ module Models
3
+ type token = { token: String }
4
+
5
+ class Token < Trycourier::Internal::Type::BaseModel
6
+ attr_accessor token: String
7
+
8
+ def initialize: (token: String) -> void
9
+
10
+ def to_hash: -> { token: String }
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,212 @@
1
+ module Trycourier
2
+ module Models
3
+ type user_profile =
4
+ {
5
+ address: Trycourier::UserProfile::Address?,
6
+ airship: Trycourier::AirshipProfile?,
7
+ apn: String?,
8
+ birthdate: String?,
9
+ custom: ::Hash[Symbol, top]?,
10
+ discord: Trycourier::Models::discord?,
11
+ email: String?,
12
+ email_verified: bool?,
13
+ expo: Trycourier::Models::expo?,
14
+ facebook_psid: String?,
15
+ family_name: String?,
16
+ firebase_token: Trycourier::Models::user_profile_firebase_token?,
17
+ gender: String?,
18
+ given_name: String?,
19
+ intercom: Trycourier::Intercom?,
20
+ locale: String?,
21
+ middle_name: String?,
22
+ ms_teams: Trycourier::Models::ms_teams?,
23
+ name: String?,
24
+ nickname: String?,
25
+ phone_number: String?,
26
+ phone_number_verified: bool?,
27
+ picture: String?,
28
+ preferred_name: String?,
29
+ profile: String?,
30
+ slack: Trycourier::Models::slack?,
31
+ sub: String?,
32
+ target_arn: String?,
33
+ updated_at: String?,
34
+ website: String?,
35
+ zoneinfo: String?
36
+ }
37
+
38
+ class UserProfile < Trycourier::Internal::Type::BaseModel
39
+ attr_accessor address: Trycourier::UserProfile::Address?
40
+
41
+ attr_accessor airship: Trycourier::AirshipProfile?
42
+
43
+ attr_accessor apn: String?
44
+
45
+ attr_accessor birthdate: String?
46
+
47
+ attr_accessor custom: ::Hash[Symbol, top]?
48
+
49
+ attr_accessor discord: Trycourier::Models::discord?
50
+
51
+ attr_accessor email: String?
52
+
53
+ attr_accessor email_verified: bool?
54
+
55
+ attr_accessor expo: Trycourier::Models::expo?
56
+
57
+ attr_accessor facebook_psid: String?
58
+
59
+ attr_accessor family_name: String?
60
+
61
+ attr_accessor firebase_token: Trycourier::Models::user_profile_firebase_token?
62
+
63
+ attr_accessor gender: String?
64
+
65
+ attr_accessor given_name: String?
66
+
67
+ attr_accessor intercom: Trycourier::Intercom?
68
+
69
+ attr_accessor locale: String?
70
+
71
+ attr_accessor middle_name: String?
72
+
73
+ attr_accessor ms_teams: Trycourier::Models::ms_teams?
74
+
75
+ attr_accessor name: String?
76
+
77
+ attr_accessor nickname: String?
78
+
79
+ attr_accessor phone_number: String?
80
+
81
+ attr_accessor phone_number_verified: bool?
82
+
83
+ attr_accessor picture: String?
84
+
85
+ attr_accessor preferred_name: String?
86
+
87
+ attr_accessor profile: String?
88
+
89
+ attr_accessor slack: Trycourier::Models::slack?
90
+
91
+ attr_accessor sub: String?
92
+
93
+ attr_accessor target_arn: String?
94
+
95
+ attr_accessor updated_at: String?
96
+
97
+ attr_accessor website: String?
98
+
99
+ attr_accessor zoneinfo: String?
100
+
101
+ def initialize: (
102
+ ?address: Trycourier::UserProfile::Address?,
103
+ ?airship: Trycourier::AirshipProfile?,
104
+ ?apn: String?,
105
+ ?birthdate: String?,
106
+ ?custom: ::Hash[Symbol, top]?,
107
+ ?discord: Trycourier::Models::discord?,
108
+ ?email: String?,
109
+ ?email_verified: bool?,
110
+ ?expo: Trycourier::Models::expo?,
111
+ ?facebook_psid: String?,
112
+ ?family_name: String?,
113
+ ?firebase_token: Trycourier::Models::user_profile_firebase_token?,
114
+ ?gender: String?,
115
+ ?given_name: String?,
116
+ ?intercom: Trycourier::Intercom?,
117
+ ?locale: String?,
118
+ ?middle_name: String?,
119
+ ?ms_teams: Trycourier::Models::ms_teams?,
120
+ ?name: String?,
121
+ ?nickname: String?,
122
+ ?phone_number: String?,
123
+ ?phone_number_verified: bool?,
124
+ ?picture: String?,
125
+ ?preferred_name: String?,
126
+ ?profile: String?,
127
+ ?slack: Trycourier::Models::slack?,
128
+ ?sub: String?,
129
+ ?target_arn: String?,
130
+ ?updated_at: String?,
131
+ ?website: String?,
132
+ ?zoneinfo: String?
133
+ ) -> void
134
+
135
+ def to_hash: -> {
136
+ address: Trycourier::UserProfile::Address?,
137
+ airship: Trycourier::AirshipProfile?,
138
+ apn: String?,
139
+ birthdate: String?,
140
+ custom: ::Hash[Symbol, top]?,
141
+ discord: Trycourier::Models::discord?,
142
+ email: String?,
143
+ email_verified: bool?,
144
+ expo: Trycourier::Models::expo?,
145
+ facebook_psid: String?,
146
+ family_name: String?,
147
+ firebase_token: Trycourier::Models::user_profile_firebase_token?,
148
+ gender: String?,
149
+ given_name: String?,
150
+ intercom: Trycourier::Intercom?,
151
+ locale: String?,
152
+ middle_name: String?,
153
+ ms_teams: Trycourier::Models::ms_teams?,
154
+ name: String?,
155
+ nickname: String?,
156
+ phone_number: String?,
157
+ phone_number_verified: bool?,
158
+ picture: String?,
159
+ preferred_name: String?,
160
+ profile: String?,
161
+ slack: Trycourier::Models::slack?,
162
+ sub: String?,
163
+ target_arn: String?,
164
+ updated_at: String?,
165
+ website: String?,
166
+ zoneinfo: String?
167
+ }
168
+
169
+ type address =
170
+ {
171
+ country: String,
172
+ formatted: String,
173
+ locality: String,
174
+ postal_code: String,
175
+ region: String,
176
+ street_address: String
177
+ }
178
+
179
+ class Address < Trycourier::Internal::Type::BaseModel
180
+ attr_accessor country: String
181
+
182
+ attr_accessor formatted: String
183
+
184
+ attr_accessor locality: String
185
+
186
+ attr_accessor postal_code: String
187
+
188
+ attr_accessor region: String
189
+
190
+ attr_accessor street_address: String
191
+
192
+ def initialize: (
193
+ country: String,
194
+ formatted: String,
195
+ locality: String,
196
+ postal_code: String,
197
+ region: String,
198
+ street_address: String
199
+ ) -> void
200
+
201
+ def to_hash: -> {
202
+ country: String,
203
+ formatted: String,
204
+ locality: String,
205
+ postal_code: String,
206
+ region: String,
207
+ street_address: String
208
+ }
209
+ end
210
+ end
211
+ end
212
+ end
@@ -0,0 +1,13 @@
1
+ module Trycourier
2
+ module Models
3
+ type user_profile_firebase_token = String | ::Array[String]
4
+
5
+ module UserProfileFirebaseToken
6
+ extend Trycourier::Internal::Type::Union
7
+
8
+ def self?.variants: -> ::Array[Trycourier::Models::user_profile_firebase_token]
9
+
10
+ StringArray: Trycourier::Internal::Type::Converter
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,15 @@
1
+ module Trycourier
2
+ module Models
3
+ type webhook_auth_mode = :none | :basic | :bearer
4
+
5
+ module WebhookAuthMode
6
+ extend Trycourier::Internal::Type::Enum
7
+
8
+ NONE: :none
9
+ BASIC: :basic
10
+ BEARER: :bearer
11
+
12
+ def self?.values: -> ::Array[Trycourier::Models::webhook_auth_mode]
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,35 @@
1
+ module Trycourier
2
+ module Models
3
+ type webhook_authentication =
4
+ {
5
+ mode: Trycourier::Models::webhook_auth_mode,
6
+ token: String?,
7
+ password: String?,
8
+ username: String?
9
+ }
10
+
11
+ class WebhookAuthentication < Trycourier::Internal::Type::BaseModel
12
+ attr_accessor mode: Trycourier::Models::webhook_auth_mode
13
+
14
+ attr_accessor token: String?
15
+
16
+ attr_accessor password: String?
17
+
18
+ attr_accessor username: String?
19
+
20
+ def initialize: (
21
+ mode: Trycourier::Models::webhook_auth_mode,
22
+ ?token: String?,
23
+ ?password: String?,
24
+ ?username: String?
25
+ ) -> void
26
+
27
+ def to_hash: -> {
28
+ mode: Trycourier::Models::webhook_auth_mode,
29
+ token: String?,
30
+ password: String?,
31
+ username: String?
32
+ }
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,14 @@
1
+ module Trycourier
2
+ module Models
3
+ type webhook_method = :POST | :PUT
4
+
5
+ module WebhookMethod
6
+ extend Trycourier::Internal::Type::Enum
7
+
8
+ POST: :POST
9
+ PUT: :PUT
10
+
11
+ def self?.values: -> ::Array[Trycourier::Models::webhook_method]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,40 @@
1
+ module Trycourier
2
+ module Models
3
+ type webhook_profile =
4
+ {
5
+ url: String,
6
+ authentication: Trycourier::WebhookAuthentication?,
7
+ headers: ::Hash[Symbol, String]?,
8
+ method_: Trycourier::Models::webhook_method?,
9
+ profile: Trycourier::Models::webhook_profile_type?
10
+ }
11
+
12
+ class WebhookProfile < Trycourier::Internal::Type::BaseModel
13
+ attr_accessor url: String
14
+
15
+ attr_accessor authentication: Trycourier::WebhookAuthentication?
16
+
17
+ attr_accessor headers: ::Hash[Symbol, String]?
18
+
19
+ attr_accessor method_: Trycourier::Models::webhook_method?
20
+
21
+ attr_accessor profile: Trycourier::Models::webhook_profile_type?
22
+
23
+ def initialize: (
24
+ url: String,
25
+ ?authentication: Trycourier::WebhookAuthentication?,
26
+ ?headers: ::Hash[Symbol, String]?,
27
+ ?method_: Trycourier::Models::webhook_method?,
28
+ ?profile: Trycourier::Models::webhook_profile_type?
29
+ ) -> void
30
+
31
+ def to_hash: -> {
32
+ url: String,
33
+ authentication: Trycourier::WebhookAuthentication?,
34
+ headers: ::Hash[Symbol, String]?,
35
+ method_: Trycourier::Models::webhook_method?,
36
+ profile: Trycourier::Models::webhook_profile_type?
37
+ }
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,14 @@
1
+ module Trycourier
2
+ module Models
3
+ type webhook_profile_type = :limited | :expanded
4
+
5
+ module WebhookProfileType
6
+ extend Trycourier::Internal::Type::Enum
7
+
8
+ LIMITED: :limited
9
+ EXPANDED: :expanded
10
+
11
+ def self?.values: -> ::Array[Trycourier::Models::webhook_profile_type]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,13 @@
1
+ module Trycourier
2
+ module Models
3
+ type webhook_recipient = { webhook: Trycourier::WebhookProfile }
4
+
5
+ class WebhookRecipient < Trycourier::Internal::Type::BaseModel
6
+ attr_accessor webhook: Trycourier::WebhookProfile
7
+
8
+ def initialize: (webhook: Trycourier::WebhookProfile) -> void
9
+
10
+ def to_hash: -> { webhook: Trycourier::WebhookProfile }
11
+ end
12
+ end
13
+ end