surge_api 0.1.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 +7 -0
- data/.ignore +2 -0
- data/CHANGELOG.md +28 -0
- data/README.md +286 -0
- data/SECURITY.md +27 -0
- data/lib/surge_api/client.rb +106 -0
- data/lib/surge_api/errors.rb +228 -0
- data/lib/surge_api/file_part.rb +55 -0
- data/lib/surge_api/internal/transport/base_client.rb +567 -0
- data/lib/surge_api/internal/transport/pooled_net_requester.rb +201 -0
- data/lib/surge_api/internal/type/array_of.rb +168 -0
- data/lib/surge_api/internal/type/base_model.rb +531 -0
- data/lib/surge_api/internal/type/base_page.rb +55 -0
- data/lib/surge_api/internal/type/boolean.rb +77 -0
- data/lib/surge_api/internal/type/converter.rb +327 -0
- data/lib/surge_api/internal/type/enum.rb +131 -0
- data/lib/surge_api/internal/type/file_input.rb +108 -0
- data/lib/surge_api/internal/type/hash_of.rb +188 -0
- data/lib/surge_api/internal/type/request_parameters.rb +42 -0
- data/lib/surge_api/internal/type/union.rb +250 -0
- data/lib/surge_api/internal/type/unknown.rb +81 -0
- data/lib/surge_api/internal/util.rb +915 -0
- data/lib/surge_api/internal.rb +20 -0
- data/lib/surge_api/models/account.rb +60 -0
- data/lib/surge_api/models/account_create_params.rb +481 -0
- data/lib/surge_api/models/account_retrieve_status_params.rb +32 -0
- data/lib/surge_api/models/account_status.rb +104 -0
- data/lib/surge_api/models/account_update_params.rb +480 -0
- data/lib/surge_api/models/blast.rb +61 -0
- data/lib/surge_api/models/blast_create_params.rb +90 -0
- data/lib/surge_api/models/call_ended_webhook_event.rb +106 -0
- data/lib/surge_api/models/campaign.rb +208 -0
- data/lib/surge_api/models/campaign_approved_webhook_event.rb +74 -0
- data/lib/surge_api/models/campaign_create_params.rb +202 -0
- data/lib/surge_api/models/contact.rb +59 -0
- data/lib/surge_api/models/contact_create_params.rb +54 -0
- data/lib/surge_api/models/contact_retrieve_params.rb +14 -0
- data/lib/surge_api/models/contact_update_params.rb +54 -0
- data/lib/surge_api/models/conversation_created_webhook_event.rb +70 -0
- data/lib/surge_api/models/error.rb +34 -0
- data/lib/surge_api/models/message.rb +146 -0
- data/lib/surge_api/models/message_create_params.rb +153 -0
- data/lib/surge_api/models/message_delivered_webhook_event.rb +159 -0
- data/lib/surge_api/models/message_failed_webhook_event.rb +167 -0
- data/lib/surge_api/models/message_received_webhook_event.rb +159 -0
- data/lib/surge_api/models/message_sent_webhook_event.rb +159 -0
- data/lib/surge_api/models/organization.rb +419 -0
- data/lib/surge_api/models/phone_number.rb +48 -0
- data/lib/surge_api/models/phone_number_purchase_params.rb +65 -0
- data/lib/surge_api/models/unwrap_webhook_event.rb +26 -0
- data/lib/surge_api/models/user.rb +51 -0
- data/lib/surge_api/models/user_create_params.rb +46 -0
- data/lib/surge_api/models/user_create_token_params.rb +22 -0
- data/lib/surge_api/models/user_retrieve_params.rb +14 -0
- data/lib/surge_api/models/user_token_response.rb +19 -0
- data/lib/surge_api/models/user_update_params.rb +46 -0
- data/lib/surge_api/models/verification.rb +58 -0
- data/lib/surge_api/models/verification_check.rb +43 -0
- data/lib/surge_api/models/verification_check_params.rb +22 -0
- data/lib/surge_api/models/verification_create_params.rb +22 -0
- data/lib/surge_api/models/webhook_unwrap_params.rb +14 -0
- data/lib/surge_api/models.rb +117 -0
- data/lib/surge_api/request_options.rb +77 -0
- data/lib/surge_api/resources/accounts.rb +102 -0
- data/lib/surge_api/resources/blasts.rb +53 -0
- data/lib/surge_api/resources/campaigns.rb +57 -0
- data/lib/surge_api/resources/contacts.rb +99 -0
- data/lib/surge_api/resources/messages.rb +75 -0
- data/lib/surge_api/resources/phone_numbers.rb +48 -0
- data/lib/surge_api/resources/users.rb +119 -0
- data/lib/surge_api/resources/verifications.rb +60 -0
- data/lib/surge_api/resources/webhooks.rb +22 -0
- data/lib/surge_api/version.rb +5 -0
- data/lib/surge_api.rb +100 -0
- data/manifest.yaml +15 -0
- data/rbi/surge_api/client.rbi +73 -0
- data/rbi/surge_api/errors.rbi +205 -0
- data/rbi/surge_api/file_part.rbi +37 -0
- data/rbi/surge_api/internal/transport/base_client.rbi +292 -0
- data/rbi/surge_api/internal/transport/pooled_net_requester.rbi +79 -0
- data/rbi/surge_api/internal/type/array_of.rbi +104 -0
- data/rbi/surge_api/internal/type/base_model.rbi +302 -0
- data/rbi/surge_api/internal/type/base_page.rbi +42 -0
- data/rbi/surge_api/internal/type/boolean.rbi +58 -0
- data/rbi/surge_api/internal/type/converter.rbi +216 -0
- data/rbi/surge_api/internal/type/enum.rbi +82 -0
- data/rbi/surge_api/internal/type/file_input.rbi +59 -0
- data/rbi/surge_api/internal/type/hash_of.rbi +104 -0
- data/rbi/surge_api/internal/type/request_parameters.rbi +29 -0
- data/rbi/surge_api/internal/type/union.rbi +128 -0
- data/rbi/surge_api/internal/type/unknown.rbi +58 -0
- data/rbi/surge_api/internal/util.rbi +487 -0
- data/rbi/surge_api/internal.rbi +16 -0
- data/rbi/surge_api/models/account.rbi +83 -0
- data/rbi/surge_api/models/account_create_params.rbi +1104 -0
- data/rbi/surge_api/models/account_retrieve_status_params.rbi +96 -0
- data/rbi/surge_api/models/account_status.rbi +185 -0
- data/rbi/surge_api/models/account_update_params.rbi +1105 -0
- data/rbi/surge_api/models/blast.rbi +108 -0
- data/rbi/surge_api/models/blast_create_params.rbi +145 -0
- data/rbi/surge_api/models/call_ended_webhook_event.rbi +205 -0
- data/rbi/surge_api/models/campaign.rbi +331 -0
- data/rbi/surge_api/models/campaign_approved_webhook_event.rbi +149 -0
- data/rbi/surge_api/models/campaign_create_params.rbi +386 -0
- data/rbi/surge_api/models/contact.rbi +88 -0
- data/rbi/surge_api/models/contact_create_params.rbi +87 -0
- data/rbi/surge_api/models/contact_retrieve_params.rbi +27 -0
- data/rbi/surge_api/models/contact_update_params.rbi +87 -0
- data/rbi/surge_api/models/conversation_created_webhook_event.rbi +129 -0
- data/rbi/surge_api/models/error.rbi +51 -0
- data/rbi/surge_api/models/message.rbi +283 -0
- data/rbi/surge_api/models/message_create_params.rbi +281 -0
- data/rbi/surge_api/models/message_delivered_webhook_event.rbi +331 -0
- data/rbi/surge_api/models/message_failed_webhook_event.rbi +335 -0
- data/rbi/surge_api/models/message_received_webhook_event.rbi +331 -0
- data/rbi/surge_api/models/message_sent_webhook_event.rbi +322 -0
- data/rbi/surge_api/models/organization.rbi +649 -0
- data/rbi/surge_api/models/phone_number.rbi +72 -0
- data/rbi/surge_api/models/phone_number_purchase_params.rbi +122 -0
- data/rbi/surge_api/models/unwrap_webhook_event.rbi +26 -0
- data/rbi/surge_api/models/user.rbi +80 -0
- data/rbi/surge_api/models/user_create_params.rbi +76 -0
- data/rbi/surge_api/models/user_create_token_params.rbi +46 -0
- data/rbi/surge_api/models/user_retrieve_params.rbi +27 -0
- data/rbi/surge_api/models/user_token_response.rbi +31 -0
- data/rbi/surge_api/models/user_update_params.rbi +76 -0
- data/rbi/surge_api/models/verification.rbi +86 -0
- data/rbi/surge_api/models/verification_check.rbi +84 -0
- data/rbi/surge_api/models/verification_check_params.rbi +40 -0
- data/rbi/surge_api/models/verification_create_params.rbi +40 -0
- data/rbi/surge_api/models/webhook_unwrap_params.rbi +27 -0
- data/rbi/surge_api/models.rbi +80 -0
- data/rbi/surge_api/request_options.rbi +59 -0
- data/rbi/surge_api/resources/accounts.rbi +94 -0
- data/rbi/surge_api/resources/blasts.rbi +48 -0
- data/rbi/surge_api/resources/campaigns.rbi +115 -0
- data/rbi/surge_api/resources/contacts.rbi +85 -0
- data/rbi/surge_api/resources/messages.rbi +72 -0
- data/rbi/surge_api/resources/phone_numbers.rbi +43 -0
- data/rbi/surge_api/resources/users.rbi +96 -0
- data/rbi/surge_api/resources/verifications.rbi +43 -0
- data/rbi/surge_api/resources/webhooks.rbi +31 -0
- data/rbi/surge_api/version.rbi +5 -0
- data/sig/surge_api/client.rbs +42 -0
- data/sig/surge_api/errors.rbs +117 -0
- data/sig/surge_api/file_part.rbs +21 -0
- data/sig/surge_api/internal/transport/base_client.rbs +131 -0
- data/sig/surge_api/internal/transport/pooled_net_requester.rbs +45 -0
- data/sig/surge_api/internal/type/array_of.rbs +48 -0
- data/sig/surge_api/internal/type/base_model.rbs +102 -0
- data/sig/surge_api/internal/type/base_page.rbs +24 -0
- data/sig/surge_api/internal/type/boolean.rbs +26 -0
- data/sig/surge_api/internal/type/converter.rbs +79 -0
- data/sig/surge_api/internal/type/enum.rbs +32 -0
- data/sig/surge_api/internal/type/file_input.rbs +25 -0
- data/sig/surge_api/internal/type/hash_of.rbs +48 -0
- data/sig/surge_api/internal/type/request_parameters.rbs +17 -0
- data/sig/surge_api/internal/type/union.rbs +52 -0
- data/sig/surge_api/internal/type/unknown.rbs +26 -0
- data/sig/surge_api/internal/util.rbs +185 -0
- data/sig/surge_api/internal.rbs +9 -0
- data/sig/surge_api/models/account.rbs +40 -0
- data/sig/surge_api/models/account_create_params.rbs +433 -0
- data/sig/surge_api/models/account_retrieve_status_params.rbs +40 -0
- data/sig/surge_api/models/account_status.rbs +71 -0
- data/sig/surge_api/models/account_update_params.rbs +435 -0
- data/sig/surge_api/models/blast.rbs +64 -0
- data/sig/surge_api/models/blast_create_params.rbs +82 -0
- data/sig/surge_api/models/call_ended_webhook_event.rbs +99 -0
- data/sig/surge_api/models/campaign.rbs +122 -0
- data/sig/surge_api/models/campaign_approved_webhook_event.rbs +67 -0
- data/sig/surge_api/models/campaign_create_params.rbs +127 -0
- data/sig/surge_api/models/contact.rbs +53 -0
- data/sig/surge_api/models/contact_create_params.rbs +54 -0
- data/sig/surge_api/models/contact_retrieve_params.rbs +15 -0
- data/sig/surge_api/models/contact_update_params.rbs +54 -0
- data/sig/surge_api/models/conversation_created_webhook_event.rbs +62 -0
- data/sig/surge_api/models/error.rbs +27 -0
- data/sig/surge_api/models/message.rbs +138 -0
- data/sig/surge_api/models/message_create_params.rbs +140 -0
- data/sig/surge_api/models/message_delivered_webhook_event.rbs +143 -0
- data/sig/surge_api/models/message_failed_webhook_event.rbs +148 -0
- data/sig/surge_api/models/message_received_webhook_event.rbs +143 -0
- data/sig/surge_api/models/message_sent_webhook_event.rbs +143 -0
- data/sig/surge_api/models/organization.rbs +385 -0
- data/sig/surge_api/models/phone_number.rbs +37 -0
- data/sig/surge_api/models/phone_number_purchase_params.rbs +62 -0
- data/sig/surge_api/models/unwrap_webhook_event.rbs +18 -0
- data/sig/surge_api/models/user.rbs +48 -0
- data/sig/surge_api/models/user_create_params.rbs +47 -0
- data/sig/surge_api/models/user_create_token_params.rbs +26 -0
- data/sig/surge_api/models/user_retrieve_params.rbs +15 -0
- data/sig/surge_api/models/user_token_response.rbs +15 -0
- data/sig/surge_api/models/user_update_params.rbs +47 -0
- data/sig/surge_api/models/verification.rbs +48 -0
- data/sig/surge_api/models/verification_check.rbs +45 -0
- data/sig/surge_api/models/verification_check_params.rbs +23 -0
- data/sig/surge_api/models/verification_create_params.rbs +23 -0
- data/sig/surge_api/models/webhook_unwrap_params.rbs +15 -0
- data/sig/surge_api/models.rbs +77 -0
- data/sig/surge_api/request_options.rbs +34 -0
- data/sig/surge_api/resources/accounts.rbs +30 -0
- data/sig/surge_api/resources/blasts.rbs +19 -0
- data/sig/surge_api/resources/campaigns.rbs +21 -0
- data/sig/surge_api/resources/contacts.rbs +32 -0
- data/sig/surge_api/resources/messages.rbs +18 -0
- data/sig/surge_api/resources/phone_numbers.rbs +16 -0
- data/sig/surge_api/resources/users.rbs +36 -0
- data/sig/surge_api/resources/verifications.rbs +18 -0
- data/sig/surge_api/resources/webhooks.rbs +17 -0
- data/sig/surge_api/version.rbs +3 -0
- metadata +269 -0
@@ -0,0 +1,72 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module SurgeAPI
|
4
|
+
module Models
|
5
|
+
class PhoneNumber < SurgeAPI::Internal::Type::BaseModel
|
6
|
+
OrHash =
|
7
|
+
T.type_alias do
|
8
|
+
T.any(SurgeAPI::PhoneNumber, SurgeAPI::Internal::AnyHash)
|
9
|
+
end
|
10
|
+
|
11
|
+
# Unique identifier for the phone number
|
12
|
+
sig { returns(String) }
|
13
|
+
attr_accessor :id
|
14
|
+
|
15
|
+
# The phone number in E.164 format
|
16
|
+
sig { returns(String) }
|
17
|
+
attr_accessor :number
|
18
|
+
|
19
|
+
# Whether the phone number is local, toll-free, or short code
|
20
|
+
sig { returns(SurgeAPI::PhoneNumber::Type::TaggedSymbol) }
|
21
|
+
attr_accessor :type
|
22
|
+
|
23
|
+
# A phone number that can be used to send and receive messages and calls
|
24
|
+
sig do
|
25
|
+
params(
|
26
|
+
id: String,
|
27
|
+
number: String,
|
28
|
+
type: SurgeAPI::PhoneNumber::Type::OrSymbol
|
29
|
+
).returns(T.attached_class)
|
30
|
+
end
|
31
|
+
def self.new(
|
32
|
+
# Unique identifier for the phone number
|
33
|
+
id:,
|
34
|
+
# The phone number in E.164 format
|
35
|
+
number:,
|
36
|
+
# Whether the phone number is local, toll-free, or short code
|
37
|
+
type:
|
38
|
+
)
|
39
|
+
end
|
40
|
+
|
41
|
+
sig do
|
42
|
+
override.returns(
|
43
|
+
{
|
44
|
+
id: String,
|
45
|
+
number: String,
|
46
|
+
type: SurgeAPI::PhoneNumber::Type::TaggedSymbol
|
47
|
+
}
|
48
|
+
)
|
49
|
+
end
|
50
|
+
def to_hash
|
51
|
+
end
|
52
|
+
|
53
|
+
# Whether the phone number is local, toll-free, or short code
|
54
|
+
module Type
|
55
|
+
extend SurgeAPI::Internal::Type::Enum
|
56
|
+
|
57
|
+
TaggedSymbol =
|
58
|
+
T.type_alias { T.all(Symbol, SurgeAPI::PhoneNumber::Type) }
|
59
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
60
|
+
|
61
|
+
LOCAL = T.let(:local, SurgeAPI::PhoneNumber::Type::TaggedSymbol)
|
62
|
+
TOLL_FREE = T.let(:toll_free, SurgeAPI::PhoneNumber::Type::TaggedSymbol)
|
63
|
+
|
64
|
+
sig do
|
65
|
+
override.returns(T::Array[SurgeAPI::PhoneNumber::Type::TaggedSymbol])
|
66
|
+
end
|
67
|
+
def self.values
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
@@ -0,0 +1,122 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module SurgeAPI
|
4
|
+
module Models
|
5
|
+
class PhoneNumberPurchaseParams < SurgeAPI::Internal::Type::BaseModel
|
6
|
+
extend SurgeAPI::Internal::Type::RequestParameters::Converter
|
7
|
+
include SurgeAPI::Internal::Type::RequestParameters
|
8
|
+
|
9
|
+
OrHash =
|
10
|
+
T.type_alias do
|
11
|
+
T.any(
|
12
|
+
SurgeAPI::PhoneNumberPurchaseParams,
|
13
|
+
SurgeAPI::Internal::AnyHash
|
14
|
+
)
|
15
|
+
end
|
16
|
+
|
17
|
+
# The desired area code for this phone number. If provided without type, the type
|
18
|
+
# will be inferred.
|
19
|
+
sig { returns(T.nilable(String)) }
|
20
|
+
attr_reader :area_code
|
21
|
+
|
22
|
+
sig { params(area_code: String).void }
|
23
|
+
attr_writer :area_code
|
24
|
+
|
25
|
+
# Latitude to search for nearby phone numbers. Must be used with longitude. If
|
26
|
+
# provided without type, type will be inferred as 'local'.
|
27
|
+
sig { returns(T.nilable(Float)) }
|
28
|
+
attr_reader :latitude
|
29
|
+
|
30
|
+
sig { params(latitude: Float).void }
|
31
|
+
attr_writer :latitude
|
32
|
+
|
33
|
+
# Longitude to search for nearby phone numbers. Must be used with latitude. If
|
34
|
+
# provided without type, type will be inferred as 'local'.
|
35
|
+
sig { returns(T.nilable(Float)) }
|
36
|
+
attr_reader :longitude
|
37
|
+
|
38
|
+
sig { params(longitude: Float).void }
|
39
|
+
attr_writer :longitude
|
40
|
+
|
41
|
+
# Whether the phone number is local or toll-free. Can be omitted if area_code or
|
42
|
+
# latitude/longitude are provided.
|
43
|
+
sig do
|
44
|
+
returns(T.nilable(SurgeAPI::PhoneNumberPurchaseParams::Type::OrSymbol))
|
45
|
+
end
|
46
|
+
attr_reader :type
|
47
|
+
|
48
|
+
sig do
|
49
|
+
params(type: SurgeAPI::PhoneNumberPurchaseParams::Type::OrSymbol).void
|
50
|
+
end
|
51
|
+
attr_writer :type
|
52
|
+
|
53
|
+
sig do
|
54
|
+
params(
|
55
|
+
area_code: String,
|
56
|
+
latitude: Float,
|
57
|
+
longitude: Float,
|
58
|
+
type: SurgeAPI::PhoneNumberPurchaseParams::Type::OrSymbol,
|
59
|
+
request_options: SurgeAPI::RequestOptions::OrHash
|
60
|
+
).returns(T.attached_class)
|
61
|
+
end
|
62
|
+
def self.new(
|
63
|
+
# The desired area code for this phone number. If provided without type, the type
|
64
|
+
# will be inferred.
|
65
|
+
area_code: nil,
|
66
|
+
# Latitude to search for nearby phone numbers. Must be used with longitude. If
|
67
|
+
# provided without type, type will be inferred as 'local'.
|
68
|
+
latitude: nil,
|
69
|
+
# Longitude to search for nearby phone numbers. Must be used with latitude. If
|
70
|
+
# provided without type, type will be inferred as 'local'.
|
71
|
+
longitude: nil,
|
72
|
+
# Whether the phone number is local or toll-free. Can be omitted if area_code or
|
73
|
+
# latitude/longitude are provided.
|
74
|
+
type: nil,
|
75
|
+
request_options: {}
|
76
|
+
)
|
77
|
+
end
|
78
|
+
|
79
|
+
sig do
|
80
|
+
override.returns(
|
81
|
+
{
|
82
|
+
area_code: String,
|
83
|
+
latitude: Float,
|
84
|
+
longitude: Float,
|
85
|
+
type: SurgeAPI::PhoneNumberPurchaseParams::Type::OrSymbol,
|
86
|
+
request_options: SurgeAPI::RequestOptions
|
87
|
+
}
|
88
|
+
)
|
89
|
+
end
|
90
|
+
def to_hash
|
91
|
+
end
|
92
|
+
|
93
|
+
# Whether the phone number is local or toll-free. Can be omitted if area_code or
|
94
|
+
# latitude/longitude are provided.
|
95
|
+
module Type
|
96
|
+
extend SurgeAPI::Internal::Type::Enum
|
97
|
+
|
98
|
+
TaggedSymbol =
|
99
|
+
T.type_alias do
|
100
|
+
T.all(Symbol, SurgeAPI::PhoneNumberPurchaseParams::Type)
|
101
|
+
end
|
102
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
103
|
+
|
104
|
+
LOCAL =
|
105
|
+
T.let(:local, SurgeAPI::PhoneNumberPurchaseParams::Type::TaggedSymbol)
|
106
|
+
TOLL_FREE =
|
107
|
+
T.let(
|
108
|
+
:toll_free,
|
109
|
+
SurgeAPI::PhoneNumberPurchaseParams::Type::TaggedSymbol
|
110
|
+
)
|
111
|
+
|
112
|
+
sig do
|
113
|
+
override.returns(
|
114
|
+
T::Array[SurgeAPI::PhoneNumberPurchaseParams::Type::TaggedSymbol]
|
115
|
+
)
|
116
|
+
end
|
117
|
+
def self.values
|
118
|
+
end
|
119
|
+
end
|
120
|
+
end
|
121
|
+
end
|
122
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module SurgeAPI
|
4
|
+
module Models
|
5
|
+
module UnwrapWebhookEvent
|
6
|
+
extend SurgeAPI::Internal::Type::Union
|
7
|
+
|
8
|
+
Variants =
|
9
|
+
T.type_alias do
|
10
|
+
T.any(
|
11
|
+
SurgeAPI::CallEndedWebhookEvent,
|
12
|
+
SurgeAPI::CampaignApprovedWebhookEvent,
|
13
|
+
SurgeAPI::ConversationCreatedWebhookEvent,
|
14
|
+
SurgeAPI::MessageDeliveredWebhookEvent,
|
15
|
+
SurgeAPI::MessageFailedWebhookEvent,
|
16
|
+
SurgeAPI::MessageReceivedWebhookEvent,
|
17
|
+
SurgeAPI::MessageSentWebhookEvent
|
18
|
+
)
|
19
|
+
end
|
20
|
+
|
21
|
+
sig { override.returns(T::Array[SurgeAPI::UnwrapWebhookEvent::Variants]) }
|
22
|
+
def self.variants
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,80 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module SurgeAPI
|
4
|
+
module Models
|
5
|
+
class User < SurgeAPI::Internal::Type::BaseModel
|
6
|
+
OrHash =
|
7
|
+
T.type_alias { T.any(SurgeAPI::User, SurgeAPI::Internal::AnyHash) }
|
8
|
+
|
9
|
+
# The user's first name.
|
10
|
+
sig { returns(String) }
|
11
|
+
attr_accessor :first_name
|
12
|
+
|
13
|
+
# Unique identifier for the object.
|
14
|
+
sig { returns(T.nilable(String)) }
|
15
|
+
attr_reader :id
|
16
|
+
|
17
|
+
sig { params(id: String).void }
|
18
|
+
attr_writer :id
|
19
|
+
|
20
|
+
# The user's last name.
|
21
|
+
sig { returns(T.nilable(String)) }
|
22
|
+
attr_reader :last_name
|
23
|
+
|
24
|
+
sig { params(last_name: String).void }
|
25
|
+
attr_writer :last_name
|
26
|
+
|
27
|
+
# Set of key-value pairs that will be stored with the object.
|
28
|
+
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
29
|
+
attr_reader :metadata
|
30
|
+
|
31
|
+
sig { params(metadata: T::Hash[Symbol, String]).void }
|
32
|
+
attr_writer :metadata
|
33
|
+
|
34
|
+
# URL of a photo to be used as the user's avatar.
|
35
|
+
sig { returns(T.nilable(String)) }
|
36
|
+
attr_reader :photo_url
|
37
|
+
|
38
|
+
sig { params(photo_url: String).void }
|
39
|
+
attr_writer :photo_url
|
40
|
+
|
41
|
+
# A user of the app
|
42
|
+
sig do
|
43
|
+
params(
|
44
|
+
first_name: String,
|
45
|
+
id: String,
|
46
|
+
last_name: String,
|
47
|
+
metadata: T::Hash[Symbol, String],
|
48
|
+
photo_url: String
|
49
|
+
).returns(T.attached_class)
|
50
|
+
end
|
51
|
+
def self.new(
|
52
|
+
# The user's first name.
|
53
|
+
first_name:,
|
54
|
+
# Unique identifier for the object.
|
55
|
+
id: nil,
|
56
|
+
# The user's last name.
|
57
|
+
last_name: nil,
|
58
|
+
# Set of key-value pairs that will be stored with the object.
|
59
|
+
metadata: nil,
|
60
|
+
# URL of a photo to be used as the user's avatar.
|
61
|
+
photo_url: nil
|
62
|
+
)
|
63
|
+
end
|
64
|
+
|
65
|
+
sig do
|
66
|
+
override.returns(
|
67
|
+
{
|
68
|
+
first_name: String,
|
69
|
+
id: String,
|
70
|
+
last_name: String,
|
71
|
+
metadata: T::Hash[Symbol, String],
|
72
|
+
photo_url: String
|
73
|
+
}
|
74
|
+
)
|
75
|
+
end
|
76
|
+
def to_hash
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
@@ -0,0 +1,76 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module SurgeAPI
|
4
|
+
module Models
|
5
|
+
class UserCreateParams < SurgeAPI::Internal::Type::BaseModel
|
6
|
+
extend SurgeAPI::Internal::Type::RequestParameters::Converter
|
7
|
+
include SurgeAPI::Internal::Type::RequestParameters
|
8
|
+
|
9
|
+
OrHash =
|
10
|
+
T.type_alias do
|
11
|
+
T.any(SurgeAPI::UserCreateParams, SurgeAPI::Internal::AnyHash)
|
12
|
+
end
|
13
|
+
|
14
|
+
# The user's first name.
|
15
|
+
sig { returns(String) }
|
16
|
+
attr_accessor :first_name
|
17
|
+
|
18
|
+
# The user's last name.
|
19
|
+
sig { returns(T.nilable(String)) }
|
20
|
+
attr_reader :last_name
|
21
|
+
|
22
|
+
sig { params(last_name: String).void }
|
23
|
+
attr_writer :last_name
|
24
|
+
|
25
|
+
# Set of key-value pairs that will be stored with the object.
|
26
|
+
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
27
|
+
attr_reader :metadata
|
28
|
+
|
29
|
+
sig { params(metadata: T::Hash[Symbol, String]).void }
|
30
|
+
attr_writer :metadata
|
31
|
+
|
32
|
+
# URL of a photo to be used as the user's avatar.
|
33
|
+
sig { returns(T.nilable(String)) }
|
34
|
+
attr_reader :photo_url
|
35
|
+
|
36
|
+
sig { params(photo_url: String).void }
|
37
|
+
attr_writer :photo_url
|
38
|
+
|
39
|
+
sig do
|
40
|
+
params(
|
41
|
+
first_name: String,
|
42
|
+
last_name: String,
|
43
|
+
metadata: T::Hash[Symbol, String],
|
44
|
+
photo_url: String,
|
45
|
+
request_options: SurgeAPI::RequestOptions::OrHash
|
46
|
+
).returns(T.attached_class)
|
47
|
+
end
|
48
|
+
def self.new(
|
49
|
+
# The user's first name.
|
50
|
+
first_name:,
|
51
|
+
# The user's last name.
|
52
|
+
last_name: nil,
|
53
|
+
# Set of key-value pairs that will be stored with the object.
|
54
|
+
metadata: nil,
|
55
|
+
# URL of a photo to be used as the user's avatar.
|
56
|
+
photo_url: nil,
|
57
|
+
request_options: {}
|
58
|
+
)
|
59
|
+
end
|
60
|
+
|
61
|
+
sig do
|
62
|
+
override.returns(
|
63
|
+
{
|
64
|
+
first_name: String,
|
65
|
+
last_name: String,
|
66
|
+
metadata: T::Hash[Symbol, String],
|
67
|
+
photo_url: String,
|
68
|
+
request_options: SurgeAPI::RequestOptions
|
69
|
+
}
|
70
|
+
)
|
71
|
+
end
|
72
|
+
def to_hash
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module SurgeAPI
|
4
|
+
module Models
|
5
|
+
class UserCreateTokenParams < SurgeAPI::Internal::Type::BaseModel
|
6
|
+
extend SurgeAPI::Internal::Type::RequestParameters::Converter
|
7
|
+
include SurgeAPI::Internal::Type::RequestParameters
|
8
|
+
|
9
|
+
OrHash =
|
10
|
+
T.type_alias do
|
11
|
+
T.any(SurgeAPI::UserCreateTokenParams, SurgeAPI::Internal::AnyHash)
|
12
|
+
end
|
13
|
+
|
14
|
+
# For how many seconds the token should be accepted. Defaults to 15 minutes.
|
15
|
+
sig { returns(T.nilable(Integer)) }
|
16
|
+
attr_reader :duration_seconds
|
17
|
+
|
18
|
+
sig { params(duration_seconds: Integer).void }
|
19
|
+
attr_writer :duration_seconds
|
20
|
+
|
21
|
+
sig do
|
22
|
+
params(
|
23
|
+
duration_seconds: Integer,
|
24
|
+
request_options: SurgeAPI::RequestOptions::OrHash
|
25
|
+
).returns(T.attached_class)
|
26
|
+
end
|
27
|
+
def self.new(
|
28
|
+
# For how many seconds the token should be accepted. Defaults to 15 minutes.
|
29
|
+
duration_seconds: nil,
|
30
|
+
request_options: {}
|
31
|
+
)
|
32
|
+
end
|
33
|
+
|
34
|
+
sig do
|
35
|
+
override.returns(
|
36
|
+
{
|
37
|
+
duration_seconds: Integer,
|
38
|
+
request_options: SurgeAPI::RequestOptions
|
39
|
+
}
|
40
|
+
)
|
41
|
+
end
|
42
|
+
def to_hash
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module SurgeAPI
|
4
|
+
module Models
|
5
|
+
class UserRetrieveParams < SurgeAPI::Internal::Type::BaseModel
|
6
|
+
extend SurgeAPI::Internal::Type::RequestParameters::Converter
|
7
|
+
include SurgeAPI::Internal::Type::RequestParameters
|
8
|
+
|
9
|
+
OrHash =
|
10
|
+
T.type_alias do
|
11
|
+
T.any(SurgeAPI::UserRetrieveParams, SurgeAPI::Internal::AnyHash)
|
12
|
+
end
|
13
|
+
|
14
|
+
sig do
|
15
|
+
params(request_options: SurgeAPI::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: SurgeAPI::RequestOptions }) }
|
23
|
+
def to_hash
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module SurgeAPI
|
4
|
+
module Models
|
5
|
+
class UserTokenResponse < SurgeAPI::Internal::Type::BaseModel
|
6
|
+
OrHash =
|
7
|
+
T.type_alias do
|
8
|
+
T.any(SurgeAPI::UserTokenResponse, SurgeAPI::Internal::AnyHash)
|
9
|
+
end
|
10
|
+
|
11
|
+
# The created token.
|
12
|
+
sig { returns(T.nilable(String)) }
|
13
|
+
attr_reader :token
|
14
|
+
|
15
|
+
sig { params(token: String).void }
|
16
|
+
attr_writer :token
|
17
|
+
|
18
|
+
# Response when token has been created successfully
|
19
|
+
sig { params(token: String).returns(T.attached_class) }
|
20
|
+
def self.new(
|
21
|
+
# The created token.
|
22
|
+
token: nil
|
23
|
+
)
|
24
|
+
end
|
25
|
+
|
26
|
+
sig { override.returns({ token: String }) }
|
27
|
+
def to_hash
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,76 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module SurgeAPI
|
4
|
+
module Models
|
5
|
+
class UserUpdateParams < SurgeAPI::Internal::Type::BaseModel
|
6
|
+
extend SurgeAPI::Internal::Type::RequestParameters::Converter
|
7
|
+
include SurgeAPI::Internal::Type::RequestParameters
|
8
|
+
|
9
|
+
OrHash =
|
10
|
+
T.type_alias do
|
11
|
+
T.any(SurgeAPI::UserUpdateParams, SurgeAPI::Internal::AnyHash)
|
12
|
+
end
|
13
|
+
|
14
|
+
# The user's first name.
|
15
|
+
sig { returns(String) }
|
16
|
+
attr_accessor :first_name
|
17
|
+
|
18
|
+
# The user's last name.
|
19
|
+
sig { returns(T.nilable(String)) }
|
20
|
+
attr_reader :last_name
|
21
|
+
|
22
|
+
sig { params(last_name: String).void }
|
23
|
+
attr_writer :last_name
|
24
|
+
|
25
|
+
# Set of key-value pairs that will be stored with the object.
|
26
|
+
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
27
|
+
attr_reader :metadata
|
28
|
+
|
29
|
+
sig { params(metadata: T::Hash[Symbol, String]).void }
|
30
|
+
attr_writer :metadata
|
31
|
+
|
32
|
+
# URL of a photo to be used as the user's avatar.
|
33
|
+
sig { returns(T.nilable(String)) }
|
34
|
+
attr_reader :photo_url
|
35
|
+
|
36
|
+
sig { params(photo_url: String).void }
|
37
|
+
attr_writer :photo_url
|
38
|
+
|
39
|
+
sig do
|
40
|
+
params(
|
41
|
+
first_name: String,
|
42
|
+
last_name: String,
|
43
|
+
metadata: T::Hash[Symbol, String],
|
44
|
+
photo_url: String,
|
45
|
+
request_options: SurgeAPI::RequestOptions::OrHash
|
46
|
+
).returns(T.attached_class)
|
47
|
+
end
|
48
|
+
def self.new(
|
49
|
+
# The user's first name.
|
50
|
+
first_name:,
|
51
|
+
# The user's last name.
|
52
|
+
last_name: nil,
|
53
|
+
# Set of key-value pairs that will be stored with the object.
|
54
|
+
metadata: nil,
|
55
|
+
# URL of a photo to be used as the user's avatar.
|
56
|
+
photo_url: nil,
|
57
|
+
request_options: {}
|
58
|
+
)
|
59
|
+
end
|
60
|
+
|
61
|
+
sig do
|
62
|
+
override.returns(
|
63
|
+
{
|
64
|
+
first_name: String,
|
65
|
+
last_name: String,
|
66
|
+
metadata: T::Hash[Symbol, String],
|
67
|
+
photo_url: String,
|
68
|
+
request_options: SurgeAPI::RequestOptions
|
69
|
+
}
|
70
|
+
)
|
71
|
+
end
|
72
|
+
def to_hash
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
@@ -0,0 +1,86 @@
|
|
1
|
+
# typed: strong
|
2
|
+
|
3
|
+
module SurgeAPI
|
4
|
+
module Models
|
5
|
+
class Verification < SurgeAPI::Internal::Type::BaseModel
|
6
|
+
OrHash =
|
7
|
+
T.type_alias do
|
8
|
+
T.any(SurgeAPI::Verification, SurgeAPI::Internal::AnyHash)
|
9
|
+
end
|
10
|
+
|
11
|
+
# Unique identifier for the object.
|
12
|
+
sig { returns(String) }
|
13
|
+
attr_accessor :id
|
14
|
+
|
15
|
+
# The number of times the code has been attempted.
|
16
|
+
sig { returns(Integer) }
|
17
|
+
attr_accessor :attempt_count
|
18
|
+
|
19
|
+
# The phone number being verified. In E.164 format.
|
20
|
+
sig { returns(String) }
|
21
|
+
attr_accessor :phone_number
|
22
|
+
|
23
|
+
# The current status of the verification.
|
24
|
+
sig { returns(SurgeAPI::Verification::Status::TaggedSymbol) }
|
25
|
+
attr_accessor :status
|
26
|
+
|
27
|
+
# A phone number verification
|
28
|
+
sig do
|
29
|
+
params(
|
30
|
+
id: String,
|
31
|
+
attempt_count: Integer,
|
32
|
+
phone_number: String,
|
33
|
+
status: SurgeAPI::Verification::Status::OrSymbol
|
34
|
+
).returns(T.attached_class)
|
35
|
+
end
|
36
|
+
def self.new(
|
37
|
+
# Unique identifier for the object.
|
38
|
+
id:,
|
39
|
+
# The number of times the code has been attempted.
|
40
|
+
attempt_count:,
|
41
|
+
# The phone number being verified. In E.164 format.
|
42
|
+
phone_number:,
|
43
|
+
# The current status of the verification.
|
44
|
+
status:
|
45
|
+
)
|
46
|
+
end
|
47
|
+
|
48
|
+
sig do
|
49
|
+
override.returns(
|
50
|
+
{
|
51
|
+
id: String,
|
52
|
+
attempt_count: Integer,
|
53
|
+
phone_number: String,
|
54
|
+
status: SurgeAPI::Verification::Status::TaggedSymbol
|
55
|
+
}
|
56
|
+
)
|
57
|
+
end
|
58
|
+
def to_hash
|
59
|
+
end
|
60
|
+
|
61
|
+
# The current status of the verification.
|
62
|
+
module Status
|
63
|
+
extend SurgeAPI::Internal::Type::Enum
|
64
|
+
|
65
|
+
TaggedSymbol =
|
66
|
+
T.type_alias { T.all(Symbol, SurgeAPI::Verification::Status) }
|
67
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
68
|
+
|
69
|
+
PENDING = T.let(:pending, SurgeAPI::Verification::Status::TaggedSymbol)
|
70
|
+
VERIFIED =
|
71
|
+
T.let(:verified, SurgeAPI::Verification::Status::TaggedSymbol)
|
72
|
+
EXHAUSTED =
|
73
|
+
T.let(:exhausted, SurgeAPI::Verification::Status::TaggedSymbol)
|
74
|
+
EXPIRED = T.let(:expired, SurgeAPI::Verification::Status::TaggedSymbol)
|
75
|
+
|
76
|
+
sig do
|
77
|
+
override.returns(
|
78
|
+
T::Array[SurgeAPI::Verification::Status::TaggedSymbol]
|
79
|
+
)
|
80
|
+
end
|
81
|
+
def self.values
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|