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,47 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class AuthProvider
6
+ attr_reader :key
7
+ attr_reader :name
8
+ attr_reader :app_id
9
+ attr_reader :secret
10
+ attr_reader :enabled
11
+
12
+ def initialize(
13
+ key:,
14
+ name:,
15
+ app_id:,
16
+ secret:,
17
+ enabled:
18
+ )
19
+ @key = key
20
+ @name = name
21
+ @app_id = app_id
22
+ @secret = secret
23
+ @enabled = enabled
24
+ end
25
+
26
+ def self.from(map:)
27
+ AuthProvider.new(
28
+ key: map["key"],
29
+ name: map["name"],
30
+ app_id: map["appId"],
31
+ secret: map["secret"],
32
+ enabled: map["enabled"]
33
+ )
34
+ end
35
+
36
+ def to_map
37
+ {
38
+ "key": @key,
39
+ "name": @name,
40
+ "appId": @app_id,
41
+ "secret": @secret,
42
+ "enabled": @enabled
43
+ }
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,62 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class BillingLimits
6
+ attr_reader :bandwidth
7
+ attr_reader :storage
8
+ attr_reader :users
9
+ attr_reader :executions
10
+ attr_reader :gb_hours
11
+ attr_reader :image_transformations
12
+ attr_reader :auth_phone
13
+ attr_reader :budget_limit
14
+
15
+ def initialize(
16
+ bandwidth:,
17
+ storage:,
18
+ users:,
19
+ executions:,
20
+ gb_hours:,
21
+ image_transformations:,
22
+ auth_phone:,
23
+ budget_limit:
24
+ )
25
+ @bandwidth = bandwidth
26
+ @storage = storage
27
+ @users = users
28
+ @executions = executions
29
+ @gb_hours = gb_hours
30
+ @image_transformations = image_transformations
31
+ @auth_phone = auth_phone
32
+ @budget_limit = budget_limit
33
+ end
34
+
35
+ def self.from(map:)
36
+ BillingLimits.new(
37
+ bandwidth: map["bandwidth"],
38
+ storage: map["storage"],
39
+ users: map["users"],
40
+ executions: map["executions"],
41
+ gb_hours: map["GBHours"],
42
+ image_transformations: map["imageTransformations"],
43
+ auth_phone: map["authPhone"],
44
+ budget_limit: map["budgetLimit"]
45
+ )
46
+ end
47
+
48
+ def to_map
49
+ {
50
+ "bandwidth": @bandwidth,
51
+ "storage": @storage,
52
+ "users": @users,
53
+ "executions": @executions,
54
+ "GBHours": @gb_hours,
55
+ "imageTransformations": @image_transformations,
56
+ "authPhone": @auth_phone,
57
+ "budgetLimit": @budget_limit
58
+ }
59
+ end
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,72 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class Block
6
+ attr_reader :created_at
7
+ attr_reader :resource_type
8
+ attr_reader :resource_id
9
+ attr_reader :reason
10
+ attr_reader :expired_at
11
+ attr_reader :project_name
12
+ attr_reader :region
13
+ attr_reader :organization_name
14
+ attr_reader :organization_id
15
+ attr_reader :billing_plan
16
+
17
+ def initialize(
18
+ created_at:,
19
+ resource_type:,
20
+ resource_id:,
21
+ reason: ,
22
+ expired_at: ,
23
+ project_name:,
24
+ region:,
25
+ organization_name:,
26
+ organization_id:,
27
+ billing_plan:
28
+ )
29
+ @created_at = created_at
30
+ @resource_type = resource_type
31
+ @resource_id = resource_id
32
+ @reason = reason
33
+ @expired_at = expired_at
34
+ @project_name = project_name
35
+ @region = region
36
+ @organization_name = organization_name
37
+ @organization_id = organization_id
38
+ @billing_plan = billing_plan
39
+ end
40
+
41
+ def self.from(map:)
42
+ Block.new(
43
+ created_at: map["$createdAt"],
44
+ resource_type: map["resourceType"],
45
+ resource_id: map["resourceId"],
46
+ reason: map["reason"],
47
+ expired_at: map["expiredAt"],
48
+ project_name: map["projectName"],
49
+ region: map["region"],
50
+ organization_name: map["organizationName"],
51
+ organization_id: map["organizationId"],
52
+ billing_plan: map["billingPlan"]
53
+ )
54
+ end
55
+
56
+ def to_map
57
+ {
58
+ "$createdAt": @created_at,
59
+ "resourceType": @resource_type,
60
+ "resourceId": @resource_id,
61
+ "reason": @reason,
62
+ "expiredAt": @expired_at,
63
+ "projectName": @project_name,
64
+ "region": @region,
65
+ "organizationName": @organization_name,
66
+ "organizationId": @organization_id,
67
+ "billingPlan": @billing_plan
68
+ }
69
+ end
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,96 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class ColumnBigint
6
+ attr_reader :key
7
+ attr_reader :type
8
+ attr_reader :status
9
+ attr_reader :error
10
+ attr_reader :required
11
+ attr_reader :array
12
+ attr_reader :created_at
13
+ attr_reader :updated_at
14
+ attr_reader :min
15
+ attr_reader :max
16
+ attr_reader :default
17
+
18
+ def initialize(
19
+ key:,
20
+ type:,
21
+ status:,
22
+ error:,
23
+ required:,
24
+ array: ,
25
+ created_at:,
26
+ updated_at:,
27
+ min: ,
28
+ max: ,
29
+ default:
30
+ )
31
+ @key = key
32
+ @type = type
33
+ @status = validate_status(status)
34
+ @error = error
35
+ @required = required
36
+ @array = array
37
+ @created_at = created_at
38
+ @updated_at = updated_at
39
+ @min = min
40
+ @max = max
41
+ @default = default
42
+ end
43
+
44
+ def self.from(map:)
45
+ ColumnBigint.new(
46
+ key: map["key"],
47
+ type: map["type"],
48
+ status: map["status"],
49
+ error: map["error"],
50
+ required: map["required"],
51
+ array: map["array"],
52
+ created_at: map["$createdAt"],
53
+ updated_at: map["$updatedAt"],
54
+ min: map["min"],
55
+ max: map["max"],
56
+ default: map["default"]
57
+ )
58
+ end
59
+
60
+ def to_map
61
+ {
62
+ "key": @key,
63
+ "type": @type,
64
+ "status": @status,
65
+ "error": @error,
66
+ "required": @required,
67
+ "array": @array,
68
+ "$createdAt": @created_at,
69
+ "$updatedAt": @updated_at,
70
+ "min": @min,
71
+ "max": @max,
72
+ "default": @default
73
+ }
74
+ end
75
+
76
+ private
77
+
78
+ def validate_status(status)
79
+ valid_status = [
80
+ Appwrite::Enums::ColumnStatus::AVAILABLE,
81
+ Appwrite::Enums::ColumnStatus::PROCESSING,
82
+ Appwrite::Enums::ColumnStatus::DELETING,
83
+ Appwrite::Enums::ColumnStatus::STUCK,
84
+ Appwrite::Enums::ColumnStatus::FAILED,
85
+ ]
86
+
87
+ unless valid_status.include?(status)
88
+ raise ArgumentError, "Invalid " + status + ". Must be one of: " + valid_status.join(', ')
89
+ end
90
+
91
+ status
92
+ end
93
+
94
+ end
95
+ end
96
+ end
@@ -0,0 +1,62 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class DevKey
6
+ attr_reader :id
7
+ attr_reader :created_at
8
+ attr_reader :updated_at
9
+ attr_reader :name
10
+ attr_reader :expire
11
+ attr_reader :secret
12
+ attr_reader :accessed_at
13
+ attr_reader :sdks
14
+
15
+ def initialize(
16
+ id:,
17
+ created_at:,
18
+ updated_at:,
19
+ name:,
20
+ expire:,
21
+ secret:,
22
+ accessed_at:,
23
+ sdks:
24
+ )
25
+ @id = id
26
+ @created_at = created_at
27
+ @updated_at = updated_at
28
+ @name = name
29
+ @expire = expire
30
+ @secret = secret
31
+ @accessed_at = accessed_at
32
+ @sdks = sdks
33
+ end
34
+
35
+ def self.from(map:)
36
+ DevKey.new(
37
+ id: map["$id"],
38
+ created_at: map["$createdAt"],
39
+ updated_at: map["$updatedAt"],
40
+ name: map["name"],
41
+ expire: map["expire"],
42
+ secret: map["secret"],
43
+ accessed_at: map["accessedAt"],
44
+ sdks: map["sdks"]
45
+ )
46
+ end
47
+
48
+ def to_map
49
+ {
50
+ "$id": @id,
51
+ "$createdAt": @created_at,
52
+ "$updatedAt": @updated_at,
53
+ "name": @name,
54
+ "expire": @expire,
55
+ "secret": @secret,
56
+ "accessedAt": @accessed_at,
57
+ "sdks": @sdks
58
+ }
59
+ end
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,62 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class EmailTemplate
6
+ attr_reader :template_id
7
+ attr_reader :locale
8
+ attr_reader :message
9
+ attr_reader :sender_name
10
+ attr_reader :sender_email
11
+ attr_reader :reply_to_email
12
+ attr_reader :reply_to_name
13
+ attr_reader :subject
14
+
15
+ def initialize(
16
+ template_id:,
17
+ locale:,
18
+ message:,
19
+ sender_name:,
20
+ sender_email:,
21
+ reply_to_email:,
22
+ reply_to_name:,
23
+ subject:
24
+ )
25
+ @template_id = template_id
26
+ @locale = locale
27
+ @message = message
28
+ @sender_name = sender_name
29
+ @sender_email = sender_email
30
+ @reply_to_email = reply_to_email
31
+ @reply_to_name = reply_to_name
32
+ @subject = subject
33
+ end
34
+
35
+ def self.from(map:)
36
+ EmailTemplate.new(
37
+ template_id: map["templateId"],
38
+ locale: map["locale"],
39
+ message: map["message"],
40
+ sender_name: map["senderName"],
41
+ sender_email: map["senderEmail"],
42
+ reply_to_email: map["replyToEmail"],
43
+ reply_to_name: map["replyToName"],
44
+ subject: map["subject"]
45
+ )
46
+ end
47
+
48
+ def to_map
49
+ {
50
+ "templateId": @template_id,
51
+ "locale": @locale,
52
+ "message": @message,
53
+ "senderName": @sender_name,
54
+ "senderEmail": @sender_email,
55
+ "replyToEmail": @reply_to_email,
56
+ "replyToName": @reply_to_name,
57
+ "subject": @subject
58
+ }
59
+ end
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,32 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class EmailTemplateList
6
+ attr_reader :total
7
+ attr_reader :templates
8
+
9
+ def initialize(
10
+ total:,
11
+ templates:
12
+ )
13
+ @total = total
14
+ @templates = templates
15
+ end
16
+
17
+ def self.from(map:)
18
+ EmailTemplateList.new(
19
+ total: map["total"],
20
+ templates: map["templates"].map { |it| EmailTemplate.from(map: it) }
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "total": @total,
27
+ "templates": @templates.map { |it| it.to_map }
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,67 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class EphemeralKey
6
+ attr_reader :id
7
+ attr_reader :created_at
8
+ attr_reader :updated_at
9
+ attr_reader :name
10
+ attr_reader :expire
11
+ attr_reader :scopes
12
+ attr_reader :secret
13
+ attr_reader :accessed_at
14
+ attr_reader :sdks
15
+
16
+ def initialize(
17
+ id:,
18
+ created_at:,
19
+ updated_at:,
20
+ name:,
21
+ expire:,
22
+ scopes:,
23
+ secret:,
24
+ accessed_at:,
25
+ sdks:
26
+ )
27
+ @id = id
28
+ @created_at = created_at
29
+ @updated_at = updated_at
30
+ @name = name
31
+ @expire = expire
32
+ @scopes = scopes
33
+ @secret = secret
34
+ @accessed_at = accessed_at
35
+ @sdks = sdks
36
+ end
37
+
38
+ def self.from(map:)
39
+ EphemeralKey.new(
40
+ id: map["$id"],
41
+ created_at: map["$createdAt"],
42
+ updated_at: map["$updatedAt"],
43
+ name: map["name"],
44
+ expire: map["expire"],
45
+ scopes: map["scopes"],
46
+ secret: map["secret"],
47
+ accessed_at: map["accessedAt"],
48
+ sdks: map["sdks"]
49
+ )
50
+ end
51
+
52
+ def to_map
53
+ {
54
+ "$id": @id,
55
+ "$createdAt": @created_at,
56
+ "$updatedAt": @updated_at,
57
+ "name": @name,
58
+ "expire": @expire,
59
+ "scopes": @scopes,
60
+ "secret": @secret,
61
+ "accessedAt": @accessed_at,
62
+ "sdks": @sdks
63
+ }
64
+ end
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,67 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class Key
6
+ attr_reader :id
7
+ attr_reader :created_at
8
+ attr_reader :updated_at
9
+ attr_reader :name
10
+ attr_reader :expire
11
+ attr_reader :scopes
12
+ attr_reader :secret
13
+ attr_reader :accessed_at
14
+ attr_reader :sdks
15
+
16
+ def initialize(
17
+ id:,
18
+ created_at:,
19
+ updated_at:,
20
+ name:,
21
+ expire:,
22
+ scopes:,
23
+ secret:,
24
+ accessed_at:,
25
+ sdks:
26
+ )
27
+ @id = id
28
+ @created_at = created_at
29
+ @updated_at = updated_at
30
+ @name = name
31
+ @expire = expire
32
+ @scopes = scopes
33
+ @secret = secret
34
+ @accessed_at = accessed_at
35
+ @sdks = sdks
36
+ end
37
+
38
+ def self.from(map:)
39
+ Key.new(
40
+ id: map["$id"],
41
+ created_at: map["$createdAt"],
42
+ updated_at: map["$updatedAt"],
43
+ name: map["name"],
44
+ expire: map["expire"],
45
+ scopes: map["scopes"],
46
+ secret: map["secret"],
47
+ accessed_at: map["accessedAt"],
48
+ sdks: map["sdks"]
49
+ )
50
+ end
51
+
52
+ def to_map
53
+ {
54
+ "$id": @id,
55
+ "$createdAt": @created_at,
56
+ "$updatedAt": @updated_at,
57
+ "name": @name,
58
+ "expire": @expire,
59
+ "scopes": @scopes,
60
+ "secret": @secret,
61
+ "accessedAt": @accessed_at,
62
+ "sdks": @sdks
63
+ }
64
+ end
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,32 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class KeyList
6
+ attr_reader :total
7
+ attr_reader :keys
8
+
9
+ def initialize(
10
+ total:,
11
+ keys:
12
+ )
13
+ @total = total
14
+ @keys = keys
15
+ end
16
+
17
+ def self.from(map:)
18
+ KeyList.new(
19
+ total: map["total"],
20
+ keys: map["keys"].map { |it| Key.from(map: it) }
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "total": @total,
27
+ "keys": @keys.map { |it| it.to_map }
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -8,6 +8,7 @@ module Appwrite
8
8
  attr_reader :user_email
9
9
  attr_reader :user_name
10
10
  attr_reader :mode
11
+ attr_reader :user_type
11
12
  attr_reader :ip
12
13
  attr_reader :time
13
14
  attr_reader :os_code
@@ -31,6 +32,7 @@ module Appwrite
31
32
  user_email:,
32
33
  user_name:,
33
34
  mode:,
35
+ user_type:,
34
36
  ip:,
35
37
  time:,
36
38
  os_code:,
@@ -53,6 +55,7 @@ module Appwrite
53
55
  @user_email = user_email
54
56
  @user_name = user_name
55
57
  @mode = mode
58
+ @user_type = user_type
56
59
  @ip = ip
57
60
  @time = time
58
61
  @os_code = os_code
@@ -78,6 +81,7 @@ module Appwrite
78
81
  user_email: map["userEmail"],
79
82
  user_name: map["userName"],
80
83
  mode: map["mode"],
84
+ user_type: map["userType"],
81
85
  ip: map["ip"],
82
86
  time: map["time"],
83
87
  os_code: map["osCode"],
@@ -104,6 +108,7 @@ module Appwrite
104
108
  "userEmail": @user_email,
105
109
  "userName": @user_name,
106
110
  "mode": @mode,
111
+ "userType": @user_type,
107
112
  "ip": @ip,
108
113
  "time": @time,
109
114
  "osCode": @os_code,
@@ -9,6 +9,7 @@ module Appwrite
9
9
  attr_reader :user_id
10
10
  attr_reader :user_name
11
11
  attr_reader :user_email
12
+ attr_reader :user_phone
12
13
  attr_reader :team_id
13
14
  attr_reader :team_name
14
15
  attr_reader :invited
@@ -24,6 +25,7 @@ module Appwrite
24
25
  user_id:,
25
26
  user_name:,
26
27
  user_email:,
28
+ user_phone:,
27
29
  team_id:,
28
30
  team_name:,
29
31
  invited:,
@@ -38,6 +40,7 @@ module Appwrite
38
40
  @user_id = user_id
39
41
  @user_name = user_name
40
42
  @user_email = user_email
43
+ @user_phone = user_phone
41
44
  @team_id = team_id
42
45
  @team_name = team_name
43
46
  @invited = invited
@@ -55,6 +58,7 @@ module Appwrite
55
58
  user_id: map["userId"],
56
59
  user_name: map["userName"],
57
60
  user_email: map["userEmail"],
61
+ user_phone: map["userPhone"],
58
62
  team_id: map["teamId"],
59
63
  team_name: map["teamName"],
60
64
  invited: map["invited"],
@@ -73,6 +77,7 @@ module Appwrite
73
77
  "userId": @user_id,
74
78
  "userName": @user_name,
75
79
  "userEmail": @user_email,
80
+ "userPhone": @user_phone,
76
81
  "teamId": @team_id,
77
82
  "teamName": @team_name,
78
83
  "invited": @invited,