appwrite 23.0.0 → 24.0.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 (112) hide show
  1. checksums.yaml +4 -4
  2. data/lib/appwrite/client.rb +28 -2
  3. data/lib/appwrite/enums/build_runtime.rb +1 -0
  4. data/lib/appwrite/enums/o_auth2_google_prompt.rb +9 -0
  5. data/lib/appwrite/enums/o_auth_provider.rb +3 -0
  6. data/lib/appwrite/enums/project_auth_method_id.rb +13 -0
  7. data/lib/appwrite/enums/project_email_template_id.rb +13 -0
  8. data/lib/appwrite/enums/project_email_template_locale.rb +137 -0
  9. data/lib/appwrite/enums/project_key_scopes.rb +100 -0
  10. data/lib/appwrite/enums/project_o_auth2_google_prompt.rb +9 -0
  11. data/lib/appwrite/enums/project_o_auth_provider_id.rb +51 -0
  12. data/lib/appwrite/enums/project_policy_id.rb +15 -0
  13. data/lib/appwrite/enums/{protocol_id.rb → project_protocol_id.rb} +1 -1
  14. data/lib/appwrite/enums/{service_id.rb → project_service_id.rb} +2 -1
  15. data/lib/appwrite/enums/project_smtp_secure.rb +8 -0
  16. data/lib/appwrite/enums/proxy_resource_type.rb +8 -0
  17. data/lib/appwrite/enums/proxy_rule_deployment_resource_type.rb +8 -0
  18. data/lib/appwrite/enums/proxy_rule_status.rb +9 -0
  19. data/lib/appwrite/enums/runtime.rb +1 -0
  20. data/lib/appwrite/enums/scopes.rb +51 -31
  21. data/lib/appwrite/enums/status_code.rb +10 -0
  22. data/lib/appwrite/models/attribute_bigint.rb +96 -0
  23. data/lib/appwrite/models/block.rb +28 -3
  24. data/lib/appwrite/models/column_bigint.rb +96 -0
  25. data/lib/appwrite/models/database.rb +2 -2
  26. data/lib/appwrite/models/email_template.rb +62 -0
  27. data/lib/appwrite/models/email_template_list.rb +32 -0
  28. data/lib/appwrite/models/ephemeral_key.rb +67 -0
  29. data/lib/appwrite/models/insight.rb +107 -0
  30. data/lib/appwrite/models/insight_cta.rb +42 -0
  31. data/lib/appwrite/models/insight_list.rb +32 -0
  32. data/lib/appwrite/models/membership.rb +5 -0
  33. data/lib/appwrite/models/mock_number.rb +18 -8
  34. data/lib/appwrite/models/mock_number_list.rb +32 -0
  35. data/lib/appwrite/models/o_auth2_amazon.rb +42 -0
  36. data/lib/appwrite/models/o_auth2_apple.rb +52 -0
  37. data/lib/appwrite/models/o_auth2_auth0.rb +47 -0
  38. data/lib/appwrite/models/o_auth2_authentik.rb +47 -0
  39. data/lib/appwrite/models/o_auth2_autodesk.rb +42 -0
  40. data/lib/appwrite/models/o_auth2_bitbucket.rb +42 -0
  41. data/lib/appwrite/models/o_auth2_bitly.rb +42 -0
  42. data/lib/appwrite/models/o_auth2_box.rb +42 -0
  43. data/lib/appwrite/models/o_auth2_dailymotion.rb +42 -0
  44. data/lib/appwrite/models/o_auth2_discord.rb +42 -0
  45. data/lib/appwrite/models/o_auth2_disqus.rb +42 -0
  46. data/lib/appwrite/models/o_auth2_dropbox.rb +42 -0
  47. data/lib/appwrite/models/o_auth2_etsy.rb +42 -0
  48. data/lib/appwrite/models/o_auth2_facebook.rb +42 -0
  49. data/lib/appwrite/models/o_auth2_figma.rb +42 -0
  50. data/lib/appwrite/models/o_auth2_fusion_auth.rb +47 -0
  51. data/lib/appwrite/models/o_auth2_github.rb +42 -0
  52. data/lib/appwrite/models/o_auth2_gitlab.rb +47 -0
  53. data/lib/appwrite/models/o_auth2_google.rb +47 -0
  54. data/lib/appwrite/models/o_auth2_keycloak.rb +52 -0
  55. data/lib/appwrite/models/o_auth2_kick.rb +42 -0
  56. data/lib/appwrite/models/o_auth2_linkedin.rb +42 -0
  57. data/lib/appwrite/models/o_auth2_microsoft.rb +47 -0
  58. data/lib/appwrite/models/o_auth2_notion.rb +42 -0
  59. data/lib/appwrite/models/o_auth2_oidc.rb +62 -0
  60. data/lib/appwrite/models/o_auth2_okta.rb +52 -0
  61. data/lib/appwrite/models/o_auth2_paypal.rb +42 -0
  62. data/lib/appwrite/models/o_auth2_podio.rb +42 -0
  63. data/lib/appwrite/models/o_auth2_provider_list.rb +32 -0
  64. data/lib/appwrite/models/o_auth2_salesforce.rb +42 -0
  65. data/lib/appwrite/models/o_auth2_slack.rb +42 -0
  66. data/lib/appwrite/models/o_auth2_spotify.rb +42 -0
  67. data/lib/appwrite/models/o_auth2_stripe.rb +42 -0
  68. data/lib/appwrite/models/o_auth2_tradeshift.rb +42 -0
  69. data/lib/appwrite/models/o_auth2_twitch.rb +42 -0
  70. data/lib/appwrite/models/o_auth2_word_press.rb +42 -0
  71. data/lib/appwrite/models/o_auth2_x.rb +42 -0
  72. data/lib/appwrite/models/o_auth2_yahoo.rb +42 -0
  73. data/lib/appwrite/models/o_auth2_yandex.rb +42 -0
  74. data/lib/appwrite/models/o_auth2_zoho.rb +42 -0
  75. data/lib/appwrite/models/o_auth2_zoom.rb +42 -0
  76. data/lib/appwrite/models/policy_list.rb +32 -0
  77. data/lib/appwrite/models/policy_membership_privacy.rb +52 -0
  78. data/lib/appwrite/models/policy_password_dictionary.rb +32 -0
  79. data/lib/appwrite/models/policy_password_history.rb +32 -0
  80. data/lib/appwrite/models/policy_password_personal_data.rb +32 -0
  81. data/lib/appwrite/models/policy_session_alert.rb +32 -0
  82. data/lib/appwrite/models/policy_session_duration.rb +32 -0
  83. data/lib/appwrite/models/policy_session_invalidation.rb +32 -0
  84. data/lib/appwrite/models/policy_session_limit.rb +32 -0
  85. data/lib/appwrite/models/policy_user_limit.rb +32 -0
  86. data/lib/appwrite/models/presence.rb +71 -0
  87. data/lib/appwrite/models/presence_list.rb +36 -0
  88. data/lib/appwrite/models/project.rb +25 -280
  89. data/lib/appwrite/models/project_auth_method.rb +53 -0
  90. data/lib/appwrite/models/project_protocol.rb +49 -0
  91. data/lib/appwrite/models/project_service.rb +64 -0
  92. data/lib/appwrite/models/proxy_rule.rb +127 -0
  93. data/lib/appwrite/models/proxy_rule_list.rb +32 -0
  94. data/lib/appwrite/models/report.rb +82 -0
  95. data/lib/appwrite/models/report_list.rb +32 -0
  96. data/lib/appwrite/models/usage_event.rb +72 -0
  97. data/lib/appwrite/models/usage_event_list.rb +32 -0
  98. data/lib/appwrite/models/usage_gauge.rb +37 -0
  99. data/lib/appwrite/models/usage_gauge_list.rb +32 -0
  100. data/lib/appwrite/services/account.rb +1 -1
  101. data/lib/appwrite/services/advisor.rb +173 -0
  102. data/lib/appwrite/services/databases.rb +126 -0
  103. data/lib/appwrite/services/functions.rb +13 -7
  104. data/lib/appwrite/services/presences.rb +199 -0
  105. data/lib/appwrite/services/project.rb +2817 -292
  106. data/lib/appwrite/services/proxy.rb +303 -0
  107. data/lib/appwrite/services/sites.rb +13 -7
  108. data/lib/appwrite/services/tables_db.rb +120 -0
  109. data/lib/appwrite/services/usage.rb +86 -0
  110. data/lib/appwrite.rb +92 -3
  111. metadata +94 -5
  112. data/lib/appwrite/models/auth_provider.rb +0 -47
