appwrite 24.2.0 → 25.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 (51) hide show
  1. checksums.yaml +4 -4
  2. data/lib/appwrite/client.rb +19 -3
  3. data/lib/appwrite/enums/backup_services.rb +1 -0
  4. data/lib/appwrite/enums/{theme.rb → browser_theme.rb} +1 -1
  5. data/lib/appwrite/enums/build_runtime.rb +2 -3
  6. data/lib/appwrite/enums/{name.rb → health_queue_name.rb} +1 -1
  7. data/lib/appwrite/enums/organization_key_scopes.rb +16 -0
  8. data/lib/appwrite/enums/project_key_scopes.rb +2 -0
  9. data/lib/appwrite/enums/project_o_auth_provider_id.rb +0 -2
  10. data/lib/appwrite/enums/project_policy_id.rb +4 -0
  11. data/lib/appwrite/enums/region.rb +12 -0
  12. data/lib/appwrite/enums/runtime.rb +2 -3
  13. data/lib/appwrite/enums/status_code.rb +4 -4
  14. data/lib/appwrite/models/activity_event.rb +20 -20
  15. data/lib/appwrite/models/function.rb +10 -0
  16. data/lib/appwrite/models/policy_deny_aliased_email.rb +32 -0
  17. data/lib/appwrite/models/policy_deny_disposable_email.rb +32 -0
  18. data/lib/appwrite/models/policy_deny_free_email.rb +32 -0
  19. data/lib/appwrite/models/policy_password_strength.rb +52 -0
  20. data/lib/appwrite/models/presence.rb +2 -6
  21. data/lib/appwrite/models/presence_list.rb +0 -4
  22. data/lib/appwrite/models/project.rb +58 -13
  23. data/lib/appwrite/models/project_list.rb +32 -0
  24. data/lib/appwrite/models/site.rb +10 -0
  25. data/lib/appwrite/models/usage_gauge.rb +13 -3
  26. data/lib/appwrite/services/account.rb +46 -1
  27. data/lib/appwrite/services/activities.rb +2 -0
  28. data/lib/appwrite/services/advisor.rb +5 -0
  29. data/lib/appwrite/services/avatars.rb +9 -1
  30. data/lib/appwrite/services/backups.rb +12 -0
  31. data/lib/appwrite/services/databases.rb +71 -0
  32. data/lib/appwrite/services/functions.rb +36 -2
  33. data/lib/appwrite/services/graphql.rb +2 -0
  34. data/lib/appwrite/services/health.rb +52 -1
  35. data/lib/appwrite/services/locale.rb +8 -0
  36. data/lib/appwrite/services/messaging.rb +150 -0
  37. data/lib/appwrite/services/organization.rb +359 -0
  38. data/lib/appwrite/services/presences.rb +6 -1
  39. data/lib/appwrite/services/project.rb +214 -12
  40. data/lib/appwrite/services/proxy.rb +8 -0
  41. data/lib/appwrite/services/sites.rb +35 -2
  42. data/lib/appwrite/services/storage.rb +13 -0
  43. data/lib/appwrite/services/tables_db.rb +71 -0
  44. data/lib/appwrite/services/teams.rb +13 -0
  45. data/lib/appwrite/services/tokens.rb +5 -0
  46. data/lib/appwrite/services/usage.rb +12 -10
  47. data/lib/appwrite/services/users.rb +43 -0
  48. data/lib/appwrite/services/webhooks.rb +6 -0
  49. data/lib/appwrite.rb +13 -6
  50. metadata +12 -5
  51. data/lib/appwrite/enums/scopes.rb +0 -100
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1815561145e36dee35678ad27a1bbdf13c53ed1fad59dd8c07805321f6073627
4
- data.tar.gz: a4c4d5cf12077a7eedfb240b13c632040f3f8d220421704156b9cc07353e687f
3
+ metadata.gz: cc6d0070b3940ca846d8ecb461dacbdb9f078abd2086afc9b9e42febc14df663
4
+ data.tar.gz: 466949abf687dfb27cbc1ff60304612082f5df2a3e453032f3016dfdcaa47947
5
5
  SHA512:
6
- metadata.gz: '018c916f75afc5a11b45837d4498b371241156e5a765903815a6bfbefaf848b15b457b0988e384a3331b51c8cc291c52c9a0015bec63960ed73aee57f1886d8f'
7
- data.tar.gz: 2274734af1f1c1434d2aa945d84d6ca704d7c155e633b2c71e58f086c69809b1c46af12a703769d46a3d087291eb22854dd57718ccc8c7e09eb7fb8017f0a628
6
+ metadata.gz: 185be5d32ebd73c3160bfc2ddd2c0987cf06315a4306c18108202f189b83379ab78f71b4fd745e9fc3ece72c9a74f000a4f295f3c90b560b69557179594bbe99
7
+ data.tar.gz: d44619e35df9c1521abb70959cb7659e326ac13dd3f79a89a32896390835ca2de2c434ae18c1507fd5c6a7a28579275870c9ea4b06edd162e9e9aeb9e1f2ad02
@@ -15,10 +15,11 @@ module Appwrite
15
15
  'x-sdk-name'=> 'Ruby',
16
16
  'x-sdk-platform'=> 'server',
17
17
  'x-sdk-language'=> 'ruby',
18
- 'x-sdk-version'=> '24.2.0',
18
+ 'x-sdk-version'=> '25.1.0',
19
19
  'X-Appwrite-Response-Format' => '1.9.5'
20
20
  }
21
21
  @endpoint = 'https://cloud.appwrite.io/v1'
22
+ @config = {}
22
23
  end
23
24
 
24
25
  # Set Project
@@ -29,7 +30,7 @@ module Appwrite
29
30
  #
30
31
  # @return [self]
31
32
  def set_project(value)
32
- add_header('x-appwrite-project', value)
33
+ @config['project'] = value
33
34
 
34
35
  self
35
36
  end
@@ -43,6 +44,7 @@ module Appwrite
43
44
  # @return [self]
44
45
  def set_key(value)
45
46
  add_header('x-appwrite-key', value)
47
+ @config['key'] = value
46
48
 
47
49
  self
48
50
  end
@@ -56,6 +58,7 @@ module Appwrite
56
58
  # @return [self]
57
59
  def set_jwt(value)
58
60
  add_header('x-appwrite-jwt', value)
61
+ @config['jwt'] = value
59
62
 
60
63
  self
61
64
  end
@@ -67,6 +70,7 @@ module Appwrite
67
70
  # @return [self]
68
71
  def set_locale(value)
69
72
  add_header('x-appwrite-locale', value)
73
+ @config['locale'] = value
70
74
 
71
75
  self
72
76
  end
@@ -80,6 +84,7 @@ module Appwrite
80
84
  # @return [self]
81
85
  def set_session(value)
82
86
  add_header('x-appwrite-session', value)
87
+ @config['session'] = value
83
88
 
84
89
  self
85
90
  end
@@ -93,6 +98,7 @@ module Appwrite
93
98
  # @return [self]
94
99
  def set_forwarded_user_agent(value)
95
100
  add_header('x-forwarded-user-agent', value)
101
+ @config['forwardeduseragent'] = value
96
102
 
97
103
  self
98
104
  end
@@ -106,6 +112,7 @@ module Appwrite
106
112
  # @return [self]
107
113
  def set_dev_key(value)
108
114
  add_header('x-appwrite-dev-key', value)
115
+ @config['devkey'] = value
109
116
 
110
117
  self
111
118
  end
@@ -119,6 +126,7 @@ module Appwrite
119
126
  # @return [self]
120
127
  def set_cookie(value)
121
128
  add_header('cookie', value)
129
+ @config['cookie'] = value
122
130
 
123
131
  self
124
132
  end
@@ -132,6 +140,7 @@ module Appwrite
132
140
  # @return [self]
133
141
  def set_impersonate_user_id(value)
134
142
  add_header('x-appwrite-impersonate-user-id', value)
143
+ @config['impersonateuserid'] = value
135
144
 
136
145
  self
137
146
  end
@@ -145,6 +154,7 @@ module Appwrite
145
154
  # @return [self]
