Skip to content

Add resend OAuth2 provider to migration allow-list - #223

Merged
Meldiron merged 1 commit into
mainfrom
feat-resend-oauth2-provider
Aug 27, 2026
Merged

Add resend OAuth2 provider to migration allow-list#223
Meldiron merged 1 commit into
mainfrom
feat-resend-oauth2-provider

Conversation

@Meldiron

Copy link
Copy Markdown
Contributor

What does this PR do?

Adds the new resend OAuth2 provider to the OAuth2Provider::PROVIDERS allow-list, following the same pattern as the recent appwrite (#207) and huggingface (#221) entries.

Appwrite server is adding a built-in Resend OAuth2 provider in appwrite/appwrite#13366. Its Migrations E2E suite currently fails because exporting a project surfaces:

{"code":500,"message":"No migration resource for OAuth2 provider 'resend'; skipped.","resourceName":"oauth2-provider","resourceGroup":"auth"}

Only clientId migrates (to the destination's resendAppid attribute). clientSecret is write-only and stays redacted per the existing allow-list policy — the destination side is fully generic, so no other changes are needed.

Test Plan

  • Added testFromArrayResend to OAuth2ProviderTest, mirroring the existing per-provider tests.
  • The existing testFromArrayNeverCopiesSecrets sweep now also covers resend and confirms clientSecret is never copied.
  • ./vendor/bin/phpunit tests/Migration/Unit/Resources/OAuth2ProviderTest.php — 5 tests, 157 assertions, all passing; composer lint passes.

Related PRs and Issues

🤖 Generated with Claude Code

Appwrite server is adding a built-in 'resend' OAuth2 provider
(appwrite/appwrite#13366). Without an entry in the PROVIDERS
allow-list, migrations report "No migration resource for OAuth2
provider 'resend'; skipped." and the transfer fails.

Only clientId migrates (to the resendAppid attribute); clientSecret
is write-only and stays redacted per the existing policy.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@greptile-apps

greptile-apps Bot commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

Adds the Resend OAuth2 provider to the migration allow-list while preserving the existing policy that excludes write-only client secrets.

  • Maps Resend's clientId to the destination application-ID field.
  • Adds focused normalization, destination-field, configuration, and secret-exclusion coverage.

Confidence Score: 5/5

The PR appears safe to merge with no actionable correctness or security issues identified.

The new provider follows the established allow-list mapping, reaches the destination’s generic provider-field handling, and retains the existing secret-exclusion boundary.

Important Files Changed

Filename Overview
src/Migration/Resources/Auth/OAuth2/OAuth2Provider.php Adds the resend provider using the existing generic client-ID mapping, which aligns with source parsing and destination attribute generation.
tests/Migration/Unit/Resources/OAuth2ProviderTest.php Adds focused coverage confirming Resend normalization, application-ID mapping, configured state, and exclusion of the client secret.

Reviews (1): Last reviewed commit: "Add resend OAuth2 provider to migration ..." | Re-trigger Greptile

@Meldiron
Meldiron merged commit 892c666 into main Aug 27, 2026
4 checks passed
@Meldiron
Meldiron deleted the feat-resend-oauth2-provider branch August 27, 2026 17:23
Meldiron added a commit to appwrite/appwrite that referenced this pull request Aug 27, 2026
Picks up the 'resend' entry in the OAuth2 provider migration
allow-list (utopia-php/migration#223), fixing the Migrations
E2E failure "No migration resource for OAuth2 provider 'resend'".

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.

1 participant