8000 Fix casing by abnegate · Pull Request #10346 · appwrite/appwrite · GitHub
[go: up one dir, main page]

Skip to content
< 8000 div data-view-component="true" class="Layout Layout--flowRow-until-md Layout--sidebarPosition-end Layout--sidebarPosition-flowRow-end">

Conversation

@abnegate
Copy link
Member

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

  • (Related PR or issue)

Checklist

  • Have you read the Contributing Guidelines on issues?
  • If the PR includes a change to an API's metadata (desc, label, params, etc.), does it also include updated API specs and example docs?

@coderabbitai
Copy link
Contributor
coderabbitai bot commented Aug 20, 2025

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters (1)
  • composer.lock is excluded by !**/*.lock

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

📝 Walkthrough

Walkthrough

The 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

  • Complexity: Low; repetitive pattern (add Deprecated import, wrap old/new Method entries).
  • Scope: Multiple files, several endpoints, uniform changes.
  • Nature: Surface-level SDK metadata; no logic alterations.

Possibly related PRs

Suggested reviewers

  • eldadfux
  • ItzNotABug
  • christyjacob4
✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix-casing

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.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@pkg-pr-new
Copy link
pkg-pr-new bot commented Aug 20, 2025

Open in StackBlitz

npm i https://pkg.pr.new/appwrite/appwrite/@appwrite.io/console@10346

commit: 5c0007a

@github-actions
Copy link
github-actions bot commented Aug 20, 2025

Security Scan Results for PR

Docker Image Scan Results

Package Version Vulnerability Severity
libecpg 17.5-r0 CVE-2025-8714 HIGH
libecpg 17.5-r0 CVE-2025-8715 HIGH
libecpg-dev 17.5-r0 CVE-2025-8714 HIGH
libecpg-dev 17.5-r0 CVE-2025-8715 HIGH
libpq 17.5-r0 CVE-2025-8714 HIGH
libpq 17.5-r0 CVE-2025-8715 HIGH
libpq-dev 17.5-r0 CVE-2025-8714 HIGH
libpq-dev 17.5-r0 CVE-2025-8715 HIGH
postgresql17-dev 17.5-r0 CVE-2025-8714 HIGH
postgresql17-dev 17.5-r0 CVE-2025-8715 HIGH
golang.org/x/crypto v0.31.0 CVE-2025-22869 HIGH
golang.org/x/oauth2 v0.24.0 CVE-2025-22868 HIGH
stdlib 1.22.10 CVE-2025-47907 HIGH

Source Code Scan Results

🎉 No vulnerabilities found!

Copy link
Contributor
@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 for Text instantiation

The instantiation on line 756 uses new text(512), which will cause a runtime fatal (“class not found”). Update it to use the correctly cased Text class.

• 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 parameter

The new HostName() instantiations will fatal because the imported validator is Utopia\Validator\Hostname (lowercase “n”). Please update both occurrences:

• app/controllers/api/projects.php:2097
• app/controllers/api/projects.php:2213

Apply 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 provider

The 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 blocks

Each 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.

📥 Commits

Reviewing files that changed from the base of the PR and between ef45001 and 842dce2.

⛔ Files ignored due to path filters (296)
  • app/config/specs/open-api3-1.8.x-client.json is excluded by !app/config/specs/**
  • app/config/specs/open-api3-1.8.x-console.json is excluded by !app/config/specs/**
  • app/config/specs/open-api3-1.8.x-server.json is excluded by !app/config/specs/**
  • app/config/specs/open-api3-latest-client.json is excluded by !app/config/specs/**
  • app/config/specs/open-api3-latest-console.json is excluded by !app/config/specs/**
  • app/config/specs/open-api3-latest-server.json is excluded by !app/config/specs/**
  • app/config/specs/swagger2-1.8.x-client.json is excluded by !app/config/specs/**
  • app/config/specs/swagger2-1.8.x-console.json is excluded by !app/config/specs/**
  • app/config/specs/swagger2-1.8.x-server.json is excluded by !app/config/specs/**
  • app/config/specs/swagger2-latest-client.json is excluded by !app/config/specs/**
  • app/config/specs/swagger2-latest-console.json is excluded by !app/config/specs/**
  • app/config/specs/swagger2-latest-server.json is excluded by !app/config/specs/**
  • composer.lock is excluded by !**/*.lock
  • docs/examples/1.8.x/client-android/java/tablesdb/create-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-android/java/tablesdb/decrement-row-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-android/java/tablesdb/delete-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-android/java/tablesdb/get-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-android/java/tablesdb/increment-row-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-android/java/tablesdb/list-rows.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-android/java/tablesdb/update-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-android/java/tablesdb/upsert-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-android/kotlin/tablesdb/create-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-android/kotlin/tablesdb/decrement-row-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-android/kotlin/tablesdb/delete-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-android/kotlin/tablesdb/get-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-android/kotlin/tablesdb/increment-row-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-android/kotlin/tablesdb/list-rows.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-android/kotlin/tablesdb/update-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-android/kotlin/tablesdb/upsert-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-apple/examples/tablesdb/create-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-apple/examples/tablesdb/decrement-row-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-apple/examples/tablesdb/delete-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-apple/examples/tablesdb/get-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-apple/examples/tablesdb/increment-row-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-apple/examples/tablesdb/list-rows.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-apple/examples/tablesdb/update-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-apple/examples/tablesdb/upsert-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-flutter/examples/tablesdb/create-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-flutter/examples/tablesdb/decrement-row-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-flutter/examples/tablesdb/delete-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-flutter/examples/tablesdb/get-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-flutter/examples/tablesdb/increment-row-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-flutter/examples/tablesdb/list-rows.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-flutter/examples/tablesdb/update-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-flutter/examples/tablesdb/upsert-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-graphql/examples/tablesdb/create-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-graphql/examples/tablesdb/decrement-row-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-graphql/examples/tablesdb/delete-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-graphql/examples/tablesdb/increment-row-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-graphql/examples/tablesdb/update-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-graphql/examples/tablesdb/upsert-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-react-native/examples/tablesdb/create-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-react-native/examples/tablesdb/decrement-row-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-react-native/examples/tablesdb/delete-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-react-native/examples/tablesdb/get-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-react-native/examples/tablesdb/increment-row-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-react-native/examples/tablesdb/list-rows.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-react-native/examples/tablesdb/update-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-react-native/examples/tablesdb/upsert-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-web/examples/tablesdb/create-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-web/examples/tablesdb/decrement-row-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-web/examples/tablesdb/delete-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-web/examples/tablesdb/get-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-web/examples/tablesdb/increment-row-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-web/examples/tablesdb/list-rows.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-web/examples/tablesdb/update-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/client-web/examples/tablesdb/upsert-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/create-boolean-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/create-datetime-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/create-email-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/create-enum-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/create-float-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/create-index.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/create-integer-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/create-ip-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/create-relationship-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/create-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/create-rows.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/create-string-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/create-table.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/create-url-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/create.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/decrement-row-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/delete-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/delete-index.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/delete-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/delete-rows.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/delete-table.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/delete.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/get-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/get-in 8000 dex.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/get-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/get-table-usage.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/get-table.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/get-usage.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/get.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/increment-row-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/list-columns.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/list-indexes.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/list-row-logs.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/list-rows.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/list-table-logs.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/list-tables.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/list-usage.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/list.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/update-boolean-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/update-datetime-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/update-email-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/update-enum-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/update-float-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/update-integer-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/update-ip-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/update-relationship-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/update-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/update-rows.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/update-string-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/update-table.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/update-url-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/update.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/upsert-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-cli/examples/tablesdb/upsert-rows.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/create-boolean-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/create-datetime-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/create-email-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/create-enum-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/create-float-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/create-index.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/create-integer-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/create-ip-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/create-relationship-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/create-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/create-rows.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/create-string-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/create-table.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/create-url-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/create.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/decrement-row-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/delete-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/delete-index.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/delete-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/delete-rows.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/delete-table.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/delete.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/get-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/get-index.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/get-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/get-table-usage.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/get-table.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/get-usage.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/get.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/increment-row-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/list-columns.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/list-indexes.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/list-row-logs.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/list-rows.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/list-table-logs.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/list-tables.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/list-usage.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/list.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/update-boolean-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/update-datetime-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/update-email-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/update-enum-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/update-float-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/update-integer-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/update-ip-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/update-relationship-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/update-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/update-rows.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/update-string-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/update-table.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/update-url-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/update.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/upsert-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/console-web/examples/tablesdb/upsert-rows.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/create-boolean-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/create-datetime-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/create-email-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/create-enum-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/create-float-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/create-index.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/create-integer-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/create-ip-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/create-relationship-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/create-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/create-rows.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/create-string-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/create-table.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/create-url-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/create.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/decrement-row-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/delete-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/delete-index.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/delete-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/delete-rows.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/delete-table.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/delete.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/get-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/get-index.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/get-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/get-table.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/get.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/increment-row-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/list-columns.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/list-indexes.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/list-rows.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/list-tables.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/list.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/update-boolean-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/update-datetime-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/update-email-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/update-enum-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/update-float-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/update-integer-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/update-ip-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/update-relationship-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/update-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/update-rows.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/update-string-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/update-table.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/update-url-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/update.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/upsert-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dart/examples/tablesdb/upsert-rows.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/create-boolean-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/create-datetime-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/create-email-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/create-enum-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/create-float-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/create-index.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/create-integer-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/create-ip-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/create-relationship-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/create-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/create-rows.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/create-string-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/create-table.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/create-url-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/create.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/decrement-row-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/delete-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/delete-index.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/delete-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/delete-rows.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/delete-table.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/delete.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/get-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/get-index.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/get-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/get-table.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/get.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/increment-row-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/list-columns.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/list-indexes.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/list-rows.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/list-tables.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/list.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/update-boolean-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/update-datetime-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/update-email-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/update-enum-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/update-float-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/update-integer-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/update-ip-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/update-relationship-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/update-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/update-rows.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/update-string-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/update-table.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/update-url-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/update.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/upsert-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-deno/examples/tablesdb/upsert-rows.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dotnet/examples/tablesdb/create-boolean-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dotnet/examples/tablesdb/create-datetime-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dotnet/examples/tablesdb/create-email-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dotnet/examples/table 8000 sdb/create-enum-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dotnet/examples/tablesdb/create-float-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dotnet/examples/tablesdb/create-index.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dotnet/examples/tablesdb/create-integer-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dotnet/examples/tablesdb/create-ip-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dotnet/examples/tablesdb/create-relationship-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dotnet/examples/tablesdb/create-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dotnet/examples/tablesdb/create-rows.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dotnet/examples/tablesdb/create-string-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dotnet/examples/tablesdb/create-table.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dotnet/examples/tablesdb/create-url-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dotnet/examples/tablesdb/create.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dotnet/examples/tablesdb/decrement-row-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dotnet/examples/tablesdb/delete-column.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dotnet/examples/tablesdb/delete-index.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dotnet/examples/tablesdb/delete-row.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dotnet/examples/tablesdb/delete-rows.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dotnet/examples/tablesdb/delete-table.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dotnet/examples/tablesdb/delete.md is excluded by !docs/examples/**
  • docs/examples/1.8.x/server-dotnet/examples/tablesdb/get-column.md is 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 metadata

Import 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 correct

Deprecated metadata and new canonical name are accurate; response models unchanged.


2176-2207: SMTP test alias (createSmtpTest → createSMTPTest) looks good

Deprecation info and response code/model preserved (204 none). No issues spotted.


2271-2301: SMS template getter alias (getSmsTemplate → getSMSTemplate) is correct

Deprecation metadata set with proper replaceWith target. Responses unchanged.


2437-2467: SMS template updater alias (updateSmsTemplate → updateSMSTemplate) is correct

Consistent 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 metadata

Import matches new usage in MFA endpoints below.


1761-1791: MFA toggle alias (updateMfa → updateMFA) looks correct

Deprecated since 1.8.0 with replaceWith updateMFA; responses intact.


1820-1850: MFA factors alias (listMfaFactors → listMFAFactors) is correct

Metadata and response model preserved.


1877-1908: MFA recovery codes getter alias (getMfaRecoveryCodes → getMFARecoveryCodes) is correct

Deprecation info matches new canonical method name.


1942-1972: MFA recovery codes creator alias (createMfaRecoveryCodes → createMFARecoveryCodes) is correct

Correct 201/Created semantics preserved.


2013-2043: MFA recovery codes updater alias (updateMfaRecoveryCodes → updateMFARecoveryCodes) is correct

Responses 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 tested

The ->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 in tests/unit/Utopia/RequestTest.php (->label('sdk', [$methodA, $methodB])) confirms that the SDK generator correctly handles arrays of Method. 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 necessary

The 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 for sdk label

Dual SDK methods with deprecation metadata for listMfaFactors look good. Backwards compatibility is preserved via

deprecated: 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 sdk label, as no other occurrences of
    ->label('sdk', [ … ])
    were found in the codebase.

@github-actions
Copy link
github-actions bot commented Aug 20, 2025

✨ Benchmark results

  • Requests per second: 1,251
  • Requests with 200 status code: 225,310
  • P99 latency: 0.156028853

⚡ Benchmark Comparison

Metric This PR Latest version
RPS 1,251 1,018
200 225,310 183,360
P99 0.156028853 0.186759326

@abnegate abnegate merged commit f42964f into 1.8.x Aug 21, 2025
43 checks passed
@abnegate abnegate deleted the fix-casing branch August 21, 2025 09:47
@coderabbitai coderabbitai bot mentioned this pull request Sep 3, 2025
2 tasks
This was referenced Sep 11, 2025
@coderabbitai coderabbitai bot mentioned this pull request Sep 23, 2025
2 tasks
This was referenced Oct 6, 2025
8000 Merged
@coderabbitai coderabbitai bot mentioned this pull request Oct 21, 2025
2 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

0