appwrite 26.1.0 → 27.0.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 (46) hide show
  1. checksums.yaml +4 -4
  2. data/lib/appwrite/client.rb +16 -2
  3. data/lib/appwrite/enums/authentication_factor.rb +1 -0
  4. data/lib/appwrite/enums/build_runtime.rb +1 -0
  5. data/lib/appwrite/enums/embedding_model.rb +10 -0
  6. data/lib/appwrite/enums/invalidation_type.rb +9 -0
  7. data/lib/appwrite/enums/project_key_scopes.rb +2 -0
  8. data/lib/appwrite/enums/project_policy_id.rb +1 -0
  9. data/lib/appwrite/enums/runtime.rb +1 -0
  10. data/lib/appwrite/models/billing_plan.rb +4 -4
  11. data/lib/appwrite/models/billing_plan_addon.rb +6 -6
  12. data/lib/appwrite/models/billing_plan_addon_details.rb +1 -1
  13. data/lib/appwrite/models/database_migration.rb +102 -0
  14. data/lib/appwrite/models/database_migration_list.rb +32 -0
  15. data/lib/appwrite/models/database_status.rb +30 -0
  16. data/lib/appwrite/models/dedicated_database.rb +0 -5
  17. data/lib/appwrite/models/dedicated_database_member.rb +1 -1
  18. data/lib/appwrite/models/dedicated_database_operation.rb +77 -0
  19. data/lib/appwrite/models/dedicated_database_operation_list.rb +32 -0
  20. data/lib/appwrite/models/dedicated_database_replicas.rb +25 -0
  21. data/lib/appwrite/models/dedicated_database_specification_pricing.rb +0 -5
  22. data/lib/appwrite/models/embedding.rb +42 -0
  23. data/lib/appwrite/models/embedding_list.rb +32 -0
  24. data/lib/appwrite/models/file.rb +10 -0
  25. data/lib/appwrite/models/mfa_challenge_secret.rb +47 -0
  26. data/lib/appwrite/models/mfa_factors.rb +8 -3
  27. data/lib/appwrite/models/organization.rb +12 -12
  28. data/lib/appwrite/models/policy_mfa_factors.rb +47 -0
  29. data/lib/appwrite/models/project.rb +5 -0
  30. data/lib/appwrite/models/proxy_invalidation.rb +42 -0
  31. data/lib/appwrite/models/usage_billing_plan.rb +9 -9
  32. data/lib/appwrite/services/account.rb +1 -33
  33. data/lib/appwrite/services/activities.rb +1 -1
  34. data/lib/appwrite/services/apps.rb +52 -10
  35. data/lib/appwrite/services/backups.rb +13 -7
  36. data/lib/appwrite/services/databases.rb +4 -4
  37. data/lib/appwrite/services/embeddings.rb +48 -0
  38. data/lib/appwrite/services/functions.rb +1 -1
  39. data/lib/appwrite/services/project.rb +52 -57
  40. data/lib/appwrite/services/proxy.rb +44 -0
  41. data/lib/appwrite/services/sites.rb +1 -1
  42. data/lib/appwrite/services/storage.rb +4 -2
  43. data/lib/appwrite/services/tables_db.rb +247 -7
  44. data/lib/appwrite/services/users.rb +38 -0
  45. data/lib/appwrite.rb +12 -0
  46. metadata +14 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '02891ab1059978945c4a148b229e240f171612f8cfe7ed5d677ddc965796439e'
4
- data.tar.gz: 390bb97d112b72b6baeb7a2d9d1d38f155bedb6136b2d326e8d62ce3fad44476
3
+ metadata.gz: 3a73d97b624d3ac66916b15ad5c0aa8e66cfa1005586c80c6f9aa83d9034bec8
4
+ data.tar.gz: 825b9ded02f01fe66c2b6345ab57e8770829983bfd73d44344c38d5c91d8371d
5
5
  SHA512:
6
- metadata.gz: 75ccab76ec05a49ead852f078afe07efbbee3b73b09820737597298e5a0b403d3f5deca9572dd41f0c4a0fd09cae1f98b3ed76ae0025370213b915d3d9aa7b2f
7
- data.tar.gz: baf6dd1c0e4522e91a5079404619e1df15d221904ef1c7646ede6a3068bbe085167e285cfc6fd27f1cb3f5f3ec2fe7b85f9cb68f4893b8cd46bcd54a186e5d74
6
+ metadata.gz: a9945c6b86ffb93305150808a22794844086d95d06b21f199821491c4bdecc8d5d9e2d7940c6575c7c74ee4e07c0c70d9592dd8f1f37b1666e41890c080a36ac
7
+ data.tar.gz: 5cbfd6721c12062921f5ead66aec71fce1655041321afd829b8907fb4db37abf36edfa5b3b7388c508647608955f1fc55f3f57c6d38fdd130414a2f7b0d79fe8
@@ -15,8 +15,8 @@ module Appwrite
15
15
  'x-sdk-name'=> 'Ruby',
16
16
  'x-sdk-platform'=> 'server',
17
17
  'x-sdk-language'=> 'ruby',
18
- 'x-sdk-version'=> '26.1.0',
19
- 'X-Appwrite-Response-Format' => '1.9.5'
18
+ 'x-sdk-version'=> '27.0.0',
19
+ 'X-Appwrite-Response-Format' => '1.9.6'
20
20
  }
21
21
  @endpoint = 'https://cloud.appwrite.io/v1'
22
22
  @config = {}
@@ -49,6 +49,20 @@ module Appwrite
49
49
  self
50
50
  end
51
51
 
52
+ # Set Organization
53
+ #
54
+ # Your organization ID
55
+ #
56
+ # @param [String] value The value to set for the Organization header
57
+ #
58
+ # @return [self]
59
+ def set_organization(value)
60
+ add_header('x-appwrite-organization', value)
61
+ @config['organization'] = value
62
+
63
+ self
64
+ end
65
+
52
66
  # Set JWT
53
67
  #
54
68
  # Your secret JSON Web Token
@@ -5,6 +5,7 @@ module Appwrite
5
5
  PHONE = 'phone'
6
6
  TOTP = 'totp'
7
7
  RECOVERYCODE = 'recoverycode'
8
+ CUSTOM = 'custom'
8
9
  end
9
10
  end
10
11
  end
@@ -11,6 +11,7 @@ module Appwrite
11
11
  NODE_23 = 'node-23'
12
12
  NODE_24 = 'node-24'
13
13
  NODE_25 = 'node-25'
14
+ NODE_26 = 'node-26'
14
15
  PHP_8_0 = 'php-8.0'
15
16
  PHP_8_1 = 'php-8.1'
16
17
  PHP_8_2 = 'php-8.2'
@@ -0,0 +1,10 @@
1
+ module Appwrite
2
+ module Enums
3
+ module EmbeddingModel
4
+ NOMIC_EMBED_TEXT = 'nomic-embed-text'
5
+ EMBEDDING_GEMMA = 'embedding-gemma'
6
+ ALL_MINILM = 'all-minilm'
7
+ BGE_SMALL = 'bge-small'
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,9 @@
1
+ module Appwrite
2
+ module Enums
3
+ module InvalidationType
4
+ TAG = 'tag'
5
+ PATH = 'path'
6
+ ALL = 'all'
7
+ end
8
+ end
9
+ end
@@ -35,6 +35,7 @@ module Appwrite
35
35
  INDEXES_WRITE = 'indexes.write'
36
36
  ROWS_READ = 'rows.read'
37
37
  ROWS_WRITE = 'rows.write'
38
+ EMBEDDINGS_WRITE = 'embeddings.write'
38
39
  COLLECTIONS_READ = 'collections.read'
39
40
  COLLECTIONS_WRITE = 'collections.write'
40
41
  ATTRIBUTES_READ = 'attributes.read'
@@ -99,6 +100,7 @@ module Appwrite
99
100
  WAFRULES_READ = 'wafRules.read'
100
101
  WAFRULES_WRITE = 'wafRules.write'
