appwrite 23.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 (87) hide show
  1. checksums.yaml +4 -4
  2. data/lib/appwrite/client.rb +28 -2
  3. data/lib/appwrite/enums/auth_method.rb +13 -0
  4. data/lib/appwrite/enums/build_runtime.rb +1 -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 +5 -0
  8. data/lib/appwrite/enums/project_policy.rb +15 -0
  9. data/lib/appwrite/enums/proxy_resource_type.rb +8 -0
  10. data/lib/appwrite/enums/proxy_rule_deployment_resource_type.rb +8 -0
  11. data/lib/appwrite/enums/proxy_rule_status.rb +9 -0
  12. data/lib/appwrite/enums/runtime.rb +1 -0
  13. data/lib/appwrite/enums/scopes.rb +44 -31
  14. data/lib/appwrite/enums/secure.rb +8 -0
  15. data/lib/appwrite/enums/status_code.rb +10 -0
  16. data/lib/appwrite/models/attribute_bigint.rb +96 -0
  17. data/lib/appwrite/models/block.rb +28 -3
  18. data/lib/appwrite/models/column_bigint.rb +96 -0
  19. data/lib/appwrite/models/email_template.rb +62 -0
  20. data/lib/appwrite/models/email_template_list.rb +32 -0
  21. data/lib/appwrite/models/ephemeral_key.rb +67 -0
  22. data/lib/appwrite/models/membership.rb +5 -0
  23. data/lib/appwrite/models/mock_number.rb +18 -8
  24. data/lib/appwrite/models/mock_number_list.rb +32 -0
  25. data/lib/appwrite/models/o_auth2_amazon.rb +42 -0
  26. data/lib/appwrite/models/o_auth2_apple.rb +52 -0
  27. data/lib/appwrite/models/o_auth2_auth0.rb +47 -0
  28. data/lib/appwrite/models/o_auth2_authentik.rb +47 -0
  29. data/lib/appwrite/models/o_auth2_autodesk.rb +42 -0
  30. data/lib/appwrite/models/o_auth2_bitbucket.rb +42 -0
  31. data/lib/appwrite/models/o_auth2_bitly.rb +42 -0
  32. data/lib/appwrite/models/o_auth2_box.rb +42 -0
  33. data/lib/appwrite/models/o_auth2_dailymotion.rb +42 -0
  34. data/lib/appwrite/models/o_auth2_discord.rb +42 -0
  35. data/lib/appwrite/models/o_auth2_disqus.rb +42 -0
  36. data/lib/appwrite/models/o_auth2_dropbox.rb +42 -0
  37. data/lib/appwrite/models/o_auth2_etsy.rb +42 -0
  38. data/lib/appwrite/models/o_auth2_facebook.rb +42 -0
  39. data/lib/appwrite/models/o_auth2_figma.rb +42 -0
  40. data/lib/appwrite/models/o_auth2_fusion_auth.rb +47 -0
  41. data/lib/appwrite/models/o_auth2_github.rb +42 -0
  42. data/lib/appwrite/models/o_auth2_gitlab.rb +47 -0
  43. data/lib/appwrite/models/o_auth2_google.rb +42 -0
  44. data/lib/appwrite/models/o_auth2_keycloak.rb +52 -0
  45. data/lib/appwrite/models/o_auth2_kick.rb +42 -0
  46. data/lib/appwrite/models/o_auth2_linkedin.rb +42 -0
  47. data/lib/appwrite/models/o_auth2_microsoft.rb +47 -0
  48. data/lib/appwrite/models/o_auth2_notion.rb +42 -0
  49. data/lib/appwrite/models/o_auth2_oidc.rb +62 -0
  50. data/lib/appwrite/models/o_auth2_okta.rb +52 -0
  51. data/lib/appwrite/models/o_auth2_paypal.rb +42 -0
  52. data/lib/appwrite/models/o_auth2_podio.rb +42 -0
  53. data/lib/appwrite/models/o_auth2_provider_list.rb +32 -0
  54. data/lib/appwrite/models/o_auth2_salesforce.rb +42 -0
  55. data/lib/appwrite/models/o_auth2_slack.rb +42 -0
  56. data/lib/appwrite/models/o_auth2_spotify.rb +42 -0
  57. data/lib/appwrite/models/o_auth2_stripe.rb +42 -0
  58. data/lib/appwrite/models/o_auth2_tradeshift.rb +42 -0
  59. data/lib/appwrite/models/o_auth2_twitch.rb +42 -0
  60. data/lib/appwrite/models/o_auth2_word_press.rb +42 -0
  61. data/lib/appwrite/models/o_auth2_x.rb +42 -0
  62. data/lib/appwrite/models/o_auth2_yahoo.rb +42 -0
  63. data/lib/appwrite/models/o_auth2_yandex.rb +42 -0
  64. data/lib/appwrite/models/o_auth2_zoho.rb +42 -0
  65. data/lib/appwrite/models/o_auth2_zoom.rb +42 -0
  66. data/lib/appwrite/models/policy_list.rb +32 -0
  67. data/lib/appwrite/models/policy_membership_privacy.rb +52 -0
  68. data/lib/appwrite/models/policy_password_dictionary.rb +32 -0
  69. data/lib/appwrite/models/policy_password_history.rb +32 -0
  70. data/lib/appwrite/models/policy_password_personal_data.rb +32 -0
  71. data/lib/appwrite/models/policy_session_alert.rb +32 -0
  72. data/lib/appwrite/models/policy_session_duration.rb +32 -0
  73. data/lib/appwrite/models/policy_session_invalidation.rb +32 -0
  74. data/lib/appwrite/models/policy_session_limit.rb +32 -0
  75. data/lib/appwrite/models/policy_user_limit.rb +32 -0
  76. data/lib/appwrite/models/project.rb +20 -5
  77. data/lib/appwrite/models/proxy_rule.rb +127 -0
  78. data/lib/appwrite/models/proxy_rule_list.rb +32 -0
  79. data/lib/appwrite/services/account.rb +1 -1
  80. data/lib/appwrite/services/databases.rb +126 -0
  81. data/lib/appwrite/services/functions.rb +13 -7
  82. data/lib/appwrite/services/project.rb +2695 -288
  83. data/lib/appwrite/services/proxy.rb +303 -0
  84. data/lib/appwrite/services/sites.rb +13 -7
  85. data/lib/appwrite/services/tables_db.rb +120 -0
  86. data/lib/appwrite.rb +69 -0
  87. metadata +71 -2
