From 18f9ec483ad855c3efa386ac352a5733c9442f52 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 26 Sep 2025 09:08:23 +0000 Subject: [PATCH 1/3] chore: regenerate sdks --- appwrite.gemspec | 2 +- lib/appwrite/client.rb | 2 +- lib/appwrite/enums/attribute_status.rb | 11 +++++++++++ lib/appwrite/enums/deployment_status.rb | 11 +++++++++++ lib/appwrite/enums/execution_status.rb | 10 ++++++++++ lib/appwrite/enums/execution_trigger.rb | 9 +++++++++ lib/appwrite/enums/health_antivirus_status.rb | 9 +++++++++ lib/appwrite/enums/health_check_status.rb | 8 ++++++++ lib/appwrite/enums/index_status.rb | 11 +++++++++++ lib/appwrite/enums/message_status.rb | 11 +++++++++++ lib/appwrite/query.rb | 4 ---- 11 files changed, 82 insertions(+), 6 deletions(-) create mode 100644 lib/appwrite/enums/attribute_status.rb create mode 100644 lib/appwrite/enums/deployment_status.rb create mode 100644 lib/appwrite/enums/execution_status.rb create mode 100644 lib/appwrite/enums/execution_trigger.rb create mode 100644 lib/appwrite/enums/health_antivirus_status.rb create mode 100644 lib/appwrite/enums/health_check_status.rb create mode 100644 lib/appwrite/enums/index_status.rb create mode 100644 lib/appwrite/enums/message_status.rb diff --git a/appwrite.gemspec b/appwrite.gemspec index d9cb255..fb3bb1e 100644 --- a/appwrite.gemspec +++ b/appwrite.gemspec @@ -1,7 +1,7 @@ Gem::Specification.new do |spec| spec.name = 'appwrite' - spec.version = '18.1.0' + spec.version = '18.2.0' spec.license = 'BSD-3-Clause' spec.summary = 'Appwrite is an open-source self-hosted backend server that abstract and simplify complex and repetitive development tasks behind a very simple REST API' spec.author = 'Appwrite Team' diff --git a/lib/appwrite/client.rb b/lib/appwrite/client.rb index 9482a5c..0fc58dc 100644 --- a/lib/appwrite/client.rb +++ b/lib/appwrite/client.rb @@ -15,7 +15,7 @@ def initialize 'x-sdk-name'=> 'Ruby', 'x-sdk-platform'=> 'server', 'x-sdk-language'=> 'ruby', - 'x-sdk-version'=> '18.1.0', + 'x-sdk-version'=> '18.2.0', 'X-Appwrite-Response-Format' => '1.8.0' } @endpoint = 'https://cloud.appwrite.io/v1' diff --git a/lib/appwrite/enums/attribute_status.rb b/lib/appwrite/enums/attribute_status.rb new file mode 100644 index 0000000..62f3512 --- /dev/null +++ b/lib/appwrite/enums/attribute_status.rb @@ -0,0 +1,11 @@ +module Appwrite + module Enums + module AttributeStatus + AVAILABLE = 'available' + PROCESSING = 'processing' + DELETING = 'deleting' + STUCK = 'stuck' + FAILED = 'failed' + end + end +end \ No newline at end of file diff --git a/lib/appwrite/enums/deployment_status.rb b/lib/appwrite/enums/deployment_status.rb new file mode 100644 index 0000000..192ca6b --- /dev/null +++ b/lib/appwrite/enums/deployment_status.rb @@ -0,0 +1,11 @@ +module Appwrite + module Enums + module DeploymentStatus + WAITING = 'waiting' + PROCESSING = 'processing' + BUILDING = 'building' + READY = 'ready' + FAILED = 'failed' + end + end +end \ No newline at end of file diff --git a/lib/appwrite/enums/execution_status.rb b/lib/appwrite/enums/execution_status.rb new file mode 100644 index 0000000..02d14c7 --- /dev/null +++ b/lib/appwrite/enums/execution_status.rb @@ -0,0 +1,10 @@ +module Appwrite + module Enums + module ExecutionStatus + WAITING = 'waiting' + PROCESSING = 'processing' + COMPLETED = 'completed' + FAILED = 'failed' + end + end +end \ No newline at end of file diff --git a/lib/appwrite/enums/execution_trigger.rb b/lib/appwrite/enums/execution_trigger.rb new file mode 100644 index 0000000..e7cec9c --- /dev/null +++ b/lib/appwrite/enums/execution_trigger.rb @@ -0,0 +1,9 @@ +module Appwrite + module Enums + module ExecutionTrigger + HTTP = 'http' + SCHEDULE = 'schedule' + EVENT = 'event' + end + end +end \ No newline at end of file diff --git a/lib/appwrite/enums/health_antivirus_status.rb b/lib/appwrite/enums/health_antivirus_status.rb new file mode 100644 index 0000000..c4ed073 --- /dev/null +++ b/lib/appwrite/enums/health_antivirus_status.rb @@ -0,0 +1,9 @@ +module Appwrite + module Enums + module HealthAntivirusStatus + DISABLED = 'disabled' + OFFLINE = 'offline' + ONLINE = 'online' + end + end +end \ No newline at end of file diff --git a/lib/appwrite/enums/health_check_status.rb b/lib/appwrite/enums/health_check_status.rb new file mode 100644 index 0000000..1b530e1 --- /dev/null +++ b/lib/appwrite/enums/health_check_status.rb @@ -0,0 +1,8 @@ +module Appwrite + module Enums + module HealthCheckStatus + PASS = 'pass' + FAIL = 'fail' + end + end +end \ No newline at end of file diff --git a/lib/appwrite/enums/index_status.rb b/lib/appwrite/enums/index_status.rb new file mode 100644 index 0000000..42819bd --- /dev/null +++ b/lib/appwrite/enums/index_status.rb @@ -0,0 +1,11 @@ +module Appwrite + module Enums + module IndexStatus + AVAILABLE = 'available' + PROCESSING = 'processing' + DELETING = 'deleting' + STUCK = 'stuck' + FAILED = 'failed' + end + end +end \ No newline at end of file diff --git a/lib/appwrite/enums/message_status.rb b/lib/appwrite/enums/message_status.rb new file mode 100644 index 0000000..0821f5a --- /dev/null +++ b/lib/appwrite/enums/message_status.rb @@ -0,0 +1,11 @@ +module Appwrite + module Enums + module MessageStatus + DRAFT = 'draft' + PROCESSING = 'processing' + SCHEDULED = 'scheduled' + SENT = 'sent' + FAILED = 'failed' + end + end +end \ No newline at end of file diff --git a/lib/appwrite/query.rb b/lib/appwrite/query.rb index 2372662..e1a6ecf 100644 --- a/lib/appwrite/query.rb +++ b/lib/appwrite/query.rb @@ -88,10 +88,6 @@ def order_desc(attribute) return Query.new("orderDesc", attribute, nil).to_s end - def order_random() - return Query.new("orderRandom", nil, nil).to_s - end - def cursor_before(id) return Query.new("cursorBefore", nil, id).to_s end From 5f1c4228cc300fa2749b9bdffae41e08855b85cc Mon Sep 17 00:00:00 2001 From: root Date: Wed, 1 Oct 2025 04:36:52 +0000 Subject: [PATCH 2/3] regen --- lib/appwrite/models/attribute_boolean.rb | 21 ++++++++++- lib/appwrite/models/attribute_datetime.rb | 21 ++++++++++- lib/appwrite/models/attribute_email.rb | 21 ++++++++++- lib/appwrite/models/attribute_enum.rb | 21 ++++++++++- lib/appwrite/models/attribute_float.rb | 21 ++++++++++- lib/appwrite/models/attribute_integer.rb | 21 ++++++++++- lib/appwrite/models/attribute_ip.rb | 21 ++++++++++- lib/appwrite/models/attribute_line.rb | 21 ++++++++++- lib/appwrite/models/attribute_point.rb | 21 ++++++++++- lib/appwrite/models/attribute_polygon.rb | 21 ++++++++++- lib/appwrite/models/attribute_relationship.rb | 21 ++++++++++- lib/appwrite/models/attribute_string.rb | 21 ++++++++++- lib/appwrite/models/attribute_url.rb | 21 ++++++++++- lib/appwrite/models/deployment.rb | 21 ++++++++++- lib/appwrite/models/document.rb | 2 +- lib/appwrite/models/execution.rb | 36 +++++++++++++++++-- lib/appwrite/models/health_antivirus.rb | 19 +++++++++- lib/appwrite/models/health_status.rb | 18 +++++++++- lib/appwrite/models/index.rb | 21 ++++++++++- lib/appwrite/models/message.rb | 21 ++++++++++- lib/appwrite/models/preferences.rb | 2 +- lib/appwrite/models/row.rb | 2 +- lib/appwrite/query.rb | 4 +++ 23 files changed, 396 insertions(+), 23 deletions(-) diff --git a/lib/appwrite/models/attribute_boolean.rb b/lib/appwrite/models/attribute_boolean.rb index 8be4bbd..a2ddaa1 100644 --- a/lib/appwrite/models/attribute_boolean.rb +++ b/lib/appwrite/models/attribute_boolean.rb @@ -26,7 +26,7 @@ def initialize( ) @key = key @type = type - @status = status + @status = validate_status(status) @error = error @required = required @array = array @@ -62,6 +62,25 @@ def to_map "default": @default } end + + private + + def validate_status(status) + valid_status = [ + Appwrite::Enums::AttributeStatus::AVAILABLE, + Appwrite::Enums::AttributeStatus::PROCESSING, + Appwrite::Enums::AttributeStatus::DELETING, + Appwrite::Enums::AttributeStatus::STUCK, + Appwrite::Enums::AttributeStatus::FAILED, + ] + + unless valid_status.include?(status) + raise ArgumentError, "Invalid " + status + ". Must be one of: " + valid_status.join(', ') + end + + status + end + end end end diff --git a/lib/appwrite/models/attribute_datetime.rb b/lib/appwrite/models/attribute_datetime.rb index adc25e5..af298fe 100644 --- a/lib/appwrite/models/attribute_datetime.rb +++ b/lib/appwrite/models/attribute_datetime.rb @@ -28,7 +28,7 @@ def initialize( ) @key = key @type = type - @status = status + @status = validate_status(status) @error = error @required = required @array = array @@ -67,6 +67,25 @@ def to_map "default": @default } end + + private + + def validate_status(status) + valid_status = [ + Appwrite::Enums::AttributeStatus::AVAILABLE, + Appwrite::Enums::AttributeStatus::PROCESSING, + Appwrite::Enums::AttributeStatus::DELETING, + Appwrite::Enums::AttributeStatus::STUCK, + Appwrite::Enums::AttributeStatus::FAILED, + ] + + unless valid_status.include?(status) + raise ArgumentError, "Invalid " + status + ". Must be one of: " + valid_status.join(', ') + end + + status + end + end end end diff --git a/lib/appwrite/models/attribute_email.rb b/lib/appwrite/models/attribute_email.rb index 78b754b..701a48c 100644 --- a/lib/appwrite/models/attribute_email.rb +++ b/lib/appwrite/models/attribute_email.rb @@ -28,7 +28,7 @@ def initialize( ) @key = key @type = type - @status = status + @status = validate_status(status) @error = error @required = required @array = array @@ -67,6 +67,25 @@ def to_map "default": @default } end + + private + + def validate_status(status) + valid_status = [ + Appwrite::Enums::AttributeStatus::AVAILABLE, + Appwrite::Enums::AttributeStatus::PROCESSING, + Appwrite::Enums::AttributeStatus::DELETING, + Appwrite::Enums::AttributeStatus::STUCK, + Appwrite::Enums::AttributeStatus::FAILED, + ] + + unless valid_status.include?(status) + raise ArgumentError, "Invalid " + status + ". Must be one of: " + valid_status.join(', ') + end + + status + end + end end end diff --git a/lib/appwrite/models/attribute_enum.rb b/lib/appwrite/models/attribute_enum.rb index f9cfe16..4659cb8 100644 --- a/lib/appwrite/models/attribute_enum.rb +++ b/lib/appwrite/models/attribute_enum.rb @@ -30,7 +30,7 @@ def initialize( ) @key = key @type = type - @status = status + @status = validate_status(status) @error = error @required = required @array = array @@ -72,6 +72,25 @@ def to_map "default": @default } end + + private + + def validate_status(status) + valid_status = [ + Appwrite::Enums::AttributeStatus::AVAILABLE, + Appwrite::Enums::AttributeStatus::PROCESSING, + Appwrite::Enums::AttributeStatus::DELETING, + Appwrite::Enums::AttributeStatus::STUCK, + Appwrite::Enums::AttributeStatus::FAILED, + ] + + unless valid_status.include?(status) + raise ArgumentError, "Invalid " + status + ". Must be one of: " + valid_status.join(', ') + end + + status + end + end end end diff --git a/lib/appwrite/models/attribute_float.rb b/lib/appwrite/models/attribute_float.rb index d68cf1f..da0155f 100644 --- a/lib/appwrite/models/attribute_float.rb +++ b/lib/appwrite/models/attribute_float.rb @@ -30,7 +30,7 @@ def initialize( ) @key = key @type = type - @status = status + @status = validate_status(status) @error = error @required = required @array = array @@ -72,6 +72,25 @@ def to_map "default": @default } end + + private + + def validate_status(status) + valid_status = [ + Appwrite::Enums::AttributeStatus::AVAILABLE, + Appwrite::Enums::AttributeStatus::PROCESSING, + Appwrite::Enums::AttributeStatus::DELETING, + Appwrite::Enums::AttributeStatus::STUCK, + Appwrite::Enums::AttributeStatus::FAILED, + ] + + unless valid_status.include?(status) + raise ArgumentError, "Invalid " + status + ". Must be one of: " + valid_status.join(', ') + end + + status + end + end end end diff --git a/lib/appwrite/models/attribute_integer.rb b/lib/appwrite/models/attribute_integer.rb index 4da20c8..984c337 100644 --- a/lib/appwrite/models/attribute_integer.rb +++ b/lib/appwrite/models/attribute_integer.rb @@ -30,7 +30,7 @@ def initialize( ) @key = key @type = type - @status = status + @status = validate_status(status) @error = error @required = required @array = array @@ -72,6 +72,25 @@ def to_map "default": @default } end + + private + + def validate_status(status) + valid_status = [ + Appwrite::Enums::AttributeStatus::AVAILABLE, + Appwrite::Enums::AttributeStatus::PROCESSING, + Appwrite::Enums::AttributeStatus::DELETING, + Appwrite::Enums::AttributeStatus::STUCK, + Appwrite::Enums::AttributeStatus::FAILED, + ] + + unless valid_status.include?(status) + raise ArgumentError, "Invalid " + status + ". Must be one of: " + valid_status.join(', ') + end + + status + end + end end end diff --git a/lib/appwrite/models/attribute_ip.rb b/lib/appwrite/models/attribute_ip.rb index d4cde33..e5a56fb 100644 --- a/lib/appwrite/models/attribute_ip.rb +++ b/lib/appwrite/models/attribute_ip.rb @@ -28,7 +28,7 @@ def initialize( ) @key = key @type = type - @status = status + @status = validate_status(status) @error = error @required = required @array = array @@ -67,6 +67,25 @@ def to_map "default": @default } end + + private + + def validate_status(status) + valid_status = [ + Appwrite::Enums::AttributeStatus::AVAILABLE, + Appwrite::Enums::AttributeStatus::PROCESSING, + Appwrite::Enums::AttributeStatus::DELETING, + Appwrite::Enums::AttributeStatus::STUCK, + Appwrite::Enums::AttributeStatus::FAILED, + ] + + unless valid_status.include?(status) + raise ArgumentError, "Invalid " + status + ". Must be one of: " + valid_status.join(', ') + end + + status + end + end end end diff --git a/lib/appwrite/models/attribute_line.rb b/lib/appwrite/models/attribute_line.rb index 89f04fd..aa410b6 100644 --- a/lib/appwrite/models/attribute_line.rb +++ b/lib/appwrite/models/attribute_line.rb @@ -26,7 +26,7 @@ def initialize( ) @key = key @type = type - @status = status + @status = validate_status(status) @error = error @required = required @array = array @@ -62,6 +62,25 @@ def to_map "default": @default } end + + private + + def validate_status(status) + valid_status = [ + Appwrite::Enums::AttributeStatus::AVAILABLE, + Appwrite::Enums::AttributeStatus::PROCESSING, + Appwrite::Enums::AttributeStatus::DELETING, + Appwrite::Enums::AttributeStatus::STUCK, + Appwrite::Enums::AttributeStatus::FAILED, + ] + + unless valid_status.include?(status) + raise ArgumentError, "Invalid " + status + ". Must be one of: " + valid_status.join(', ') + end + + status + end + end end end diff --git a/lib/appwrite/models/attribute_point.rb b/lib/appwrite/models/attribute_point.rb index d985fe4..27f4257 100644 --- a/lib/appwrite/models/attribute_point.rb +++ b/lib/appwrite/models/attribute_point.rb @@ -26,7 +26,7 @@ def initialize( ) @key = key @type = type - @status = status + @status = validate_status(status) @error = error @required = required @array = array @@ -62,6 +62,25 @@ def to_map "default": @default } end + + private + + def validate_status(status) + valid_status = [ + Appwrite::Enums::AttributeStatus::AVAILABLE, + Appwrite::Enums::AttributeStatus::PROCESSING, + Appwrite::Enums::AttributeStatus::DELETING, + Appwrite::Enums::AttributeStatus::STUCK, + Appwrite::Enums::AttributeStatus::FAILED, + ] + + unless valid_status.include?(status) + raise ArgumentError, "Invalid " + status + ". Must be one of: " + valid_status.join(', ') + end + + status + end + end end end diff --git a/lib/appwrite/models/attribute_polygon.rb b/lib/appwrite/models/attribute_polygon.rb index 0d511aa..a0b62c4 100644 --- a/lib/appwrite/models/attribute_polygon.rb +++ b/lib/appwrite/models/attribute_polygon.rb @@ -26,7 +26,7 @@ def initialize( ) @key = key @type = type - @status = status + @status = validate_status(status) @error = error @required = required @array = array @@ -62,6 +62,25 @@ def to_map "default": @default } end + + private + + def validate_status(status) + valid_status = [ + Appwrite::Enums::AttributeStatus::AVAILABLE, + Appwrite::Enums::AttributeStatus::PROCESSING, + Appwrite::Enums::AttributeStatus::DELETING, + Appwrite::Enums::AttributeStatus::STUCK, + Appwrite::Enums::AttributeStatus::FAILED, + ] + + unless valid_status.include?(status) + raise ArgumentError, "Invalid " + status + ". Must be one of: " + valid_status.join(', ') + end + + status + end + end end end diff --git a/lib/appwrite/models/attribute_relationship.rb b/lib/appwrite/models/attribute_relationship.rb index 63edc91..47e783f 100644 --- a/lib/appwrite/models/attribute_relationship.rb +++ b/lib/appwrite/models/attribute_relationship.rb @@ -36,7 +36,7 @@ def initialize( ) @key = key @type = type - @status = status + @status = validate_status(status) @error = error @required = required @array = array @@ -87,6 +87,25 @@ def to_map "side": @side } end + + private + + def validate_status(status) + valid_status = [ + Appwrite::Enums::AttributeStatus::AVAILABLE, + Appwrite::Enums::AttributeStatus::PROCESSING, + Appwrite::Enums::AttributeStatus::DELETING, + Appwrite::Enums::AttributeStatus::STUCK, + Appwrite::Enums::AttributeStatus::FAILED, + ] + + unless valid_status.include?(status) + raise ArgumentError, "Invalid " + status + ". Must be one of: " + valid_status.join(', ') + end + + status + end + end end end diff --git a/lib/appwrite/models/attribute_string.rb b/lib/appwrite/models/attribute_string.rb index 79416f4..82f1df5 100644 --- a/lib/appwrite/models/attribute_string.rb +++ b/lib/appwrite/models/attribute_string.rb @@ -30,7 +30,7 @@ def initialize( ) @key = key @type = type - @status = status + @status = validate_status(status) @error = error @required = required @array = array @@ -72,6 +72,25 @@ def to_map "encrypt": @encrypt } end + + private + + def validate_status(status) + valid_status = [ + Appwrite::Enums::AttributeStatus::AVAILABLE, + Appwrite::Enums::AttributeStatus::PROCESSING, + Appwrite::Enums::AttributeStatus::DELETING, + Appwrite::Enums::AttributeStatus::STUCK, + Appwrite::Enums::AttributeStatus::FAILED, + ] + + unless valid_status.include?(status) + raise ArgumentError, "Invalid " + status + ". Must be one of: " + valid_status.join(', ') + end + + status + end + end end end diff --git a/lib/appwrite/models/attribute_url.rb b/lib/appwrite/models/attribute_url.rb index 15e5d0b..0e9dcc0 100644 --- a/lib/appwrite/models/attribute_url.rb +++ b/lib/appwrite/models/attribute_url.rb @@ -28,7 +28,7 @@ def initialize( ) @key = key @type = type - @status = status + @status = validate_status(status) @error = error @required = required @array = array @@ -67,6 +67,25 @@ def to_map "default": @default } end + + private + + def validate_status(status) + valid_status = [ + Appwrite::Enums::AttributeStatus::AVAILABLE, + Appwrite::Enums::AttributeStatus::PROCESSING, + Appwrite::Enums::AttributeStatus::DELETING, + Appwrite::Enums::AttributeStatus::STUCK, + Appwrite::Enums::AttributeStatus::FAILED, + ] + + unless valid_status.include?(status) + raise ArgumentError, "Invalid " + status + ". Must be one of: " + valid_status.join(', ') + end + + status + end + end end end diff --git a/lib/appwrite/models/deployment.rb b/lib/appwrite/models/deployment.rb index 8e2ba07..8311235 100644 --- a/lib/appwrite/models/deployment.rb +++ b/lib/appwrite/models/deployment.rb @@ -74,7 +74,7 @@ def initialize( @activate = activate @screenshot_light = screenshot_light @screenshot_dark = screenshot_dark - @status = status + @status = validate_status(status) @build_logs = build_logs @build_duration = build_duration @provider_repository_name = provider_repository_name @@ -152,6 +152,25 @@ def to_map "providerBranchUrl": @provider_branch_url } end + + private + + def validate_status(status) + valid_status = [ + Appwrite::Enums::DeploymentStatus::WAITING, + Appwrite::Enums::DeploymentStatus::PROCESSING, + Appwrite::Enums::DeploymentStatus::BUILDING, + Appwrite::Enums::DeploymentStatus::READY, + Appwrite::Enums::DeploymentStatus::FAILED, + ] + + unless valid_status.include?(status) + raise ArgumentError, "Invalid " + status + ". Must be one of: " + valid_status.join(', ') + end + + status + end + end end end diff --git a/lib/appwrite/models/document.rb b/lib/appwrite/models/document.rb index 0bab705..5b7987a 100644 --- a/lib/appwrite/models/document.rb +++ b/lib/appwrite/models/document.rb @@ -41,7 +41,7 @@ def self.from(map:) created_at: map["$createdAt"], updated_at: map["$updatedAt"], permissions: map["$permissions"], - data: map + data: map["data"] || map ) end diff --git a/lib/appwrite/models/execution.rb b/lib/appwrite/models/execution.rb index 3278544..2754f77 100644 --- a/lib/appwrite/models/execution.rb +++ b/lib/appwrite/models/execution.rb @@ -48,8 +48,8 @@ def initialize( @permissions = permissions @function_id = function_id @deployment_id = deployment_id - @trigger = trigger - @status = status + @trigger = validate_trigger(trigger) + @status = validate_status(status) @request_method = request_method @request_path = request_path @request_headers = request_headers @@ -107,6 +107,38 @@ def to_map "scheduledAt": @scheduled_at } end + + private + + def validate_trigger(trigger) + valid_trigger = [ + Appwrite::Enums::ExecutionTrigger::HTTP, + Appwrite::Enums::ExecutionTrigger::SCHEDULE, + Appwrite::Enums::ExecutionTrigger::EVENT, + ] + + unless valid_trigger.include?(trigger) + raise ArgumentError, "Invalid " + trigger + ". Must be one of: " + valid_trigger.join(', ') + end + + trigger + end + + def validate_status(status) + valid_status = [ + Appwrite::Enums::ExecutionStatus::WAITING, + Appwrite::Enums::ExecutionStatus::PROCESSING, + Appwrite::Enums::ExecutionStatus::COMPLETED, + Appwrite::Enums::ExecutionStatus::FAILED, + ] + + unless valid_status.include?(status) + raise ArgumentError, "Invalid " + status + ". Must be one of: " + valid_status.join(', ') + end + + status + end + end end end diff --git a/lib/appwrite/models/health_antivirus.rb b/lib/appwrite/models/health_antivirus.rb index 4113449..6a157cb 100644 --- a/lib/appwrite/models/health_antivirus.rb +++ b/lib/appwrite/models/health_antivirus.rb @@ -11,7 +11,7 @@ def initialize( status: ) @version = version - @status = status + @status = validate_status(status) end def self.from(map:) @@ -27,6 +27,23 @@ def to_map "status": @status } end + + private + + def validate_status(status) + valid_status = [ + Appwrite::Enums::HealthAntivirusStatus::DISABLED, + Appwrite::Enums::HealthAntivirusStatus::OFFLINE, + Appwrite::Enums::HealthAntivirusStatus::ONLINE, + ] + + unless valid_status.include?(status) + raise ArgumentError, "Invalid " + status + ". Must be one of: " + valid_status.join(', ') + end + + status + end + end end end diff --git a/lib/appwrite/models/health_status.rb b/lib/appwrite/models/health_status.rb index faeb32f..8a19a22 100644 --- a/lib/appwrite/models/health_status.rb +++ b/lib/appwrite/models/health_status.rb @@ -14,7 +14,7 @@ def initialize( ) @name = name @ping = ping - @status = status + @status = validate_status(status) end def self.from(map:) @@ -32,6 +32,22 @@ def to_map "status": @status } end + + private + + def validate_status(status) + valid_status = [ + Appwrite::Enums::HealthCheckStatus::PASS, + Appwrite::Enums::HealthCheckStatus::FAIL, + ] + + unless valid_status.include?(status) + raise ArgumentError, "Invalid " + status + ". Must be one of: " + valid_status.join(', ') + end + + status + end + end end end diff --git a/lib/appwrite/models/index.rb b/lib/appwrite/models/index.rb index bea7d29..6fccd4b 100644 --- a/lib/appwrite/models/index.rb +++ b/lib/appwrite/models/index.rb @@ -31,7 +31,7 @@ def initialize( @updated_at = updated_at @key = key @type = type - @status = status + @status = validate_status(status) @error = error @attributes = attributes @lengths = lengths @@ -67,6 +67,25 @@ def to_map "orders": @orders } end + + private + + def validate_status(status) + valid_status = [ + Appwrite::Enums::IndexStatus::AVAILABLE, + Appwrite::Enums::IndexStatus::PROCESSING, + Appwrite::Enums::IndexStatus::DELETING, + Appwrite::Enums::IndexStatus::STUCK, + Appwrite::Enums::IndexStatus::FAILED, + ] + + unless valid_status.include?(status) + raise ArgumentError, "Invalid " + status + ". Must be one of: " + valid_status.join(', ') + end + + status + end + end end end diff --git a/lib/appwrite/models/message.rb b/lib/appwrite/models/message.rb index 1a03b0f..25e366b 100644 --- a/lib/appwrite/models/message.rb +++ b/lib/appwrite/models/message.rb @@ -44,7 +44,7 @@ def initialize( @delivery_errors = delivery_errors @delivered_total = delivered_total @data = data - @status = status + @status = validate_status(status) end def self.from(map:) @@ -82,6 +82,25 @@ def to_map "status": @status } end + + private + + def validate_status(status) + valid_status = [ + Appwrite::Enums::MessageStatus::DRAFT, + Appwrite::Enums::MessageStatus::PROCESSING, + Appwrite::Enums::MessageStatus::SCHEDULED, + Appwrite::Enums::MessageStatus::SENT, + Appwrite::Enums::MessageStatus::FAILED, + ] + + unless valid_status.include?(status) + raise ArgumentError, "Invalid " + status + ". Must be one of: " + valid_status.join(', ') + end + + status + end + end end end diff --git a/lib/appwrite/models/preferences.rb b/lib/appwrite/models/preferences.rb index 31eee9b..a455127 100644 --- a/lib/appwrite/models/preferences.rb +++ b/lib/appwrite/models/preferences.rb @@ -13,7 +13,7 @@ def initialize( def self.from(map:) Preferences.new( - data: map + data: map["data"] || map ) end diff --git a/lib/appwrite/models/row.rb b/lib/appwrite/models/row.rb index 79c1315..48d852c 100644 --- a/lib/appwrite/models/row.rb +++ b/lib/appwrite/models/row.rb @@ -41,7 +41,7 @@ def self.from(map:) created_at: map["$createdAt"], updated_at: map["$updatedAt"], permissions: map["$permissions"], - data: map + data: map["data"] || map ) end diff --git a/lib/appwrite/query.rb b/lib/appwrite/query.rb index e1a6ecf..2372662 100644 --- a/lib/appwrite/query.rb +++ b/lib/appwrite/query.rb @@ -88,6 +88,10 @@ def order_desc(attribute) return Query.new("orderDesc", attribute, nil).to_s end + def order_random() + return Query.new("orderRandom", nil, nil).to_s + end + def cursor_before(id) return Query.new("cursorBefore", nil, id).to_s end From efb245498020a511366b32d9a902c2f30352efce Mon Sep 17 00:00:00 2001 From: root Date: Fri, 3 Oct 2025 03:09:13 +0000 Subject: [PATCH 3/3] chore: update title and desc --- appwrite.gemspec | 2 +- lib/appwrite/client.rb | 2 +- lib/appwrite/enums/column_status.rb | 11 +++++++++++ lib/appwrite/enums/database_type.rb | 8 ++++++++ lib/appwrite/models/column_boolean.rb | 21 ++++++++++++++++++++- lib/appwrite/models/column_datetime.rb | 21 ++++++++++++++++++++- lib/appwrite/models/column_email.rb | 21 ++++++++++++++++++++- lib/appwrite/models/column_enum.rb | 21 ++++++++++++++++++++- lib/appwrite/models/column_float.rb | 21 ++++++++++++++++++++- lib/appwrite/models/column_integer.rb | 21 ++++++++++++++++++++- lib/appwrite/models/column_ip.rb | 21 ++++++++++++++++++++- lib/appwrite/models/column_line.rb | 21 ++++++++++++++++++++- lib/appwrite/models/column_point.rb | 21 ++++++++++++++++++++- lib/appwrite/models/column_polygon.rb | 21 ++++++++++++++++++++- lib/appwrite/models/column_relationship.rb | 21 ++++++++++++++++++++- lib/appwrite/models/column_string.rb | 21 ++++++++++++++++++++- lib/appwrite/models/column_url.rb | 21 ++++++++++++++++++++- lib/appwrite/models/database.rb | 18 +++++++++++++++++- 18 files changed, 298 insertions(+), 16 deletions(-) create mode 100644 lib/appwrite/enums/column_status.rb create mode 100644 lib/appwrite/enums/database_type.rb diff --git a/appwrite.gemspec b/appwrite.gemspec index fb3bb1e..45e94c9 100644 --- a/appwrite.gemspec +++ b/appwrite.gemspec @@ -1,7 +1,7 @@ Gem::Specification.new do |spec| spec.name = 'appwrite' - spec.version = '18.2.0' + spec.version = '19.0.0' spec.license = 'BSD-3-Clause' spec.summary = 'Appwrite is an open-source self-hosted backend server that abstract and simplify complex and repetitive development tasks behind a very simple REST API' spec.author = 'Appwrite Team' diff --git a/lib/appwrite/client.rb b/lib/appwrite/client.rb index 0fc58dc..75a0f42 100644 --- a/lib/appwrite/client.rb +++ b/lib/appwrite/client.rb @@ -15,7 +15,7 @@ def initialize 'x-sdk-name'=> 'Ruby', 'x-sdk-platform'=> 'server', 'x-sdk-language'=> 'ruby', - 'x-sdk-version'=> '18.2.0', + 'x-sdk-version'=> '19.0.0', 'X-Appwrite-Response-Format' => '1.8.0' } @endpoint = 'https://cloud.appwrite.io/v1' diff --git a/lib/appwrite/enums/column_status.rb b/lib/appwrite/enums/column_status.rb new file mode 100644 index 0000000..12f870e --- /dev/null +++ b/lib/appwrite/enums/column_status.rb @@ -0,0 +1,11 @@ +module Appwrite + module Enums + module ColumnStatus + AVAILABLE = 'available' + PROCESSING = 'processing' + DELETING = 'deleting' + STUCK = 'stuck' + FAILED = 'failed' + end + end +end \ No newline at end of file diff --git a/lib/appwrite/enums/database_type.rb b/lib/appwrite/enums/database_type.rb new file mode 100644 index 0000000..2b65d44 --- /dev/null +++ b/lib/appwrite/enums/database_type.rb @@ -0,0 +1,8 @@ +module Appwrite + module Enums + module DatabaseType + LEGACY = 'legacy' + TABLESDB = 'tablesdb' + end + end +end \ No newline at end of file diff --git a/lib/appwrite/models/column_boolean.rb b/lib/appwrite/models/column_boolean.rb index e74c7c6..288cc68 100644 --- a/lib/appwrite/models/column_boolean.rb +++ b/lib/appwrite/models/column_boolean.rb @@ -26,7 +26,7 @@ def initialize( ) @key = key @type = type - @status = status + @status = validate_status(status) @error = error @required = required @array = array @@ -62,6 +62,25 @@ def to_map "default": @default } end + + private + + def validate_status(status) + valid_status = [ + Appwrite::Enums::ColumnStatus::AVAILABLE, + Appwrite::Enums::ColumnStatus::PROCESSING, + Appwrite::Enums::ColumnStatus::DELETING, + Appwrite::Enums::ColumnStatus::STUCK, + Appwrite::Enums::ColumnStatus::FAILED, + ] + + unless valid_status.include?(status) + raise ArgumentError, "Invalid " + status + ". Must be one of: " + valid_status.join(', ') + end + + status + end + end end end diff --git a/lib/appwrite/models/column_datetime.rb b/lib/appwrite/models/column_datetime.rb index 2d17155..6aaee90 100644 --- a/lib/appwrite/models/column_datetime.rb +++ b/lib/appwrite/models/column_datetime.rb @@ -28,7 +28,7 @@ def initialize( ) @key = key @type = type - @status = status + @status = validate_status(status) @error = error @required = required @array = array @@ -67,6 +67,25 @@ def to_map "default": @default } end + + private + + def validate_status(status) + valid_status = [ + Appwrite::Enums::ColumnStatus::AVAILABLE, + Appwrite::Enums::ColumnStatus::PROCESSING, + Appwrite::Enums::ColumnStatus::DELETING, + Appwrite::Enums::ColumnStatus::STUCK, + Appwrite::Enums::ColumnStatus::FAILED, + ] + + unless valid_status.include?(status) + raise ArgumentError, "Invalid " + status + ". Must be one of: " + valid_status.join(', ') + end + + status + end + end end end diff --git a/lib/appwrite/models/column_email.rb b/lib/appwrite/models/column_email.rb index 889c8ca..ea67469 100644 --- a/lib/appwrite/models/column_email.rb +++ b/lib/appwrite/models/column_email.rb @@ -28,7 +28,7 @@ def initialize( ) @key = key @type = type - @status = status + @status = validate_status(status) @error = error @required = required @array = array @@ -67,6 +67,25 @@ def to_map "default": @default } end + + private + + def validate_status(status) + valid_status = [ + Appwrite::Enums::ColumnStatus::AVAILABLE, + Appwrite::Enums::ColumnStatus::PROCESSING, + Appwrite::Enums::ColumnStatus::DELETING, + Appwrite::Enums::ColumnStatus::STUCK, + Appwrite::Enums::ColumnStatus::FAILED, + ] + + unless valid_status.include?(status) + raise ArgumentError, "Invalid " + status + ". Must be one of: " + valid_status.join(', ') + end + + status + end + end end end diff --git a/lib/appwrite/models/column_enum.rb b/lib/appwrite/models/column_enum.rb index 3d3c2c2..a705af9 100644 --- a/lib/appwrite/models/column_enum.rb +++ b/lib/appwrite/models/column_enum.rb @@ -30,7 +30,7 @@ def initialize( ) @key = key @type = type - @status = status + @status = validate_status(status) @error = error @required = required @array = array @@ -72,6 +72,25 @@ def to_map "default": @default } end + + private + + def validate_status(status) + valid_status = [ + Appwrite::Enums::ColumnStatus::AVAILABLE, + Appwrite::Enums::ColumnStatus::PROCESSING, + Appwrite::Enums::ColumnStatus::DELETING, + Appwrite::Enums::ColumnStatus::STUCK, + Appwrite::Enums::ColumnStatus::FAILED, + ] + + unless valid_status.include?(status) + raise ArgumentError, "Invalid " + status + ". Must be one of: " + valid_status.join(', ') + end + + status + end + end end end diff --git a/lib/appwrite/models/column_float.rb b/lib/appwrite/models/column_float.rb index e859909..7655e3b 100644 --- a/lib/appwrite/models/column_float.rb +++ b/lib/appwrite/models/column_float.rb @@ -30,7 +30,7 @@ def initialize( ) @key = key @type = type - @status = status + @status = validate_status(status) @error = error @required = required @array = array @@ -72,6 +72,25 @@ def to_map "default": @default } end + + private + + def validate_status(status) + valid_status = [ + Appwrite::Enums::ColumnStatus::AVAILABLE, + Appwrite::Enums::ColumnStatus::PROCESSING, + Appwrite::Enums::ColumnStatus::DELETING, + Appwrite::Enums::ColumnStatus::STUCK, + Appwrite::Enums::ColumnStatus::FAILED, + ] + + unless valid_status.include?(status) + raise ArgumentError, "Invalid " + status + ". Must be one of: " + valid_status.join(', ') + end + + status + end + end end end diff --git a/lib/appwrite/models/column_integer.rb b/lib/appwrite/models/column_integer.rb index 5253124..3c5c86d 100644 --- a/lib/appwrite/models/column_integer.rb +++ b/lib/appwrite/models/column_integer.rb @@ -30,7 +30,7 @@ def initialize( ) @key = key @type = type - @status = status + @status = validate_status(status) @error = error @required = required @array = array @@ -72,6 +72,25 @@ def to_map "default": @default } end + + private + + def validate_status(status) + valid_status = [ + Appwrite::Enums::ColumnStatus::AVAILABLE, + Appwrite::Enums::ColumnStatus::PROCESSING, + Appwrite::Enums::ColumnStatus::DELETING, + Appwrite::Enums::ColumnStatus::STUCK, + Appwrite::Enums::ColumnStatus::FAILED, + ] + + unless valid_status.include?(status) + raise ArgumentError, "Invalid " + status + ". Must be one of: " + valid_status.join(', ') + end + + status + end + end end end diff --git a/lib/appwrite/models/column_ip.rb b/lib/appwrite/models/column_ip.rb index 9c5df3f..2c17d3c 100644 --- a/lib/appwrite/models/column_ip.rb +++ b/lib/appwrite/models/column_ip.rb @@ -28,7 +28,7 @@ def initialize( ) @key = key @type = type - @status = status + @status = validate_status(status) @error = error @required = required @array = array @@ -67,6 +67,25 @@ def to_map "default": @default } end + + private + + def validate_status(status) + valid_status = [ + Appwrite::Enums::ColumnStatus::AVAILABLE, + Appwrite::Enums::ColumnStatus::PROCESSING, + Appwrite::Enums::ColumnStatus::DELETING, + Appwrite::Enums::ColumnStatus::STUCK, + Appwrite::Enums::ColumnStatus::FAILED, + ] + + unless valid_status.include?(status) + raise ArgumentError, "Invalid " + status + ". Must be one of: " + valid_status.join(', ') + end + + status + end + end end end diff --git a/lib/appwrite/models/column_line.rb b/lib/appwrite/models/column_line.rb index 70382e8..ee7cb06 100644 --- a/lib/appwrite/models/column_line.rb +++ b/lib/appwrite/models/column_line.rb @@ -26,7 +26,7 @@ def initialize( ) @key = key @type = type - @status = status + @status = validate_status(status) @error = error @required = required @array = array @@ -62,6 +62,25 @@ def to_map "default": @default } end + + private + + def validate_status(status) + valid_status = [ + Appwrite::Enums::ColumnStatus::AVAILABLE, + Appwrite::Enums::ColumnStatus::PROCESSING, + Appwrite::Enums::ColumnStatus::DELETING, + Appwrite::Enums::ColumnStatus::STUCK, + Appwrite::Enums::ColumnStatus::FAILED, + ] + + unless valid_status.include?(status) + raise ArgumentError, "Invalid " + status + ". Must be one of: " + valid_status.join(', ') + end + + status + end + end end end diff --git a/lib/appwrite/models/column_point.rb b/lib/appwrite/models/column_point.rb index 704847f..4ce367e 100644 --- a/lib/appwrite/models/column_point.rb +++ b/lib/appwrite/models/column_point.rb @@ -26,7 +26,7 @@ def initialize( ) @key = key @type = type - @status = status + @status = validate_status(status) @error = error @required = required @array = array @@ -62,6 +62,25 @@ def to_map "default": @default } end + + private + + def validate_status(status) + valid_status = [ + Appwrite::Enums::ColumnStatus::AVAILABLE, + Appwrite::Enums::ColumnStatus::PROCESSING, + Appwrite::Enums::ColumnStatus::DELETING, + Appwrite::Enums::ColumnStatus::STUCK, + Appwrite::Enums::ColumnStatus::FAILED, + ] + + unless valid_status.include?(status) + raise ArgumentError, "Invalid " + status + ". Must be one of: " + valid_status.join(', ') + end + + status + end + end end end diff --git a/lib/appwrite/models/column_polygon.rb b/lib/appwrite/models/column_polygon.rb index 5deca32..db6d4db 100644 --- a/lib/appwrite/models/column_polygon.rb +++ b/lib/appwrite/models/column_polygon.rb @@ -26,7 +26,7 @@ def initialize( ) @key = key @type = type - @status = status + @status = validate_status(status) @error = error @required = required @array = array @@ -62,6 +62,25 @@ def to_map "default": @default } end + + private + + def validate_status(status) + valid_status = [ + Appwrite::Enums::ColumnStatus::AVAILABLE, + Appwrite::Enums::ColumnStatus::PROCESSING, + Appwrite::Enums::ColumnStatus::DELETING, + Appwrite::Enums::ColumnStatus::STUCK, + Appwrite::Enums::ColumnStatus::FAILED, + ] + + unless valid_status.include?(status) + raise ArgumentError, "Invalid " + status + ". Must be one of: " + valid_status.join(', ') + end + + status + end + end end end diff --git a/lib/appwrite/models/column_relationship.rb b/lib/appwrite/models/column_relationship.rb index 59a6823..bf9645b 100644 --- a/lib/appwrite/models/column_relationship.rb +++ b/lib/appwrite/models/column_relationship.rb @@ -36,7 +36,7 @@ def initialize( ) @key = key @type = type - @status = status + @status = validate_status(status) @error = error @required = required @array = array @@ -87,6 +87,25 @@ def to_map "side": @side } end + + private + + def validate_status(status) + valid_status = [ + Appwrite::Enums::ColumnStatus::AVAILABLE, + Appwrite::Enums::ColumnStatus::PROCESSING, + Appwrite::Enums::ColumnStatus::DELETING, + Appwrite::Enums::ColumnStatus::STUCK, + Appwrite::Enums::ColumnStatus::FAILED, + ] + + unless valid_status.include?(status) + raise ArgumentError, "Invalid " + status + ". Must be one of: " + valid_status.join(', ') + end + + status + end + end end end diff --git a/lib/appwrite/models/column_string.rb b/lib/appwrite/models/column_string.rb index daa52c1..3de0e08 100644 --- a/lib/appwrite/models/column_string.rb +++ b/lib/appwrite/models/column_string.rb @@ -30,7 +30,7 @@ def initialize( ) @key = key @type = type - @status = status + @status = validate_status(status) @error = error @required = required @array = array @@ -72,6 +72,25 @@ def to_map "encrypt": @encrypt } end + + private + + def validate_status(status) + valid_status = [ + Appwrite::Enums::ColumnStatus::AVAILABLE, + Appwrite::Enums::ColumnStatus::PROCESSING, + Appwrite::Enums::ColumnStatus::DELETING, + Appwrite::Enums::ColumnStatus::STUCK, + Appwrite::Enums::ColumnStatus::FAILED, + ] + + unless valid_status.include?(status) + raise ArgumentError, "Invalid " + status + ". Must be one of: " + valid_status.join(', ') + end + + status + end + end end end diff --git a/lib/appwrite/models/column_url.rb b/lib/appwrite/models/column_url.rb index 6969853..624e5c4 100644 --- a/lib/appwrite/models/column_url.rb +++ b/lib/appwrite/models/column_url.rb @@ -28,7 +28,7 @@ def initialize( ) @key = key @type = type - @status = status + @status = validate_status(status) @error = error @required = required @array = array @@ -67,6 +67,25 @@ def to_map "default": @default } end + + private + + def validate_status(status) + valid_status = [ + Appwrite::Enums::ColumnStatus::AVAILABLE, + Appwrite::Enums::ColumnStatus::PROCESSING, + Appwrite::Enums::ColumnStatus::DELETING, + Appwrite::Enums::ColumnStatus::STUCK, + Appwrite::Enums::ColumnStatus::FAILED, + ] + + unless valid_status.include?(status) + raise ArgumentError, "Invalid " + status + ". Must be one of: " + valid_status.join(', ') + end + + status + end + end end end diff --git a/lib/appwrite/models/database.rb b/lib/appwrite/models/database.rb index 0e75728..47cca3c 100644 --- a/lib/appwrite/models/database.rb +++ b/lib/appwrite/models/database.rb @@ -23,7 +23,7 @@ def initialize( @created_at = created_at @updated_at = updated_at @enabled = enabled - @type = type + @type = validate_type(type) end def self.from(map:) @@ -47,6 +47,22 @@ def to_map "type": @type } end + + private + + def validate_type(type) + valid_type = [ + Appwrite::Enums::DatabaseType::LEGACY, + Appwrite::Enums::DatabaseType::TABLESDB, + ] + + unless valid_type.include?(type) + raise ArgumentError, "Invalid " + type + ". Must be one of: " + valid_type.join(', ') + end + + type + end + end end end