appwrite 28.3.2 → 28.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/appwrite/client.rb +20 -4
- data/lib/appwrite/enums/billing_plan_group.rb +2 -0
- data/lib/appwrite/enums/build_runtime.rb +2 -0
- data/lib/appwrite/enums/databases_index_type.rb +1 -0
- data/lib/appwrite/enums/domain_registration_type.rb +10 -0
- data/lib/appwrite/enums/domain_transfer_status_enum.rb +14 -0
- data/lib/appwrite/enums/framework.rb +1 -0
- data/lib/appwrite/enums/id_token_provider.rb +8 -0
- data/lib/appwrite/enums/image_gravity.rb +1 -0
- data/lib/appwrite/enums/o_auth2_auth0_prompt.rb +9 -0
- data/lib/appwrite/enums/o_auth2_discord_prompt.rb +8 -0
- data/lib/appwrite/enums/o_auth2_github_prompt.rb +7 -0
- data/lib/appwrite/enums/o_auth2_kakao_prompt.rb +10 -0
- data/lib/appwrite/enums/o_auth2_microsoft_prompt.rb +10 -0
- data/lib/appwrite/enums/o_auth2_okta_prompt.rb +9 -0
- data/lib/appwrite/enums/o_auth2_salesforce_prompt.rb +8 -0
- data/lib/appwrite/enums/o_auth2_zoho_prompt.rb +7 -0
- data/lib/appwrite/enums/o_auth_provider.rb +3 -0
- data/lib/appwrite/enums/project_email_template_id.rb +2 -0
- data/lib/appwrite/enums/project_key_scopes.rb +4 -0
- data/lib/appwrite/enums/project_o_auth2_auth0_prompt.rb +9 -0
- data/lib/appwrite/enums/project_o_auth2_discord_prompt.rb +8 -0
- data/lib/appwrite/enums/project_o_auth2_git_hub_prompt.rb +7 -0
- data/lib/appwrite/enums/project_o_auth2_kakao_prompt.rb +10 -0
- data/lib/appwrite/enums/project_o_auth2_microsoft_prompt.rb +10 -0
- data/lib/appwrite/enums/project_o_auth2_okta_prompt.rb +9 -0
- data/lib/appwrite/enums/project_o_auth2_salesforce_prompt.rb +8 -0
- data/lib/appwrite/enums/project_o_auth2_zoho_prompt.rb +7 -0
- data/lib/appwrite/enums/project_o_auth_provider_id.rb +3 -0
- data/lib/appwrite/enums/project_policy_id.rb +2 -0
- data/lib/appwrite/enums/proxy_rule_deployment_resource_type.rb +1 -0
- data/lib/appwrite/enums/runtime.rb +2 -0
- data/lib/appwrite/enums/tables_db_index_type.rb +1 -0
- data/lib/appwrite/enums/waf_rule_action.rb +11 -0
- data/lib/appwrite/models/account.rb +143 -0
- data/lib/appwrite/models/billing_plan.rb +12 -0
- data/lib/appwrite/models/dedicated_database.rb +15 -0
- data/lib/appwrite/models/dedicated_database_specification.rb +20 -0
- data/lib/appwrite/models/dns_record.rb +83 -0
- data/lib/appwrite/models/dns_records_list.rb +33 -0
- data/lib/appwrite/models/domain.rb +109 -0
- data/lib/appwrite/models/domain_price.rb +63 -0
- data/lib/appwrite/models/domain_prices_list.rb +33 -0
- data/lib/appwrite/models/domain_transfer_status.rb +59 -0
- data/lib/appwrite/models/domains_list.rb +33 -0
- data/lib/appwrite/models/identity.rb +8 -3
- data/lib/appwrite/models/o_auth2_apple.rb +13 -3
- data/lib/appwrite/models/o_auth2_auth0.rb +23 -0
- data/lib/appwrite/models/o_auth2_discord.rb +25 -3
- data/lib/appwrite/models/o_auth2_github.rb +24 -3
- data/lib/appwrite/models/o_auth2_google.rb +17 -5
- data/lib/appwrite/models/o_auth2_kakao.rb +67 -0
- data/lib/appwrite/models/o_auth2_microsoft.rb +24 -0
- data/lib/appwrite/models/o_auth2_oidc.rb +4 -2
- data/lib/appwrite/models/o_auth2_okta.rb +23 -0
- data/lib/appwrite/models/o_auth2_salesforce.rb +25 -3
- data/lib/appwrite/models/o_auth2_tik_tok.rb +43 -0
- data/lib/appwrite/models/o_auth2_webflow.rb +43 -0
- data/lib/appwrite/models/o_auth2_zoho.rb +24 -3
- data/lib/appwrite/models/oauth2_introspection.rb +83 -0
- data/lib/appwrite/models/platform_android.rb +8 -3
- data/lib/appwrite/models/policy_password_pwned.rb +43 -0
- data/lib/appwrite/models/policy_password_rotation.rb +38 -0
- data/lib/appwrite/models/project.rb +15 -0
- data/lib/appwrite/models/proxy_rule.rb +1 -0
- data/lib/appwrite/models/topic.rb +13 -3
- data/lib/appwrite/models/user.rb +5 -0
- data/lib/appwrite/models/waf_rule_bypass.rb +111 -0
- data/lib/appwrite/models/waf_rule_challenge.rb +126 -0
- data/lib/appwrite/models/waf_rule_deny.rb +111 -0
- data/lib/appwrite/models/waf_rule_list.rb +33 -0
- data/lib/appwrite/models/waf_rule_rate_limit.rb +136 -0
- data/lib/appwrite/models/waf_rule_redirect.rb +121 -0
- data/lib/appwrite/services/account.rb +301 -5
- data/lib/appwrite/services/avatars.rb +71 -0
- data/lib/appwrite/services/databases.rb +4 -1
- data/lib/appwrite/services/documents_db.rb +4 -1
- data/lib/appwrite/services/domains.rb +2318 -0
- data/lib/appwrite/services/functions.rb +11 -3
- data/lib/appwrite/services/locale.rb +49 -14
- data/lib/appwrite/services/messaging.rb +130 -6
- data/lib/appwrite/services/oauth2.rb +45 -0
- data/lib/appwrite/services/organization.rb +225 -0
- data/lib/appwrite/services/project.rb +439 -15
- data/lib/appwrite/services/sites.rb +11 -3
- data/lib/appwrite/services/tables_db.rb +4 -1
- data/lib/appwrite/services/teams.rb +4 -1
- data/lib/appwrite/services/vectors_db.rb +4 -1
- data/lib/appwrite/services/waf.rb +859 -0
- data/lib/appwrite.rb +42 -0
- metadata +44 -2
|
@@ -16,6 +16,7 @@ module Appwrite
|
|
|
16
16
|
attr_reader :members
|
|
17
17
|
attr_reader :webhooks
|
|
18
18
|
attr_reader :waf_rules
|
|
19
|
+
attr_reader :environments
|
|
19
20
|
attr_reader :projects
|
|
20
21
|
attr_reader :platforms
|
|
21
22
|
attr_reader :users
|
|
@@ -50,6 +51,7 @@ module Appwrite
|
|
|
50
51
|
attr_reader :email_branding
|
|
51
52
|
attr_reader :requires_payment_method
|
|
52
53
|
attr_reader :requires_billing_address
|
|
54
|
+
attr_reader :eligible_countries
|
|
53
55
|
attr_reader :is_available
|
|
54
56
|
attr_reader :self_service
|
|
55
57
|
attr_reader :premium_support
|
|
@@ -91,6 +93,7 @@ module Appwrite
|
|
|
91
93
|
members:,
|
|
92
94
|
webhooks:,
|
|
93
95
|
waf_rules:,
|
|
96
|
+
environments:,
|
|
94
97
|
projects:,
|
|
95
98
|
platforms:,
|
|
96
99
|
users:,
|
|
@@ -125,6 +128,7 @@ module Appwrite
|
|
|
125
128
|
email_branding:,
|
|
126
129
|
requires_payment_method:,
|
|
127
130
|
requires_billing_address:,
|
|
131
|
+
eligible_countries:,
|
|
128
132
|
is_available:,
|
|
129
133
|
self_service:,
|
|
130
134
|
premium_support:,
|
|
@@ -165,6 +169,7 @@ module Appwrite
|
|
|
165
169
|
@members = members
|
|
166
170
|
@webhooks = webhooks
|
|
167
171
|
@waf_rules = waf_rules
|
|
172
|
+
@environments = environments
|
|
168
173
|
@projects = projects
|
|
169
174
|
@platforms = platforms
|
|
170
175
|
@users = users
|
|
@@ -199,6 +204,7 @@ module Appwrite
|
|
|
199
204
|
@email_branding = email_branding
|
|
200
205
|
@requires_payment_method = requires_payment_method
|
|
201
206
|
@requires_billing_address = requires_billing_address
|
|
207
|
+
@eligible_countries = eligible_countries
|
|
202
208
|
@is_available = is_available
|
|
203
209
|
@self_service = self_service
|
|
204
210
|
@premium_support = premium_support
|
|
@@ -242,6 +248,7 @@ module Appwrite
|
|
|
242
248
|
members: map["members"],
|
|
243
249
|
webhooks: map["webhooks"],
|
|
244
250
|
waf_rules: map["wafRules"],
|
|
251
|
+
environments: map["environments"],
|
|
245
252
|
projects: map["projects"],
|
|
246
253
|
platforms: map["platforms"],
|
|
247
254
|
users: map["users"],
|
|
@@ -276,6 +283,7 @@ module Appwrite
|
|
|
276
283
|
email_branding: map["emailBranding"],
|
|
277
284
|
requires_payment_method: map["requiresPaymentMethod"],
|
|
278
285
|
requires_billing_address: map["requiresBillingAddress"],
|
|
286
|
+
eligible_countries: map["eligibleCountries"],
|
|
279
287
|
is_available: map["isAvailable"],
|
|
280
288
|
self_service: map["selfService"],
|
|
281
289
|
premium_support: map["premiumSupport"],
|
|
@@ -320,6 +328,7 @@ module Appwrite
|
|
|
320
328
|
"members": @members,
|
|
321
329
|
"webhooks": @webhooks,
|
|
322
330
|
"wafRules": @waf_rules,
|
|
331
|
+
"environments": @environments,
|
|
323
332
|
"projects": @projects,
|
|
324
333
|
"platforms": @platforms,
|
|
325
334
|
"users": @users,
|
|
@@ -354,6 +363,7 @@ module Appwrite
|
|
|
354
363
|
"emailBranding": @email_branding,
|
|
355
364
|
"requiresPaymentMethod": @requires_payment_method,
|
|
356
365
|
"requiresBillingAddress": @requires_billing_address,
|
|
366
|
+
"eligibleCountries": @eligible_countries,
|
|
357
367
|
"isAvailable": @is_available,
|
|
358
368
|
"selfService": @self_service,
|
|
359
369
|
"premiumSupport": @premium_support,
|
|
@@ -388,6 +398,8 @@ module Appwrite
|
|
|
388
398
|
def validate_group(group)
|
|
389
399
|
valid_group = [
|
|
390
400
|
Appwrite::Enums::BillingPlanGroup::STARTER,
|
|
401
|
+
Appwrite::Enums::BillingPlanGroup::FREE,
|
|
402
|
+
Appwrite::Enums::BillingPlanGroup::START,
|
|
391
403
|
Appwrite::Enums::BillingPlanGroup::PRO,
|
|
392
404
|
Appwrite::Enums::BillingPlanGroup::SCALE,
|
|
393
405
|
]
|
|
@@ -29,6 +29,9 @@ module Appwrite
|
|
|
29
29
|
attr_reader :cpu
|
|
30
30
|
attr_reader :memory
|
|
31
31
|
attr_reader :storage
|
|
32
|
+
attr_reader :storage_status
|
|
33
|
+
attr_reader :storage_target_gb
|
|
34
|
+
attr_reader :storage_resize_started_at
|
|
32
35
|
attr_reader :storage_class
|
|
33
36
|
attr_reader :storage_max_gb
|
|
34
37
|
attr_reader :node_pool
|
|
@@ -80,6 +83,9 @@ module Appwrite
|
|
|
80
83
|
cpu:,
|
|
81
84
|
memory:,
|
|
82
85
|
storage:,
|
|
86
|
+
storage_status:,
|
|
87
|
+
storage_target_gb:,
|
|
88
|
+
storage_resize_started_at:,
|
|
83
89
|
storage_class:,
|
|
84
90
|
storage_max_gb:,
|
|
85
91
|
node_pool:,
|
|
@@ -130,6 +136,9 @@ module Appwrite
|
|
|
130
136
|
@cpu = cpu
|
|
131
137
|
@memory = memory
|
|
132
138
|
@storage = storage
|
|
139
|
+
@storage_status = storage_status
|
|
140
|
+
@storage_target_gb = storage_target_gb
|
|
141
|
+
@storage_resize_started_at = storage_resize_started_at
|
|
133
142
|
@storage_class = storage_class
|
|
134
143
|
@storage_max_gb = storage_max_gb
|
|
135
144
|
@node_pool = node_pool
|
|
@@ -183,6 +192,9 @@ module Appwrite
|
|
|
183
192
|
cpu: map["cpu"],
|
|
184
193
|
memory: map["memory"],
|
|
185
194
|
storage: map["storage"],
|
|
195
|
+
storage_status: map["storageStatus"],
|
|
196
|
+
storage_target_gb: map["storageTargetGb"],
|
|
197
|
+
storage_resize_started_at: map["storageResizeStartedAt"],
|
|
186
198
|
storage_class: map["storageClass"],
|
|
187
199
|
storage_max_gb: map["storageMaxGb"],
|
|
188
200
|
node_pool: map["nodePool"],
|
|
@@ -237,6 +249,9 @@ module Appwrite
|
|
|
237
249
|
"cpu": @cpu,
|
|
238
250
|
"memory": @memory,
|
|
239
251
|
"storage": @storage,
|
|
252
|
+
"storageStatus": @storage_status,
|
|
253
|
+
"storageTargetGb": @storage_target_gb,
|
|
254
|
+
"storageResizeStartedAt": @storage_resize_started_at,
|
|
240
255
|
"storageClass": @storage_class,
|
|
241
256
|
"storageMaxGb": @storage_max_gb,
|
|
242
257
|
"nodePool": @node_pool,
|
|
@@ -6,6 +6,10 @@ module Appwrite
|
|
|
6
6
|
attr_reader :slug
|
|
7
7
|
attr_reader :name
|
|
8
8
|
attr_reader :price
|
|
9
|
+
attr_reader :storage_overage_rate
|
|
10
|
+
attr_reader :bandwidth_overage_rate
|
|
11
|
+
attr_reader :replica_rate
|
|
12
|
+
attr_reader :pitr_rate
|
|
9
13
|
attr_reader :cpu
|
|
10
14
|
attr_reader :memory
|
|
11
15
|
attr_reader :max_connections
|
|
@@ -17,6 +21,10 @@ module Appwrite
|
|
|
17
21
|
slug:,
|
|
18
22
|
name:,
|
|
19
23
|
price:,
|
|
24
|
+
storage_overage_rate:,
|
|
25
|
+
bandwidth_overage_rate:,
|
|
26
|
+
replica_rate:,
|
|
27
|
+
pitr_rate:,
|
|
20
28
|
cpu:,
|
|
21
29
|
memory:,
|
|
22
30
|
max_connections:,
|
|
@@ -27,6 +35,10 @@ module Appwrite
|
|
|
27
35
|
@slug = slug
|
|
28
36
|
@name = name
|
|
29
37
|
@price = price
|
|
38
|
+
@storage_overage_rate = storage_overage_rate
|
|
39
|
+
@bandwidth_overage_rate = bandwidth_overage_rate
|
|
40
|
+
@replica_rate = replica_rate
|
|
41
|
+
@pitr_rate = pitr_rate
|
|
30
42
|
@cpu = cpu
|
|
31
43
|
@memory = memory
|
|
32
44
|
@max_connections = max_connections
|
|
@@ -40,6 +52,10 @@ module Appwrite
|
|
|
40
52
|
slug: map["slug"],
|
|
41
53
|
name: map["name"],
|
|
42
54
|
price: map["price"],
|
|
55
|
+
storage_overage_rate: map["storageOverageRate"],
|
|
56
|
+
bandwidth_overage_rate: map["bandwidthOverageRate"],
|
|
57
|
+
replica_rate: map["replicaRate"],
|
|
58
|
+
pitr_rate: map["pitrRate"],
|
|
43
59
|
cpu: map["cpu"],
|
|
44
60
|
memory: map["memory"],
|
|
45
61
|
max_connections: map["maxConnections"],
|
|
@@ -54,6 +70,10 @@ module Appwrite
|
|
|
54
70
|
"slug": @slug,
|
|
55
71
|
"name": @name,
|
|
56
72
|
"price": @price,
|
|
73
|
+
"storageOverageRate": @storage_overage_rate,
|
|
74
|
+
"bandwidthOverageRate": @bandwidth_overage_rate,
|
|
75
|
+
"replicaRate": @replica_rate,
|
|
76
|
+
"pitrRate": @pitr_rate,
|
|
57
77
|
"cpu": @cpu,
|
|
58
78
|
"memory": @memory,
|
|
59
79
|
"maxConnections": @max_connections,
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Appwrite
|
|
4
|
+
module Models
|
|
5
|
+
class DnsRecord
|
|
6
|
+
attr_reader :id
|
|
7
|
+
attr_reader :created_at
|
|
8
|
+
attr_reader :updated_at
|
|
9
|
+
attr_reader :type
|
|
10
|
+
attr_reader :name
|
|
11
|
+
attr_reader :value
|
|
12
|
+
attr_reader :ttl
|
|
13
|
+
attr_reader :priority
|
|
14
|
+
attr_reader :lock
|
|
15
|
+
attr_reader :weight
|
|
16
|
+
attr_reader :port
|
|
17
|
+
attr_reader :comment
|
|
18
|
+
|
|
19
|
+
def initialize(
|
|
20
|
+
id:,
|
|
21
|
+
created_at:,
|
|
22
|
+
updated_at:,
|
|
23
|
+
type:,
|
|
24
|
+
name:,
|
|
25
|
+
value:,
|
|
26
|
+
ttl:,
|
|
27
|
+
priority:,
|
|
28
|
+
lock:,
|
|
29
|
+
weight:,
|
|
30
|
+
port:,
|
|
31
|
+
comment:
|
|
32
|
+
)
|
|
33
|
+
@id = id
|
|
34
|
+
@created_at = created_at
|
|
35
|
+
@updated_at = updated_at
|
|
36
|
+
@type = type
|
|
37
|
+
@name = name
|
|
38
|
+
@value = value
|
|
39
|
+
@ttl = ttl
|
|
40
|
+
@priority = priority
|
|
41
|
+
@lock = lock
|
|
42
|
+
@weight = weight
|
|
43
|
+
@port = port
|
|
44
|
+
@comment = comment
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def self.from(map:)
|
|
48
|
+
map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "type" => "", "name" => "", "value" => "", "ttl" => 3600, "priority" => 0, "lock" => false, "weight" => 0, "port" => 0, "comment" => "" }.merge(map)
|
|
49
|
+
DnsRecord.new(
|
|
50
|
+
id: map["$id"],
|
|
51
|
+
created_at: map["$createdAt"],
|
|
52
|
+
updated_at: map["$updatedAt"],
|
|
53
|
+
type: map["type"],
|
|
54
|
+
name: map["name"],
|
|
55
|
+
value: map["value"],
|
|
56
|
+
ttl: map["ttl"],
|
|
57
|
+
priority: map["priority"],
|
|
58
|
+
lock: map["lock"],
|
|
59
|
+
weight: map["weight"],
|
|
60
|
+
port: map["port"],
|
|
61
|
+
comment: map["comment"]
|
|
62
|
+
)
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
def to_map
|
|
66
|
+
{
|
|
67
|
+
"$id": @id,
|
|
68
|
+
"$createdAt": @created_at,
|
|
69
|
+
"$updatedAt": @updated_at,
|
|
70
|
+
"type": @type,
|
|
71
|
+
"name": @name,
|
|
72
|
+
"value": @value,
|
|
73
|
+
"ttl": @ttl,
|
|
74
|
+
"priority": @priority,
|
|
75
|
+
"lock": @lock,
|
|
76
|
+
"weight": @weight,
|
|
77
|
+
"port": @port,
|
|
78
|
+
"comment": @comment
|
|
79
|
+
}
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Appwrite
|
|
4
|
+
module Models
|
|
5
|
+
class DnsRecordsList
|
|
6
|
+
attr_reader :total
|
|
7
|
+
attr_reader :dns_records
|
|
8
|
+
|
|
9
|
+
def initialize(
|
|
10
|
+
total:,
|
|
11
|
+
dns_records:
|
|
12
|
+
)
|
|
13
|
+
@total = total
|
|
14
|
+
@dns_records = dns_records
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def self.from(map:)
|
|
18
|
+
map = { "total" => 0, "dnsRecords" => [] }.merge(map)
|
|
19
|
+
DnsRecordsList.new(
|
|
20
|
+
total: map["total"],
|
|
21
|
+
dns_records: map["dnsRecords"].map { |it| DnsRecord.from(map: it) }
|
|
22
|
+
)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def to_map
|
|
26
|
+
{
|
|
27
|
+
"total": @total,
|
|
28
|
+
"dnsRecords": @dns_records.map { |it| it.to_map }
|
|
29
|
+
}
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Appwrite
|
|
4
|
+
module Models
|
|
5
|
+
class Domain
|
|
6
|
+
attr_reader :id
|
|
7
|
+
attr_reader :created_at
|
|
8
|
+
attr_reader :updated_at
|
|
9
|
+
attr_reader :domain
|
|
10
|
+
attr_reader :registrar
|
|
11
|
+
attr_reader :nameservers
|
|
12
|
+
attr_reader :expire
|
|
13
|
+
attr_reader :renewal
|
|
14
|
+
attr_reader :auto_renewal
|
|
15
|
+
attr_reader :renewal_price
|
|
16
|
+
attr_reader :transfer_status
|
|
17
|
+
attr_reader :team_id
|
|
18
|
+
attr_reader :dns_records
|
|
19
|
+
|
|
20
|
+
def initialize(
|
|
21
|
+
id:,
|
|
22
|
+
created_at:,
|
|
23
|
+
updated_at:,
|
|
24
|
+
domain:,
|
|
25
|
+
registrar:,
|
|
26
|
+
nameservers:,
|
|
27
|
+
expire:,
|
|
28
|
+
renewal:,
|
|
29
|
+
auto_renewal:,
|
|
30
|
+
renewal_price:,
|
|
31
|
+
transfer_status:,
|
|
32
|
+
team_id:,
|
|
33
|
+
dns_records:
|
|
34
|
+
)
|
|
35
|
+
@id = id
|
|
36
|
+
@created_at = created_at
|
|
37
|
+
@updated_at = updated_at
|
|
38
|
+
@domain = domain
|
|
39
|
+
@registrar = registrar
|
|
40
|
+
@nameservers = nameservers
|
|
41
|
+
@expire = expire
|
|
42
|
+
@renewal = renewal
|
|
43
|
+
@auto_renewal = auto_renewal
|
|
44
|
+
@renewal_price = renewal_price
|
|
45
|
+
@transfer_status = transfer_status.nil? ? transfer_status : validate_transfer_status(transfer_status)
|
|
46
|
+
@team_id = team_id
|
|
47
|
+
@dns_records = dns_records
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def self.from(map:)
|
|
51
|
+
map = { "$id" => "", "$createdAt" => "", "$updatedAt" => "", "domain" => "", "registrar" => "", "nameservers" => "", "expire" => "", "renewal" => "", "autoRenewal" => false, "renewalPrice" => 0, "teamId" => "", "dnsRecords" => [] }.merge(map)
|
|
52
|
+
Domain.new(
|
|
53
|
+
id: map["$id"],
|
|
54
|
+
created_at: map["$createdAt"],
|
|
55
|
+
updated_at: map["$updatedAt"],
|
|
56
|
+
domain: map["domain"],
|
|
57
|
+
registrar: map["registrar"],
|
|
58
|
+
nameservers: map["nameservers"],
|
|
59
|
+
expire: map["expire"],
|
|
60
|
+
renewal: map["renewal"],
|
|
61
|
+
auto_renewal: map["autoRenewal"],
|
|
62
|
+
renewal_price: map["renewalPrice"],
|
|
63
|
+
transfer_status: map["transferStatus"],
|
|
64
|
+
team_id: map["teamId"],
|
|
65
|
+
dns_records: map["dnsRecords"].map { |it| DnsRecord.from(map: it) }
|
|
66
|
+
)
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
def to_map
|
|
70
|
+
{
|
|
71
|
+
"$id": @id,
|
|
72
|
+
"$createdAt": @created_at,
|
|
73
|
+
"$updatedAt": @updated_at,
|
|
74
|
+
"domain": @domain,
|
|
75
|
+
"registrar": @registrar,
|
|
76
|
+
"nameservers": @nameservers,
|
|
77
|
+
"expire": @expire,
|
|
78
|
+
"renewal": @renewal,
|
|
79
|
+
"autoRenewal": @auto_renewal,
|
|
80
|
+
"renewalPrice": @renewal_price,
|
|
81
|
+
"transferStatus": @transfer_status,
|
|
82
|
+
"teamId": @team_id,
|
|
83
|
+
"dnsRecords": @dns_records.map { |it| it.to_map }
|
|
84
|
+
}
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
private
|
|
88
|
+
|
|
89
|
+
def validate_transfer_status(transfer_status)
|
|
90
|
+
valid_transfer_status = [
|
|
91
|
+
Appwrite::Enums::DomainTransferStatusEnum::TRANSFERRABLE,
|
|
92
|
+
Appwrite::Enums::DomainTransferStatusEnum::NOT_TRANSFERRABLE,
|
|
93
|
+
Appwrite::Enums::DomainTransferStatusEnum::PENDING_OWNER,
|
|
94
|
+
Appwrite::Enums::DomainTransferStatusEnum::PENDING_ADMIN,
|
|
95
|
+
Appwrite::Enums::DomainTransferStatusEnum::PENDING_REGISTRY,
|
|
96
|
+
Appwrite::Enums::DomainTransferStatusEnum::COMPLETED,
|
|
97
|
+
Appwrite::Enums::DomainTransferStatusEnum::CANCELLED,
|
|
98
|
+
Appwrite::Enums::DomainTransferStatusEnum::SERVICE_UNAVAILABLE,
|
|
99
|
+
]
|
|
100
|
+
|
|
101
|
+
unless valid_transfer_status.include?(transfer_status)
|
|
102
|
+
raise ArgumentError, "Invalid " + transfer_status + ". Must be one of: " + valid_transfer_status.join(', ')
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
transfer_status
|
|
106
|
+
end
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
end
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Appwrite
|
|
4
|
+
module Models
|
|
5
|
+
class DomainPrice
|
|
6
|
+
attr_reader :domain
|
|
7
|
+
attr_reader :tld
|
|
8
|
+
attr_reader :available
|
|
9
|
+
attr_reader :price
|
|
10
|
+
attr_reader :period_years
|
|
11
|
+
attr_reader :premium
|
|
12
|
+
attr_reader :renewal_price
|
|
13
|
+
attr_reader :renewal_period_years
|
|
14
|
+
|
|
15
|
+
def initialize(
|
|
16
|
+
domain:,
|
|
17
|
+
tld:,
|
|
18
|
+
available:,
|
|
19
|
+
price:,
|
|
20
|
+
period_years:,
|
|
21
|
+
premium:,
|
|
22
|
+
renewal_price:,
|
|
23
|
+
renewal_period_years:
|
|
24
|
+
)
|
|
25
|
+
@domain = domain
|
|
26
|
+
@tld = tld
|
|
27
|
+
@available = available
|
|
28
|
+
@price = price
|
|
29
|
+
@period_years = period_years
|
|
30
|
+
@premium = premium
|
|
31
|
+
@renewal_price = renewal_price
|
|
32
|
+
@renewal_period_years = renewal_period_years
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def self.from(map:)
|
|
36
|
+
map = { "domain" => "", "tld" => "", "available" => false, "periodYears" => 1, "premium" => false, "renewalPeriodYears" => 1 }.merge(map)
|
|
37
|
+
DomainPrice.new(
|
|
38
|
+
domain: map["domain"],
|
|
39
|
+
tld: map["tld"],
|
|
40
|
+
available: map["available"],
|
|
41
|
+
price: map["price"],
|
|
42
|
+
period_years: map["periodYears"],
|
|
43
|
+
premium: map["premium"],
|
|
44
|
+
renewal_price: map["renewalPrice"],
|
|
45
|
+
renewal_period_years: map["renewalPeriodYears"]
|
|
46
|
+
)
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
def to_map
|
|
50
|
+
{
|
|
51
|
+
"domain": @domain,
|
|
52
|
+
"tld": @tld,
|
|
53
|
+
"available": @available,
|
|
54
|
+
"price": @price,
|
|
55
|
+
"periodYears": @period_years,
|
|
56
|
+
"premium": @premium,
|
|
57
|
+
"renewalPrice": @renewal_price,
|
|
58
|
+
"renewalPeriodYears": @renewal_period_years
|
|
59
|
+
}
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Appwrite
|
|
4
|
+
module Models
|
|
5
|
+
class DomainPricesList
|
|
6
|
+
attr_reader :total
|
|
7
|
+
attr_reader :prices
|
|
8
|
+
|
|
9
|
+
def initialize(
|
|
10
|
+
total:,
|
|
11
|
+
prices:
|
|
12
|
+
)
|
|
13
|
+
@total = total
|
|
14
|
+
@prices = prices
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def self.from(map:)
|
|
18
|
+
map = { "total" => 0, "prices" => [] }.merge(map)
|
|
19
|
+
DomainPricesList.new(
|
|
20
|
+
total: map["total"],
|
|
21
|
+
prices: map["prices"].map { |it| DomainPrice.from(map: it) }
|
|
22
|
+
)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def to_map
|
|
26
|
+
{
|
|
27
|
+
"total": @total,
|
|
28
|
+
"prices": @prices.map { |it| it.to_map }
|
|
29
|
+
}
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Appwrite
|
|
4
|
+
module Models
|
|
5
|
+
class DomainTransferStatus
|
|
6
|
+
attr_reader :status
|
|
7
|
+
attr_reader :reason
|
|
8
|
+
attr_reader :timestamp
|
|
9
|
+
|
|
10
|
+
def initialize(
|
|
11
|
+
status:,
|
|
12
|
+
reason:,
|
|
13
|
+
timestamp:
|
|
14
|
+
)
|
|
15
|
+
@status = validate_status(status)
|
|
16
|
+
@reason = reason
|
|
17
|
+
@timestamp = timestamp
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def self.from(map:)
|
|
21
|
+
map = { "status" => "pending_registry", "reason" => "", "timestamp" => "" }.merge(map)
|
|
22
|
+
DomainTransferStatus.new(
|
|
23
|
+
status: map["status"],
|
|
24
|
+
reason: map["reason"],
|
|
25
|
+
timestamp: map["timestamp"]
|
|
26
|
+
)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def to_map
|
|
30
|
+
{
|
|
31
|
+
"status": @status,
|
|
32
|
+
"reason": @reason,
|
|
33
|
+
"timestamp": @timestamp
|
|
34
|
+
}
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
private
|
|
38
|
+
|
|
39
|
+
def validate_status(status)
|
|
40
|
+
valid_status = [
|
|
41
|
+
Appwrite::Enums::DomainTransferStatusEnum::TRANSFERRABLE,
|
|
42
|
+
Appwrite::Enums::DomainTransferStatusEnum::NOT_TRANSFERRABLE,
|
|
43
|
+
Appwrite::Enums::DomainTransferStatusEnum::PENDING_OWNER,
|
|
44
|
+
Appwrite::Enums::DomainTransferStatusEnum::PENDING_ADMIN,
|
|
45
|
+
Appwrite::Enums::DomainTransferStatusEnum::PENDING_REGISTRY,
|
|
46
|
+
Appwrite::Enums::DomainTransferStatusEnum::COMPLETED,
|
|
47
|
+
Appwrite::Enums::DomainTransferStatusEnum::CANCELLED,
|
|
48
|
+
Appwrite::Enums::DomainTransferStatusEnum::SERVICE_UNAVAILABLE,
|
|
49
|
+
]
|
|
50
|
+
|
|
51
|
+
unless valid_status.include?(status)
|
|
52
|
+
raise ArgumentError, "Invalid " + status + ". Must be one of: " + valid_status.join(', ')
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
status
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Appwrite
|
|
4
|
+
module Models
|
|
5
|
+
class DomainsList
|
|
6
|
+
attr_reader :total
|
|
7
|
+
attr_reader :domains
|
|
8
|
+
|
|
9
|
+
def initialize(
|
|
10
|
+
total:,
|
|
11
|
+
domains:
|
|
12
|
+
)
|
|
13
|
+
@total = total
|
|
14
|
+
@domains = domains
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def self.from(map:)
|
|
18
|
+
map = { "total" => 0, "domains" => [] }.merge(map)
|
|
19
|
+
DomainsList.new(
|
|
20
|
+
total: map["total"],
|
|
21
|
+
domains: map["domains"].map { |it| Domain.from(map: it) }
|
|
22
|
+
)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def to_map
|
|
26
|
+
{
|
|
27
|
+
"total": @total,
|
|
28
|
+
"domains": @domains.map { |it| it.to_map }
|
|
29
|
+
}
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -13,6 +13,7 @@ module Appwrite
|
|
|
13
13
|
attr_reader :provider_access_token
|
|
14
14
|
attr_reader :provider_access_token_expiry
|
|
15
15
|
attr_reader :provider_refresh_token
|
|
16
|
+
attr_reader :provider_id_token
|
|
16
17
|
|
|
17
18
|
def initialize(
|
|
18
19
|
id:,
|
|
@@ -24,7 +25,8 @@ module Appwrite
|
|
|
24
25
|
provider_email:,
|
|
25
26
|
provider_access_token:,
|
|
26
27
|
provider_access_token_expiry:,
|
|
27
|
-
provider_refresh_token
|
|
28
|
+
provider_refresh_token:,
|
|
29
|
+
provider_id_token:
|
|
28
30
|
)
|
|
29
31
|
@id = id
|
|
30
32
|
@created_at = created_at
|
|
@@ -36,6 +38,7 @@ module Appwrite
|
|
|
36
38
|
@provider_access_token = provider_access_token
|
|
37
39
|
@provider_access_token_expiry = provider_access_token_expiry
|
|
38
40
|
@provider_refresh_token = provider_refresh_token
|
|
41
|
+
@provider_id_token = provider_id_token
|
|
39
42
|
end
|
|
40
43
|
|
|
41
44
|
def self.from(map:)
|
|
@@ -49,7 +52,8 @@ module Appwrite
|
|
|
49
52
|
provider_email: map["providerEmail"],
|
|
50
53
|
provider_access_token: map["providerAccessToken"],
|
|
51
54
|
provider_access_token_expiry: map["providerAccessTokenExpiry"],
|
|
52
|
-
provider_refresh_token: map["providerRefreshToken"]
|
|
55
|
+
provider_refresh_token: map["providerRefreshToken"],
|
|
56
|
+
provider_id_token: map["providerIdToken"]
|
|
53
57
|
)
|
|
54
58
|
end
|
|
55
59
|
|
|
@@ -64,7 +68,8 @@ module Appwrite
|
|
|
64
68
|
"providerEmail": @provider_email,
|
|
65
69
|
"providerAccessToken": @provider_access_token,
|
|
66
70
|
"providerAccessTokenExpiry": @provider_access_token_expiry,
|
|
67
|
-
"providerRefreshToken": @provider_refresh_token
|
|
71
|
+
"providerRefreshToken": @provider_refresh_token,
|
|
72
|
+
"providerIdToken": @provider_id_token
|
|
68
73
|
}
|
|
69
74
|
end
|
|
70
75
|
end
|