@@ -0,0 +1,47 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class OAuth2Microsoft
6
+ attr_reader :id
7
+ attr_reader :enabled
8
+ attr_reader :application_id
9
+ attr_reader :application_secret
10
+ attr_reader :tenant
11
+
12
+ def initialize(
13
+ id:,
14
+ enabled:,
15
+ application_id:,
16
+ application_secret:,
17
+ tenant:
18
+ )
19
+ @id = id
20
+ @enabled = enabled
21
+ @application_id = application_id
22
+ @application_secret = application_secret
23
+ @tenant = tenant
24
+ end
25
+
26
+ def self.from(map:)
27
+ OAuth2Microsoft.new(
28
+ id: map["$id"],
29
+ enabled: map["enabled"],
30
+ application_id: map["applicationId"],
31
+ application_secret: map["applicationSecret"],
32
+ tenant: map["tenant"]
33
+ )
34
+ end
35
+
36
+ def to_map
37
+ {
38
+ "$id": @id,
39
+ "enabled": @enabled,
40
+ "applicationId": @application_id,
41
+ "applicationSecret": @application_secret,
42
+ "tenant": @tenant
43
+ }
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,42 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class OAuth2Notion
6
+ attr_reader :id
7
+ attr_reader :enabled
8
+ attr_reader :oauth_client_id
9
+ attr_reader :oauth_client_secret
10
+
11
+ def initialize(
12
+ id:,
13
+ enabled:,
14
+ oauth_client_id:,
15
+ oauth_client_secret:
16
+ )
17
+ @id = id
18
+ @enabled = enabled
19
+ @oauth_client_id = oauth_client_id
20
+ @oauth_client_secret = oauth_client_secret
21
+ end
22
+
23
+ def self.from(map:)
24
+ OAuth2Notion.new(
25
+ id: map["$id"],
26
+ enabled: map["enabled"],
27
+ oauth_client_id: map["oauthClientId"],
28
+ oauth_client_secret: map["oauthClientSecret"]
29
+ )
30
+ end
31
+
32
+ def to_map
33
+ {
34
+ "$id": @id,
35
+ "enabled": @enabled,
36
+ "oauthClientId": @oauth_client_id,
37
+ "oauthClientSecret": @oauth_client_secret
38
+ }
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,62 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class OAuth2Oidc
6
+ attr_reader :id
7
+ attr_reader :enabled
8
+ attr_reader :client_id
9
+ attr_reader :client_secret
10
+ attr_reader :well_known_url
11
+ attr_reader :authorization_url
12
+ attr_reader :token_url
13
+ attr_reader :user_info_url
14
+
15
+ def initialize(
16
+ id:,
17
+ enabled:,
18
+ client_id:,
19
+ client_secret:,
20
+ well_known_url:,
21
+ authorization_url:,
22
+ token_url:,
23
+ user_info_url:
24
+ )
25
+ @id = id
26
+ @enabled = enabled
27
+ @client_id = client_id
28
+ @client_secret = client_secret
29
+ @well_known_url = well_known_url
30
+ @authorization_url = authorization_url
31
+ @token_url = token_url
32
+ @user_info_url = user_info_url
33
+ end
34
+
35
+ def self.from(map:)
36
+ OAuth2Oidc.new(
37
+ id: map["$id"],
38
+ enabled: map["enabled"],
39
+ client_id: map["clientId"],
40
+ client_secret: map["clientSecret"],
41
+ well_known_url: map["wellKnownURL"],
42
+ authorization_url: map["authorizationURL"],
43
+ token_url: map["tokenURL"],
44
+ user_info_url: map["userInfoURL"]
45
+ )
46
+ end
47
+
48
+ def to_map
49
+ {
50
+ "$id": @id,
51
+ "enabled": @enabled,
52
+ "clientId": @client_id,
53
+ "clientSecret": @client_secret,
54
+ "wellKnownURL": @well_known_url,
55
+ "authorizationURL": @authorization_url,
56
+ "tokenURL": @token_url,
57
+ "userInfoURL": @user_info_url
58
+ }
59
+ end
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,52 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class OAuth2Okta
6
+ attr_reader :id
7
+ attr_reader :enabled
8
+ attr_reader :client_id
9
+ attr_reader :client_secret
10
+ attr_reader :domain
11
+ attr_reader :authorization_server_id
12
+
13
+ def initialize(
14
+ id:,
15
+ enabled:,
16
+ client_id:,
17
+ client_secret:,
18
+ domain:,
19
+ authorization_server_id:
20
+ )
21
+ @id = id
22
+ @enabled = enabled
23
+ @client_id = client_id
24
+ @client_secret = client_secret
25
+ @domain = domain
26
+ @authorization_server_id = authorization_server_id
27
+ end
28
+
29
+ def self.from(map:)
30
+ OAuth2Okta.new(
31
+ id: map["$id"],
32
+ enabled: map["enabled"],
33
+ client_id: map["clientId"],
34
+ client_secret: map["clientSecret"],
35
+ domain: map["domain"],
36
+ authorization_server_id: map["authorizationServerId"]
37
+ )
38
+ end
39
+
40
+ def to_map
41
+ {
42
+ "$id": @id,
43
+ "enabled": @enabled,
44
+ "clientId": @client_id,
45
+ "clientSecret": @client_secret,
46
+ "domain": @domain,
47
+ "authorizationServerId": @authorization_server_id
48
+ }
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,42 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class OAuth2Paypal
6
+ attr_reader :id
7
+ attr_reader :enabled
8
+ attr_reader :client_id
9
+ attr_reader :secret_key
10
+
11
+ def initialize(
12
+ id:,
13
+ enabled:,
14
+ client_id:,
15
+ secret_key:
16
+ )
17
+ @id = id
18
+ @enabled = enabled
19
+ @client_id = client_id
20
+ @secret_key = secret_key
21
+ end
22
+
23
+ def self.from(map:)
24
+ OAuth2Paypal.new(
25
+ id: map["$id"],
26
+ enabled: map["enabled"],
27
+ client_id: map["clientId"],
28
+ secret_key: map["secretKey"]
29
+ )
30
+ end
31
+
32
+ def to_map
33
+ {
34
+ "$id": @id,
35
+ "enabled": @enabled,
36
+ "clientId": @client_id,
37
+ "secretKey": @secret_key
38
+ }
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,42 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class OAuth2Podio
6
+ attr_reader :id
7
+ attr_reader :enabled
8
+ attr_reader :client_id
9
+ attr_reader :client_secret
10
+
11
+ def initialize(
12
+ id:,
13
+ enabled:,
14
+ client_id:,
15
+ client_secret:
16
+ )
17
+ @id = id
18
+ @enabled = enabled
19
+ @client_id = client_id
20
+ @client_secret = client_secret
21
+ end
22
+
23
+ def self.from(map:)
24
+ OAuth2Podio.new(
25
+ id: map["$id"],
26
+ enabled: map["enabled"],
27
+ client_id: map["clientId"],
28
+ client_secret: map["clientSecret"]
29
+ )
30
+ end
31
+
32
+ def to_map
33
+ {
34
+ "$id": @id,
35
+ "enabled": @enabled,
36
+ "clientId": @client_id,
37
+ "clientSecret": @client_secret
38
+ }
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,32 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class OAuth2ProviderList
6
+ attr_reader :total
7
+ attr_reader :providers
8
+
9
+ def initialize(
10
+ total:,
11
+ providers:
12
+ )
13
+ @total = total
14
+ @providers = providers
15
+ end
16
+
17
+ def self.from(map:)
18
+ OAuth2ProviderList.new(
19
+ total: map["total"],
20
+ providers: map["providers"]
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "total": @total,
27
+ "providers": @providers
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,42 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class OAuth2Salesforce
6
+ attr_reader :id
7
+ attr_reader :enabled
8
+ attr_reader :customer_key
9
+ attr_reader :customer_secret
10
+
11
+ def initialize(
12
+ id:,
13
+ enabled:,
14
+ customer_key:,
15
+ customer_secret:
16
+ )
17
+ @id = id
18
+ @enabled = enabled
19
+ @customer_key = customer_key
20
+ @customer_secret = customer_secret
21
+ end
22
+
23
+ def self.from(map:)
24
+ OAuth2Salesforce.new(
25
+ id: map["$id"],
26
+ enabled: map["enabled"],
27
+ customer_key: map["customerKey"],
28
+ customer_secret: map["customerSecret"]
29
+ )
30
+ end
31
+
32
+ def to_map
33
+ {
34
+ "$id": @id,
35
+ "enabled": @enabled,
36
+ "customerKey": @customer_key,
37
+ "customerSecret": @customer_secret
38
+ }
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,42 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class OAuth2Slack
6
+ attr_reader :id
7
+ attr_reader :enabled
8
+ attr_reader :client_id
9
+ attr_reader :client_secret
10
+
11
+ def initialize(
12
+ id:,
13
+ enabled:,
14
+ client_id:,
15
+ client_secret:
16
+ )
17
+ @id = id
18
+ @enabled = enabled
19
+ @client_id = client_id
20
+ @client_secret = client_secret
21
+ end
22
+
23
+ def self.from(map:)
24
+ OAuth2Slack.new(
25
+ id: map["$id"],
26
+ enabled: map["enabled"],
27
+ client_id: map["clientId"],
28
+ client_secret: map["clientSecret"]
29
+ )
30
+ end
31
+
32
+ def to_map
33
+ {
34
+ "$id": @id,
35
+ "enabled": @enabled,
36
+ "clientId": @client_id,
37
+ "clientSecret": @client_secret
38
+ }
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,42 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class OAuth2Spotify
6
+ attr_reader :id
7
+ attr_reader :enabled
8
+ attr_reader :client_id
9
+ attr_reader :client_secret
10
+
11
+ def initialize(
12
+ id:,
13
+ enabled:,
14
+ client_id:,
15
+ client_secret:
16
+ )
17
+ @id = id
18
+ @enabled = enabled
19
+ @client_id = client_id
20
+ @client_secret = client_secret
21
+ end
22
+
23
+ def self.from(map:)
24
+ OAuth2Spotify.new(
25
+ id: map["$id"],
26
+ enabled: map["enabled"],
27
+ client_id: map["clientId"],
28
+ client_secret: map["clientSecret"]
29
+ )
30
+ end
31
+
32
+ def to_map
33
+ {
34
+ "$id": @id,
35
+ "enabled": @enabled,
36
+ "clientId": @client_id,
37
+ "clientSecret": @client_secret
38
+ }
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,42 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class OAuth2Stripe
6
+ attr_reader :id
7
+ attr_reader :enabled
8
+ attr_reader :client_id
9
+ attr_reader :api_secret_key
10
+
11
+ def initialize(
12
+ id:,
13
+ enabled:,
14
+ client_id:,
15
+ api_secret_key:
16
+ )
17
+ @id = id
18
+ @enabled = enabled
19
+ @client_id = client_id
20
+ @api_secret_key = api_secret_key
21
+ end
22
+
23
+ def self.from(map:)
24
+ OAuth2Stripe.new(
25
+ id: map["$id"],
26
+ enabled: map["enabled"],
27
+ client_id: map["clientId"],
28
+ api_secret_key: map["apiSecretKey"]
29
+ )
30
+ end
31
+
32
+ def to_map
33
+ {
34
+ "$id": @id,
35
+ "enabled": @enabled,
36
+ "clientId": @client_id,
37
+ "apiSecretKey": @api_secret_key
38
+ }
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,42 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class OAuth2Tradeshift
6
+ attr_reader :id
7
+ attr_reader :enabled
8
+ attr_reader :oauth2_client_id
9
+ attr_reader :oauth2_client_secret
10
+
11
+ def initialize(
12
+ id:,
13
+ enabled:,
14
+ oauth2_client_id:,
15
+ oauth2_client_secret:
16
+ )
17
+ @id = id
18
+ @enabled = enabled
19
+ @oauth2_client_id = oauth2_client_id
20
+ @oauth2_client_secret = oauth2_client_secret
21
+ end
22
+
23
+ def self.from(map:)
24
+ OAuth2Tradeshift.new(
25
+ id: map["$id"],
26
+ enabled: map["enabled"],
27
+ oauth2_client_id: map["oauth2ClientId"],
28
+ oauth2_client_secret: map["oauth2ClientSecret"]
29
+ )
30
+ end
31
+
32
+ def to_map
33
+ {
34
+ "$id": @id,
35
+ "enabled": @enabled,
36
+ "oauth2ClientId": @oauth2_client_id,
37
+ "oauth2ClientSecret": @oauth2_client_secret
38
+ }
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,42 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class OAuth2Twitch
6
+ attr_reader :id
7
+ attr_reader :enabled
8
+ attr_reader :client_id
9
+ attr_reader :client_secret
10
+
11
+ def initialize(
12
+ id:,
13
+ enabled:,
14
+ client_id:,
15
+ client_secret:
16
+ )
17
+ @id = id
18
+ @enabled = enabled
19
+ @client_id = client_id
20
+ @client_secret = client_secret
21
+ end
22
+
23
+ def self.from(map:)
24
+ OAuth2Twitch.new(
25
+ id: map["$id"],
26
+ enabled: map["enabled"],
27
+ client_id: map["clientId"],
28
+ client_secret: map["clientSecret"]
29
+ )
30
+ end
31
+
32
+ def to_map
33
+ {
34
+ "$id": @id,
35
+ "enabled": @enabled,
36
+ "clientId": @client_id,
37
+ "clientSecret": @client_secret
38
+ }
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,42 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class OAuth2WordPress
6
+ attr_reader :id
7
+ attr_reader :enabled
8
+ attr_reader :client_id
9
+ attr_reader :client_secret
10
+
11
+ def initialize(
12
+ id:,
13
+ enabled:,
14
+ client_id:,
15
+ client_secret:
16
+ )
17
+ @id = id
18
+ @enabled = enabled
19
+ @client_id = client_id
20
+ @client_secret = client_secret
21
+ end
22
+
23
+ def self.from(map:)
24
+ OAuth2WordPress.new(
25
+ id: map["$id"],
26
+ enabled: map["enabled"],
27
+ client_id: map["clientId"],
28
+ client_secret: map["clientSecret"]
29
+ )
30
+ end
31
+
32
+ def to_map
33
+ {
34
+ "$id": @id,
35
+ "enabled": @enabled,
36
+ "clientId": @client_id,
37
+ "clientSecret": @client_secret
38
+ }
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,42 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class OAuth2X
6
+ attr_reader :id
7
+ attr_reader :enabled
8
+ attr_reader :customer_key
9
+ attr_reader :secret_key
10
+
11
+ def initialize(
12
+ id:,
13
+ enabled:,
14
+ customer_key:,
15
+ secret_key:
16
+ )
17
+ @id = id
18
+ @enabled = enabled
19
+ @customer_key = customer_key
20
+ @secret_key = secret_key
21
+ end
22
+
23
+ def self.from(map:)
24
+ OAuth2X.new(
25
+ id: map["$id"],
26
+ enabled: map["enabled"],
27
+ customer_key: map["customerKey"],
28
+ secret_key: map["secretKey"]
29
+ )
30
+ end
31
+
32
+ def to_map
33
+ {
34
+ "$id": @id,
35
+ "enabled": @enabled,
36
+ "customerKey": @customer_key,
37
+ "secretKey": @secret_key
38
+ }
39
+ end
40
+ end
41
+ end
42
+ end