146
155
  def set_impersonate_user_email(value)
147
156
  add_header('x-appwrite-impersonate-user-email', value)
157
+ @config['impersonateuseremail'] = value
148
158
 
149
159
  self
150
160
  end
@@ -158,10 +168,15 @@ module Appwrite
158
168
  # @return [self]
159
169
  def set_impersonate_user_phone(value)
160
170
  add_header('x-appwrite-impersonate-user-phone', value)
171
+ @config['impersonateuserphone'] = value
161
172
 
162
173
  self
163
174
  end
164
175
 
176
+ def get_config(key)
177
+ @config[key] || ''
178
+ end
179
+
165
180
  # Set endpoint.
166
181
  #
167
182
  # @param [String] endpoint The endpoint to set
@@ -223,7 +238,8 @@ module Appwrite
223
238
  params: {},
224
239
  response_type: nil
225
240
  )
226
- uri = URI.parse(@endpoint + path + ((method == "GET" && params.length) ? '?' + encode(params) : ''))
241
+ separator = path.include?('?') ? '&' : '?'
242
+ uri = URI.parse(@endpoint + path + ((method == "GET" && params.length) ? separator + encode(params) : ''))
227
243
 
228
244
  fetch(method, uri, headers, params, response_type)
229
245
  end
@@ -5,6 +5,7 @@ module Appwrite
5
5
  TABLESDB = 'tablesdb'
6
6
  DOCUMENTSDB = 'documentsdb'
7
7
  VECTORSDB = 'vectorsdb'
8
+ DEDICATEDDATABASES = 'dedicatedDatabases'
8
9
  FUNCTIONS = 'functions'
9
10
  STORAGE = 'storage'
10
11
  end
@@ -1,6 +1,6 @@
1
1
  module Appwrite
2
2
  module Enums
3
- module Theme
3
+ module BrowserTheme
4
4
  LIGHT = 'light'
5
5
  DARK = 'dark'
6
6
  end
@@ -32,9 +32,6 @@ module Appwrite
32
32
  PYTHON_ML_3_11 = 'python-ml-3.11'
33
33
  PYTHON_ML_3_12 = 'python-ml-3.12'
34
34
  PYTHON_ML_3_13 = 'python-ml-3.13'
35
- DENO_1_21 = 'deno-1.21'
36
- DENO_1_24 = 'deno-1.24'
37
- DENO_1_35 = 'deno-1.35'
38
35
  DENO_1_40 = 'deno-1.40'
39
36
  DENO_1_46 = 'deno-1.46'
40
37
  DENO_2_0 = 'deno-2.0'
@@ -53,6 +50,7 @@ module Appwrite
53
50
  DART_3_9 = 'dart-3.9'
54
51
  DART_3_10 = 'dart-3.10'
55
52
  DART_3_11 = 'dart-3.11'
53
+ DART_3_12 = 'dart-3.12'
56
54
  DOTNET_6_0 = 'dotnet-6.0'
57
55
  DOTNET_7_0 = 'dotnet-7.0'
58
56
  DOTNET_8_0 = 'dotnet-8.0'
@@ -93,6 +91,7 @@ module Appwrite
93
91
  FLUTTER_3_35 = 'flutter-3.35'
94
92
  FLUTTER_3_38 = 'flutter-3.38'
95
93
  FLUTTER_3_41 = 'flutter-3.41'
94
+ FLUTTER_3_44 = 'flutter-3.44'
96
95
  end
97
96
  end
98
97
  end
@@ -1,6 +1,6 @@
1
1
  module Appwrite
2
2
  module Enums
3
- module Name
3
+ module HealthQueueName
4
4
  V1_DATABASE = 'v1-database'
5
5
  V1_DELETES = 'v1-deletes'
6
6
  V1_AUDITS = 'v1-audits'
@@ -0,0 +1,16 @@
1
+ module Appwrite
2
+ module Enums
3
+ module OrganizationKeyScopes
4
+ PROJECTS_READ = 'projects.read'
5
+ PROJECTS_WRITE = 'projects.write'
6
+ DEVKEYS_READ = 'devKeys.read'
7
+ DEVKEYS_WRITE = 'devKeys.write'
8
+ ORGANIZATION_KEYS_READ = 'organization.keys.read'
9
+ ORGANIZATION_KEYS_WRITE = 'organization.keys.write'
10
+ DOMAINS_READ = 'domains.read'
11
+ DOMAINS_WRITE = 'domains.write'
12
+ KEYS_READ = 'keys.read'
13
+ KEYS_WRITE = 'keys.write'
14
+ end
15
+ end
16
+ end
@@ -94,6 +94,8 @@ module Appwrite
94
94
  DOMAINS_READ = 'domains.read'
95
95
  DOMAINS_WRITE = 'domains.write'
96
96
  EVENTS_READ = 'events.read'
97
+ APPS_READ = 'apps.read'
98
+ APPS_WRITE = 'apps.write'
97
99
  USAGE_READ = 'usage.read'
98
100
  end
99
101
  end
@@ -44,8 +44,6 @@ module Appwrite
44
44
  YANDEX = 'yandex'
45
45
  ZOHO = 'zoho'
46
46
  ZOOM = 'zoom'
47
- GITHUBIMAGINE = 'githubImagine'
48
- GOOGLEIMAGINE = 'googleImagine'
49
47
  end
50
48
  end
51
49
  end
@@ -3,6 +3,7 @@ module Appwrite
3
3
  module ProjectPolicyId
4
4
  PASSWORD_DICTIONARY = 'password-dictionary'
5
5
  PASSWORD_HISTORY = 'password-history'
6
+ PASSWORD_STRENGTH = 'password-strength'
6
7
  PASSWORD_PERSONAL_DATA = 'password-personal-data'
7
8
  SESSION_ALERT = 'session-alert'
8
9
  SESSION_DURATION = 'session-duration'
@@ -10,6 +11,9 @@ module Appwrite
10
11
  SESSION_LIMIT = 'session-limit'
11
12
  USER_LIMIT = 'user-limit'
12
13
  MEMBERSHIP_PRIVACY = 'membership-privacy'
14
+ DENY_ALIASED_EMAIL = 'deny-aliased-email'
15
+ DENY_DISPOSABLE_EMAIL = 'deny-disposable-email'
16
+ DENY_FREE_EMAIL = 'deny-free-email'
13
17
  end
14
18
  end
15
19
  end
@@ -0,0 +1,12 @@
1
+ module Appwrite
2
+ module Enums
3
+ module Region
4
+ FRA = 'fra'
5
+ NYC = 'nyc'
6
+ SYD = 'syd'
7
+ SFO = 'sfo'
8
+ SGP = 'sgp'
9
+ TOR = 'tor'
10
+ end
11
+ end
12
+ end
@@ -32,9 +32,6 @@ module Appwrite
32
32
  PYTHON_ML_3_11 = 'python-ml-3.11'
33
33
  PYTHON_ML_3_12 = 'python-ml-3.12'
34
34
  PYTHON_ML_3_13 = 'python-ml-3.13'
35
- DENO_1_21 = 'deno-1.21'
36
- DENO_1_24 = 'deno-1.24'
37
- DENO_1_35 = 'deno-1.35'
38
35
  DENO_1_40 = 'deno-1.40'
39
36
  DENO_1_46 = 'deno-1.46'
40
37
  DENO_2_0 = 'deno-2.0'
@@ -53,6 +50,7 @@ module Appwrite
53
50
  DART_3_9 = 'dart-3.9'
54
51
  DART_3_10 = 'dart-3.10'
55
52
  DART_3_11 = 'dart-3.11'
53
+ DART_3_12 = 'dart-3.12'
56
54
  DOTNET_6_0 = 'dotnet-6.0'
57
55
  DOTNET_7_0 = 'dotnet-7.0'
58
56
  DOTNET_8_0 = 'dotnet-8.0'
@@ -93,6 +91,7 @@ module Appwrite
93
91
  FLUTTER_3_35 = 'flutter-3.35'
94
92
  FLUTTER_3_38 = 'flutter-3.38'
95
93
  FLUTTER_3_41 = 'flutter-3.41'