@@ -0,0 +1,32 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class PolicyPasswordDictionary
6
+ attr_reader :id
7
+ attr_reader :enabled
8
+
9
+ def initialize(
10
+ id:,
11
+ enabled:
12
+ )
13
+ @id = id
14
+ @enabled = enabled
15
+ end
16
+
17
+ def self.from(map:)
18
+ PolicyPasswordDictionary.new(
19
+ id: map["$id"],
20
+ enabled: map["enabled"]
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "$id": @id,
27
+ "enabled": @enabled
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,32 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class PolicyPasswordHistory
6
+ attr_reader :id
7
+ attr_reader :total
8
+
9
+ def initialize(
10
+ id:,
11
+ total:
12
+ )
13
+ @id = id
14
+ @total = total
15
+ end
16
+
17
+ def self.from(map:)
18
+ PolicyPasswordHistory.new(
19
+ id: map["$id"],
20
+ total: map["total"]
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "$id": @id,
27
+ "total": @total
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,32 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class PolicyPasswordPersonalData
6
+ attr_reader :id
7
+ attr_reader :enabled
8
+
9
+ def initialize(
10
+ id:,
11
+ enabled:
12
+ )
13
+ @id = id
14
+ @enabled = enabled
15
+ end
16
+
17
+ def self.from(map:)
18
+ PolicyPasswordPersonalData.new(
19
+ id: map["$id"],
20
+ enabled: map["enabled"]
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "$id": @id,
27
+ "enabled": @enabled
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,32 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class PolicySessionAlert
6
+ attr_reader :id
7
+ attr_reader :enabled
8
+
9
+ def initialize(
10
+ id:,
11
+ enabled:
12
+ )
13
+ @id = id
14
+ @enabled = enabled
15
+ end
16
+
17
+ def self.from(map:)
18
+ PolicySessionAlert.new(
19
+ id: map["$id"],
20
+ enabled: map["enabled"]
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "$id": @id,
27
+ "enabled": @enabled
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,32 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class PolicySessionDuration
6
+ attr_reader :id
7
+ attr_reader :duration
8
+
9
+ def initialize(
10
+ id:,
11
+ duration:
12
+ )
13
+ @id = id
14
+ @duration = duration
15
+ end
16
+
17
+ def self.from(map:)
18
+ PolicySessionDuration.new(
19
+ id: map["$id"],
20
+ duration: map["duration"]
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "$id": @id,
27
+ "duration": @duration
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,32 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class PolicySessionInvalidation
6
+ attr_reader :id
7
+ attr_reader :enabled
8
+
9
+ def initialize(
10
+ id:,
11
+ enabled:
12
+ )
13
+ @id = id
14
+ @enabled = enabled
15
+ end
16
+
17
+ def self.from(map:)
18
+ PolicySessionInvalidation.new(
19
+ id: map["$id"],
20
+ enabled: map["enabled"]
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "$id": @id,
27
+ "enabled": @enabled
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,32 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class PolicySessionLimit
6
+ attr_reader :id
7
+ attr_reader :total
8
+
9
+ def initialize(
10
+ id:,
11
+ total:
12
+ )
13
+ @id = id
14
+ @total = total
15
+ end
16
+
17
+ def self.from(map:)
18
+ PolicySessionLimit.new(
19
+ id: map["$id"],
20
+ total: map["total"]
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "$id": @id,
27
+ "total": @total
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,32 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class PolicyUserLimit
6
+ attr_reader :id
7
+ attr_reader :total
8
+
9
+ def initialize(
10
+ id:,
11
+ total:
12
+ )
13
+ @id = id
14
+ @total = total
15
+ end
16
+
17
+ def self.from(map:)
18
+ PolicyUserLimit.new(
19
+ id: map["$id"],
20
+ total: map["total"]
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "$id": @id,
27
+ "total": @total
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,71 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class Presence
6
+ attr_reader :id
7
+ attr_reader :created_at
8
+ attr_reader :updated_at
9
+ attr_reader :permissions
10
+ attr_reader :user_id
11
+ attr_reader :status
12
+ attr_reader :source
13
+ attr_reader :expires_at
14
+ attr_reader :metadata
15
+
16
+ def initialize(
17
+ id:,
18
+ created_at:,
19
+ updated_at:,
20
+ permissions:,
21
+ user_id:,
22
+ status: ,
23
+ source:,
24
+ expires_at: ,
25
+ metadata:
26
+ )
27
+ @id = id
28
+ @created_at = created_at
29
+ @updated_at = updated_at
30
+ @permissions = permissions
31
+ @user_id = user_id
32
+ @status = status
33
+ @source = source
34
+ @expires_at = expires_at
35
+ @metadata = metadata
36
+ end
37
+
38
+ def self.from(map:)
39
+ Presence.new(
40
+ id: map["$id"],
41
+ created_at: map["$createdAt"],
42
+ updated_at: map["$updatedAt"],
43
+ permissions: map["$permissions"],
44
+ user_id: map["userId"],
45
+ status: map["status"],
46
+ source: map["source"],
47
+ expires_at: map["expiresAt"],
48
+ metadata: map["metadata"] || map
49
+ )
50
+ end
51
+
52
+ def to_map
53
+ {
54
+ "$id": @id,
55
+ "$createdAt": @created_at,
56
+ "$updatedAt": @updated_at,
57
+ "$permissions": @permissions,
58
+ "userId": @user_id,
59
+ "status": @status,
60
+ "source": @source,
61
+ "expiresAt": @expires_at,
62
+ "metadata": @metadata
63
+ }
64
+ end
65
+
66
+ def convert_to(from_json)
67
+ from_json.call(metadata)
68
+ end
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,36 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class PresenceList
6
+ attr_reader :total
7
+ attr_reader :presences
8
+
9
+ def initialize(
10
+ total:,
11
+ presences:
12
+ )
13
+ @total = total
14
+ @presences = presences
15
+ end
16
+
17
+ def self.from(map:)
18
+ PresenceList.new(
19
+ total: map["total"],
20
+ presences: map["presences"].map { |it| Presence.from(map: it) }
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "total": @total,
27
+ "presences": @presences.map { |it| it.to_map }
28
+ }
29
+ end
30
+
31
+ def convert_to(from_json)
32
+ presences.map { |it| it.convert_to(from_json) }
33
+ end
34
+ end
35
+ end
36
+ end