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,42 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class MockNumber
6
+ attr_reader :number
7
+ attr_reader :otp
8
+ attr_reader :created_at
9
+ attr_reader :updated_at
10
+
11
+ def initialize(
12
+ number:,
13
+ otp:,
14
+ created_at:,
15
+ updated_at:
16
+ )
17
+ @number = number
18
+ @otp = otp
19
+ @created_at = created_at
20
+ @updated_at = updated_at
21
+ end
22
+
23
+ def self.from(map:)
24
+ MockNumber.new(
25
+ number: map["number"],
26
+ otp: map["otp"],
27
+ created_at: map["$createdAt"],
28
+ updated_at: map["$updatedAt"]
29
+ )
30
+ end
31
+
32
+ def to_map
33
+ {
34
+ "number": @number,
35
+ "otp": @otp,
36
+ "$createdAt": @created_at,
37
+ "$updatedAt": @updated_at
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 MockNumberList
6
+ attr_reader :total
7
+ attr_reader :mock_numbers
8
+
9
+ def initialize(
10
+ total:,
11
+ mock_numbers:
12
+ )
13
+ @total = total
14
+ @mock_numbers = mock_numbers
15
+ end
16
+
17
+ def self.from(map:)
18
+ MockNumberList.new(
19
+ total: map["total"],
20
+ mock_numbers: map["mockNumbers"].map { |it| MockNumber.from(map: it) }
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "total": @total,
27
+ "mockNumbers": @mock_numbers.map { |it| it.to_map }
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 OAuth2Amazon
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
+ OAuth2Amazon.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,52 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class OAuth2Apple
6
+ attr_reader :id
7
+ attr_reader :enabled
8
+ attr_reader :service_id
9
+ attr_reader :key_id
10
+ attr_reader :team_id
11
+ attr_reader :p8_file
12
+
13
+ def initialize(
14
+ id:,
15
+ enabled:,
16
+ service_id:,
17
+ key_id:,
18
+ team_id:,
19
+ p8_file:
20
+ )
21
+ @id = id
22
+ @enabled = enabled
23
+ @service_id = service_id
24
+ @key_id = key_id
25
+ @team_id = team_id
26
+ @p8_file = p8_file
27
+ end
28
+
29
+ def self.from(map:)
30
+ OAuth2Apple.new(
31
+ id: map["$id"],
32
+ enabled: map["enabled"],
33
+ service_id: map["serviceId"],
34
+ key_id: map["keyId"],
35
+ team_id: map["teamId"],
36
+ p8_file: map["p8File"]
37
+ )
38
+ end
39
+
40
+ def to_map
41
+ {
42
+ "$id": @id,
43
+ "enabled": @enabled,
44
+ "serviceId": @service_id,
45
+ "keyId": @key_id,
46
+ "teamId": @team_id,
47
+ "p8File": @p8_file
48
+ }
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,47 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class OAuth2Auth0
6
+ attr_reader :id
7
+ attr_reader :enabled
8
+ attr_reader :client_id
9
+ attr_reader :client_secret
10
+ attr_reader :endpoint
11
+
12
+ def initialize(
13
+ id:,
14
+ enabled:,
15
+ client_id:,
16
+ client_secret:,
17
+ endpoint:
18
+ )
19
+ @id = id
20
+ @enabled = enabled
21
+ @client_id = client_id
22
+ @client_secret = client_secret
23
+ @endpoint = endpoint
24
+ end
25
+
26
+ def self.from(map:)
27
+ OAuth2Auth0.new(
28
+ id: map["$id"],
29
+ enabled: map["enabled"],
30
+ client_id: map["clientId"],
31
+ client_secret: map["clientSecret"],
32
+ endpoint: map["endpoint"]
33
+ )
34
+ end
35
+
36
+ def to_map
37
+ {
38
+ "$id": @id,
39
+ "enabled": @enabled,
40
+ "clientId": @client_id,
41
+ "clientSecret": @client_secret,
42
+ "endpoint": @endpoint
43
+ }
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,47 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class OAuth2Authentik
6
+ attr_reader :id
7
+ attr_reader :enabled
8
+ attr_reader :client_id
9
+ attr_reader :client_secret
10
+ attr_reader :endpoint
11
+
12
+ def initialize(
13
+ id:,
14
+ enabled:,
15
+ client_id:,
16
+ client_secret:,
17
+ endpoint:
18
+ )
19
+ @id = id
20
+ @enabled = enabled
21
+ @client_id = client_id
22
+ @client_secret = client_secret
23
+ @endpoint = endpoint
24
+ end
25
+
26
+ def self.from(map:)
27
+ OAuth2Authentik.new(
28
+ id: map["$id"],
29
+ enabled: map["enabled"],
30
+ client_id: map["clientId"],
31
+ client_secret: map["clientSecret"],
32
+ endpoint: map["endpoint"]
33
+ )
34
+ end
35
+
36
+ def to_map
37
+ {
38
+ "$id": @id,
39
+ "enabled": @enabled,
40
+ "clientId": @client_id,
41
+ "clientSecret": @client_secret,
42
+ "endpoint": @endpoint
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 OAuth2Autodesk
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
+ OAuth2Autodesk.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 OAuth2Bitbucket
6
+ attr_reader :id
7
+ attr_reader :enabled
8
+ attr_reader :key
9
+ attr_reader :secret
10
+
11
+ def initialize(
12
+ id:,
13
+ enabled:,
14
+ key:,
15
+ secret:
16
+ )
17
+ @id = id
18
+ @enabled = enabled
19
+ @key = key
20
+ @secret = secret
21
+ end
22
+
23
+ def self.from(map:)
24
+ OAuth2Bitbucket.new(
25
+ id: map["$id"],
26
+ enabled: map["enabled"],
27
+ key: map["key"],
28
+ secret: map["secret"]
29
+ )
30
+ end
31
+
32
+ def to_map
33
+ {
34
+ "$id": @id,
35
+ "enabled": @enabled,
36
+ "key": @key,
37
+ "secret": @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 OAuth2Bitly
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
+ OAuth2Bitly.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 OAuth2Box
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
+ OAuth2Box.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 OAuth2Dailymotion
6
+ attr_reader :id
7
+ attr_reader :enabled
8
+ attr_reader :api_key
9
+ attr_reader :api_secret
10
+
11
+ def initialize(
12
+ id:,
13
+ enabled:,
14
+ api_key:,
15
+ api_secret:
16
+ )
17
+ @id = id
18
+ @enabled = enabled
19
+ @api_key = api_key
20
+ @api_secret = api_secret
21
+ end
22
+
23
+ def self.from(map:)
24
+ OAuth2Dailymotion.new(
25
+ id: map["$id"],
26
+ enabled: map["enabled"],
27
+ api_key: map["apiKey"],
28
+ api_secret: map["apiSecret"]
29
+ )
30
+ end
31
+
32
+ def to_map
33
+ {
34
+ "$id": @id,
35
+ "enabled": @enabled,
36
+ "apiKey": @api_key,
37
+ "apiSecret": @api_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 OAuth2Discord
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
+ OAuth2Discord.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 OAuth2Disqus
6
+ attr_reader :id
7
+ attr_reader :enabled
8
+ attr_reader :public_key
9
+ attr_reader :secret_key
10
+
11
+ def initialize(
12
+ id:,
13
+ enabled:,
14
+ public_key:,
15
+ secret_key:
16
+ )
17
+ @id = id
18
+ @enabled = enabled
19
+ @public_key = public_key
20
+ @secret_key = secret_key
21
+ end
22
+
23
+ def self.from(map:)
24
+ OAuth2Disqus.new(
25
+ id: map["$id"],
26
+ enabled: map["enabled"],
27
+ public_key: map["publicKey"],
28
+ secret_key: map["secretKey"]
29
+ )
30
+ end
31
+
32
+ def to_map
33
+ {
34
+ "$id": @id,
35
+ "enabled": @enabled,
36
+ "publicKey": @public_key,
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 OAuth2Dropbox
6
+ attr_reader :id
7
+ attr_reader :enabled
8
+ attr_reader :app_key
9
+ attr_reader :app_secret
10
+
11
+ def initialize(
12
+ id:,
13
+ enabled:,
14
+ app_key:,
15
+ app_secret:
16
+ )
17
+ @id = id
18
+ @enabled = enabled
19
+ @app_key = app_key
20
+ @app_secret = app_secret
21
+ end
22
+
23
+ def self.from(map:)
24
+ OAuth2Dropbox.new(
25
+ id: map["$id"],
26
+ enabled: map["enabled"],
27
+ app_key: map["appKey"],
28
+ app_secret: map["appSecret"]
29
+ )
30
+ end
31
+
32
+ def to_map
33
+ {
34
+ "$id": @id,
35
+ "enabled": @enabled,
36
+ "appKey": @app_key,
37
+ "appSecret": @app_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 OAuth2Etsy
6
+ attr_reader :id
7
+ attr_reader :enabled
8
+ attr_reader :key_string
9
+ attr_reader :shared_secret
10
+
11
+ def initialize(
12
+ id:,
13
+ enabled:,
14
+ key_string:,
15
+ shared_secret:
16
+ )
17
+ @id = id
18
+ @enabled = enabled
19
+ @key_string = key_string
20
+ @shared_secret = shared_secret
21
+ end
22
+
23
+ def self.from(map:)
24
+ OAuth2Etsy.new(
25
+ id: map["$id"],
26
+ enabled: map["enabled"],
27
+ key_string: map["keyString"],
28
+ shared_secret: map["sharedSecret"]
29
+ )
30
+ end
31
+
32
+ def to_map
33
+ {
34
+ "$id": @id,
35
+ "enabled": @enabled,
36
+ "keyString": @key_string,
37
+ "sharedSecret": @shared_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 OAuth2Facebook
6
+ attr_reader :id
7
+ attr_reader :enabled
8
+ attr_reader :app_id
9
+ attr_reader :app_secret
10
+
11
+ def initialize(
12
+ id:,
13
+ enabled:,
14
+ app_id:,
15
+ app_secret:
16
+ )
17
+ @id = id
18
+ @enabled = enabled
19
+ @app_id = app_id
20
+ @app_secret = app_secret
21
+ end
22
+
23
+ def self.from(map:)
24
+ OAuth2Facebook.new(
25
+ id: map["$id"],
26
+ enabled: map["enabled"],
27
+ app_id: map["appId"],
28
+ app_secret: map["appSecret"]
29
+ )
30
+ end
31
+
32
+ def to_map
33
+ {
34
+ "$id": @id,
35
+ "enabled": @enabled,
36
+ "appId": @app_id,
37
+ "appSecret": @app_secret
38
+ }
39
+ end
40
+ end
41
+ end
42
+ end