94
+ FLUTTER_3_44 = 'flutter-3.44'
96
95
  end
97
96
  end
98
97
  end
@@ -1,10 +1,10 @@
1
1
  module Appwrite
2
2
  module Enums
3
3
  module StatusCode
4
- MOVED_PERMANENTLY_301 = '301'
5
- FOUND_302 = '302'
6
- TEMPORARY_REDIRECT_307 = '307'
7
- PERMANENT_REDIRECT_308 = '308'
4
+ MOVEDPERMANENTLY = '301'
5
+ FOUND = '302'
6
+ TEMPORARYREDIRECT = '307'
7
+ PERMANENTREDIRECT = '308'
8
8
  end
9
9
  end
10
10
  end
@@ -4,10 +4,10 @@ module Appwrite
4
4
  module Models
5
5
  class ActivityEvent
6
6
  attr_reader :id
7
- attr_reader :user_type
8
- attr_reader :user_id
9
- attr_reader :user_email
10
- attr_reader :user_name
7
+ attr_reader :actor_type
8
+ attr_reader :actor_id
9
+ attr_reader :actor_email
10
+ attr_reader :actor_name
11
11
  attr_reader :resource_parent
12
12
  attr_reader :resource_type
13
13
  attr_reader :resource_id
@@ -38,10 +38,10 @@ module Appwrite
38
38
 
39
39
  def initialize(
40
40
  id:,
41
- user_type:,
42
- user_id:,
43
- user_email:,
44
- user_name:,
41
+ actor_type:,
42
+ actor_id:,
43
+ actor_email:,
44
+ actor_name:,
45
45
  resource_parent:,
46
46
  resource_type:,
47
47
  resource_id:,
@@ -71,10 +71,10 @@ module Appwrite
71
71
  country_name:
72
72
  )
73
73
  @id = id
74
- @user_type = user_type
75
- @user_id = user_id
76
- @user_email = user_email
77
- @user_name = user_name
74
+ @actor_type = actor_type
75
+ @actor_id = actor_id
76
+ @actor_email = actor_email
77
+ @actor_name = actor_name
78
78
  @resource_parent = resource_parent
79
79
  @resource_type = resource_type
80
80
  @resource_id = resource_id
@@ -107,10 +107,10 @@ module Appwrite
107
107
  def self.from(map:)
108
108
  ActivityEvent.new(
109
109
  id: map["$id"],
110
- user_type: map["userType"],
111
- user_id: map["userId"],
112
- user_email: map["userEmail"],
113
- user_name: map["userName"],
110
+ actor_type: map["actorType"],
111
+ actor_id: map["actorId"],
112
+ actor_email: map["actorEmail"],
113
+ actor_name: map["actorName"],
114
114
  resource_parent: map["resourceParent"],
115
115
  resource_type: map["resourceType"],
116
116
  resource_id: map["resourceId"],
@@ -144,10 +144,10 @@ module Appwrite
144
144
  def to_map
145
145
  {
146
146
  "$id": @id,
147
- "userType": @user_type,
148
- "userId": @user_id,
149
- "userEmail": @user_email,
150
- "userName": @user_name,
147
+ "actorType": @actor_type,
148
+ "actorId": @actor_id,
149
+ "actorEmail": @actor_email,
150
+ "actorName": @actor_name,
151
151
  "resourceParent": @resource_parent,
152
152
  "resourceType": @resource_type,
153
153
  "resourceId": @resource_id,
@@ -31,6 +31,8 @@ module Appwrite
31
31
  attr_reader :provider_branch
32
32
  attr_reader :provider_root_directory
33
33
  attr_reader :provider_silent_mode
34
+ attr_reader :provider_branches
35
+ attr_reader :provider_paths
34
36
  attr_reader :build_specification
35
37
  attr_reader :runtime_specification
36
38
 
@@ -63,6 +65,8 @@ module Appwrite
63
65
  provider_branch:,
64
66
  provider_root_directory:,
65
67
  provider_silent_mode:,
68
+ provider_branches:,
69
+ provider_paths:,
66
70
  build_specification:,
67
71
  runtime_specification:
68
72
  )
@@ -94,6 +98,8 @@ module Appwrite
94
98
  @provider_branch = provider_branch
95
99
  @provider_root_directory = provider_root_directory
96
100
  @provider_silent_mode = provider_silent_mode
101
+ @provider_branches = provider_branches
102
+ @provider_paths = provider_paths
97
103
  @build_specification = build_specification
98
104
  @runtime_specification = runtime_specification
99
105
  end
@@ -128,6 +134,8 @@ module Appwrite
128
134
  provider_branch: map["providerBranch"],
129
135
  provider_root_directory: map["providerRootDirectory"],
130
136
  provider_silent_mode: map["providerSilentMode"],
137
+ provider_branches: map["providerBranches"],
138
+ provider_paths: map["providerPaths"],
131
139
  build_specification: map["buildSpecification"],
132
140
  runtime_specification: map["runtimeSpecification"]
133
141
  )
