Skip to content

fix: add new domain statuses#101

Merged
drish merged 1 commit intomainfrom
add-new-domain-statuses
Apr 20, 2026
Merged

fix: add new domain statuses#101
drish merged 1 commit intomainfrom
add-new-domain-statuses

Conversation

@rehanvdm
Copy link
Copy Markdown
Contributor

@rehanvdm rehanvdm commented Apr 20, 2026

Summary

Add two new domain-level statuses — partially_verified and partially_failed — and split the status typing so they apply only to domains, not individual DNS records.

  • New enum DomainStatus (domain-level): not_started | pending | failed | verified | partially_verified | partially_failed
  • New enum DomainRecordStatus (record-level): not_started | pending | failed | temporary_failure | verified
  • Domain.Status now typed as DomainStatus
  • DomainRecord.Status now typed as DomainRecordStatus
  • ValidationStatus is kept for webhook payloads (DomainEventData) — webhook schema is out of scope for this change

Adds two deserialization tests covering partially_verified and partially_failed. Also updates the Resend.ApiServer mock controller to use the new enums.

Matches resend/resend-node#936.

Breaking change note

Domain.Status and DomainRecord.Status property types have changed. Consumers that assigned or compared these against ValidationStatus values will need to update to the new enum types.


Summary by cubic

Add two new domain statuses and split status enums by scope to align with the Resend API. This changes the types of Domain.Status and DomainRecord.Status.

  • New Features

    • Added DomainStatus with partially_verified and partially_failed.
    • Added DomainRecordStatus (includes temporary_failure).
    • Domain.Status now uses DomainStatus; DomainRecord.Status uses DomainRecordStatus.
    • Kept ValidationStatus for webhook payloads only.
    • Added deserialization tests for the new domain statuses.
    • Updated Resend.ApiServer mock controller to use the new enums.
  • Migration

    • Replace any uses of ValidationStatus for Domain.Status and DomainRecord.Status with DomainStatus and DomainRecordStatus.
    • No changes needed for webhook handling (ValidationStatus remains).

Written for commit 0636f78. Summary will update on new commits.

Introduce DomainStatus (domain-level) and DomainRecordStatus (record-level)
enums, mirroring the split in resend-node.

- DomainStatus adds partially_verified and partially_failed (7 values)
- DomainRecordStatus retains the 5-value set including temporary_failure
- Domain.Status switches from ValidationStatus to DomainStatus
- DomainRecord.Status switches from ValidationStatus to DomainRecordStatus
- ValidationStatus remains in place for webhook payloads (DomainEventData)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Copy link
Copy Markdown

@cubic-dev-ai cubic-dev-ai Bot left a comment

Choose a reason for hiding this comment

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

No issues found across 6 files

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

@rehanvdm rehanvdm requested a review from drish April 20, 2026 10:03
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