appwrite 22.0.0 → 23.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.
Files changed (116) hide show
  1. checksums.yaml +4 -4
  2. data/lib/appwrite/client.rb +35 -2
  3. data/lib/appwrite/enums/auth_method.rb +13 -0
  4. data/lib/appwrite/enums/build_runtime.rb +3 -0
  5. data/lib/appwrite/enums/email_template_locale.rb +137 -0
  6. data/lib/appwrite/enums/email_template_type.rb +13 -0
  7. data/lib/appwrite/enums/o_auth_provider.rb +6 -0
  8. data/lib/appwrite/enums/platform_type.rb +11 -0
  9. data/lib/appwrite/enums/project_policy.rb +15 -0
  10. data/lib/appwrite/enums/protocol_id.rb +9 -0
  11. data/lib/appwrite/enums/proxy_resource_type.rb +8 -0
  12. data/lib/appwrite/enums/proxy_rule_deployment_resource_type.rb +8 -0
  13. data/lib/appwrite/enums/proxy_rule_status.rb +9 -0
  14. data/lib/appwrite/enums/runtime.rb +3 -0
  15. data/lib/appwrite/enums/scopes.rb +44 -27
  16. data/lib/appwrite/enums/secure.rb +8 -0
  17. data/lib/appwrite/enums/service_id.rb +23 -0
  18. data/lib/appwrite/enums/status_code.rb +10 -0
  19. data/lib/appwrite/models/attribute_bigint.rb +96 -0
  20. data/lib/appwrite/models/auth_provider.rb +47 -0
  21. data/lib/appwrite/models/billing_limits.rb +62 -0
  22. data/lib/appwrite/models/block.rb +72 -0
  23. data/lib/appwrite/models/column_bigint.rb +96 -0
  24. data/lib/appwrite/models/dev_key.rb +62 -0
  25. data/lib/appwrite/models/email_template.rb +62 -0
  26. data/lib/appwrite/models/email_template_list.rb +32 -0
  27. data/lib/appwrite/models/ephemeral_key.rb +67 -0
  28. data/lib/appwrite/models/key.rb +67 -0
  29. data/lib/appwrite/models/key_list.rb +32 -0
  30. data/lib/appwrite/models/log.rb +5 -0
  31. data/lib/appwrite/models/membership.rb +5 -0
  32. data/lib/appwrite/models/mock_number.rb +42 -0
  33. data/lib/appwrite/models/mock_number_list.rb +32 -0
  34. data/lib/appwrite/models/o_auth2_amazon.rb +42 -0
  35. data/lib/appwrite/models/o_auth2_apple.rb +52 -0
  36. data/lib/appwrite/models/o_auth2_auth0.rb +47 -0
  37. data/lib/appwrite/models/o_auth2_authentik.rb +47 -0
  38. data/lib/appwrite/models/o_auth2_autodesk.rb +42 -0
  39. data/lib/appwrite/models/o_auth2_bitbucket.rb +42 -0
  40. data/lib/appwrite/models/o_auth2_bitly.rb +42 -0
  41. data/lib/appwrite/models/o_auth2_box.rb +42 -0
  42. data/lib/appwrite/models/o_auth2_dailymotion.rb +42 -0
  43. data/lib/appwrite/models/o_auth2_discord.rb +42 -0
  44. data/lib/appwrite/models/o_auth2_disqus.rb +42 -0
  45. data/lib/appwrite/models/o_auth2_dropbox.rb +42 -0
  46. data/lib/appwrite/models/o_auth2_etsy.rb +42 -0
  47. data/lib/appwrite/models/o_auth2_facebook.rb +42 -0
  48. data/lib/appwrite/models/o_auth2_figma.rb +42 -0
  49. data/lib/appwrite/models/o_auth2_fusion_auth.rb +47 -0
  50. data/lib/appwrite/models/o_auth2_github.rb +42 -0
  51. data/lib/appwrite/models/o_auth2_gitlab.rb +47 -0
  52. data/lib/appwrite/models/o_auth2_google.rb +42 -0
  53. data/lib/appwrite/models/o_auth2_keycloak.rb +52 -0
  54. data/lib/appwrite/models/o_auth2_kick.rb +42 -0
  55. data/lib/appwrite/models/o_auth2_linkedin.rb +42 -0
  56. data/lib/appwrite/models/o_auth2_microsoft.rb +47 -0
  57. data/lib/appwrite/models/o_auth2_notion.rb +42 -0
  58. data/lib/appwrite/models/o_auth2_oidc.rb +62 -0
  59. data/lib/appwrite/models/o_auth2_okta.rb +52 -0
  60. data/lib/appwrite/models/o_auth2_paypal.rb +42 -0
  61. data/lib/appwrite/models/o_auth2_podio.rb +42 -0
  62. data/lib/appwrite/models/o_auth2_provider_list.rb +32 -0
  63. data/lib/appwrite/models/o_auth2_salesforce.rb +42 -0
  64. data/lib/appwrite/models/o_auth2_slack.rb +42 -0
  65. data/lib/appwrite/models/o_auth2_spotify.rb +42 -0
  66. data/lib/appwrite/models/o_auth2_stripe.rb +42 -0
  67. data/lib/appwrite/models/o_auth2_tradeshift.rb +42 -0
  68. data/lib/appwrite/models/o_auth2_twitch.rb +42 -0
  69. data/lib/appwrite/models/o_auth2_word_press.rb +42 -0
  70. data/lib/appwrite/models/o_auth2_x.rb +42 -0
  71. data/lib/appwrite/models/o_auth2_yahoo.rb +42 -0
  72. data/lib/appwrite/models/o_auth2_yandex.rb +42 -0
  73. data/lib/appwrite/models/o_auth2_zoho.rb +42 -0
  74. data/lib/appwrite/models/o_auth2_zoom.rb +42 -0
  75. data/lib/appwrite/models/platform_android.rb +71 -0
  76. data/lib/appwrite/models/platform_apple.rb +71 -0
  77. data/lib/appwrite/models/platform_linux.rb +71 -0
  78. data/lib/appwrite/models/platform_list.rb +32 -0
  79. data/lib/appwrite/models/platform_web.rb +71 -0
  80. data/lib/appwrite/models/platform_windows.rb +71 -0
  81. data/lib/appwrite/models/policy_list.rb +32 -0
  82. data/lib/appwrite/models/policy_membership_privacy.rb +52 -0
  83. data/lib/appwrite/models/policy_password_dictionary.rb +32 -0
  84. data/lib/appwrite/models/policy_password_history.rb +32 -0
  85. data/lib/appwrite/models/policy_password_personal_data.rb +32 -0
  86. data/lib/appwrite/models/policy_session_alert.rb +32 -0
  87. data/lib/appwrite/models/policy_session_duration.rb +32 -0
  88. data/lib/appwrite/models/policy_session_invalidation.rb +32 -0
  89. data/lib/appwrite/models/policy_session_limit.rb +32 -0
  90. data/lib/appwrite/models/policy_user_limit.rb +32 -0
  91. data/lib/appwrite/models/project.rb +427 -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/webhook.rb +20 -20
  95. data/lib/appwrite/service.rb +1 -1
  96. data/lib/appwrite/services/account.rb +47 -2
  97. data/lib/appwrite/services/activities.rb +3 -1
  98. data/lib/appwrite/services/avatars.rb +9 -1
  99. data/lib/appwrite/services/backups.rb +13 -1
  100. data/lib/appwrite/services/databases.rb +258 -6
  101. data/lib/appwrite/services/functions.rb +40 -8
  102. data/lib/appwrite/services/graphql.rb +5 -3
  103. data/lib/appwrite/services/health.rb +26 -1
  104. data/lib/appwrite/services/locale.rb +9 -1
  105. data/lib/appwrite/services/messaging.rb +49 -1
  106. data/lib/appwrite/services/project.rb +3251 -5
  107. data/lib/appwrite/services/proxy.rb +303 -0
  108. data/lib/appwrite/services/sites.rb +39 -8
  109. data/lib/appwrite/services/storage.rb +14 -1
  110. data/lib/appwrite/services/tables_db.rb +252 -6
  111. data/lib/appwrite/services/teams.rb +14 -1
  112. data/lib/appwrite/services/tokens.rb +6 -1
  113. data/lib/appwrite/services/users.rb +44 -1
  114. data/lib/appwrite/services/webhooks.rb +31 -21
  115. data/lib/appwrite.rb +86 -0
  116. metadata +88 -2
