Skip to content

Add RIDP RBA external payloads to CV3 Family#576

Open
jayreddy519 wants to merge 7 commits intotrunkfrom
CU_868hq7vbz
Open

Add RIDP RBA external payloads to CV3 Family#576
jayreddy519 wants to merge 7 commits intotrunkfrom
CU_868hq7vbz

Conversation

@jayreddy519
Copy link
Copy Markdown
Contributor

@jayreddy519 jayreddy519 commented Mar 10, 2026

PR Checklist

Please check if your PR fulfills the following requirements

  • The title follows our guidelines
  • Tests for the changes have been added (for bugfixes/features), they use let helpers and before blocks
  • For all UI changes, there is cucumber coverage
  • Any endpoint touched in the PR has an appropriate Pundit policy. For open endpoints, reasoning is documented in PR and code
  • For all scripts or rake tasks, how to run it is documented on both the PR and in the code
  • There are no inline styles added
  • There are no inline javascript added
  • There is no hard coded text added/updated in helpers/views/Javascript. New/updated translation strings do not include markup/styles, unless there is supporting documentation
  • Code does not use .html_safe
  • All images added/updated have alt text
  • Doesn’t bypass rubocop rules in any way

PR Type

What kind of change does this PR introduce?

  • Bugfix
  • Feature (requires Feature flag)
  • Data fix or migration (inert code, no impact until run)
  • Refactoring (no functional changes, no API changes)
  • Build related changes
  • CI related changes
  • Dependency updates (e.g., add a new gem or update to a version)

What is the ticket # detailing the issue?

Ticket: https://app.clickup.com/t/868hq7vbz

A brief description of the changes

This pull request introduces support for storing and validating external payloads related to RIDP RBA (Remote Identity Proofing Risk-Based Authentication) within the Family entity. It adds new contracts and value objects for handling external payload data, updates the Family schema and struct to include this information, and provides comprehensive specs to ensure correctness and validation.

Support for External Payloads in Family:

  • Added new contracts and value objects for handling external payloads, including ExternalPayload, RidpRba, and ExtraInformation, with appropriate schema and validation rules. [1] [2] [3] [4] [5] [6]
  • Updated the FamilyContract and Family struct to include an optional external_payloads attribute, enabling families to store RIDP RBA payloads and associated extra information. [1] [2]
  • Registered new contracts and value objects in the core library for autoloading and use throughout the codebase. [1] [2]

Testing and Validation:

  • Added comprehensive specs for the new contracts (ExternalPayloadContract, RidpRbaContract, ExtraInformationContract) to ensure correct validation behavior, including edge cases and type checks. [1] [2] [3]
  • Extended FamilyContract and Family specs to cover scenarios involving the new external_payloads attribute, ensuring correct integration and initialization. [1] [2]

Current behavior:
CV3 Family has no mechanism to carry encrypted RIDP RBA payloads (JSC, HDIM)

New behavior:
CV3 Family supports an external_payloads field to carry encrypted RIDP RBA
payloads (JSC, HDIM and extra_information) without modifying the core family data

Additional Context

Include any additional context that may be relevant to the peer review process.

@jayreddy519 jayreddy519 added the enhancement New feature or request label Mar 10, 2026
Copy link
Copy Markdown
Contributor

@ymhari ymhari left a comment

Choose a reason for hiding this comment

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

Requested minor changes.

Copy link
Copy Markdown

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

Adds support in the CV3 Family domain for carrying RIDP RBA “external payloads” (JSC/HDIM plus optional extra information), including entity structs, validation contracts, and specs validating the new attribute.

Changes:

  • Added external_payloads to AcaEntities::Families::Family and its validation contract.
  • Introduced new ExternalPayloads entities (ExternalPayload, RidpRba, ExtraInformation) and their contracts.
  • Added/updated specs to cover happy paths and some invalid payload shapes.

Reviewed changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
lib/aca_entities/families/family.rb Adds external_payloads attribute to the Family entity.
lib/aca_entities/contracts/families/family_contract.rb Allows external_payloads at the Family contract level.
lib/aca_entities/contracts/families/external_payloads/external_payload_contract.rb New contract for validating external payload container.
lib/aca_entities/contracts/families/external_payloads/ridp_rba_contract.rb New contract for validating RIDP RBA payload.
lib/aca_entities/contracts/families/external_payloads/extra_information_contract.rb New contract for validating extra information payload.
lib/aca_entities/families/external_payloads/external_payload.rb New entity struct for external payload container.
lib/aca_entities/families/external_payloads/ridp_rba.rb New entity struct for RIDP RBA payload.
lib/aca_entities/families/external_payloads/extra_information.rb New entity struct for RIDP RBA extra information.
lib/aca_entities/libraries/core_library.rb Adds requires for the new contracts/entities so they’re loaded.
spec/aca_entities/families/family_spec.rb Adds entity initialization/shape specs for external_payloads.
spec/aca_entities/contracts/families/family_contract_spec.rb Adds FamilyContract coverage for external_payloads.
spec/aca_entities/contracts/families/external_payloads/external_payload_contract_spec.rb New tests for ExternalPayloadContract.
spec/aca_entities/contracts/families/external_payloads/ridp_rba_contract_spec.rb New tests for RidpRbaContract.
spec/aca_entities/contracts/families/external_payloads/extra_information_contract_spec.rb New tests for ExtraInformationContract.

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

Copy link
Copy Markdown

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

Copilot reviewed 14 out of 14 changed files in this pull request and generated 2 comments.


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

@ideacrew ideacrew deleted a comment from Copilot AI Mar 11, 2026
@ideacrew ideacrew deleted a comment from Copilot AI Mar 11, 2026
@jayreddy519 jayreddy519 requested a review from Copilot March 11, 2026 19:03
Copy link
Copy Markdown

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

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


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

@ideacrew ideacrew deleted a comment from Copilot AI Mar 11, 2026
@ideacrew ideacrew deleted a comment from Copilot AI Mar 11, 2026
@ideacrew ideacrew deleted a comment from Copilot AI Mar 11, 2026
@ideacrew ideacrew deleted a comment from Copilot AI Mar 11, 2026
@jayreddy519 jayreddy519 requested a review from Copilot March 11, 2026 19:26

This comment was marked as outdated.

@ideacrew ideacrew deleted a comment from Copilot AI Mar 11, 2026
@ymhari ymhari enabled auto-merge (squash) March 24, 2026 17:01
@jayreddy519 jayreddy519 requested a review from geetha-1z March 27, 2026 14:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants