Fix casing #10346
Fix casing #10346
Conversation
|
Important Review skippedReview was skipped due to path filters ⛔ Files ignored due to path filters (1)
CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including You can disable this status message by setting the 📝 WalkthroughWalkthroughThe PR updates public SDK method declarations across multiple API controllers to support deprecation metadata and dual exposure of old and new method names. It imports Appwrite\SDK\Deprecated and replaces single Method labels with arrays containing the legacy name (marked deprecated since 1.8.0 with replaceWith) and the new canonical name. Affected areas include MFA endpoints in account.php and users.php, messaging provider and SMS endpoints in messaging.php, and various project SMTP/API status/SMS template endpoints in projects.php. No runtime logic or responses change; edits are limited to SDK metadata and naming. Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes
Possibly related PRs
Suggested reviewers
✨ Finishing Touches🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
Status, Documentation and Community
|
commit: |
Security Scan Results for PRDocker Image Scan Results
Source Code Scan Results🎉 No vulnerabilities found! |
There was a problem hiding this comment.
Actionable comments posted: 0
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (4)
app/controllers/api/projects.php (3)
2615-2615: Bug: unsetting wrong variable key (template vs templates)Should unset from $templates, not $template. Current code will do nothing, leaving the template undeleted.
Apply this fix:
- unset($template['sms.' . $type . '-' . $locale]); + unset($templates['sms.' . $type . '-' . $locale]);
756-756: Fix class name casing forTextinstantiationThe instantiation on line 756 uses
new text(512), which will cause a runtime fatal (“class not found”). Update it to use the correctly casedTextclass.• File: app/controllers/api/projects.php
• Line: 756- ->param('secret', null, new text(512), 'Provider secret key. Max length: 512 chars.', true) + ->param('secret', null, new Text(512), 'Provider secret key. Max length: 512 chars.', true)
2097-2097: Fix class name casing for SMTP host parameterThe
new HostName()instantiations will fatal because the imported validator isUtopia\Validator\Hostname(lowercase “n”). Please update both occurrences:• app/controllers/api/projects.php:2097
• app/controllers/api/projects.php:2213Apply these changes:
--- a/app/controllers/api/projects.php +++ b/app/controllers/api/projects.php @@ -2097,1 +2097,1 @@ - ->param('host', '', new HostName(), 'SMTP server host name', true) + ->param('host', '', new Hostname(), 'SMTP server host name', true) @@ -2213,1 +2213,1 @@ - ->param('host', '', new HostName(), 'SMTP server host name') + ->param('host', '', new Hostname(), 'SMTP server host name')Consider running a global search for
new HostName(to catch any other casing mismatches.app/controllers/api/messaging.php (1)
2142-2144: APNS credentials key mismatch prevents enabling providerThe code sets credentials key 'bundle' but later validates presence of 'bundleId'. This will always fail the enablement check.
Fix by using a consistent key name 'bundleId' when populating credentials.
- if (!empty($bundleId)) { - $credentials['bundle'] = $bundleId; - } + if (!empty($bundleId)) { + $credentials['bundleId'] = $bundleId; + }Also applies to: 2159-2163
🧹 Nitpick comments (2)
app/controllers/api/projects.php (1)
623-654: Optional: Consolidate duplicated Method metadata blocksEach alias pair duplicates identical description/auth/responses. If the routing lib tolerates variables here, consider extracting the shared pieces to reduce repetition.
For example, hoist the common responses into a local $responses var before the label chain, and pass it to both Method constructors.
Also applies to: 680-711, 2060-2091, 2176-2207, 2271-2301, 2437-2467, 2559-2592
app/controllers/api/messaging.php (1)
4024-4024: Nit: SMS update param description says “Email Content”Minor copy update for accuracy.
- ->param('content', null, new Text(64230), 'Email Content.', true) + ->param('content', null, new Text(64230), 'SMS Content.', true)
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
⛔ Files ignored due to path filters (296)
app/config/specs/open-api3-1.8.x-client.jsonis excluded by!app/config/specs/**app/config/specs/open-api3-1.8.x-console.jsonis excluded by!app/config/specs/**app/config/specs/open-api3-1.8.x-server.jsonis excluded by!app/config/specs/**app/config/specs/open-api3-latest-client.jsonis excluded by!app/config/specs/**app/config/specs/open-api3-latest-console.jsonis excluded by!app/config/specs/**app/config/specs/open-api3-latest-server.jsonis excluded by!app/config/specs/**app/config/specs/swagger2-1.8.x-client.jsonis excluded by!app/config/specs/**app/config/specs/swagger2-1.8.x-console.jsonis excluded by!app/config/specs/**app/config/specs/swagger2-1.8.x-server.jsonis excluded by!app/config/specs/**app/config/specs/swagger2-latest-client.jsonis excluded by!app/config/specs/**app/config/specs/swagger2-latest-console.jsonis excluded by!app/config/specs/**app/config/specs/swagger2-latest-server.jsonis excluded by!app/config/specs/**composer.lockis excluded by!**/*.lockdocs/examples/1.8.x/client-android/java/tablesdb/create-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-android/java/tablesdb/decrement-row-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-android/java/tablesdb/delete-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-android/java/tablesdb/get-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-android/java/tablesdb/increment-row-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-android/java/tablesdb/list-rows.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-android/java/tablesdb/update-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-android/java/tablesdb/upsert-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-android/kotlin/tablesdb/create-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-android/kotlin/tablesdb/decrement-row-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-android/kotlin/tablesdb/delete-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-android/kotlin/tablesdb/get-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-android/kotlin/tablesdb/increment-row-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-android/kotlin/tablesdb/list-rows.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-android/kotlin/tablesdb/update-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-android/kotlin/tablesdb/upsert-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-apple/examples/tablesdb/create-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-apple/examples/tablesdb/decrement-row-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-apple/examples/tablesdb/delete-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-apple/examples/tablesdb/get-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-apple/examples/tablesdb/increment-row-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-apple/examples/tablesdb/list-rows.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-apple/examples/tablesdb/update-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-apple/examples/tablesdb/upsert-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-flutter/examples/tablesdb/create-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-flutter/examples/tablesdb/decrement-row-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-flutter/examples/tablesdb/delete-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-flutter/examples/tablesdb/get-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-flutter/examples/tablesdb/increment-row-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-flutter/examples/tablesdb/list-rows.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-flutter/examples/tablesdb/update-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-flutter/examples/tablesdb/upsert-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-graphql/examples/tablesdb/create-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-graphql/examples/tablesdb/decrement-row-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-graphql/examples/tablesdb/delete-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-graphql/examples/tablesdb/increment-row-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-graphql/examples/tablesdb/update-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-graphql/examples/tablesdb/upsert-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-react-native/examples/tablesdb/create-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-react-native/examples/tablesdb/decrement-row-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-react-native/examples/tablesdb/delete-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-react-native/examples/tablesdb/get-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-react-native/examples/tablesdb/increment-row-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-react-native/examples/tablesdb/list-rows.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-react-native/examples/tablesdb/update-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-react-native/examples/tablesdb/upsert-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-web/examples/tablesdb/create-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-web/examples/tablesdb/decrement-row-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-web/examples/tablesdb/delete-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-web/examples/tablesdb/get-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-web/examples/tablesdb/increment-row-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-web/examples/tablesdb/list-rows.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-web/examples/tablesdb/update-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/client-web/examples/tablesdb/upsert-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/create-boolean-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/create-datetime-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/create-email-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/create-enum-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/create-float-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/create-index.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/create-integer-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/create-ip-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/create-relationship-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/create-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/create-rows.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/create-string-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/create-table.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/create-url-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/create.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/decrement-row-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/delete-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/delete-index.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/delete-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/delete-rows.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/delete-table.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/delete.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/get-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/get-in 8000 dex.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/get-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/get-table-usage.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/get-table.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/get-usage.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/get.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/increment-row-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/list-columns.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/list-indexes.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/list-row-logs.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/list-rows.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/list-table-logs.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/list-tables.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/list-usage.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/list.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/update-boolean-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/update-datetime-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/update-email-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/update-enum-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/update-float-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/update-integer-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/update-ip-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/update-relationship-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/update-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/update-rows.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/update-string-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/update-table.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/update-url-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/update.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/upsert-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-cli/examples/tablesdb/upsert-rows.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/create-boolean-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/create-datetime-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/create-email-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/create-enum-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/create-float-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/create-index.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/create-integer-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/create-ip-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/create-relationship-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/create-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/create-rows.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/create-string-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/create-table.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/create-url-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/create.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/decrement-row-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/delete-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/delete-index.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/delete-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/delete-rows.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/delete-table.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/delete.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/get-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/get-index.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/get-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/get-table-usage.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/get-table.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/get-usage.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/get.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/increment-row-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/list-columns.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/list-indexes.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/list-row-logs.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/list-rows.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/list-table-logs.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/list-tables.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/list-usage.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/list.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/update-boolean-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/update-datetime-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/update-email-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/update-enum-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/update-float-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/update-integer-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/update-ip-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/update-relationship-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/update-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/update-rows.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/update-string-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/update-table.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/update-url-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/update.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/upsert-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/console-web/examples/tablesdb/upsert-rows.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/create-boolean-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/create-datetime-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/create-email-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/create-enum-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/create-float-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/create-index.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/create-integer-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/create-ip-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/create-relationship-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/create-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/create-rows.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/create-string-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/create-table.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/create-url-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/create.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/decrement-row-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/delete-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/delete-index.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/delete-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/delete-rows.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/delete-table.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/delete.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/get-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/get-index.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/get-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/get-table.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/get.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/increment-row-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/list-columns.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/list-indexes.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/list-rows.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/list-tables.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/list.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/update-boolean-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/update-datetime-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/update-email-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/update-enum-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/update-float-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/update-integer-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/update-ip-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/update-relationship-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/update-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/update-rows.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/update-string-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/update-table.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/update-url-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/update.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/upsert-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dart/examples/tablesdb/upsert-rows.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/create-boolean-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/create-datetime-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/create-email-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/create-enum-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/create-float-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/create-index.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/create-integer-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/create-ip-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/create-relationship-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/create-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/create-rows.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/create-string-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/create-table.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/create-url-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/create.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/decrement-row-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/delete-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/delete-index.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/delete-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/delete-rows.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/delete-table.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/delete.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/get-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/get-index.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/get-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/get-table.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/get.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/increment-row-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/list-columns.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/list-indexes.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/list-rows.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/list-tables.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/list.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/update-boolean-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/update-datetime-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/update-email-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/update-enum-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/update-float-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/update-integer-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/update-ip-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/update-relationship-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/update-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/update-rows.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/update-string-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/update-table.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/update-url-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/update.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/upsert-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-deno/examples/tablesdb/upsert-rows.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dotnet/examples/tablesdb/create-boolean-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dotnet/examples/tablesdb/create-datetime-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dotnet/examples/tablesdb/create-email-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dotnet/examples/table 8000 sdb/create-enum-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dotnet/examples/tablesdb/create-float-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dotnet/examples/tablesdb/create-index.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dotnet/examples/tablesdb/create-integer-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dotnet/examples/tablesdb/create-ip-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dotnet/examples/tablesdb/create-relationship-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dotnet/examples/tablesdb/create-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dotnet/examples/tablesdb/create-rows.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dotnet/examples/tablesdb/create-string-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dotnet/examples/tablesdb/create-table.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dotnet/examples/tablesdb/create-url-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dotnet/examples/tablesdb/create.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dotnet/examples/tablesdb/decrement-row-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dotnet/examples/tablesdb/delete-column.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dotnet/examples/tablesdb/delete-index.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dotnet/examples/tablesdb/delete-row.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dotnet/examples/tablesdb/delete-rows.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dotnet/examples/tablesdb/delete-table.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dotnet/examples/tablesdb/delete.mdis excluded by!docs/examples/**docs/examples/1.8.x/server-dotnet/examples/tablesdb/get-column.mdis excluded by!docs/examples/**
📒 Files selected for processing (4)
app/controllers/api/account.php(10 hunks)app/controllers/api/messaging.php(9 hunks)app/controllers/api/projects.php(8 hunks)app/controllers/api/users.php(7 hunks)
🧰 Additional context used
🧬 Code Graph Analysis (4)
app/controllers/api/users.php (2)
src/Appwrite/SDK/Deprecated.php (1)
Deprecated(5-32)src/Appwrite/SDK/Method.php (1)
Method(9-314)
app/controllers/api/projects.php (2)
src/Appwrite/SDK/Deprecated.php (1)
Deprecated(5-32)src/Appwrite/SDK/Method.php (1)
Method(9-314)
app/controllers/api/messaging.php (2)
src/Appwrite/SDK/Deprecated.php (1)
Deprecated(5-32)src/Appwrite/SDK/Method.php (1)
Method(9-314)
app/controllers/api/account.php (2)
src/Appwrite/SDK/Deprecated.php (1)
Deprecated(5-32)src/Appwrite/SDK/Method.php (1)
Method(9-314)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
- GitHub Check: Setup & Build Appwrite Image
- GitHub Check: Setup & Build Appwrite Image
- GitHub Check: Setup & Build SDK
- GitHub Check: scan
🔇 Additional comments (34)
app/controllers/api/projects.php (8)
15-15: Add Deprecated import — good integration point for deprecation metadataImport aligns with new sdk label usage of Deprecated across the file.
623-654: Dual SDK exposure for update API status looks correct
- Old: updateApiStatus marked Deprecated(since: 1.8.0, replaceWith: updateAPIStatus)
- New: updateAPIStatus
Responses and description unchanged. No runtime behavior change.
680-711: Dual SDK exposure for update all API status is consistent
- Old: updateApiStatusAll → Deprecated with replaceWith updateAPIStatusAll
- New: updateAPIStatusAll
Consistent with the pattern used elsewhere in the PR.
2060-2091: SMTP method aliasing (updateSmtp → updateSMTP) is correctDeprecated metadata and new canonical name are accurate; response models unchanged.
2176-2207: SMTP test alias (createSmtpTest → createSMTPTest) looks goodDeprecation info and response code/model preserved (204 none). No issues spotted.
2271-2301: SMS template getter alias (getSmsTemplate → getSMSTemplate) is correctDeprecation metadata set with proper replaceWith target. Responses unchanged.
2437-2467: SMS template updater alias (updateSmsTemplate → updateSMSTemplate) is correctConsistent casing upgrade to acronym form; no behavior change.
2559-2592: SMS template delete alias (deleteSmsTemplate → deleteSMSTemplate) is correct
- Both entries set contentType JSON and return 200 with MODEL_SMS_TEMPLATE.
- Deprecation metadata is properly set.
app/controllers/api/users.php (8)
22-22: Add Deprecated import — correct for new deprecation metadataImport matches new usage in MFA endpoints below.
1761-1791: MFA toggle alias (updateMfa → updateMFA) looks correctDeprecated since 1.8.0 with replaceWith updateMFA; responses intact.
1820-1850: MFA factors alias (listMfaFactors → listMFAFactors) is correctMetadata and response model preserved.
1877-1908: MFA recovery codes getter alias (getMfaRecoveryCodes → getMFARecoveryCodes) is correctDeprecation info matches new canonical method name.
1942-1972: MFA recovery codes creator alias (createMfaRecoveryCodes → createMFARecoveryCodes) is correctCorrect 201/Created semantics preserved.
2013-2043: MFA recovery codes updater alias (updateMfaRecoveryCodes → updateMFARecoveryCodes) is correctResponses unchanged; consistent casing upgrade.
2083-2115: MFA authenticator delete alias (deleteMfaAuthenticator → deleteMFAAuthenticator) is correct
- ContentType::NONE maintained.
- Deprecation metadata correct.
1761-1791: No changes needed—array-valued ‘sdk’ labels are fully supported and already testedThe
->label('sdk', […])pattern appears consistently across all controllers (e.g.app/controllers/api/users.php,app/controllers/api/projects.php, etc.), and the existing unit test intests/unit/Utopia/RequestTest.php(->label('sdk', [$methodA, $methodB])) confirms that the SDK generator correctly handles arrays ofMethod. This update aligns with the established pattern and is safe to merge.app/controllers/api/messaging.php (9)
16-16: Import for Deprecated is correct and necessaryThe added import aligns with the new deprecation metadata usage in this file.
242-273: Dual-method deprecation pattern for SMTP create looks good
- Old name: createSmtpProvider marked Deprecated(since: 1.8.0, replaceWith: createSMTPProvider)
- New canonical: createSMTPProvider
- Responses/auth unchanged
No runtime impact. Please ensure the SDK generator fully supports an array of Method instances on the 'sdk' label in your build pipeline.
775-806: Dual-method deprecation pattern for FCM create is consistent
- createFcmProvider → Deprecated(since: 1.8.0, replaceWith: createFCMProvider)
- Added createFCMProvider
Naming and docs paths are consistent.
864-895: Dual-method deprecation pattern for APNS create is consistent
- createApnsProvider → Deprecated(since: 1.8.0, replaceWith: createAPNSProvider)
- Added createAPNSProvider
Looks correct.
1383-1414: Dual-method deprecation pattern for SMTP update is consistent
- updateSmtpProvider → Deprecated(since: 1.8.0, replaceWith: updateSMTPProvider)
- Added updateSMTPProvider
All attributes are mirrored; no runtime behavior change.
1974-2005: Dual-method deprecation pattern for FCM update is consistent
- updateFcmProvider → Deprecated(since: 1.8.0, replaceWith: updateFCMProvider)
- Added updateFCMProvider
Looks good.
2069-2100: Dual-method deprecation pattern for APNS update is consistent
- updateApnsProvider → Deprecated(since: 1.8.0, replaceWith: updateAPNSProvider)
- Added updateAPNSProvider
Good casing and metadata.
3142-3173: Dual-method deprecation pattern for SMS create is consistent
- createSms → Deprecated(since: 1.8.0, replaceWith: createSMS)
- Added createSMS
No issues spotted.
3988-4019: Dual-method deprecation pattern for SMS update is consistent
- updateSms → Deprecated(since: 1.8.0, replaceWith: updateSMS)
- Added updateSMS
Looks correct.
app/controllers/api/account.php (9)
28-28: Importing Deprecated class is correct and required for new metadata.The new import aligns with the deprecation objects used below. No issues.
4073-4106: createMfaAuthenticator → createMFAAuthenticator aliasing is consistent.
- Old name properly marked deprecated with replaceWith pointing to the new canonical name.
- Response/model/auth unchanged.
4170-4203: updateMfaAuthenticator → updateMFAAuthenticator aliasing is consistent.The deprecation metadata is accurate; parameters and responses remain unchanged.
4260-4293: createMfaRecoveryCodes → createMFARecoveryCodes aliasing is consistent.Preserves behavior and adds clear migration target via replaceWith. Looks good.
4327-4360: updateMfaRecoveryCodes → updateMFARecoveryCodes aliasing is consistent.Accurate deprecation annotation; no behavioral change. LGTM.
4390-4422: getMfaRecoveryCodes → getMFARecoveryCodes aliasing is consistent.Naming and deprecation metadata line up; response model correct.
4514-4547: createMfaChallenge → createMFAChallenge aliasing is consistent.Auth remains open as before; deprecation metadata correct. No runtime impact.
4756-4789: updateMfaChallenge → updateMFAChallenge aliasing is consistent.
- Auth/response unchanged.
- Deprecation metadata uses the correct 'since' and 'replaceWith'.
Given SDK name casing changes (Mfa → MFA), please verify generators for all target SDKs handle acronym casing as intended (e.g., method names remain discoverable and idiomatic). If helpful, run the SDK generation locally and inspect the produced method names.
4012-4045: Please confirm array usage forsdklabelDual SDK methods with deprecation metadata for
listMfaFactorslook good. Backwards compatibility is preserved viadeprecated: new Deprecated( since: '1.8.0', replaceWith: 'listMFAFactors', ),Names and documentation paths align.
Action items:
- Manually verify that the routing/SDK pipeline accepts an array for the
sdklabel, as no other occurrences of
->label('sdk', [ … ])
were found in the codebase.
✨ Benchmark results
⚡ Benchmark Comparison
|
What does this PR do?
(Provide a description of what this PR does and why it's needed.)
Test Plan
(Write your test plan here. If you changed any code, please provide us with clear instructions on how you verified your changes work. Screenshots may also be helpful.)
Related PRs and Issues
Checklist