101
102
  EVENTS_READ = 'events.read'
103
+ PROXY_INVALIDATIONS_WRITE = 'proxy.invalidations.write'
102
104
  APPS_READ = 'apps.read'
103
105
  APPS_WRITE = 'apps.write'
104
106
  OAUTH2_READ = 'oauth2.read'
@@ -11,6 +11,7 @@ module Appwrite
11
11
  SESSION_LIMIT = 'session-limit'
12
12
  USER_LIMIT = 'user-limit'
13
13
  MEMBERSHIP_PRIVACY = 'membership-privacy'
14
+ MFA_FACTORS = 'mfa-factors'
14
15
  DENY_ALIASED_EMAIL = 'deny-aliased-email'
15
16
  DENY_DISPOSABLE_EMAIL = 'deny-disposable-email'
16
17
  DENY_FREE_EMAIL = 'deny-free-email'
@@ -11,6 +11,7 @@ module Appwrite
11
11
  NODE_23 = 'node-23'
12
12
  NODE_24 = 'node-24'
13
13
  NODE_25 = 'node-25'
14
+ NODE_26 = 'node-26'
14
15
  PHP_8_0 = 'php-8.0'
15
16
  PHP_8_1 = 'php-8.1'
16
17
  PHP_8_2 = 'php-8.2'
@@ -84,7 +84,7 @@ module Appwrite
84
84
  storage:,
85
85
  image_transformations:,
86
86
  screenshots_generated:,
87
- members:,
87
+ members: ,
88
88
  webhooks:,
89
89
  waf_rules:,
90
90
  projects:,
@@ -108,7 +108,7 @@ module Appwrite
108
108
  topics:,
109
109
  auth_phone:,
110
110
  domains:,
111
- activity_logs:,
111
+ activity_logs: ,
112
112
  usage_logs:,
113
113
  usage_logs_intervals: ,
114
114
  project_inactivity_days:,
@@ -132,10 +132,10 @@ module Appwrite
132
132
  supports_free_email_validation:,
133
133
  supports_corporate_email_validation:,
134
134
  supports_project_specific_roles:,
135
- backups_enabled:,
135
+ backups_enabled: ,
136
136
  usage_per_project:,
137
137
  supported_addons:,
138
- backup_policies:,
138
+ backup_policies: ,
139
139
  deployment_size:,
140
140
  build_size:,
141
141
  databases_allow_encrypt:,
@@ -7,8 +7,8 @@ module Appwrite
7
7
  attr_reader :projects
8
8
 
9
9
  def initialize(
10
- seats:,
11
- projects:
10
+ seats: ,
11
+ projects:
12
12
  )
13
13
  @seats = seats
14
14
  @projects = projects
@@ -16,15 +16,15 @@ module Appwrite
16
16
 
17
17
  def self.from(map:)
18
18
  BillingPlanAddon.new(
19
- seats: BillingPlanAddonDetails.from(map: map["seats"]),
20
- projects: BillingPlanAddonDetails.from(map: map["projects"])
19
+ seats: map["seats"].nil? ? nil : BillingPlanAddonDetails.from(map: map["seats"]),
20
+ projects: map["projects"].nil? ? nil : BillingPlanAddonDetails.from(map: map["projects"])
21
21
  )
22
22
  end
23
23
 
24
24
  def to_map
25
25
  {
26
- "seats": @seats.to_map,
27
- "projects": @projects.to_map
26
+ "seats": @seats&.to_map,
27
+ "projects": @projects&.to_map
28
28
  }
29
29
  end
30
30
  end
@@ -17,7 +17,7 @@ module Appwrite
17
17
  plan_included:,
18
18
  limit:,
19
19
  type:,
20
- currency:,
20
+ currency: ,
21
21
  price:,
22
22
  value:,
23
23
  invoice_desc:
@@ -0,0 +1,102 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class DatabaseMigration
6
+ attr_reader :id
7
+ attr_reader :created_at
8
+ attr_reader :updated_at
9
+ attr_reader :project_id
10
+ attr_reader :database_id
11
+ attr_reader :specification
12
+ attr_reader :phase
13
+ attr_reader :attempt
14
+ attr_reader :last_error
15
+ attr_reader :lag_documents
16
+ attr_reader :verified_at
17
+ attr_reader :cutover_at
18
+ attr_reader :soak_until
19
+ attr_reader :auto_cutover
20
+ attr_reader :cutover_requested
21
+ attr_reader :paused
22
+
23
+ def initialize(
24
+ id:,
25
+ created_at:,
26
+ updated_at:,
27
+ project_id:,
28
+ database_id:,
29
+ specification:,
30
+ phase:,
31
+ attempt:,
32
+ last_error:,
33
+ lag_documents:,
34
+ verified_at:,
35
+ cutover_at:,
36
+ soak_until:,
37
+ auto_cutover:,
38
+ cutover_requested:,
39
+ paused:
40
+ )
41
+ @id = id
42
+ @created_at = created_at
43
+ @updated_at = updated_at
44
+ @project_id = project_id
45
+ @database_id = database_id
46
+ @specification = specification
47
+ @phase = phase
48
+ @attempt = attempt
49
+ @last_error = last_error
50
+ @lag_documents = lag_documents
51
+ @verified_at = verified_at
52
+ @cutover_at = cutover_at
53
+ @soak_until = soak_until
54
+ @auto_cutover = auto_cutover
55
+ @cutover_requested = cutover_requested
56
+ @paused = paused
57
+ end
58
+
59
+ def self.from(map:)
60
+ DatabaseMigration.new(
61
+ id: map["$id"],
62
+ created_at: map["$createdAt"],
63
+ updated_at: map["$updatedAt"],
64
+ project_id: map["projectId"],
65
+ database_id: map["databaseId"],
66
+ specification: map["specification"],
67
+ phase: map["phase"],
68
+ attempt: map["attempt"],
69
+ last_error: map["lastError"],
70
+ lag_documents: map["lagDocuments"],
71
+ verified_at: map["verifiedAt"],
72
+ cutover_at: map["cutoverAt"],
73
+ soak_until: map["soakUntil"],
74
+ auto_cutover: map["autoCutover"],
75
+ cutover_requested: map["cutoverRequested"],
76
+ paused: map["paused"]
77
+ )
78
+ end
79
+
80
+ def to_map
81
+ {
82
+ "$id": @id,
83
+ "$createdAt": @created_at,
84
+ "$updatedAt": @updated_at,
85
+ "projectId": @project_id,
86
+ "databaseId": @database_id,
87
+ "specification": @specification,
88
+ "phase": @phase,
89
+ "attempt": @attempt,
90
+ "lastError": @last_error,
91
+ "lagDocuments": @lag_documents,
92
+ "verifiedAt": @verified_at,
93
+ "cutoverAt": @cutover_at,
94
+ "soakUntil": @soak_until,
95
+ "autoCutover": @auto_cutover,
96
+ "cutoverRequested": @cutover_requested,
97
+ "paused": @paused
98
+ }
99
+ end
100
+ end
101
+ end
102
+ end
@@ -0,0 +1,32 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class DatabaseMigrationList
6
+ attr_reader :total
7
+ attr_reader :migrations
8
+
9
+ def initialize(
10
+ total:,
11
+ migrations:
12
+ )
13
+ @total = total
14
+ @migrations = migrations
15
+ end
16
+
17
+ def self.from(map:)
18
+ DatabaseMigrationList.new(
19
+ total: map["total"],
20
+ migrations: map["migrations"].map { |it| DatabaseMigration.from(map: it) }
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "total": @total,
27
+ "migrations": @migrations.map { |it| it.to_map }
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -9,6 +9,12 @@ module Appwrite
9
9
  attr_reader :version
10
10
  attr_reader :uptime
11
11
  attr_reader :connections
12
+ attr_reader :sync_mode
13
+ attr_reader :effective_sync_mode
14
+ attr_reader :sync_degraded
15
+ attr_reader :sync_acknowledgements
16
+ attr_reader :sync_standby_count
17
+ attr_reader :sync_state_confirmed
12
18
  attr_reader :replicas
13
19
  attr_reader :volumes
14
20
 
@@ -19,6 +25,12 @@ module Appwrite
19
25
  version:,
20
26
  uptime:,
21
27
  connections:,
28
+ sync_mode:,
29
+ effective_sync_mode: ,
30
+ sync_degraded:,
31
+ sync_acknowledgements:,
32
+ sync_standby_count:,
33
+ sync_state_confirmed: ,
22
34
  replicas:,
23
35
  volumes:
24
36
  )