@@ -0,0 +1,71 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class PlatformLinux
6
+ attr_reader :id
7
+ attr_reader :created_at
8
+ attr_reader :updated_at
9
+ attr_reader :name
10
+ attr_reader :type
11
+ attr_reader :package_name
12
+
13
+ def initialize(
14
+ id:,
15
+ created_at:,
16
+ updated_at:,
17
+ name:,
18
+ type:,
19
+ package_name:
20
+ )
21
+ @id = id
22
+ @created_at = created_at
23
+ @updated_at = updated_at
24
+ @name = name
25
+ @type = validate_type(type)
26
+ @package_name = package_name
27
+ end
28
+
29
+ def self.from(map:)
30
+ PlatformLinux.new(
31
+ id: map["$id"],
32
+ created_at: map["$createdAt"],
33
+ updated_at: map["$updatedAt"],
34
+ name: map["name"],
35
+ type: map["type"],
36
+ package_name: map["packageName"]
37
+ )
38
+ end
39
+
40
+ def to_map
41
+ {
42
+ "$id": @id,
43
+ "$createdAt": @created_at,
44
+ "$updatedAt": @updated_at,
45
+ "name": @name,
46
+ "type": @type,
47
+ "packageName": @package_name
48
+ }
49
+ end
50
+
51
+ private
52
+
53
+ def validate_type(type)
54
+ valid_type = [
55
+ Appwrite::Enums::PlatformType::WINDOWS,
56
+ Appwrite::Enums::PlatformType::APPLE,
57
+ Appwrite::Enums::PlatformType::ANDROID,
58
+ Appwrite::Enums::PlatformType::LINUX,
59
+ Appwrite::Enums::PlatformType::WEB,
60
+ ]
61
+
62
+ unless valid_type.include?(type)
63
+ raise ArgumentError, "Invalid " + type + ". Must be one of: " + valid_type.join(', ')
64
+ end
65
+
66
+ type
67
+ end
68
+
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,32 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class PlatformList
6
+ attr_reader :total
7
+ attr_reader :platforms
8
+
9
+ def initialize(
10
+ total:,
11
+ platforms:
12
+ )
13
+ @total = total
14
+ @platforms = platforms
15
+ end
16
+
17
+ def self.from(map:)
18
+ PlatformList.new(
19
+ total: map["total"],
20
+ platforms: map["platforms"]
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "total": @total,
27
+ "platforms": @platforms
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 PlatformWeb
6
+ attr_reader :id
7
+ attr_reader :created_at
8
+ attr_reader :updated_at
9
+ attr_reader :name
10
+ attr_reader :type
11
+ attr_reader :hostname
12
+
13
+ def initialize(
14
+ id:,
15
+ created_at:,
16
+ updated_at:,
17
+ name:,
18
+ type:,
19
+ hostname:
20
+ )
21
+ @id = id
22
+ @created_at = created_at
23
+ @updated_at = updated_at
24
+ @name = name
25
+ @type = validate_type(type)
26
+ @hostname = hostname
27
+ end
28
+
29
+ def self.from(map:)
30
+ PlatformWeb.new(
31
+ id: map["$id"],
32
+ created_at: map["$createdAt"],
33
+ updated_at: map["$updatedAt"],
34
+ name: map["name"],
35
+ type: map["type"],
36
+ hostname: map["hostname"]
37
+ )
38
+ end
39
+
40
+ def to_map
41
+ {
42
+ "$id": @id,
43
+ "$createdAt": @created_at,
44
+ "$updatedAt": @updated_at,
45
+ "name": @name,
46
+ "type": @type,
47
+ "hostname": @hostname
48
+ }
49
+ end
50
+
51
+ private
52
+
53
+ def validate_type(type)
54
+ valid_type = [
55
+ Appwrite::Enums::PlatformType::WINDOWS,
56
+ Appwrite::Enums::PlatformType::APPLE,
57
+ Appwrite::Enums::PlatformType::ANDROID,
58
+ Appwrite::Enums::PlatformType::LINUX,
59
+ Appwrite::Enums::PlatformType::WEB,
60
+ ]
61
+
62
+ unless valid_type.include?(type)
63
+ raise ArgumentError, "Invalid " + type + ". Must be one of: " + valid_type.join(', ')
64
+ end
65
+
66
+ type
67
+ end
68
+
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,71 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class PlatformWindows
6
+ attr_reader :id
7
+ attr_reader :created_at
8
+ attr_reader :updated_at
9
+ attr_reader :name
10
+ attr_reader :type
11
+ attr_reader :package_identifier_name
12
+
13
+ def initialize(
14
+ id:,
15
+ created_at:,
16
+ updated_at:,
17
+ name:,
18
+ type:,
19
+ package_identifier_name:
20
+ )
21
+ @id = id
22
+ @created_at = created_at
23
+ @updated_at = updated_at
24
+ @name = name
25
+ @type = validate_type(type)
26
+ @package_identifier_name = package_identifier_name
27
+ end
28
+
29
+ def self.from(map:)
30
+ PlatformWindows.new(
31
+ id: map["$id"],
32
+ created_at: map["$createdAt"],
33
+ updated_at: map["$updatedAt"],
34
+ name: map["name"],
35
+ type: map["type"],
36
+ package_identifier_name: map["packageIdentifierName"]
37
+ )
38
+ end
39
+
40
+ def to_map
41
+ {
42
+ "$id": @id,
43
+ "$createdAt": @created_at,
44
+ "$updatedAt": @updated_at,
45
+ "name": @name,
46
+ "type": @type,
47
+ "packageIdentifierName": @package_identifier_name
48
+ }
49
+ end
50
+
51
+ private
52
+
53
+ def validate_type(type)
54
+ valid_type = [
55
+ Appwrite::Enums::PlatformType::WINDOWS,
56
+ Appwrite::Enums::PlatformType::APPLE,
57
+ Appwrite::Enums::PlatformType::ANDROID,
58
+ Appwrite::Enums::PlatformType::LINUX,
59
+ Appwrite::Enums::PlatformType::WEB,
60
+ ]
61
+
62
+ unless valid_type.include?(type)
63
+ raise ArgumentError, "Invalid " + type + ". Must be one of: " + valid_type.join(', ')
64
+ end
65
+
66
+ type
67
+ end
68
+
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,32 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class PolicyList
6
+ attr_reader :total
7
+ attr_reader :policies
8
+
9
+ def initialize(
10
+ total:,
11
+ policies:
12
+ )
13
+ @total = total
14
+ @policies = policies
15
+ end
16
+
17
+ def self.from(map:)
18
+ PolicyList.new(
19
+ total: map["total"],
20
+ policies: map["policies"]
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "total": @total,
27
+ "policies": @policies
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,52 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class PolicyMembershipPrivacy
6
+ attr_reader :id
7
+ attr_reader :user_id
8
+ attr_reader :user_email
9
+ attr_reader :user_phone
10
+ attr_reader :user_name
11
+ attr_reader :user_mfa
12
+
13
+ def initialize(
14
+ id:,
15
+ user_id:,
16
+ user_email:,
17
+ user_phone:,
18
+ user_name:,
19
+ user_mfa:
20
+ )
21
+ @id = id
22
+ @user_id = user_id
23
+ @user_email = user_email
24
+ @user_phone = user_phone
25
+ @user_name = user_name
26
+ @user_mfa = user_mfa
27
+ end
28
+
29
+ def self.from(map:)
30
+ PolicyMembershipPrivacy.new(
31
+ id: map["$id"],
32
+ user_id: map["userId"],
33
+ user_email: map["userEmail"],
34
+ user_phone: map["userPhone"],
35
+ user_name: map["userName"],
36
+ user_mfa: map["userMFA"]
37
+ )
38
+ end
39
+
40
+ def to_map
41
+ {
42
+ "$id": @id,
43
+ "userId": @user_id,
44
+ "userEmail": @user_email,
45
+ "userPhone": @user_phone,
46
+ "userName": @user_name,
47
+ "userMFA": @user_mfa
48
+ }
49
+ end
50
+ end
51
+ end
52
+ end
@@ -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