@@ -163,6 +171,8 @@ module Appwrite
163
171
  "providerBranch": @provider_branch,
164
172
  "providerRootDirectory": @provider_root_directory,
165
173
  "providerSilentMode": @provider_silent_mode,
174
+ "providerBranches": @provider_branches,
175
+ "providerPaths": @provider_paths,
166
176
  "buildSpecification": @build_specification,
167
177
  "runtimeSpecification": @runtime_specification
168
178
  }
@@ -0,0 +1,32 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class PolicyDenyAliasedEmail
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
+ PolicyDenyAliasedEmail.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 PolicyDenyDisposableEmail
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
+ PolicyDenyDisposableEmail.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 PolicyDenyFreeEmail
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
+ PolicyDenyFreeEmail.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,52 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class PolicyPasswordStrength
6
+ attr_reader :id
7
+ attr_reader :min
8
+ attr_reader :uppercase
9
+ attr_reader :lowercase
10
+ attr_reader :number
11
+ attr_reader :symbols
12
+
13
+ def initialize(
14
+ id:,
15
+ min:,
16
+ uppercase:,
17
+ lowercase:,
18
+ number:,
19
+ symbols:
20
+ )
21
+ @id = id
22
+ @min = min
23
+ @uppercase = uppercase
24
+ @lowercase = lowercase
25
+ @number = number
26
+ @symbols = symbols
27
+ end
28
+
29
+ def self.from(map:)
30
+ PolicyPasswordStrength.new(
31
+ id: map["$id"],
32
+ min: map["min"],
33
+ uppercase: map["uppercase"],
34
+ lowercase: map["lowercase"],
35
+ number: map["number"],
36
+ symbols: map["symbols"]
37
+ )
38
+ end
39
+
40
+ def to_map
41
+ {
42
+ "$id": @id,
43
+ "min": @min,
44
+ "uppercase": @uppercase,
45
+ "lowercase": @lowercase,
46
+ "number": @number,
47
+ "symbols": @symbols
48
+ }
49
+ end
50
+ end
51
+ end
52
+ end
@@ -22,7 +22,7 @@ module Appwrite
22
22
  status: ,
23
23
  source:,
24
24
  expires_at: ,
25
- metadata:
25
+ metadata:
26
26
  )
27
27
  @id = id
28
28
  @created_at = created_at
@@ -45,7 +45,7 @@ module Appwrite
45
45
  status: map["status"],
46
46
  source: map["source"],
47
47
  expires_at: map["expiresAt"],
48
- metadata: map["metadata"] || map
48
+ metadata: map["metadata"]
49
49
  )
50
50
  end
51
51
 
@@ -62,10 +62,6 @@ module Appwrite
62
62
  "metadata": @metadata
63
63
  }
64
64
  end
65
-
66
- def convert_to(from_json)
67
- from_json.call(metadata)
68
- end
69
65
  end
70
66
  end
71
67
  end
@@ -27,10 +27,6 @@ module Appwrite
27
27
  "presences": @presences.map { |it| it.to_map }
28
28
  }
29
29
  end
30
-
31
- def convert_to(from_json)
32
- presences.map { |it| it.convert_to(from_json) }
33
- end
34
30
  end
35
31
  end
36
32
  end