@@ -28,6 +40,12 @@ module Appwrite
28
40
  @version = version
29
41
  @uptime = uptime
30
42
  @connections = connections
43
+ @sync_mode = sync_mode
44
+ @effective_sync_mode = effective_sync_mode
45
+ @sync_degraded = sync_degraded
46
+ @sync_acknowledgements = sync_acknowledgements
47
+ @sync_standby_count = sync_standby_count
48
+ @sync_state_confirmed = sync_state_confirmed
31
49
  @replicas = replicas
32
50
  @volumes = volumes
33
51
  end
@@ -40,6 +58,12 @@ module Appwrite
40
58
  version: map["version"],
41
59
  uptime: map["uptime"],
42
60
  connections: DatabaseStatusConnections.from(map: map["connections"]),
61
+ sync_mode: map["syncMode"],
62
+ effective_sync_mode: map["effectiveSyncMode"],
63
+ sync_degraded: map["syncDegraded"],
64
+ sync_acknowledgements: map["syncAcknowledgements"],
65
+ sync_standby_count: map["syncStandbyCount"],
66
+ sync_state_confirmed: map["syncStateConfirmed"],
43
67
  replicas: map["replicas"].map { |it| DatabaseStatusReplica.from(map: it) },
44
68
  volumes: map["volumes"].map { |it| DatabaseStatusVolume.from(map: it) }
45
69
  )
@@ -53,6 +77,12 @@ module Appwrite
53
77
  "version": @version,
54
78
  "uptime": @uptime,
55
79
  "connections": @connections.to_map,
80
+ "syncMode": @sync_mode,
81
+ "effectiveSyncMode": @effective_sync_mode,
82
+ "syncDegraded": @sync_degraded,
83
+ "syncAcknowledgements": @sync_acknowledgements,
84
+ "syncStandbyCount": @sync_standby_count,
85
+ "syncStateConfirmed": @sync_state_confirmed,
56
86
  "replicas": @replicas.map { |it| it.to_map },
57
87
  "volumes": @volumes.map { |it| it.to_map }
58
88
  }
@@ -33,7 +33,6 @@ module Appwrite
33
33
  attr_reader :node_pool
34
34
  attr_reader :replicas
35
35
  attr_reader :sync_mode
36
- attr_reader :cross_region_replicas
37
36
  attr_reader :network_max_connections
38
37
  attr_reader :network_idle_timeout_seconds
39
38
  attr_reader :network_ip_allowlist
@@ -84,7 +83,6 @@ module Appwrite
84
83
  node_pool:,
85
84
  replicas:,
86
85
  sync_mode:,
87
- cross_region_replicas:,
88
86
  network_max_connections:,
89
87
  network_idle_timeout_seconds:,
90
88
  network_ip_allowlist:,
@@ -134,7 +132,6 @@ module Appwrite
134
132
  @node_pool = node_pool
135
133
  @replicas = replicas
136
134
  @sync_mode = sync_mode
137
- @cross_region_replicas = cross_region_replicas
138
135
  @network_max_connections = network_max_connections
139
136
  @network_idle_timeout_seconds = network_idle_timeout_seconds
140
137
  @network_ip_allowlist = network_ip_allowlist
@@ -187,7 +184,6 @@ module Appwrite
187
184
  node_pool: map["nodePool"],
188
185
  replicas: map["replicas"],
189
186
  sync_mode: map["syncMode"],
190
- cross_region_replicas: map["crossRegionReplicas"],
191
187
  network_max_connections: map["networkMaxConnections"],
192
188
  network_idle_timeout_seconds: map["networkIdleTimeoutSeconds"],
193
189
  network_ip_allowlist: map["networkIPAllowlist"],
@@ -241,7 +237,6 @@ module Appwrite
241
237
  "nodePool": @node_pool,
242
238
  "replicas": @replicas,
243
239
  "syncMode": @sync_mode,
244
- "crossRegionReplicas": @cross_region_replicas,
245
240
  "networkMaxConnections": @network_max_connections,
246
241
  "networkIdleTimeoutSeconds": @network_idle_timeout_seconds,
247
242
  "networkIPAllowlist": @network_ip_allowlist,
@@ -12,7 +12,7 @@ module Appwrite
12
12
  id:,
13
13
  role:,
14
14
  status:,
15
- lag_seconds:
15
+ lag_seconds:
16
16
  )
17
17
  @id = id
18
18
  @role = role
@@ -0,0 +1,77 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class DedicatedDatabaseOperation
6
+ attr_reader :id
7
+ attr_reader :created_at
8
+ attr_reader :database_id
9
+ attr_reader :type
10
+ attr_reader :status
11
+ attr_reader :attempts
12
+ attr_reader :requested_at
13
+ attr_reader :started_at
14
+ attr_reader :completed_at
15
+ attr_reader :error_code
16
+ attr_reader :error_message
17
+
18
+ def initialize(
19
+ id:,
20
+ created_at:,
21
+ database_id:,
22
+ type:,
23
+ status:,
24
+ attempts:,
25
+ requested_at: ,
26
+ started_at: ,
27
+ completed_at: ,
28
+ error_code:,
29
+ error_message:
30
+ )
31
+ @id = id
32
+ @created_at = created_at
33
+ @database_id = database_id
34
+ @type = type
35
+ @status = status
36
+ @attempts = attempts
37
+ @requested_at = requested_at
38
+ @started_at = started_at
39
+ @completed_at = completed_at
40
+ @error_code = error_code
41
+ @error_message = error_message
42
+ end
43
+
44
+ def self.from(map:)
45
+ DedicatedDatabaseOperation.new(
46
+ id: map["$id"],
47
+ created_at: map["$createdAt"],
48
+ database_id: map["databaseId"],
49
+ type: map["type"],
50
+ status: map["status"],
51
+ attempts: map["attempts"],
52
+ requested_at: map["requestedAt"],
53
+ started_at: map["startedAt"],
54
+ completed_at: map["completedAt"],
55
+ error_code: map["errorCode"],
56
+ error_message: map["errorMessage"]
57
+ )
58
+ end
59
+
60
+ def to_map
61
+ {
62
+ "$id": @id,
63
+ "$createdAt": @created_at,
64
+ "databaseId": @database_id,
65
+ "type": @type,
66
+ "status": @status,
67
+ "attempts": @attempts,
68
+ "requestedAt": @requested_at,
69
+ "startedAt": @started_at,
70
+ "completedAt": @completed_at,
71
+ "errorCode": @error_code,
72
+ "errorMessage": @error_message
73
+ }
74
+ end
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,32 @@
1
+ #frozen_string_literal: true
2
+
3
+ module Appwrite
4
+ module Models
5
+ class DedicatedDatabaseOperationList
6
+ attr_reader :total
7
+ attr_reader :operations
8
+
9
+ def initialize(
10
+ total:,
11
+ operations:
12
+ )
13
+ @total = total
14
+ @operations = operations
15
+ end
16
+
17
+ def self.from(map:)
18
+ DedicatedDatabaseOperationList.new(
19
+ total: map["total"],
20
+ operations: map["operations"].map { |it| DedicatedDatabaseOperation.from(map: it) }
21
+ )
22
+ end
23
+
24
+ def to_map
25
+ {
26
+ "total": @total,
27
+ "operations": @operations.map { |it| it.to_map }
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -5,15 +5,30 @@ module Appwrite
5
5
  class DedicatedDatabaseReplicas
6
6
  attr_reader :replicas
7
7
  attr_reader :sync_mode
8
+ attr_reader :effective_sync_mode
9
+ attr_reader :sync_degraded
10
+ attr_reader :sync_acknowledgements
11
+ attr_reader :sync_standby_count
12
+ attr_reader :sync_state_confirmed
8
13
  attr_reader :members
9
14
 
10
15
  def initialize(
11
16
  replicas:,
12
17
  sync_mode:,
18
+ effective_sync_mode: ,
19
+ sync_degraded:,
20
+ sync_acknowledgements:,
21
+ sync_standby_count:,
22
+ sync_state_confirmed: ,
13
23
  members:
14
24
  )
15
25
  @replicas = replicas
16
26
  @sync_mode = sync_mode
27
+ @effective_sync_mode = effective_sync_mode
28
+ @sync_degraded = sync_degraded
29
+ @sync_acknowledgements = sync_acknowledgements
30
+ @sync_standby_count = sync_standby_count
31
+ @sync_state_confirmed = sync_state_confirmed
17
32
  @members = members
18
33
  end
19
34
 
@@ -21,6 +36,11 @@ module Appwrite
21
36
  DedicatedDatabaseReplicas.new(
22
37
  replicas: map["replicas"],
23
38
  sync_mode: map["syncMode"],
39
+ effective_sync_mode: map["effectiveSyncMode"],
40
+ sync_degraded: map["syncDegraded"],
41
+ sync_acknowledgements: map["syncAcknowledgements"],
42
+ sync_standby_count: map["syncStandbyCount"],
43
+ sync_state_confirmed: map["syncStateConfirmed"],
24
44
  members: map["members"].map { |it| DedicatedDatabaseMember.from(map: it) }
25
45
  )
26
46
  end
@@ -29,6 +49,11 @@ module Appwrite
29
49
  {
30
50
  "replicas": @replicas,
31
51
  "syncMode": @sync_mode,
52
+ "effectiveSyncMode": @effective_sync_mode,
53
+ "syncDegraded": @sync_degraded,
54
+ "syncAcknowledgements": @sync_acknowledgements,
55
+ "syncStandbyCount": @sync_standby_count,
56
+ "syncStateConfirmed": @sync_state_confirmed,
32
57
  "members": @members.map { |it| it.to_map }
33
58
  }
34
59
  end
@@ -6,20 +6,17 @@ module Appwrite
6
6
  attr_reader :storage_overage_rate
7
7
  attr_reader :bandwidth_overage_rate
8
8
  attr_reader :replica_rate
9
- attr_reader :cross_region_replica_rate
10
9
  attr_reader :pitr_rate
11
10
 
12
11
  def initialize(
13
12
  storage_overage_rate:,
14
13
  bandwidth_overage_rate:,
15
14
  replica_rate:,
16
- cross_region_replica_rate:,
17
15
  pitr_rate:
18
16
  )
19
17
  @storage_overage_rate = storage_overage_rate
20
18
  @bandwidth_overage_rate = bandwidth_overage_rate
21
19
  @replica_rate = replica_rate
22
- @cross_region_replica_rate = cross_region_replica_rate
23
20
  @pitr_rate = pitr_rate
24
21
  end
25
22
 
@@ -28,7 +25,6 @@ module Appwrite
28
25
  storage_overage_rate: map["storageOverageRate"],
29
26
  bandwidth_overage_rate: map["bandwidthOverageRate"],
30
27
  replica_rate: map["replicaRate"],
31
- cross_region_replica_rate: map["crossRegionReplicaRate"],
32
28
  pitr_rate: map["pitrRate"]
33
29
  )
34
30
  end
@@ -38,7 +34,6 @@ module Appwrite
38
34
  "storageOverageRate": @storage_overage_rate,
39
35
  "bandwidthOverageRate": @bandwidth_overage_rate,
40
36
  "replicaRate": @replica_rate,
41
- "crossRegionReplicaRate": @cross_region_replica_rate,
42
37
  "pitrRate": @pitr_rate
43
38
  }
44
39
  end