Skip to content

Remove password reset and email verification forms from API spec#968

Open
mbryzek wants to merge 1 commit intomainfrom
apibuilder-form-cleanup
Open

Remove password reset and email verification forms from API spec#968
mbryzek wants to merge 1 commit intomainfrom
apibuilder-form-cleanup

Conversation

@mbryzek
Copy link
Collaborator

@mbryzek mbryzek commented Mar 16, 2026

Summary

  • Remove password_reset_request, password_reset, and email_verification_confirmation_form models and resources from apibuilder-api.json
  • Delete old controllers, DAOs, services, and email templates for these features
  • Clean up EmailProcessor, InternalUsersDao, and UserCreatedProcessor dependencies
  • Delete related test files and test helpers

Platform now handles all password reset and email verification flows.

Test plan

  • sbt Test/compile passes cleanly
  • No remaining references to deleted code
  • Existing tests unaffected

🤖 Generated with Claude Code

Deletes the email_verification_confirmation_form, password_reset_request,
and password_reset models/resources from the API spec, along with their
controllers, DAOs, services, email templates, and tests. Cleans up
dependent injection in EmailProcessor, InternalUsersDao, and
UserCreatedProcessor.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings March 16, 2026 05:01
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR removes legacy password reset and email verification functionality from the API Builder API surface and backend implementation now that the platform owns these flows.

Changes:

  • Removed password_reset_request, password_reset, and email_verification_confirmation_form models/resources from spec/apibuilder-api.json and dropped the corresponding Play routes.
  • Deleted the related controllers, DB DAOs, service, and email templates; removed dependencies from EmailProcessor, InternalUsersDao, and UserCreatedProcessor.
  • Removed the related unit/integration test specs and updated test DAO wiring.

Reviewed changes

Copilot reviewed 19 out of 20 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
spec/apibuilder-api.json Removes password reset + email verification types/resources (plus large-scale JSON reformat).
api/conf/routes Removes the corresponding HTTP routes.
api/app/controllers/PasswordResets.scala Deletes password reset endpoint controller.
api/app/controllers/PasswordResetRequests.scala Deletes password reset request endpoint controller.
api/app/controllers/EmailVerificationConfirmationForms.scala Deletes email verification confirmation endpoint controller.
api/app/db/InternalPasswordResetsDao.scala Deletes password reset persistence + task enqueueing.
api/app/db/InternalEmailVerificationsDao.scala Deletes email verification persistence + task enqueueing.
api/app/db/InternalEmailVerificationConfirmationsDao.scala Deletes email verification confirmations persistence.
api/app/services/EmailVerificationsService.scala Deletes email verification confirmation logic (incl. membership auto-approval).
api/app/processor/UserCreatedProcessor.scala Removes email verification creation side-effect.
api/app/processor/EmailProcessor.scala Removes sending of password reset / email verification emails; marks those task types “unsupported”.
api/app/db/InternalUsersDao.scala Removes email verification upsert on email change.
api/app/views/emails/passwordResetRequestCreated.scala.html Deletes password reset email template.
api/app/views/emails/emailVerificationCreated.scala.html Deletes email verification email template.
api/test/util/Daos.scala Removes test DAO accessors for deleted DAOs.
api/test/services/EmailVerificationsServiceSpec.scala Deletes service spec.
api/test/db/InternalPasswordResetsDaoSpec.scala Deletes DAO spec.
api/test/db/InternalEmailVerificationsDaoSpec.scala Deletes DAO spec.
api/test/db/InternalEmailVerificationConfirmationsDaoSpec.scala Deletes DAO spec.
api/test/controllers/PasswordResetsSpec.scala Deletes controller spec.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 16 to 31
"unions": {
"diff": {
"interfaces": ["diff"],
"interfaces": [
"diff"
],
"description": "Represents a single diff in an application",
"discriminator": "type",
"types": [
{ "type": "diff_breaking" },
{ "type": "diff_non_breaking" }
{
"type": "diff_breaking"
},
{
"type": "diff_non_breaking"
}
]
},
Comment on lines +45 to 46
case EmailDataEmailVerificationCreated(guid) => s"EmailDataEmailVerificationCreated is no longer supported".invalidNec
case EmailDataMembershipCreated(guid) => membershipCreated(guid).validNec
Comment on lines +50 to 51
case EmailDataPasswordResetRequestCreated(guid) => s"EmailDataPasswordResetRequestCreated is no longer supported".invalidNec
case EmailDataUndefinedType(description) => s"Invalid email data type '$description'".invalidNec
Comment on lines 34 to 38
GET /organizations/:key/attributes controllers.Organizations.getAttributesByKey(key: String, name: _root_.scala.Option[String], limit: Long ?= 25L, offset: Long ?= 0L)
GET /organizations/:key/attributes/:name controllers.Organizations.getAttributesByKeyAndName(key: String, name: String)
PUT /organizations/:key/attributes/:name controllers.Organizations.putAttributesByKeyAndName(key: String, name: String)
DELETE /organizations/:key/attributes/:name controllers.Organizations.deleteAttributesByKeyAndName(key: String, name: String)
POST /password_resets controllers.PasswordResets.post()
POST /password_reset_requests controllers.PasswordResetRequests.post()
GET /subscriptions controllers.Subscriptions.get(guid: _root_.scala.Option[_root_.java.util.UUID], organization_key: _root_.scala.Option[String], user_guid: _root_.scala.Option[_root_.java.util.UUID], publication: _root_.scala.Option[io.apibuilder.api.v0.models.Publication], limit: Long ?= 25L, offset: Long ?= 0L)
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